/* Invoice workspace: shared, dark-only presentation over the existing page layouts.
   Page CSS keeps domain-specific grids; palette and common controls live here. */
:root {
  color-scheme: dark;
  --canvas: #14181e;
  --surface: #1b2129;
  --surface-raised: #222b35;
  --line: #35414e;
  --ink: #edf2f7;
  --text-secondary: #a5b2bf;
  --muted: var(--text-secondary);
  --accent: #9bbcff;
  --accent-fill: #365f9e;
  --accent-soft: #253650;
  --success: #9bcbb2;
  --warning: #edc18e;
  --error: #ffacb5;
  --btn-radius: 7px;
  --btn-h-md: 40px;
  --btn-fs-md: 14px;
}
body.portal-design.dark {
  --muted: var(--text-secondary);
  --workspace-bg: var(--canvas);
  --workspace-surface: var(--surface);
  --workspace-border: var(--line);
  --workspace-text: var(--ink);
  --workspace-muted: var(--text-secondary);
  --workspace-accent: var(--accent);
  --workspace-accent-soft: var(--accent-soft);
  --border: var(--line);
  background: var(--canvas);
  color: var(--ink);
  font-family: "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
}
.portal-design *, .portal-design *::before, .portal-design *::after { box-sizing: border-box; }
body.portal-design.dark a { color: var(--accent); }
body.portal-design.dark a:hover { color: #c8d9ff; }
body.portal-design.dark :is(h1, h2, h3, .stat-value) {
  background: none;
  -webkit-text-fill-color: currentColor;
  color: var(--ink);
  letter-spacing: 0;
  text-transform: none;
}
body.portal-design.dark h1 { font-size: 26px; font-weight: 600; line-height: 1.4; margin: 0 0 8px; }
body.portal-design.dark h2 { font-size: 18px; font-weight: 600; line-height: 1.5; padding-left: 0; }
body.portal-design.dark h2::before { display: none; }
body.portal-design.dark h3 { font-size: 15px; font-weight: 600; }
body.portal-design.dark :is(.muted, .muted-line, .page-note, .meta-line, .tile-sub, .tile-meta, .stat-label, .workspace-subtitle) { color: var(--muted); }
body.portal-design.dark :is(.stat-label, .compact-label, .field-label) { letter-spacing: 0; text-transform: none; font-weight: 500; }
body.portal-design.dark .stat-value { font-size: 28px; font-weight: 600; font-variant-numeric: tabular-nums; }
body.portal-design.dark .stat-danger .stat-value { color: var(--error); }
body.portal-design.dark :is(p, .muted, .page-note, .workspace-subtitle) { overflow-wrap: anywhere; }
body.portal-design.dark :is(.header-row, .hero-head, .workspace-heading) { gap: 16px; align-items: flex-start; }
body.portal-design.dark :is(.header-actions, .hero-actions, .workspace-actions, .inline-actions) { flex-wrap: wrap; gap: 8px; }
body.portal-design.dark .workspace-main { min-width: 0; outline: none; }
body.portal-design.dark.has-workspace-nav .workspace-main { margin-left: 196px; }
body.portal-design.dark .container { width: 100%; max-width: 1440px; margin: 0 auto; padding: 30px 30px 44px; }
body.portal-design.dark :is(.card, .workspace-panel) {
  min-width: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  padding: 20px !important;
  margin-bottom: 20px !important;
}
body.portal-design.dark .container > .card:first-child:has(h1) {
  padding: 0 0 24px !important;
  margin-bottom: 24px !important;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
body.portal-design.dark .card h2 { font-size: 18px; margin-bottom: 16px !important; padding-bottom: 0 !important; }
body.portal-design.dark .card h3 { font-size: 15px; }
body.portal-design.dark :is(.panel, .stat-item, .portal-card, .category-card, .product-card, .doc-row, .import-row, .home-action-tile, .job-monitor) {
  background: var(--surface);
  border-color: var(--line);
  border-radius: 10px;
  box-shadow: none;
}
body.portal-design.dark .home-action-tile { padding: 24px; transform: none; }
body.portal-design.dark .home-action-tile:hover { background: var(--surface-raised); transform: none; }
body.portal-design.dark :is(.tile-title, .title-link, .field-value, .job-monitor__title) { color: var(--ink); font-weight: 600; }
body.portal-design.dark :is(.compact-chip, .compact-value, .topic-row, .product-row, .version-pill) { background: var(--surface-raised); color: var(--ink); border-color: var(--line); box-shadow: none; }
body.portal-design.dark :is(.empty-panel, .empty-state) { padding: 28px 20px; color: var(--muted); background: var(--canvas); border-color: var(--line); border-radius: 8px; }
body.portal-design.dark .status-strip { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 0; margin-bottom: 16px; color: var(--muted); background: none; border: 0; box-shadow: none; }
body.portal-design.dark :is(input, select, textarea) {
  min-width: 0;
  min-height: 42px;
  color: var(--ink);
  background: var(--canvas);
  border: 1px solid var(--line);
  border-radius: 7px;
  font: inherit;
  padding: 9px 12px;
  box-shadow: none;
}
body.portal-design.dark input::placeholder, body.portal-design.dark textarea::placeholder { color: #95a3b2; opacity: 1; }
body.portal-design.dark input:is([type=checkbox], [type=radio]) { width: 18px; min-height: 18px; padding: 0; accent-color: var(--accent-fill); }
body.portal-design.dark input[type=file] { max-width: 100%; font-size: 13px; }
body.portal-design.dark input[type=file]::file-selector-button { padding: 5px 9px; margin-right: 10px; background: var(--surface-raised); color: var(--ink); border: 1px solid var(--line); border-radius: 4px; }
body.portal-design.dark :is(input, select, textarea):focus { border-color: var(--accent); box-shadow: 0 0 0 3px #9bbcff20; }
body.portal-design.dark :is(button, .btn-link) {
  min-height: 40px;
  padding: 8px 15px;
  border: 1px solid #5277b2;
  border-radius: 7px;
  background: var(--accent-fill);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  box-shadow: none;
  transform: none;
  transition: background-color .15s, border-color .15s;
}
body.portal-design.dark :is(button, .btn-link):hover { color: #fff; background: #426fab; border-color: #7f9fcc; box-shadow: none; transform: none; filter: none; text-decoration: none; }
body.portal-design.dark :is(button.secondary, .btn-link.secondary, .pill-link, .filter-tabs .tab, .pagination-links a) {
  background: var(--surface-raised);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 6px;
  font-weight: 400;
  box-shadow: none;
}
body.portal-design.dark :is(button.secondary, .btn-link.secondary, .pill-link, .filter-tabs .tab, .pagination-links a):hover { background: #2b3643; border-color: #65748a; color: var(--ink); }
body.portal-design.dark :is(.pill-link.active, .filter-tabs .tab.active) { background: var(--accent-soft); border-color: #6587bb; color: #c6d8ff; }
body.portal-design.dark button.danger { background: #3f2932; border-color: #80505c; color: var(--error); }
body.portal-design.dark button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
body.portal-design.dark :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
body.portal-design.dark :is(.badge, .compact-chip) { font-weight: 500; font-size: 12px; border-radius: 5px; }
body.portal-design.dark .badge { background: var(--surface-raised); color: var(--muted); border: 1px solid var(--line); }
body.portal-design.dark :is(.badge.ok, .flash.success) { background: #213a31; color: var(--success); border-color: #3b6050; }
body.portal-design.dark :is(.badge.warn, .flash.warn, .flash.warning) { background: #3a3024; color: var(--warning); border-color: #6c5638; }
body.portal-design.dark :is(.badge.error, .flash.error) { background: #3f2932; color: var(--error); border-color: #80505c; }
body.portal-design.dark :is(.badge.neutral, .badge.pending) { background: var(--accent-soft); color: #bdd2fa; border-color: #46618a; }
body.portal-design.dark .flash { padding: 12px 16px; line-height: 1.7; overflow-wrap: anywhere; }
body.portal-design.dark .table { width: 100%; table-layout: auto; font-size: 13px; font-variant-numeric: tabular-nums; }
body.portal-design.dark .table :is(th, td) { padding: 12px 14px !important; border-bottom: 1px solid var(--line); line-height: 1.65; }
body.portal-design.dark .table th { background: var(--surface-raised); color: #c0ccd9; font-weight: 500; }
body.portal-design.dark .table.sticky-head thead th { background: var(--surface-raised); box-shadow: 0 1px var(--line); }
body.portal-design.dark .table tbody tr:nth-child(odd) { background: transparent; }
body.portal-design.dark .table tbody tr:nth-child(even) { background: #ffffff02; }
body.portal-design.dark .table tbody tr:hover { background: #ffffff05; }
body.portal-design.dark .table-wrap { border: 1px solid var(--line); border-radius: 8px; }
body.portal-design.dark .table-wrap :is(th, td):last-child { border-right: 0; }
body.portal-design.dark .table :is(button, .btn-link) { min-height: 34px; padding: 5px 10px; font-size: 12px; }
body.portal-design.dark .table-wrap.source-overview-wrap, body.portal-design.dark .table-wrap.upload-record-wrap { max-height: 65vh; }
body.portal-design.dark :is(.upload-item, .drop-zone) { background: var(--canvas); border: 1px dashed #617087; border-radius: 8px; box-shadow: none; }
body.portal-design.dark :is(.upload-item, .drop-zone):hover, body.portal-design.dark :is(.upload-item, .drop-zone).dragover { background: #1e2b3d; border-color: var(--accent); }
body.portal-design.dark :is(.upload-title, .drop-file-name) { color: var(--accent); }
body.portal-design.dark :is(code, pre) { color: #c9d4e4; background: var(--canvas); border-color: var(--line); }
body.portal-design.dark summary { cursor: pointer; }
body.portal-design.dark details > summary { min-height: 36px; align-content: center; }
body.portal-design.dark :is(.grid-3, .grid-4) > .stat-card { opacity: 1; animation: none; transform: none; }

/* Persistent task navigation. The mobile disclosure uses native details semantics. */
.portal-design .workspace-sidebar { position: fixed; inset: 0 auto 0 0; width: 196px; background: #171d25; border-right: 1px solid var(--line); padding: 24px 12px 16px; z-index: 30; overflow-y: auto; }
body.portal-design.dark .workspace-brand { display: flex; align-items: center; gap: 12px; padding: 0 12px 30px; color: var(--ink); font-family: "Segoe UI", sans-serif; font-size: 23px; font-weight: 600; text-decoration: none; line-height: 1.3; }
.workspace-brand small { display: block; color: var(--muted); font-size: 11px; font-weight: 400; margin-top: 5px; }
.workspace-brand-mark { display: grid; place-items: center; width: 36px; height: 40px; color: #b7cbed; background: #293951; border: 1px solid #4e678a; border-radius: 8px; }
.workspace-brand-mark svg { width: 23px; height: 23px; }
.workspace-icon { flex-shrink: 0; vertical-align: middle; }
.workspace-menu-toggle { display: none; }
.workspace-nav-group { margin-bottom: 21px; }
.workspace-nav-label { color: #95a4b8; font-size: 11px; padding: 0 12px; margin: 0 0 7px; }
body.portal-design.dark .workspace-nav-link { display: flex; align-items: center; min-height: 40px; gap: 12px; padding: 9px 12px; margin: 3px 0; color: #c1ccd8; border-radius: 6px; line-height: 1.4; font-size: 13px; text-decoration: none; }
.workspace-nav-link .workspace-icon { width: 18px; height: 18px; color: #95a4b8; }
body.portal-design.dark .workspace-nav-link:hover { background: #242e3b; color: var(--ink); }
body.portal-design.dark .workspace-nav-link.is-current { background: #2a3b55; color: #d8e5ff; font-weight: 500; }
.workspace-nav-link.is-current .workspace-icon { color: #a9c6f9; }
.workspace-account { display: flex; align-items: center; gap: 9px; border-top: 1px solid var(--line); margin-top: 30px; padding: 20px 4px 0; }
.workspace-avatar { display: grid; place-items: center; width: 32px; height: 32px; background: #303b49; color: #d7e1ef; border-radius: 50%; font-size: 13px; }
.workspace-account-info { flex: 1; min-width: 0; font-size: 12px; }
.workspace-account-info > span { display: block; overflow: hidden; text-overflow: ellipsis; }
body.portal-design.dark .workspace-account-info a { display: block; color: var(--muted); font-size: 11px; }
body.portal-design.dark button.workspace-signout { min-height: 34px; padding: 6px; background: transparent; color: var(--muted); border-color: transparent; }
body.portal-design.dark button.workspace-signout:hover { background: var(--surface-raised); color: var(--ink); }
.skip-link { position: fixed; top: 8px; left: 12px; z-index: 100; transform: translateY(-200%); padding: 10px 18px; border-radius: 6px; background: var(--surface-raised); }
.skip-link:focus { transform: translateY(0); }

/* Three business destinations share one compact entry strip. */
.dashboard-intro-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.dashboard-intro-header p { margin: 6px 0 0; color: var(--muted); }
.dashboard-order-search { width: min(430px, 48%); flex-shrink: 0; }
.dashboard-order-search label { display: block; margin-bottom: 7px; font-size: 12px; color: var(--muted); }
.dashboard-order-search > div { display: flex; gap: 8px; }
.dashboard-order-search input { min-width: 0; flex: 1; }
.dashboard-order-search button { flex-shrink: 0; }
.dashboard-pending-note { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 12px 16px; margin-bottom: 18px; background: #302b24; color: var(--warning); border-left: 3px solid #ad8759; border-radius: 3px; }
.dashboard-launchpad { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 28px; background: var(--surface); border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
body.portal-design.dark .dashboard-launchpad > a { display: flex; align-items: flex-start; gap: 13px; padding: 22px 20px; text-decoration: none; color: var(--ink); border-right: 1px solid var(--line); }
body.portal-design.dark .dashboard-launchpad > a:last-child { border-right: 0; }
body.portal-design.dark .dashboard-launchpad > a:hover { background: var(--surface-raised); }
.dashboard-launch-icon { flex-shrink: 0; color: #b7cbed; padding-top: 2px; }
.dashboard-launchpad a > span:nth-child(2) { flex: 1; min-width: 0; }
.dashboard-launchpad strong { display: block; font-size: 17px; font-weight: 500; }
.dashboard-launchpad small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.dashboard-link-chevron { font-size: 23px; line-height: 1; color: #899bb2; align-self: center; }
.dashboard-section-header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; }
body.portal-design.dark .dashboard-section-header h2 { margin: 0; font-size: 17px; }
.dashboard-information-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); gap: 28px; align-items: start; }
.dashboard-record-heading { display: flex; align-items: baseline; justify-content: flex-start; flex-wrap: wrap; gap: 12px; }
.dashboard-record-heading h3 { margin: 0; font-weight: 500; }
.dashboard-record-heading a { font-size: 12px; flex-shrink: 0; }
.dashboard-report-list { list-style: none; margin: 16px 0 0; padding: 0; }
.dashboard-report-list li { display: flex; gap: 14px; padding: 16px 0; border-top: 1px solid var(--line); }
.dashboard-report-list li > .workspace-icon { color: var(--muted); margin-top: 4px; }
.dashboard-report-list li > div { min-width: 0; }
.dashboard-output-name { margin: 0 0 6px; font-size: 15px; overflow-wrap: anywhere; }
.dashboard-output-meta { margin: 0; color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.dashboard-output-meta span { margin-left: 14px; }
.dashboard-empty-state { color: var(--muted); font-size: 13px; padding: 22px 0; }
.dashboard-archive-note { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 16px; }
.dashboard-archive-note h3 { margin: 0; }
.dashboard-archive-note p { margin: 7px 0; font-size: 13px; color: var(--muted); }
.dashboard-archive-note a { font-size: 13px; }
.dashboard-records-grid { display: grid; gap: 16px; }
.dashboard-record-item { min-width: 0; }
.dashboard-record-item + .dashboard-record-item { border-top: 1px solid var(--line); padding-top: 16px; }
.dashboard-record-item p { margin: 8px 0 0; font-size: 13px; }
.dashboard-record-meta { display: block; color: var(--muted); font-size: 12px; margin-top: 5px; }
.dashboard-attention { color: var(--warning); }
.dashboard-fx-form { margin-top: 10px; }
body.portal-design.dark .dashboard-fx-form button { min-height: 34px; padding: 5px 11px; font-size: 12px; }
.dashboard-history-link { display: inline-block; font-size: 12px; margin-top: 10px; }

/* Common page hierarchy: one content surface, lightweight directories and facts. */
body.portal-design.dark .workspace-section { min-width: 0; padding: 20px; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
body.portal-design.dark .workspace-section > :is(.section-head, .header-row) h2 { margin: 0; }
body.portal-design.dark .workspace-section .directory-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 15px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
body.portal-design.dark .workspace-section :is(.portal-list, .category-list, .product-list) { gap: 0; }
body.portal-design.dark .directory-row .inline-actions { flex-shrink: 0; }
body.portal-design.dark .page-facts { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 24px; padding: 0 0 16px; color: var(--muted); font-size: 13px; }
.page-facts > div { display: flex; align-items: baseline; gap: 7px; }
body.portal-design.dark .page-facts .stat-value { font-size: 18px; margin: 0; line-height: 1.4; }
body.portal-design.dark .page-facts .stat-label { font-size: 12px; }
body.portal-design.dark .archive-browser { padding: 14px 18px !important; }
body.portal-design.dark .archive-browser > summary { font-size: 14px; font-weight: 500; }
body.portal-design.dark .archive-browser[open] > summary { margin-bottom: 14px; }
body.portal-design.dark .workspace-shell > .workspace-header { padding-top: 0; padding-bottom: 0; }
body.portal-design.dark .om-customer-panel { background: transparent; border-color: transparent; padding: 0 !important; }
body.portal-design.dark .om-orders-panel { padding: 0 !important; }
body.portal-design.dark .om-list-toolbar { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 18px; }
body.portal-design.dark .om-list-toolbar h2 { margin: 0 !important; }
body.portal-design.dark .om-create { padding: 0; }
body.portal-design.dark .om-create > summary { color: var(--accent); font-size: 13px; min-height: 40px; align-content: center; }
body.portal-design.dark .om-create[open] { flex-basis: 100%; margin-bottom: 16px; }
body.portal-design.dark .om-create-form { margin-top: 10px; }

/* Account screens share the palette without exposing the workspace navigation. */
body.portal-design.dark.login-page { background: var(--canvas); }
body.portal-design.dark.login-page .container { max-width: 460px; padding: 0 20px; margin: max(40px, 12vh) auto; }
body.portal-design.dark.login-page .container > .card:first-child { padding: 32px !important; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
body.portal-design.dark.login-page .card::before { display: none; }
body.portal-design.dark.login-page h1 { font-size: 25px; }
body.portal-design.dark.login-page form label { display: block; color: #c0ccd9; margin: 20px 0 7px; font-size: 13px; }
body.portal-design.dark.login-page form button[type=submit] { width: 100%; margin-top: 24px; }
body.portal-design.dark.login-page .auth-theme-actions { gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
body.portal-design.dark.login-page .auth-theme-actions:empty { display: none; }
body.portal-design.dark.login-page .auth-theme-actions button { margin-top: 0; }

@media (max-width: 1150px) {
  body.portal-design.dark .container { padding: 28px 24px 40px; }
}
@media (max-width: 900px) {
  body.portal-design.dark.has-workspace-nav .workspace-main { margin-left: 0; }
  .portal-design .workspace-sidebar { position: relative; width: 100%; padding: 16px 20px; overflow: visible; border-right: 0; border-bottom: 1px solid var(--line); }
  body.portal-design.dark .workspace-brand { padding: 0; font-size: 20px; width: fit-content; }
  .workspace-brand small { font-size: 10px; }
  .workspace-brand-mark { width: 32px; height: 36px; }
  .workspace-menu-toggle { display: flex; position: absolute; right: 20px; top: 18px; gap: 8px; align-items: center; padding: 8px 12px; border: 1px solid var(--line); border-radius: 6px; color: #c0ccd9; font-size: 12px; }
  .workspace-menu-toggle::-webkit-details-marker { display: none; }
  .workspace-navigation-content { padding-top: 26px; }
  .workspace-navigation-content nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
  .workspace-account { margin-top: 4px; }
  body.portal-design.dark .om-customer-link { min-height: 44px; }
  body.portal-design.dark .container { padding: 26px 22px 40px; }
}
@media (max-width: 640px) {
  :root { --btn-h-md: 44px; }
  body.portal-design.dark .container { padding: 16px 14px 24px; }
  body.portal-design.dark { line-height: 1.5; }
  .portal-design .workspace-sidebar { padding: 10px 14px; }
  body.portal-design.dark .workspace-menu-toggle { top: 10px; right: 14px; min-height: 44px; }
  body.portal-design.dark .container > .card:first-child:has(h1) { padding-bottom: 14px !important; margin-bottom: 14px !important; }
  body.portal-design.dark h1 { font-size: 22px; margin-bottom: 6px; }
  body.portal-design.dark :is(.card, .workspace-panel) { padding: 14px !important; margin-bottom: 10px !important; }
  body.portal-design.dark :is(.grid-2, .grid-3, .grid-4, .grid-top, .grid-two, .top-grid, .check-grid, .section-grid) { gap: 10px !important; }
  body.portal-design.dark .workspace-header { margin-bottom: 14px; }
  body.portal-design.dark .om-order-workspace { gap: 10px; }
  body.portal-design.dark .om-list-heading { padding: 12px 14px 0; }
  body.portal-design.dark .om-search { padding: 0 14px 12px; }
  body.portal-design.dark :is(button, .btn-link, .pill-link, .filter-tabs .tab) { min-height: 44px; }
  body.portal-design.dark .table :is(button, .btn-link) { min-height: 40px; }
  body.portal-design.dark :is(.grid-2, .grid-3, .grid-4, .grid-top, .home-actions-grid) { grid-template-columns: minmax(0, 1fr); }
  body.portal-design.dark .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.portal-design.dark .grid-4 .card { margin-bottom: 0 !important; }
  body.portal-design.dark .table :is(th, td) { padding: 8px 10px !important; }
  body.portal-design.dark .header-actions { justify-content: flex-start; }
  body.portal-design.dark .home-action-tile { padding: 14px; }
  body.portal-design.dark.login-page .container { margin-top: 36px; }
  body.portal-design.dark.login-page .container > .card:first-child { padding: 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .portal-design *, .portal-design *::before, .portal-design *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Search is the primary entry to the document library. */
body.portal-design.dark .library-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; max-width: 760px; margin-top: 24px !important; }
.library-search > label { grid-column: 1 / -1; font-size: 13px; color: var(--muted); }
body.portal-design.dark .library-search input { max-width: none; }
.library-search > .muted-line { grid-column: 1 / -1; font-size: 12px; }
.library-metrics { display: flex; gap: 12px 28px; flex-wrap: wrap; font-size: 12px; color: var(--muted); }
.library-metrics strong { color: var(--ink); font-weight: 500; font-variant-numeric: tabular-nums; }
body.portal-design.dark .technical-materials-page .portal-card { border-radius: 6px; }
body.portal-design.dark .upload-grid { grid-template-columns: minmax(0, 1fr) auto; }
@media (max-width: 640px) {
  body.portal-design.dark .upload-grid { grid-template-columns: minmax(0, 1fr); }
  .library-metrics { gap: 8px 16px; }
  body.portal-design.dark .library-search { margin-top: 14px !important; gap: 8px; }
  body.portal-design.dark :is(.panel, .portal-card, .category-card, .product-card, .doc-row, .import-row) { padding: 12px; }
}


@media (max-width: 1150px) {
  .dashboard-launchpad small { line-height: 1.5; }
  body.portal-design.dark .dashboard-launchpad > a { padding: 18px 15px; gap: 10px; }
  .dashboard-information-grid { gap: 18px; }
}
@media (max-width: 700px) {
  .dashboard-information-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
@media (max-width: 640px) {
  .dashboard-intro-header { flex-direction: column; align-items: stretch; gap: 14px; margin-bottom: 16px; }
  .dashboard-intro-header p { font-size: 13px; margin-top: 4px; }
  .dashboard-order-search { width: 100%; }
  .dashboard-order-search label { margin-bottom: 6px; }
  .dashboard-launchpad { grid-template-columns: minmax(0, 1fr); margin-bottom: 18px; }
  body.portal-design.dark .dashboard-launchpad > a { align-items: center; padding: 14px; border-right: 0; border-bottom: 1px solid var(--line); }
  body.portal-design.dark .dashboard-launchpad > a:last-child { border-bottom: 0; }
  .dashboard-launchpad strong { font-size: 15px; }
  .dashboard-launchpad small { margin-top: 3px; }
  .dashboard-section-header { margin-bottom: 10px; }
  .dashboard-report-list { margin-top: 8px; }
  .dashboard-report-list li { padding: 12px 0; }
  .dashboard-output-name { font-size: 14px; }
  .dashboard-archive-note { margin-top: 10px; padding-top: 12px; }
  .dashboard-archive-note a, .dashboard-record-heading a, .dashboard-history-link { display: inline-flex; align-items: center; min-height: 40px; }
  .dashboard-records-grid { gap: 10px; }
  .dashboard-record-item + .dashboard-record-item { padding-top: 10px; }
  .dashboard-record-item p, .dashboard-record-meta { margin-top: 4px; }
  .dashboard-fx-form, .dashboard-history-link { margin-top: 4px; }
  body.portal-design.dark .dashboard-fx-form button { min-height: 44px; }
  body.portal-design.dark .workspace-section { padding: 14px; margin-bottom: 12px; }
  body.portal-design.dark .workspace-section .directory-row { padding: 12px 0; flex-wrap: wrap; gap: 8px; }
  body.portal-design.dark .page-facts { gap: 8px 18px; padding-bottom: 12px; }
  body.portal-design.dark .page-facts .stat-value { font-size: 16px; }
  body.portal-design.dark .om-create > summary { min-height: 44px; }
}
body.portal-design.dark .page-facts .is-attention { color: var(--warning); }
.page-facts strong { color: var(--ink); font-variant-numeric: tabular-nums; }
body.portal-design.dark .page-facts .is-attention strong { color: var(--warning); }
.eta-refresh-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.eta-refresh-tools .muted { font-size: 12px; }
.eta-list-section > .header-row > div:first-child { max-width: 76ch; }
.table-scroll-hint { display: none; }
body.portal-design.dark .eta-list-section .table { min-width: 1180px; }
body.portal-design.dark .eta-list-section .eta-date { white-space: nowrap; }
@media (max-width: 640px) {
  .table-scroll-hint { display: block; margin: 6px 0 10px; color: var(--muted); font-size: 12px; }
  body.portal-design.dark .outputs-table-panel :is(table, tbody) { display: block; width: 100%; }
  body.portal-design.dark .outputs-table-panel .output-wrap { max-height: none; }
  .outputs-table-panel thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  body.portal-design.dark .outputs-table-panel .table tbody tr { height: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 14px; border-bottom: 1px solid var(--line); }
  body.portal-design.dark .outputs-table-panel .table tbody tr:last-child { border-bottom: 0; }
  body.portal-design.dark .outputs-table-panel .table td { min-width: 0; display: block; padding: 0 !important; border: 0; }
  .outputs-table-panel .file-ellipsis { display: block; max-width: 100%; }
  .output-file-name { grid-column: 1; grid-row: 1; overflow-wrap: anywhere; }
  .output-file-time { grid-column: 1; grid-row: 2; color: var(--muted); font-size: 12px; }
  .output-file-size { grid-column: 1; grid-row: 3; color: var(--muted); font-size: 12px; }
  .output-file-action { grid-column: 2; grid-row: 1 / 4; align-self: center; }
  .output-file-action a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
}

/* Compact desktop workspace; touch layouts retain their existing spacing. */
@media (min-width: 901px) and (hover: hover) and (pointer: fine) {
  body.portal-design.dark.has-workspace-nav .container { padding: 20px 24px 32px; }
  body.portal-design.dark.has-workspace-nav :is(.card, .workspace-panel, .workspace-section) {
    padding: 16px !important;
    margin-bottom: 14px !important;
  }
  body.portal-design.dark.has-workspace-nav .container > .card:first-child:has(h1) {
    padding: 0 0 16px !important;
    margin-bottom: 16px !important;
  }
  body.portal-design.dark.has-workspace-nav h1 { font-size: 24px; margin-bottom: 6px; }
  body.portal-design.dark.has-workspace-nav .card h2 { margin-bottom: 10px !important; }
  body.portal-design.dark.has-workspace-nav :is(.workspace-header, .workspace-breadcrumb) { margin-bottom: 14px; }
  body.portal-design.dark.has-workspace-nav :is(.grid-2, .grid-3, .grid-4, .grid-top, .grid-two, .top-grid, .om-list-layout) { gap: 14px; }
  body.portal-design.dark.has-workspace-nav :is(.panel, .doc-row, .import-row) { padding: 12px; }
  body.portal-design.dark.has-workspace-nav .workspace-section .directory-row { padding: 10px 0; }
  body.portal-design.dark.has-workspace-nav :is(.doc-list, .import-list, .section-list) { gap: 8px; }
  body.portal-design.dark.has-workspace-nav .status-strip { padding: 8px 0; margin-bottom: 10px; }
  body.portal-design.dark.has-workspace-nav .table :is(th, td) { padding: 8px 10px !important; line-height: 1.5; }
  body.portal-design.dark.has-workspace-nav .om-order-table :is(th, td) { padding-top: 9px; padding-bottom: 9px; }
  body.portal-design.dark.has-workspace-nav .rcl-difference-table :is(th, td) { padding: 9px 12px; }
  body.portal-design.dark.has-workspace-nav :is(.om-customer-panel, .om-orders-panel) { padding: 0 !important; }
  body.portal-design.dark.has-workspace-nav .om-list-heading { padding: 14px 16px 0; }
  body.portal-design.dark.has-workspace-nav .om-search { padding: 0 16px 14px; }
  body.portal-design.dark.has-workspace-nav .om-order-workspace { gap: 12px; }
  body.portal-design.dark.has-workspace-nav :is(.check-result, .upload-panel) { margin-top: 10px; padding-top: 10px; }
  body.portal-design.dark.has-workspace-nav .workspace-sidebar { padding-top: 18px; }
  body.portal-design.dark.has-workspace-nav .workspace-brand { padding-bottom: 20px; }
  body.portal-design.dark.has-workspace-nav .workspace-nav-group { margin-bottom: 14px; }
  body.portal-design.dark.has-workspace-nav .workspace-account { margin-top: 20px; padding-top: 14px; }
  body.portal-design.dark.has-workspace-nav .dashboard-intro-header { margin-bottom: 18px; }
  body.portal-design.dark.has-workspace-nav .dashboard-launchpad { margin-bottom: 18px; }
  body.portal-design.dark.has-workspace-nav .dashboard-launchpad > a { padding: 16px; }
  body.portal-design.dark.has-workspace-nav .dashboard-information-grid { gap: 18px; }
  body.portal-design.dark.has-workspace-nav .dashboard-section-header { margin-bottom: 10px; }
  body.portal-design.dark.has-workspace-nav .dashboard-report-list { margin-top: 10px; }
  body.portal-design.dark.has-workspace-nav .dashboard-report-list li { padding: 10px 0; }
  body.portal-design.dark.has-workspace-nav .dashboard-records-grid { gap: 10px; }
  body.portal-design.dark.has-workspace-nav .dashboard-record-item + .dashboard-record-item { padding-top: 10px; }
  body.portal-design.dark.has-workspace-nav .dashboard-archive-note { margin-top: 10px; padding-top: 12px; }
  body.portal-design.dark.has-workspace-nav .library-search { margin-top: 16px !important; }
  body.portal-design.dark.has-workspace-nav .eta-overview { padding: 14px 16px 6px; margin-bottom: 14px; }
  body.portal-design.dark.has-workspace-nav .eta-overview-metrics { gap: 10px 24px; }
  body.portal-design.dark.has-workspace-nav .eta-overview-metrics dd { font-size: 21px; }
  body.portal-design.dark.has-workspace-nav .eta-overview-status { margin-top: 10px; padding-top: 8px; }
  body.portal-design.dark.has-workspace-nav .eta-list-heading { margin-bottom: 12px; }
}
