
/* NovaCore Experience Enterprise v4 · F59 Hotfix9
   Targeted UI polish: Messenger, Meet, NovaDrive and production dashboard.
   Keeps NovaCore indigo/cyan identity and avoids touching business logic. */

:root {
  --nc-ux-indigo: #5661ed;
  --nc-ux-indigo-deep: #3f49d7;
  --nc-ux-cyan: #23c8c8;
  --nc-ux-ink: #101828;
  --nc-ux-soft: #f5f7fb;
  --nc-ux-radius: 18px;
  --nc-ux-shadow: 0 14px 38px rgba(15, 23, 42, .08);
}
body.app-shell .panel {
  border-radius: var(--nc-ux-radius);
}
body.app-shell .page-header {
  border-radius: 22px;
}
body.app-shell .button,
body.app-shell .icon-button {
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
body.app-shell .button:not(:disabled):active,
body.app-shell .icon-button:not(:disabled):active {
  transform: translateY(1px) scale(.99);
}
body.app-shell * {
  scrollbar-width: thin;
  scrollbar-color: rgba(86, 97, 237, .35) transparent;
}
body.app-shell *::-webkit-scrollbar { width: 8px; height: 8px; }
body.app-shell *::-webkit-scrollbar-thumb { background: rgba(86,97,237,.28); border-radius: 999px; }

/* Production dashboard */
body.module-admin .production-head-status { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; justify-content:flex-end; }
body.module-admin .production-speed-chip {
  display:inline-flex; align-items:center; gap:.35rem; padding:.42rem .65rem;
  border:1px solid rgba(86,97,237,.18); border-radius:999px;
  background:rgba(86,97,237,.07); color:#4853d8; font-size:.72rem; font-weight:800;
}
body.module-admin .release-stage {
  box-shadow: 0 10px 26px rgba(15,23,42,.055);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.module-admin .release-stage:hover { transform:translateY(-1px); box-shadow:0 14px 32px rgba(15,23,42,.075); }

/* Messenger modern, WhatsApp-like flow using NovaCore colors */
body.module-connect .connect-shell,
body.module-connect .messenger-shell {
  border-radius: 22px;
  overflow: hidden;
}
body.module-connect .chat-panel {
  background:
    radial-gradient(circle at 16% 12%, rgba(86,97,237,.055), transparent 28%),
    radial-gradient(circle at 86% 88%, rgba(35,200,200,.045), transparent 30%),
    #f7f8fb;
}
body.module-connect .conversation-item {
  border:1px solid transparent;
  border-radius:14px;
  padding:.72rem .7rem;
}
body.module-connect .conversation-item:hover { background:#f4f6fb; border-color:#e9ecf5; }
body.module-connect .conversation-item.active {
  background:linear-gradient(135deg,rgba(86,97,237,.12),rgba(35,200,200,.08));
  border-color:rgba(86,97,237,.15);
}
body.module-connect .message-list {
  padding:1rem clamp(.7rem,2vw,1.35rem);
  scroll-behavior:smooth;
}
body.module-connect .message-row {
  content-visibility:auto;
  contain-intrinsic-size: 64px;
  margin:.28rem 0;
}
body.module-connect .message-bubble {
  max-width:min(720px,78%);
  border-radius:18px 18px 18px 6px;
  padding:.62rem .78rem .38rem;
  border-color:rgba(17,24,39,.08);
  box-shadow:0 3px 12px rgba(15,23,42,.045);
}
body.module-connect .message-row.mine .message-bubble {
  border-radius:18px 18px 6px 18px;
  border-color:rgba(86,97,237,.15);
  background:linear-gradient(145deg,#eceeff,#e8f7f8);
}
body.module-connect .message-body { line-height:1.44; }
body.module-connect .message-meta { opacity:.72; }
body.module-connect .message-composer {
  margin:.55rem .75rem .75rem;
  border:1px solid rgba(86,97,237,.14);
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 32px rgba(15,23,42,.09);
  backdrop-filter: blur(14px);
}
body.module-connect .message-composer textarea {
  min-height:44px;
  max-height:132px;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.module-connect .composer-action,
body.module-connect .send-button {
  border-radius:50%;
}
body.module-connect .send-button {
  background:linear-gradient(135deg,var(--nc-ux-indigo),var(--nc-ux-indigo-deep));
  box-shadow:0 8px 20px rgba(86,97,237,.23);
}
body.module-connect .reply-composer[hidden],
body.module-connect .attachment-composer-preview[hidden],
body.module-connect .messenger-media-status[hidden],
body.module-connect .socket-status[hidden],
body.module-connect .offline-queue-status[hidden],
body.module-connect .typing-indicator[hidden] {
  display:none !important;
}
body.module-connect .reply-composer {
  margin:0 .75rem;
  border-radius:14px 14px 0 0;
  border:1px solid rgba(86,97,237,.12);
  border-bottom:0;
  background:#f8f9ff;
}
body.module-connect .attachment-composer-preview {
  margin:0 .75rem;
  border:1px solid rgba(86,97,237,.12);
  border-bottom:0;
  border-radius:14px 14px 0 0;
}
body.module-connect .message-image {
  cursor:zoom-in;
  border-radius:14px;
  outline:1px solid rgba(255,255,255,.5);
}
body.module-connect .message-image img {
  border-radius:14px;
}
.messenger-media-viewer {
  width:min(1100px,calc(100vw - 1.5rem));
  max-width:none;
  height:min(86vh,820px);
  padding:0;
  border:0;
  border-radius:22px;
  background:#070b14;
  color:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.44);
}
.messenger-media-viewer::backdrop { background:rgba(4,8,18,.78); backdrop-filter:blur(8px); }
.messenger-media-viewer-shell { height:100%; display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.messenger-media-viewer header,
.messenger-media-viewer footer {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.75rem 1rem; background:rgba(7,11,20,.86);
}
.messenger-media-viewer header > div { min-width:0; display:grid; }
.messenger-media-viewer header strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.messenger-media-viewer .eyebrow { color:#8bdede; }
.messenger-media-viewer-stage { position:relative; min-height:0; display:grid; place-items:center; overflow:hidden; }
.messenger-media-viewer-stage img { max-width:100%; max-height:100%; object-fit:contain; user-select:none; }
.media-viewer-nav {
  position:absolute; z-index:2; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border:1px solid rgba(255,255,255,.16); border-radius:50%;
  background:rgba(8,14,26,.64); color:#fff; font-size:1.8rem; cursor:pointer; backdrop-filter:blur(8px);
}
.media-viewer-nav.previous { left:1rem; } .media-viewer-nav.next { right:1rem; }
.media-viewer-nav:disabled { opacity:.2; cursor:default; }

/* Meet visual polish; signaling/WebRTC logic intentionally unchanged */
body.module-meet .call-stage,
body.module-meet .meeting-stage {
  border-radius:26px;
  background:
    radial-gradient(circle at 18% 12%,rgba(86,97,237,.28),transparent 32%),
    radial-gradient(circle at 82% 18%,rgba(35,200,200,.18),transparent 28%),
    linear-gradient(160deg,#10182b,#070b14 62%);
  box-shadow:0 24px 70px rgba(7,12,24,.28);
}
body.module-meet .remote-video,
body.module-meet .meeting-video-tile {
  transform:translateZ(0);
  backface-visibility:hidden;
}
body.module-meet .meeting-video-tile {
  border-radius:20px;
  border-color:rgba(255,255,255,.12);
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
body.module-meet .local-video-wrap,
body.module-meet .local-screen-preview-wrap {
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}
body.module-meet .call-controls,
body.module-meet .meeting-controls {
  border-radius:999px;
  padding:.55rem .7rem;
  background:rgba(8,13,24,.76);
  border-color:rgba(255,255,255,.14);
  backdrop-filter:blur(18px);
  box-shadow:0 16px 42px rgba(0,0,0,.28);
}
body.module-meet .call-control span {
  border-radius:50%;
}
body.module-meet .call-control:not(.danger):hover {
  background:rgba(86,97,237,.18);
}
body.module-meet .meeting-side-panel {
  border-radius:22px;
  box-shadow:-16px 0 50px rgba(7,12,24,.14);
}
body.module-meet .call-network-state,
body.module-meet .meeting-stage-meta span,
body.module-meet .meeting-stage-meta strong {
  backdrop-filter:blur(10px);
}

/* NovaDrive: readable long names + in-page preview */
body.module-drive .drive-grid { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
body.module-drive .drive-card {
  min-height:76px;
  border-radius:18px;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body.module-drive .drive-card:hover {
  transform:translateY(-2px);
  border-color:rgba(86,97,237,.22);
  box-shadow:0 14px 32px rgba(15,23,42,.08);
}
body.module-drive .drive-card > a > div { min-width:0; flex:1; }
body.module-drive .drive-item-name,
body.module-drive .drive-version-name,
body.module-drive .drive-detail-name {
  overflow-wrap:anywhere;
  word-break:break-word;
}
body.module-drive .drive-card .drive-item-name {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  white-space:normal;
  line-height:1.3;
  max-height:2.6em;
  overflow:hidden;
}
body.module-drive .drive-detail-name {
  max-width:min(100%,900px);
}
body.module-drive .drive-version-name {
  display:inline-block;
  max-width:min(60vw,680px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  vertical-align:bottom;
}
body.module-drive .drive-picker-list article > div { min-width:0; }
.drive-preview-dialog {
  width:min(1180px,calc(100vw - 1.5rem));
  max-width:none;
  height:min(88vh,850px);
  padding:0;
  border:0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 30px 90px rgba(10,18,35,.35);
}
.drive-preview-dialog::backdrop { background:rgba(8,13,24,.68); backdrop-filter:blur(7px); }
.drive-preview-shell { height:100%; display:grid; grid-template-rows:auto minmax(0,1fr); }
.drive-preview-shell > header {
  display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem;
  border-bottom:1px solid #e9edf5; background:#fbfcff;
}
.drive-preview-shell > header > div:first-child { min-width:0; display:grid; }
.drive-preview-shell > header strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.drive-preview-actions { display:flex; align-items:center; gap:.45rem; }
.drive-preview-stage { position:relative; min-height:0; background:#eef1f7; }
.drive-preview-stage iframe { width:100%; height:100%; border:0; background:#fff; }
.drive-preview-loading {
  position:absolute; z-index:2; inset:0; display:grid; place-items:center;
  color:#5661ed; font-weight:800; background:linear-gradient(135deg,#f7f8ff,#effbfb);
}
.drive-preview-loading[hidden] { display:none !important; }

@media (max-width: 720px) {
  body.module-connect .message-bubble { max-width:90%; }
  body.module-connect .message-composer { margin:.4rem .35rem calc(.4rem + env(safe-area-inset-bottom)); }
  body.module-connect .reply-composer,
  body.module-connect .attachment-composer-preview { margin:0 .35rem; }
  .messenger-media-viewer,
  .drive-preview-dialog { width:100vw; height:100dvh; border-radius:0; }
  .media-viewer-nav { width:40px; height:40px; }
  body.module-meet .call-controls,
  body.module-meet .meeting-controls { border-radius:18px; }
  body.module-drive .drive-version-name { max-width:82vw; }
}
@media (prefers-reduced-motion: reduce) {
  body.app-shell .button,
  body.app-shell .icon-button,
  body.module-drive .drive-card,
  body.module-connect .message-row { transition:none !important; }
}


/* Pre-F67 Visual V2 · Global component normalization
   Final visual authority for shared layout/components. Business logic untouched. */
body[data-design-system="nc3"].app-shell .main-content,
body[data-design-system="nc3"].app-shell .main-content > * {
  min-width:0;
}
body[data-design-system="nc3"].app-shell :is(.page-header,.page-hero) {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  min-width:0;
}
body[data-design-system="nc3"].app-shell :is(.page-header,.page-hero) > :first-child,
body[data-design-system="nc3"].app-shell :is(.page-header,.page-hero) .page-header-copy,
body[data-design-system="nc3"].app-shell :is(.page-header,.page-hero) .page-hero-copy {
  min-width:0;
  flex:1 1 auto;
}
body[data-design-system="nc3"].app-shell :is(.page-header,.page-hero) :is(h1,h2,p,.eyebrow) {
  overflow-wrap:anywhere;
}
body[data-design-system="nc3"].app-shell :is(.page-actions,.header-actions,.hero-actions,.panel-actions,.form-actions) {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
  flex-wrap:wrap;
  min-width:0;
}
body[data-design-system="nc3"].app-shell :is(.page-actions,.header-actions,.hero-actions) {
  flex:0 1 auto;
}
body[data-design-system="nc3"].app-shell :is(.panel,.panel-card,.stat-card,.module-card,.project-card,.workload-card,.admin-menu-card) {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
body[data-design-system="nc3"].app-shell :is(.panel-heading,.panel-card-header) {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  min-width:0;
}
body[data-design-system="nc3"].app-shell :is(.panel-heading,.panel-card-header) > :first-child {
  min-width:0;
  flex:1 1 240px;
}
body[data-design-system="nc3"].app-shell :is(.form-grid,.filters-grid,.settings-grid) > *,
body[data-design-system="nc3"].app-shell :is(.field,.form-field,.filter-field) {
  min-width:0;
}
body[data-design-system="nc3"].app-shell .main-content :is(input,select,textarea,.form-control) {
  max-width:100%;
  min-width:0;
}
body[data-design-system="nc3"].app-shell :is(.table-wrap,.table-scroll,.responsive-table) {
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border-radius:14px;
  scrollbar-gutter:stable;
}
body[data-design-system="nc3"].app-shell :is(.table-wrap,.table-scroll,.responsive-table) > table {
  width:100%;
  margin:0;
}
body[data-design-system="nc3"].app-shell .main-content table td {
  max-width:32rem;
}
body[data-design-system="nc3"].app-shell .main-content table :is(a,strong,span,code) {
  overflow-wrap:anywhere;
}
body[data-design-system="nc3"].app-shell :is(.people-tabs,.attendance-tabs,.assets-tabs,.enterprise-tabs,.portal-tabs,.crm-tabs,.subnav,.subnav-tabs,.section-tabs) {
  display:flex;
  align-items:center;
  gap:.35rem;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  padding:.25rem .1rem .4rem;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
body[data-design-system="nc3"].app-shell :is(.people-tabs,.attendance-tabs,.assets-tabs,.enterprise-tabs,.portal-tabs,.crm-tabs,.subnav,.subnav-tabs,.section-tabs) > * {
  flex:0 0 auto;
}
body[data-design-system="nc3"].app-shell :is(.text-truncate,.truncate,.ellipsis) {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body[data-design-system="nc3"].app-shell :is(.email,.hash,.code,.reference,.file-name,.document-name,.ticket-reference) {
  overflow-wrap:anywhere;
  word-break:break-word;
}
@media (max-width: 900px) {
  body[data-design-system="nc3"].app-shell :is(.page-header,.page-hero) {
    flex-direction:column;
    align-items:stretch;
  }
  body[data-design-system="nc3"].app-shell :is(.page-actions,.header-actions,.hero-actions) {
    width:100%;
    justify-content:flex-start;
  }
}
@media (max-width: 640px) {
  body[data-design-system="nc3"].app-shell :is(.page-actions,.header-actions,.hero-actions,.form-actions) .button {
    max-width:100%;
  }
  body[data-design-system="nc3"].app-shell :is(.form-grid,.filters-grid,.settings-grid) {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body[data-design-system="nc3"].app-shell .main-content table {
    font-size:.66rem;
  }
}


/* Pre-F67 Visual V3 · Template structure normalization */
body[data-design-system="nc3"].app-shell .nc-page-flow {
  display:grid;
  gap:var(--nc3-content-gap,1rem);
  min-width:0;
  width:100%;
}
body[data-design-system="nc3"].app-shell .nc-action-cluster {
  align-items:center;
  row-gap:.45rem;
}
body[data-design-system="nc3"].app-shell .nc-action-cluster .button {
  flex:0 0 auto;
  white-space:normal;
  text-align:center;
}
body[data-design-system="nc3"].app-shell .nc-icon-toolbar {
  display:flex;
  align-items:center;
  gap:.35rem;
  min-width:0;
  max-width:100%;
}
body[data-design-system="nc3"].app-shell .inline-form {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin:0;
}
@media (max-width: 1180px) {
  body[data-design-system="nc3"].app-shell .nc-action-cluster .button {
    min-height:34px;
    padding:.45rem .6rem;
    font-size:.65rem;
  }
}
@media (max-width: 760px) {
  body[data-design-system="nc3"].app-shell .nc-icon-toolbar {
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:.2rem;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }
  body[data-design-system="nc3"].app-shell .nc-icon-toolbar > * { flex:0 0 auto; }
  body[data-design-system="nc3"].app-shell .nc-action-cluster { width:100%; }
}

/* Pre-F67 Visual V4 · Responsive and overflow hardening
   Final responsive authority for the current NovaCore enterprise UI. */
body[data-design-system="nc3"].app-shell {
  max-width:100%;
  overflow-x:hidden;
}
body[data-design-system="nc3"].app-shell .main-content {
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
body[data-design-system="nc3"].app-shell .main-content :is(img,svg,video,canvas) {
  max-width:100%;
  height:auto;
}
body[data-design-system="nc3"].app-shell .main-content :is(pre,code,.mono,.code-block) {
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
body[data-design-system="nc3"].app-shell .main-content [class*="-grid"] > *,
body[data-design-system="nc3"].app-shell .main-content [class*="-layout"] > * {
  min-width:0;
}
body[data-design-system="nc3"].app-shell .main-content :is(dialog,.modal,.modal-card,.dialog-card,.drawer,.sheet) {
  max-width:min(100%,calc(100vw - 1rem));
  max-height:calc(100dvh - 1rem);
}
body[data-design-system="nc3"].app-shell :is(.button,.icon-button,button,[role="button"]) {
  max-width:100%;
}
body[data-design-system="nc3"].app-shell :is(.button,.icon-button,button,[role="button"],a) {
  overflow-wrap:anywhere;
}
body[data-design-system="nc3"].app-shell :is(.table-wrap,.table-scroll,.responsive-table) {
  overscroll-behavior-inline:contain;
}
body[data-design-system="nc3"].app-shell :is(.table-wrap,.table-scroll,.responsive-table) table {
  min-width:100%;
}
body[data-design-system="nc3"].app-shell :is(.people-tabs,.attendance-tabs,.assets-tabs,.enterprise-tabs,.portal-tabs,.crm-tabs,.subnav,.subnav-tabs,.section-tabs) {
  overscroll-behavior-inline:contain;
}

/* Laptop / compact desktop: collapse high-risk split layouts before they can overflow. */
@media (max-width: 1180px) {
  body[data-design-system="nc3"].app-shell :is(
    .portal-admin-grid,
    .dashboard-enterprise-grid,
    .enterprise-management-grid,
    .execution-layout,
    .desk-create-layout,
    .ticket-detail-grid,
    .meet-grid,
    .pilot-layout,
    .meeting-create-layout,
    .ai-analyze-layout,
    .ai-result-grid,
    .ai-ticket-layout,
    .ai-memory-layout,
    .glossary-layout,
    .ai-dashboard-main-grid,
    .report-builder-grid,
    .report-content-grid,
    .assets-detail-grid,
    .intake-review-layout,
    .assignment-detail-layout,
    .crm-settings-layout,
    .crm-fields-layout,
    .crm-loss-reason-layout,
    .crm-document-summary,
    .attendance-clock-grid,
    .attendance-assignment-grid,
    .biometric-enrollment-grid,
    .leave-detail-grid,
    .leave-config-grid,
    .calendar-detail-grid,
    .task-detail-grid,
    .project-detail-grid,
    .drive-detail-grid
  ) {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body[data-design-system="nc3"].app-shell :is(.page-header,.page-hero) {
    max-width:100%;
  }
}

/* Tablet: actions and metric groups remain inside the content column. */
@media (max-width: 900px) {
  body[data-design-system="nc3"].app-shell :is(.page-actions,.header-actions,.hero-actions,.panel-actions,.form-actions,.nc-action-cluster) {
    width:100%;
    justify-content:flex-start;
  }
  body[data-design-system="nc3"].app-shell :is(.page-actions,.header-actions,.hero-actions,.panel-actions,.form-actions,.nc-action-cluster) > * {
    min-width:0;
    max-width:100%;
  }
  body[data-design-system="nc3"].app-shell :is(.stat-grid,.metric-grid,.kpi-grid,.summary-grid,.dashboard-kpis,.ai-dashboard-kpis,.assets-kpi-grid,.attendance-stats,.crm-360-stats) {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobile landscape / narrow tablet. */
@media (max-width: 760px) {
  body[data-design-system="nc3"].app-shell .main-content {
    padding-inline:max(.65rem,env(safe-area-inset-left));
  }
  body[data-design-system="nc3"].app-shell :is(.panel,.panel-card,.stat-card,.module-card,.project-card,.workload-card,.admin-menu-card) {
    border-radius:14px;
  }
  body[data-design-system="nc3"].app-shell :is(.table-wrap,.table-scroll,.responsive-table) table {
    min-width:620px;
  }
  body[data-design-system="nc3"].app-shell :is(.form-actions,.page-actions,.header-actions,.hero-actions,.nc-action-cluster) .button {
    flex:1 1 11rem;
  }
  body[data-design-system="nc3"].app-shell :is(.people-tabs,.attendance-tabs,.assets-tabs,.enterprise-tabs,.portal-tabs,.crm-tabs,.subnav,.subnav-tabs,.section-tabs) {
    margin-inline:0;
    scroll-snap-type:x proximity;
  }
  body[data-design-system="nc3"].app-shell :is(.people-tabs,.attendance-tabs,.assets-tabs,.enterprise-tabs,.portal-tabs,.crm-tabs,.subnav,.subnav-tabs,.section-tabs) > * {
    scroll-snap-align:start;
  }
}

/* Phone: one-column cards/forms and readable controls. */
@media (max-width: 640px) {
  body[data-design-system="nc3"].app-shell :is(.stat-grid,.metric-grid,.kpi-grid,.summary-grid,.dashboard-kpis,.ai-dashboard-kpis,.assets-kpi-grid,.attendance-stats,.crm-360-stats) {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body[data-design-system="nc3"].app-shell :is(.form-grid,.filters-grid,.settings-grid,.checkbox-grid) {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body[data-design-system="nc3"].app-shell :is(.form-actions,.page-actions,.header-actions,.hero-actions,.nc-action-cluster) {
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  body[data-design-system="nc3"].app-shell :is(.form-actions,.page-actions,.header-actions,.hero-actions,.nc-action-cluster) .button {
    width:100%;
  }
  body[data-design-system="nc3"].app-shell :is(.table-wrap,.table-scroll,.responsive-table) {
    border-radius:12px;
  }
  body[data-design-system="nc3"].app-shell :is(.table-wrap,.table-scroll,.responsive-table) table {
    min-width:560px;
  }
  body[data-design-system="nc3"].app-shell .main-content :is(h1,.page-title) {
    font-size:clamp(1.15rem,7vw,1.55rem);
    line-height:1.15;
  }
}


/* Pre-F67 Visual Hotfix2 · Browser responsive + contrast correction
   Fixes validated from real staging screenshots. No business logic changes. */
body[data-design-system="nc3"].app-shell .main-content {
  width:auto;
  max-width:none;
  min-inline-size:0;
}
body[data-design-system="nc3"].app-shell .main-content > * {
  width:min(100%,var(--content-max));
  max-width:100%;
}
body[data-design-system="nc3"].app-shell:not(.module-ai) .main-content :is(a,button).button.button-primary,
body[data-design-system="nc3"].app-shell:not(.module-ai) .main-content :is(a,button).button.primary {
  color:#fff;
}
body[data-design-system="nc3"].app-shell .main-content :is(a,button).button.button-danger,
body[data-design-system="nc3"].app-shell .main-content :is(a,button).button.danger {
  color:#fff;
}
body[data-design-system="nc3"].app-shell .main-content table :is(a.button,button.button) {
  text-decoration:none;
}
body[data-design-system="nc3"].app-shell .main-content table :is(a.button.button-primary,button.button.button-primary) {
  color:#fff;
}
body[data-design-system="nc3"].app-shell .main-content table :is(a.button.button-danger,button.button.button-danger) {
  color:#fff;
}
body[data-design-system="nc3"].app-shell .table-panel :is(.empty-state,.nc3-empty-state) {
  min-height:118px;
  padding:1.15rem 1rem;
}
body[data-design-system="nc3"].app-shell .table-panel :is(.empty-state,.nc3-empty-state) > span:first-child {
  width:48px;
  height:48px;
  margin-bottom:.65rem;
}
body[data-design-system="nc3"].app-shell .table-panel :is(.empty-state,.nc3-empty-state) strong {
  font-size:.86rem;
}
body[data-design-system="nc3"].app-shell .table-panel :is(.empty-state,.nc3-empty-state) p {
  margin-bottom:.7rem;
  font-size:.72rem;
}
body[data-design-system="nc3"].app-shell .table-panel table:has(tbody tr:only-child .empty-state) {
  min-width:100% !important;
}
body[data-design-system="nc3"].app-shell .table-panel tbody tr:has(.empty-state) > td {
  padding:0;
  background:#fff;
}
body[data-design-system="nc3"].app-shell .enterprise-dashboard,
body[data-design-system="nc3"].app-shell .enterprise-welcome,
body[data-design-system="nc3"].app-shell .enterprise-stat-grid,
body[data-design-system="nc3"].app-shell .dashboard-enterprise-grid,
body[data-design-system="nc3"].app-shell .dashboard-modules-section,
body[data-design-system="nc3"].app-shell .dashboard-enterprise-rail {
  min-width:0;
  max-width:100%;
}
body[data-design-system="nc3"].app-shell .enterprise-stat-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
}
body[data-design-system="nc3"].app-shell .enterprise-module-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
}
body[data-design-system="nc3"].app-shell .enterprise-module-card > div,
body[data-design-system="nc3"].app-shell .enterprise-quick-panel > a > span {
  min-width:0;
}
body[data-design-system="nc3"].app-shell .enterprise-module-card :is(strong,p),
body[data-design-system="nc3"].app-shell .enterprise-quick-panel :is(span,strong,p) {
  overflow-wrap:anywhere;
}

@media (max-width: 1480px) {
  body[data-design-system="nc3"].app-shell .dashboard-enterprise-grid {
    grid-template-columns:minmax(0,1fr) minmax(240px,280px);
  }
  body[data-design-system="nc3"].app-shell .enterprise-welcome {
    grid-template-columns:minmax(0,1fr) minmax(190px,220px);
    padding:clamp(1.25rem,2.2vw,1.8rem);
  }
}

@media (max-width: 1240px) {
  body[data-design-system="nc3"].app-shell .dashboard-enterprise-grid {
    grid-template-columns:minmax(0,1fr);
  }
  body[data-design-system="nc3"].app-shell .dashboard-enterprise-rail {
    position:static;
  }
  body[data-design-system="nc3"].app-shell .enterprise-quick-panel {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 .8rem;
  }
  body[data-design-system="nc3"].app-shell .enterprise-quick-panel .panel-heading {
    grid-column:1/-1;
  }
}

@media (max-width: 900px) {
  body[data-design-system="nc3"].app-shell .topbar-actions .presence {
    display:none;
  }
  body[data-design-system="nc3"].app-shell .topbar-context {
    min-width:0;
    max-width:calc(100vw - 190px);
  }
  body[data-design-system="nc3"].app-shell .main-content {
    width:auto;
    margin-left:0;
  }
  body[data-design-system="nc3"].app-shell .enterprise-welcome {
    grid-template-columns:minmax(0,1fr);
  }
  body[data-design-system="nc3"].app-shell .welcome-status-card {
    width:min(100%,360px);
    max-width:100%;
  }
  body[data-design-system="nc3"].app-shell .enterprise-quick-panel {
    grid-template-columns:minmax(0,1fr);
  }
  body[data-design-system="nc3"].app-shell .enterprise-quick-panel .panel-heading {
    grid-column:auto;
  }
}

@media (max-width: 640px) {
  body[data-design-system="nc3"].app-shell .main-content {
    padding-left:max(.65rem,env(safe-area-inset-left));
    padding-right:max(.65rem,env(safe-area-inset-right));
  }
  body[data-design-system="nc3"].app-shell .enterprise-welcome {
    padding:1rem;
    border-radius:17px;
  }
  body[data-design-system="nc3"].app-shell .enterprise-welcome h1 {
    font-size:clamp(1.55rem,8vw,1.9rem);
  }
  body[data-design-system="nc3"].app-shell .enterprise-welcome p {
    font-size:.74rem;
    line-height:1.5;
  }
  body[data-design-system="nc3"].app-shell .welcome-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  body[data-design-system="nc3"].app-shell .welcome-actions .button {
    width:100%;
  }
  body[data-design-system="nc3"].app-shell .enterprise-stat-grid,
  body[data-design-system="nc3"].app-shell .enterprise-module-grid {
    grid-template-columns:minmax(0,1fr);
  }
  body[data-design-system="nc3"].app-shell .enterprise-module-card {
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:.6rem;
    min-height:78px;
    padding:.72rem;
  }
  body[data-design-system="nc3"].app-shell .enterprise-module-icon {
    width:42px;
    height:42px;
  }
  body[data-design-system="nc3"].app-shell .table-panel :is(.empty-state,.nc3-empty-state) {
    min-height:100px;
    padding:1rem .75rem;
  }
  body[data-design-system="nc3"].app-shell .table-panel :is(.empty-state,.nc3-empty-state) .button {
    width:min(100%,260px);
  }
}


/* Pre-F67 Visual Hotfix3 · AI contrast + Portal navigation clarity
   Real-browser fixes. Keeps schema 73 and does not change business logic. */
body[data-design-system="nc3"].app-shell.module-ai .ai-command-hero {
  color:#f8fbff;
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-hero .ai-command-copy,
body[data-design-system="nc3"].app-shell.module-ai .ai-command-hero .ai-command-copy > * {
  min-width:0;
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-hero h1 {
  color:#f8fbff !important;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-hero .ai-command-kicker {
  color:#c8d5ff;
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-hero .ai-command-copy > p {
  color:#d7e0f5;
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-console {
  color:#f6f8ff;
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-console-item > span {
  display:grid;
  gap:.12rem;
  min-width:0;
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-console-item strong,
body[data-design-system="nc3"].app-shell.module-ai .ai-command-console-item small {
  display:block;
  line-height:1.35;
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-console-item strong {
  color:#fff;
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-console-item small {
  color:#b8c5e2;
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-console-item b {
  color:#edf2ff;
  white-space:nowrap;
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-actions .button.button-primary {
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#5661ed,#5148d9 62%,#4758dc);
  box-shadow:0 12px 28px rgba(51,60,187,.30);
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-actions .button.button-outline {
  color:#f8fbff;
  border-color:rgba(255,255,255,.30);
  background:rgba(255,255,255,.10);
}
body[data-design-system="nc3"].app-shell.module-ai .ai-command-actions .button.button-outline:hover {
  color:#fff;
  background:rgba(255,255,255,.17);
}

body[data-design-system="nc3"].app-shell.module-portal .portal-subnav {
  display:flex;
  align-items:center;
  gap:.45rem;
  width:100%;
  max-width:100%;
  margin:0 0 1rem;
  padding:.5rem;
  overflow-x:auto;
  overflow-y:hidden;
  border:1px solid #dfe5ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(22,34,66,.055);
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
body[data-design-system="nc3"].app-shell.module-portal .portal-subnav > a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:38px;
  padding:.54rem .82rem;
  border:1px solid transparent;
  border-radius:11px;
  color:#526079;
  background:#f6f8fc;
  font-size:.78rem;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease;
}
body[data-design-system="nc3"].app-shell.module-portal .portal-subnav > a:hover {
  color:#303d72;
  border-color:#d6dcf5;
  background:#eef1ff;
}
body[data-design-system="nc3"].app-shell.module-portal .portal-subnav > a.active {
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#626af1,#5148d9);
  box-shadow:0 7px 18px rgba(79,72,202,.23);
}
body[data-design-system="nc3"].app-shell.module-portal .portal-page :is(.page-header h1,.panel h2,.panel-heading h2) {
  color:#182235;
}
body[data-design-system="nc3"].app-shell.module-portal .portal-page :is(.portal-feed-item,.portal-doc-row,.portal-memo,.portal-balance) > :first-child {
  min-width:0;
}
body[data-design-system="nc3"].app-shell.module-portal .portal-page :is(.portal-feed-item,.portal-doc-row) > a,
body[data-design-system="nc3"].app-shell.module-portal .portal-page .portal-row-actions > a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:32px;
  padding:.38rem .62rem;
  border:1px solid #d8def0;
  border-radius:9px;
  color:#3947a7;
  background:#f7f8ff;
  font-size:.72rem;
  font-weight:800;
  text-decoration:none;
}
body[data-design-system="nc3"].app-shell.module-portal .portal-page :is(.portal-feed-item,.portal-doc-row) > a:hover,
body[data-design-system="nc3"].app-shell.module-portal .portal-page .portal-row-actions > a:hover {
  color:#fff;
  border-color:#5962dc;
  background:#5962dc;
}
body[data-design-system="nc3"].app-shell.module-portal .portal-link-card {
  color:#1c2740;
}
body[data-design-system="nc3"].app-shell.module-portal .portal-link-card:hover {
  border-color:#cbd2f3;
  background:#f8f9ff;
}
@media (max-width:900px) {
  body[data-design-system="nc3"].app-shell.module-ai .ai-command-hero {
    grid-template-columns:minmax(0,1fr);
    padding:1.45rem;
  }
  body[data-design-system="nc3"].app-shell.module-ai .ai-command-console {
    grid-template-columns:minmax(0,1fr);
  }
  body[data-design-system="nc3"].app-shell.module-portal .portal-subnav {
    margin-bottom:.8rem;
  }
}
@media (max-width:640px) {
  body[data-design-system="nc3"].app-shell.module-ai .ai-command-hero h1 {
    font-size:clamp(1.65rem,8.5vw,2.15rem);
    line-height:1.08;
  }
  body[data-design-system="nc3"].app-shell.module-ai .ai-command-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  body[data-design-system="nc3"].app-shell.module-ai .ai-command-actions .button {
    width:100%;
  }
  body[data-design-system="nc3"].app-shell.module-portal .portal-subnav {
    padding:.4rem;
    border-radius:13px;
  }
  body[data-design-system="nc3"].app-shell.module-portal .portal-subnav > a {
    min-height:36px;
    padding:.5rem .7rem;
    font-size:.74rem;
  }
  body[data-design-system="nc3"].app-shell.module-portal .portal-page :is(.portal-feed-item,.portal-doc-row,.portal-memo) {
    align-items:stretch;
  }
  body[data-design-system="nc3"].app-shell.module-portal .portal-page :is(.portal-feed-item,.portal-doc-row) > a,
  body[data-design-system="nc3"].app-shell.module-portal .portal-page .portal-row-actions > a {
    width:fit-content;
    max-width:100%;
  }
}
