/* Generated: D.2.1 frozen global semantic tokens; edit frontend/theme. */
:root {
  --ims-color-primary: #58799E;
  --ims-color-primary-hover: #4B6A8A;
  --ims-color-on-primary: #FFFFFF;
  --ims-color-on-primary-hover: #FFFFFF;
  --ims-color-background: #F3F6F9;
  --ims-color-surface: #FFFFFF;
  --ims-color-surface-secondary: #F3F6F9;
  --ims-color-sidebar: #E7EDF5;
  --ims-color-sidebar-alt: #E7EDF5;
  --ims-color-text: #27364A;
  --ims-color-nav-text: #44546A;
  --ims-color-text-secondary: #6B7788;
  --ims-color-selected: #D6E2F0;
  --ims-color-hover: #E9EFF6;
  --ims-color-active-text: #315F9B;
  --ims-color-active-line: #6F91B8;
  --ims-color-border: #DDE4EC;
  --ims-color-table-border: #E3E8EF;
  --ims-color-control-border: #D7DEE7;
  --ims-color-white: #FFFFFF;
  --ims-color-processing-base: #4F86C6;
  --ims-color-success-base: #4C9B72;
  --ims-color-warning-base: #C98A3D;
  --ims-color-danger-base: #C85F63;
  --ims-color-closed-base: #8C96A3;
  --ims-color-processing: #315F9B;
  --ims-color-processing-background: #E8EFF8;
  --ims-color-success: #286445;
  --ims-color-success-background: #EAF4EE;
  --ims-color-warning: #805321;
  --ims-color-warning-background: #FCF2E5;
  --ims-color-danger: #923E43;
  --ims-color-danger-background: #FBECEE;
  --ims-color-closed: #526173;
  --ims-color-closed-background: #EDF0F4;
  --ims-color-champagne: #315F9B;
  --ims-soft-blue0: #F1F5FA;
  --ims-soft-blue1: #E7EDF5;
  --ims-soft-blue2: #D6E2F0;
  --ims-soft-blue3: #C0D1E4;
  --ims-soft-blue4: #9FB7D1;
  --ims-soft-blue5: #829FBF;
  --ims-soft-blue6: #58799E;
  --ims-soft-blue7: #4B6A8A;
  --ims-soft-blue8: #315F9B;
  --ims-soft-blue9: #27364A;
  --ims-radius-sm: 8px;
  --ims-radius-md: 8px;
  --ims-radius-lg: 10px;
  --ims-radius-banner: 8px;
  --ims-shadow-sm: 0 1px 3px rgba(30,45,60,.06);
  --ims-shadow-md: 0 1px 3px rgba(30,45,60,.06);
  --ims-shadow-floating: 0 1px 3px rgba(30,45,60,.06);
  --ims-spacing-xs: 4px;
  --ims-spacing-sm: 8px;
  --ims-spacing-compact: 12px;
  --ims-spacing-md: 16px;
  --ims-spacing-section: 24px;
  --ims-spacing-lg: 24px;
  --ims-spacing-xl: 32px;
  --ims-spacing-xxl: 40px;
  --ims-control-height: 38px;
  --ims-sidebar-width: 232px;
  --ims-sidebar-collapsed: 68px;
  --ims-header-height: 60px;
  --ims-nav-height: 42px;
  --ims-nav-icon: 18px;
  --ims-table-header-height: 42px;
  --ims-table-height: 48px;
  --ims-font-family: "Noto Sans CJK SC", "Inter", system-ui, "PingFang SC", "Microsoft YaHei", sans-serif;
  --ims-font-number-family: "Inter", system-ui, sans-serif;
  --ims-font-title: 22px;
  --ims-font-section: 16px;
  --ims-font-body: 14px;
  --ims-font-small: 12px;
  --ims-font-table: 13px;
  --ims-font-metric: 28px;
  --ims-motion-standard: 120ms ease;
  --ims-motion-selected: 120ms ease;
  --ims-table-header: #F3F6F9;
  --ims-focus-width: 3px;
  --ims-color-workspace: #F8FAFC;
  --ims-color-surface-elevated: #FFFFFF;
  --ims-color-header: #FFFFFF;
  --ims-color-sidebar-hover: #DDE6F0;
  --ims-color-card-border: #E3E8EF;
  --ims-color-emphasis-surface: #EEF3F8;
  --ims-color-text-body: #3F4F63;
  --ims-color-text-secondary-on-muted: #58687B;
  --ims-font-card: 14px;
  --ims-font-nav: 13px;
  --ims-font-table-header: 12px;
  --ims-font-secondary: 12px;
  --ims-font-badge: 12px;
  --ims-font-weight-title: 600;
  --ims-font-weight-module: 600;
  --ims-font-weight-card: 600;
  --ims-font-weight-nav: 500;
  --ims-font-weight-body: 400;
  --ims-font-weight-table: 400;
  --ims-font-weight-table-header: 600;
  --ims-font-weight-secondary: 400;
  --ims-font-weight-badge: 500;
  --ims-font-weight-metric: 600;
  --ims-font-weight-button: 600;
  --ims-spacing-card-gap: 20px;
  --ims-spacing-card-padding: 20px;
  --ims-spacing-complex-card-padding: 24px;
  --ims-spacing-page-header: 20px;
  --ims-spacing-filter-table: 16px;
  --ims-spacing-detail-section: 24px;
  --ims-spacing-form-group: 24px;
  --ims-spacing-form-field: 16px;
  --ims-page-horizontal-padding: 24px;
  --ims-page-wide-padding: 32px;
  --ims-breakpoint-mobile: 768px;
  --ims-breakpoint-sidebar: 1024px;
--mantine-color-blue-0:var(--ims-soft-blue0) !important;
--mantine-color-indigo-0:var(--ims-soft-blue0) !important;
--mantine-color-blue-1:var(--ims-soft-blue1) !important;
--mantine-color-indigo-1:var(--ims-soft-blue1) !important;
--mantine-color-blue-2:var(--ims-soft-blue2) !important;
--mantine-color-indigo-2:var(--ims-soft-blue2) !important;
--mantine-color-blue-3:var(--ims-soft-blue3) !important;
--mantine-color-indigo-3:var(--ims-soft-blue3) !important;
--mantine-color-blue-4:var(--ims-soft-blue4) !important;
--mantine-color-indigo-4:var(--ims-soft-blue4) !important;
--mantine-color-blue-5:var(--ims-soft-blue5) !important;
--mantine-color-indigo-5:var(--ims-soft-blue5) !important;
--mantine-color-blue-6:var(--ims-soft-blue6) !important;
--mantine-color-indigo-6:var(--ims-soft-blue6) !important;
--mantine-color-blue-7:var(--ims-soft-blue7) !important;
--mantine-color-indigo-7:var(--ims-soft-blue7) !important;
--mantine-color-blue-8:var(--ims-soft-blue8) !important;
--mantine-color-indigo-8:var(--ims-soft-blue8) !important;
--mantine-color-blue-9:var(--ims-soft-blue9) !important;
--mantine-color-indigo-9:var(--ims-soft-blue9) !important;
--mantine-font-family:var(--ims-font-family) !important;
--mantine-color-body:var(--ims-color-background) !important;
--mantine-color-text:var(--ims-color-text) !important;
--mantine-primary-color-filled:var(--ims-color-primary) !important;
--mantine-primary-color-filled-hover:var(--ims-color-primary-hover) !important;
--mantine-primary-color-light:var(--ims-color-selected) !important;
--mantine-primary-color-light-color:var(--ims-color-primary) !important;
--mantine-color-blue-filled:var(--ims-color-primary) !important;
--mantine-color-blue-filled-hover:var(--ims-color-primary-hover) !important;
--mantine-color-blue-light:var(--ims-color-selected) !important;
--mantine-color-blue-light-color:var(--ims-color-active-text) !important;
--mantine-color-blue-outline:var(--ims-color-active-text) !important;
--mantine-color-anchor:var(--ims-color-active-text) !important;
--mantine-radius-xs:var(--ims-radius-sm) !important;
--mantine-radius-sm:var(--ims-radius-sm) !important;
--mantine-radius-md:var(--ims-radius-md) !important;
--mantine-radius-lg:var(--ims-radius-lg) !important;
--mantine-shadow-xs:var(--ims-shadow-sm) !important;
--mantine-shadow-sm:var(--ims-shadow-sm) !important;
--mantine-shadow-md:var(--ims-shadow-md) !important;
--mantine-shadow-lg:var(--ims-shadow-floating) !important;
--mantine-color-indigo-filled:var(--ims-color-primary) !important;
--mantine-color-indigo-filled-hover:var(--ims-color-primary-hover) !important;
--mantine-color-indigo-light:var(--ims-color-selected) !important;
--mantine-color-indigo-light-color:var(--ims-color-active-text) !important;
--mantine-color-indigo-outline:var(--ims-color-active-text) !important;
}
/* Public Mantine classes + semantic aria markers; no hashed core class names. */
body { background:var(--ims-color-background); color:var(--ims-color-text); font-family:var(--ims-font-family); }
#root { min-width:0; }
a { color:var(--ims-color-active-text); }
:focus-visible { outline:var(--ims-focus-width) solid var(--ims-color-champagne); outline-offset:var(--ims-spacing-xs); }
.mantine-Text-root[data-variant="gradient"] { background:none!important; color:var(--ims-color-active-text)!important; -webkit-text-fill-color:var(--ims-color-active-text)!important; }
.mantine-Paper-root,.mantine-Card-root { background:var(--ims-color-surface); border-color:var(--ims-color-border)!important; border-radius:var(--ims-radius-md)!important; }
.mantine-Button-root { min-height:var(--ims-control-height); border-radius:var(--ims-radius-sm); font-weight:600; }
.mantine-ActionIcon-root { min-width:var(--ims-control-height); min-height:var(--ims-control-height); border-radius:var(--ims-radius-sm); }
.mantine-Input-input,.mantine-PillsInput-input { min-height:var(--ims-control-height); background:var(--ims-color-surface)!important; border-color:var(--ims-color-border); border-radius:var(--ims-radius-sm); }
.mantine-InputWrapper-label { color:var(--ims-color-text); font-size:var(--ims-font-body); margin-bottom:var(--ims-spacing-xs); }
.mantine-InputWrapper-description,.mantine-InputWrapper-error { font-size:var(--ims-font-small); line-height:1.6; }
.mantine-Modal-content,.mantine-Drawer-content,.mantine-Popover-dropdown,.mantine-Menu-dropdown,.mantine-Combobox-dropdown { border-radius:var(--ims-radius-lg); border:1px solid var(--ims-color-border); box-shadow:var(--ims-shadow-floating); background:var(--ims-color-surface); }
.mantine-Modal-header,.mantine-Drawer-header { background:var(--ims-color-surface); }
.mantine-Modal-title,.mantine-Drawer-title { color:var(--ims-color-active-text); font-size:var(--ims-font-section); font-weight:600; }
.mantine-Modal-body,.mantine-Drawer-body { padding:var(--ims-spacing-lg); }
.mantine-Modal-body form { display:grid; gap:var(--ims-spacing-sm); }
.mantine-Menu-item,.mantine-Combobox-option { min-height:var(--ims-control-height); border-radius:var(--ims-radius-sm); }
.mantine-Menu-item[data-hovered],.mantine-Combobox-option[data-combobox-selected] { background:var(--ims-color-selected); color:var(--ims-color-active-text); }
.mantine-Tabs-tab { min-height:var(--ims-control-height); border-radius:var(--ims-radius-sm); color:var(--ims-color-text-secondary); transition:background var(--ims-motion-standard),color var(--ims-motion-standard); }
.mantine-Tabs-tab[data-active] { background:var(--ims-color-selected)!important; color:var(--ims-color-active-text)!important; font-weight:600; box-shadow:var(--ims-shadow-sm); border-color:var(--ims-color-champagne)!important; }
.mantine-Tabs-panel { min-width:0; }
.mantine-Tabs-tab a { color:inherit; }
/* PanelTab's native outer button provides basename-aware modified-click navigation. */
[aria-label^="panel-tabs-"] .mantine-Tabs-tab a { pointer-events:none; }
.mantine-Badge-root { border-radius:var(--ims-radius-sm); font-weight:500; letter-spacing:0; }
.mantine-Table-table,.ims-table { background:var(--ims-color-surface); color:var(--ims-color-text); font-size:var(--ims-font-body); }
.mantine-Table-th,.ims-table th { background:var(--ims-table-header)!important; color:var(--ims-color-active-text); font-weight:600; }
.mantine-Table-th,.mantine-Table-td,.ims-table th,.ims-table td { padding:var(--ims-spacing-compact) var(--ims-spacing-md)!important; border-color:var(--ims-color-border)!important; height:var(--ims-table-height); vertical-align:middle; }
.mantine-Table-tr:hover .mantine-Table-td,.ims-table tr:hover td { background:var(--ims-color-selected)!important; }
.mantine-Table-tr[data-selected] .mantine-Table-td { background:var(--ims-color-selected)!important; }
tbody img[aria-label="缩略图"] { width:var(--ims-spacing-xxl)!important; height:var(--ims-spacing-xxl)!important; max-height:var(--ims-spacing-xxl)!important; object-fit:contain; }
.mantine-ScrollArea-root { max-width:100%; min-width:0; }
.mantine-Pagination-control { min-width:var(--ims-control-height); min-height:var(--ims-control-height); border-radius:var(--ims-radius-sm); }
.mantine-Checkbox-input { border-color:var(--ims-color-text-secondary); }
/* Keep the original Header and its native menus/actions. Move its NavTabs to the desktop sidebar. */
.mantine-Container-root:has([aria-label="open-search"]) { background:var(--ims-color-surface); color:var(--ims-color-nav-text); min-height:var(--ims-header-height); padding:var(--ims-spacing-sm) var(--ims-spacing-lg); }
.mantine-Container-root:has([aria-label="open-search"]) .mantine-ActionIcon-root { color:var(--ims-color-nav-text); }
.mantine-Container-root:has([aria-label="open-search"]) .mantine-UnstyledButton-root { color:inherit; }
.mantine-Container-root:has([aria-label="open-search"]) > .mantine-Group-root { flex-wrap:nowrap; min-height:calc(var(--ims-header-height) - var(--ims-spacing-md)); }
.mantine-Container-root:has([aria-label="open-search"]) .mantine-Tabs-root { position:fixed; left:0; top:var(--ims-header-height); width:var(--ims-sidebar-width); height:calc(100vh - var(--ims-header-height)); background:var(--ims-color-sidebar); padding:var(--ims-spacing-lg) var(--ims-spacing-md); overflow-y:auto; border-right:1px solid var(--ims-color-border); }
.mantine-Container-root:has([aria-label="open-search"]) .mantine-Tabs-list { display:flex; flex-direction:column; gap:var(--ims-spacing-sm); border:0; }
.mantine-Container-root:has([aria-label="open-search"]) .mantine-Tabs-tab { justify-content:flex-start; color:var(--ims-color-white); padding-inline:var(--ims-spacing-md); text-align:left; border:0; }
.mantine-Container-root:has([aria-label="open-search"]) .mantine-Tabs-tab[data-active] { border-bottom:2px solid var(--ims-color-champagne)!important; }
.mantine-Container-root:has([aria-label="open-search"]) .mantine-Tabs-list::before { display:none; }
.mantine-Flex-root:has(> div > .mantine-Container-root [aria-label="open-search"]) > .mantine-Container-root { margin-left:var(--ims-sidebar-width); width:calc(100% - var(--ims-sidebar-width)); padding:var(--ims-spacing-lg); min-width:0; }
.mantine-Flex-root:has(> div > .mantine-Container-root [aria-label="open-search"]) > div:has(> .mantine-Container-root [aria-label="open-search"]) > .mantine-Paper-root { margin-left:calc(var(--ims-sidebar-width) + var(--ims-spacing-lg))!important; margin-right:var(--ims-spacing-lg)!important; }
/* Publisher dashboard: the non-editing grid uses content height, and the native editor still works. */
.dashboard-layout:has(> .react-resizable-hide) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ims-spacing-section); height:auto!important; }
.dashboard-layout > .react-resizable-hide { position:relative!important; transform:none!important; width:auto!important; height:auto!important; min-height:0; padding:var(--ims-spacing-lg)!important; }
.dashboard-layout > .react-resizable-hide:has(#ims-kpis) { grid-column:1/-1; order:1; }
.dashboard-layout > .react-resizable-hide:has(#ims-pend-body) { grid-column:1/-1; order:2; }
.dashboard-layout > .react-resizable-hide:has(#ims-act-body) { grid-column:1/-1; order:4; }
.dashboard-layout > .react-resizable-hide:has(#ims-low-body) { grid-column:1/-1; order:3; }
.dashboard-layout > .react-resizable-hide:has(.ims-actions) { grid-column:1/-1; order:5; }
.ims-pub,.ims-panel,.ims-order-panel { font-family:var(--ims-font-family); color:var(--ims-color-text); min-width:0; }
.ims-workbench-head { border-radius:var(--ims-radius-banner); padding:var(--ims-spacing-lg); background:var(--ims-color-surface); color:var(--ims-color-text); margin-bottom:var(--ims-spacing-lg); }
.ims-title { font-size:var(--ims-font-title); font-weight:600; line-height:1.35; }
.ims-sub { font-size:var(--ims-font-body); margin-top:var(--ims-spacing-sm); opacity:.86; }
.ims-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ims-spacing-md); margin-top:var(--ims-spacing-md); }
#ims-pend-body .ims-kpi-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.ims-kpi { border:1px solid var(--ims-color-border); border-radius:var(--ims-radius-md); padding:var(--ims-spacing-lg); background:var(--ims-color-surface); min-width:0; }
.ims-kpi .k { font-size:var(--ims-font-small); color:var(--ims-color-text-secondary); }
.ims-kpi .v { font-size:var(--ims-font-title); font-weight:600; color:var(--ims-color-active-text); margin-top:var(--ims-spacing-sm); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ims-kpi .v.warn { color:var(--ims-color-warning); }
.ims-sec-title { font-size:var(--ims-font-section); font-weight:600; color:var(--ims-color-active-text); margin-bottom:var(--ims-spacing-md); }
.ims-actions { gap:var(--ims-spacing-compact); }
.ims-table { width:100%; border-collapse:collapse; margin-top:var(--ims-spacing-sm); }
.ims-badge { display:inline-block; border-radius:var(--ims-radius-sm); padding:var(--ims-spacing-xs) var(--ims-spacing-sm); font-size:var(--ims-font-small); }
.ims-badge.warn { background:var(--ims-color-warning-background); color:var(--ims-color-warning); }
.ims-badge.ok { background:var(--ims-color-success-background); color:var(--ims-color-success); }
.ims-empty,.ims-panel-empty { color:var(--ims-color-text-secondary); padding:var(--ims-spacing-md) 0; font-size:var(--ims-font-body); }
.ims-link { color:var(--ims-color-active-text); text-decoration:none; }
.ims-link:hover { text-decoration:underline; }
.ims-delta-pos { color:var(--ims-color-success); }.ims-delta-neg { color:var(--ims-color-danger); }
.ims-attr-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ims-spacing-sm) var(--ims-spacing-lg); }
.ims-attr { display:flex; justify-content:space-between; gap:var(--ims-spacing-compact); border-bottom:1px solid var(--ims-color-border); padding:var(--ims-spacing-sm) 0; font-size:var(--ims-font-body); }
.ims-attr .k { color:var(--ims-color-text-secondary); }.ims-attr .v { font-weight:500; text-align:right; overflow-wrap:anywhere; }
.ims-order-panel { font-size:var(--ims-font-body); line-height:1.8; }
.ims-order-panel .flow { display:flex; flex-wrap:wrap; gap:var(--ims-spacing-sm); align-items:center; margin:var(--ims-spacing-sm) 0 var(--ims-spacing-md); }
.ims-order-panel .step { background:var(--ims-color-selected); color:var(--ims-color-active-text); border-radius:var(--ims-radius-sm); padding:var(--ims-spacing-xs) var(--ims-spacing-compact); }
.ims-order-panel .arrow,.ims-order-panel .note { color:var(--ims-color-text-secondary); }
@media(max-width:1023px) {
 .mantine-Container-root:has([aria-label="open-search"]) .mantine-Tabs-root { display:none; }
 .mantine-Flex-root:has(> div > .mantine-Container-root [aria-label="open-search"]) > .mantine-Container-root { margin-left:0; width:100%; padding:var(--ims-spacing-md); }
 .mantine-Flex-root:has(> div > .mantine-Container-root [aria-label="open-search"]) > div:has(> .mantine-Container-root [aria-label="open-search"]) > .mantine-Paper-root { margin-left:var(--ims-spacing-md)!important; margin-right:var(--ims-spacing-md)!important; }
}
@media(max-width:767px) {
 .mantine-Container-root:has([aria-label="open-search"]) { padding-inline:var(--ims-spacing-sm); }
 .mantine-Container-root:has([aria-label="open-search"]) .mantine-Group-root { gap:var(--ims-spacing-xs); }
 .mantine-Container-root:has([aria-label="open-search"]) [aria-label="open-spotlight"] { display:none; }
 [aria-label^="panel-group-"] { display:block!important; }
 [aria-label^="panel-tabs-"] { flex-direction:row!important; flex-wrap:nowrap!important; overflow-x:auto; border-right:0; border-bottom:1px solid var(--ims-color-border); max-width:100%; width:100%; margin-bottom:var(--ims-spacing-md); }
 [aria-label^="panel-tabs-"] > .mantine-Box-root { display:contents; }
 [aria-label^="panel-tabs-"] > .mantine-Box-root > .mantine-Text-root,[aria-label^="panel-tabs-"] .mantine-Divider-root { display:none; }
 [aria-label^="panel-tabs-"] .mantine-Tabs-tab { width:auto!important; flex-shrink:0; white-space:nowrap; }
 [aria-label^="nav-panel-"] { padding:var(--ims-spacing-sm)!important; }
 .dashboard-layout:has(> .react-resizable-hide) { grid-template-columns:minmax(0,1fr); }
 .dashboard-layout > .react-resizable-hide { padding:var(--ims-spacing-md)!important; }
 .ims-workbench-head { padding:var(--ims-spacing-section); }
 .ims-title { font-size:var(--ims-font-section); }
 .ims-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ims-spacing-sm); }
 #ims-pend-body .ims-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ims-kpi { padding:var(--ims-spacing-md); }
 .ims-table { display:block; overflow-x:auto; }
 .ims-attr-grid { grid-template-columns:minmax(0,1fr); }
 .mantine-Modal-body,.mantine-Drawer-body { padding:var(--ims-spacing-md); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition-duration:0ms!important; animation-duration:0ms!important; scroll-behavior:auto!important; } }
.ims-header-actions { margin-top:var(--ims-spacing-md); }
.mantine-Container-root:has([aria-label="open-search"]) > .mantine-Group-root > .mantine-Group-root:first-child { flex:1; min-width:0; }
.mantine-Container-root:has([aria-label="open-search"]) .mantine-Tabs-list .mantine-Tabs-tab { width:100%; }
@media(max-width:767px) {
 [aria-label^="panel-tabs-"] > div { display:contents; }
 [aria-label^="panel-tabs-"] > div > p { display:none; }
 .mantine-Paper-root > .mantine-Group-root:has(.mantine-Button-root) { flex-wrap:wrap!important; gap:var(--ims-spacing-compact); }
 .mantine-Paper-root > .mantine-Group-root:has(.mantine-Button-root) > .mantine-Group-root { flex-wrap:wrap!important; min-width:0; width:100%; }
 .mantine-Paper-root > .mantine-Group-root:has(.mantine-Button-root) > .mantine-Group-root .mantine-Group-root { flex-wrap:wrap!important; }
}
.ims-query { max-width:100%; min-width:0; }
.ims-query-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ims-spacing-md); }
.ims-query-card { padding:var(--ims-spacing-md); }
.ims-query-name { height:auto; padding:0; white-space:normal; text-align:left; }
.ims-query-name .mantine-Button-label { white-space:normal; overflow-wrap:anywhere; }
@media(max-width:767px) { .ims-query-grid { grid-template-columns:minmax(0,1fr); } }

/* Read-only workbench queries become labeled lists on phones. */
@media(max-width:767px) {
 #ims-act-body .ims-table,#ims-low-body .ims-table { display:block; overflow:visible; }
 #ims-act-body thead,#ims-low-body thead { display:none; }
 #ims-act-body tbody,#ims-low-body tbody { display:grid; gap:var(--ims-spacing-md); }
 #ims-act-body tr,#ims-low-body tr { display:grid; padding:var(--ims-spacing-md); border:1px solid var(--ims-color-border); border-radius:var(--ims-radius-sm); background:var(--ims-color-surface); }
 #ims-act-body .ims-table td,#ims-low-body .ims-table td { display:grid; grid-template-columns:calc(var(--ims-spacing-xl) * 2) minmax(0,1fr); gap:var(--ims-spacing-sm); padding:var(--ims-spacing-xs) 0!important; height:auto; border:0; overflow-wrap:anywhere; }
 #ims-act-body td::before,#ims-low-body td::before { content:attr(data-label); color:var(--ims-color-text-secondary); font-weight:400; }
}

/* Native resize widths omit the selector column from the fixed table width.
 * Let its own ScrollArea absorb growth, while preserving native width floors.
 * Terminal/operation-boundary handles are omitted; their double-click reset
 * entry is also omitted. Sorting and business actions remain native. */
.mantine-datatable-table.mantine-datatable-resize-locked { table-layout:auto!important; width:max-content!important; }
.mantine-datatable-table > thead > tr > th:last-child > .mantine-datatable-header-resizable-handle,
.mantine-datatable-table > thead > tr > th:has(+ th[data-accessor="--actions--"]) > .mantine-datatable-header-resizable-handle { display:none; }

/* Native used_in checks component status but omits the BOM view guard.
 * Native server BOM role plus public plugin context hides the forbidden tab. */
html[data-ims-bom-view~="false"]:not([data-ims-bom-view~="true"]) [aria-label^="panel-tabs-"] [role="tab"][id$="-tab-used_in"] { display:none; }

/* Pricing overview's two native actions both PATCH pricing data. */
html[data-ims-part-pricing-change~="false"]:not([data-ims-part-pricing-change~="true"]) [role="tabpanel"][id$="-panel-pricing"] .mantine-Accordion-item#overview button[aria-label^="action-menu-"]:has(svg.tabler-icon-dots-vertical) { display:none; }

/* The native subscription button also PATCHes part data. This capability
 * comes from the same native part.change role, including SPA user changes. */
html[data-ims-part-pricing-change~="false"]:not([data-ims-part-pricing-change~="true"]) button[aria-label^="action-button-"]:has(svg.tabler-icon-bell) { display:none; }

/* Phase D: native dark mode previously combined dark DataTable rows with
 * publisher dark text (measured contrast 1.115). Business surfaces stay light
 * in both native schemes; semantic error/warning colors remain distinct. */
:root[data-mantine-color-scheme] {
 --mantine-color-body:var(--ims-color-background)!important;
 --mantine-color-text:var(--ims-color-text)!important;
 --mantine-color-dimmed:var(--ims-color-text-secondary)!important;
 --mantine-color-placeholder:var(--ims-color-text-secondary)!important;
 --mantine-color-default:var(--ims-color-surface)!important;
 --mantine-color-default-hover:var(--ims-color-selected)!important;
 --mantine-color-default-color:var(--ims-color-text)!important;
 --mantine-color-default-border:var(--ims-color-border)!important;
 --mantine-color-dark-0:var(--ims-color-text)!important;
 --mantine-color-dark-1:var(--ims-color-text-secondary)!important;
 --mantine-color-dark-2:var(--ims-color-text-secondary)!important;
 --mantine-color-dark-3:var(--ims-color-border)!important;
 --mantine-color-dark-4:var(--ims-color-selected)!important;
 --mantine-color-dark-5:var(--ims-color-surface-secondary)!important;
 --mantine-color-dark-6:var(--ims-color-surface)!important;
 --mantine-color-dark-7:var(--ims-color-surface)!important;
 --mantine-color-dark-8:var(--ims-color-surface-secondary)!important;
 --mantine-color-dark-9:var(--ims-color-surface-secondary)!important;
 --mantine-color-red-4:var(--ims-color-danger)!important;
 --mantine-color-red-6:var(--ims-color-danger)!important;
 --mantine-color-red-7:var(--ims-color-danger)!important;
 --mantine-color-red-light:var(--ims-color-danger-background)!important;
 --mantine-color-red-light-color:var(--ims-color-danger)!important;
 --mantine-color-green-filled:var(--ims-color-success)!important;
 --mantine-color-green-filled-hover:var(--ims-color-success)!important;
 --mantine-color-green-light:var(--ims-color-success-background)!important;
 --mantine-color-green-light-color:var(--ims-color-success)!important;
 --mantine-color-blue-6:var(--ims-color-active-text)!important;
 --mantine-color-indigo-6:var(--ims-color-active-text)!important;
 --mantine-color-yellow-4:var(--ims-color-warning)!important;
}
.mantine-Input-input,.mantine-PillsInput-input { color:var(--ims-color-text)!important; }
input::placeholder,textarea::placeholder { color:var(--ims-color-text-secondary)!important; opacity:1!important; }
.mantine-Input-input:disabled,.mantine-PillsInput-input:disabled { background:var(--ims-color-surface-secondary)!important; color:var(--ims-color-nav-text)!important; }
.mantine-Button-root:disabled,.mantine-Button-root[data-disabled] { color:var(--ims-color-nav-text)!important; background:var(--ims-color-surface-secondary)!important; }
.mantine-Table-table,.mantine-datatable-table { background:var(--ims-color-surface)!important; color:var(--ims-color-text)!important; }
.mantine-Table-td,.mantine-datatable-table tbody td { background:var(--ims-color-surface)!important; color:var(--ims-color-text)!important; }
.mantine-datatable-table tbody tr:nth-child(even) td { background:var(--ims-color-surface)!important; }
.mantine-datatable-table tbody tr:hover td,.mantine-datatable-table tbody tr[data-selected] td,.mantine-datatable-table tbody tr[aria-selected="true"] td { background:var(--ims-color-selected)!important; }
.mantine-Pagination-control { background:var(--ims-color-surface)!important; color:var(--ims-color-text)!important; }
.mantine-Pagination-control[data-active] { background:var(--ims-color-active-text)!important; color:var(--ims-color-on-primary)!important; }
.mantine-Menu-dropdown,.mantine-Combobox-dropdown,.mantine-Modal-content,.mantine-Drawer-content { color:var(--ims-color-text)!important; }
html[data-ims-business-nav] .mantine-Container-root:has([aria-label="open-search"]) .mantine-Tabs-root { display:none!important; }
.ims-business-nav { position:fixed; left:0; top:var(--ims-header-height); bottom:0; width:var(--ims-sidebar-width); padding:var(--ims-spacing-md) var(--ims-spacing-compact); overflow:auto; background:var(--ims-color-sidebar); z-index:180; box-sizing:border-box; }
.ims-business-nav[hidden],.ims-nav-toggle[hidden] { display:none; }
.ims-business-nav a,.ims-business-nav button { display:block; width:100%; box-sizing:border-box; color:var(--ims-color-nav-text); padding:var(--ims-spacing-sm) var(--ims-spacing-compact); border:0; border-radius:var(--ims-radius-sm); background:transparent; text-decoration:none; font:inherit; text-align:left; line-height:1.4; margin-bottom:3px; }
.ims-business-nav a:hover { background:var(--ims-color-hover); }
.ims-business-nav [aria-current="page"] { background:var(--ims-color-selected); color:var(--ims-color-active-text); font-weight:600; }
.ims-business-nav [aria-current="page"]:hover { background:var(--ims-color-selected); color:var(--ims-color-active-text); }
.ims-nav-children a { padding:8px 12px 8px 30px; font-size:13px; }
.ims-nav-children [data-active] { background:var(--ims-color-hover); }
.ims-business-nav button:disabled { color:var(--ims-color-nav-text); cursor:default; }
.ims-nav-toggle { display:none; }
.ims-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ims-consumer { color:var(--ims-color-text); min-width:0; }
.ims-consumer h2,.ims-consumer h3 { color:var(--ims-color-active-text); margin-top:0; }
.ims-consumer-scroll { overflow:auto; max-width:100%; }
.ims-consumer-table { table-layout:auto!important; width:max-content!important; min-width:100%; }
.ims-consumer-table th,.ims-consumer-table td { white-space:nowrap; min-width:90px; }
html[data-ims-primary-route="orders"] [aria-label^="panel-tabs-"] [role="tab"][id$="-tab-customers"],html[data-ims-primary-route="returns"] [aria-label^="panel-tabs-"] [role="tab"][id$="-tab-customers"] { display:none; }
.ims-consumer-cards { display:none; }
.ims-consumer-card,.ims-detail-section { background:var(--ims-color-surface); border:1px solid var(--ims-color-border); border-radius:var(--ims-radius-md); padding:var(--ims-spacing-md); margin:var(--ims-spacing-compact) 0; overflow-wrap:anywhere; }
.ims-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ims-detail-section dl { display:grid; grid-template-columns:100px minmax(0,1fr); gap:10px; margin:0; }
.ims-detail-section dt { color:var(--ims-color-text-secondary); }.ims-detail-section dd { margin:0; }
.ims-detail-section pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.ims-order-cover { width:64px; height:80px; object-fit:contain; background:var(--ims-color-surface-secondary); border-radius:8px; }
.ims-fulfillment-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.ims-fulfillment-tabs button[aria-selected="true"] { background:var(--ims-color-selected); font-weight:600; }
@media(max-width:1023px) {
 .ims-business-nav { display:none; top:var(--ims-header-height); width:min(320px,90vw); box-shadow:var(--ims-shadow-floating); }
 .ims-business-nav.is-open { display:block; }
 .ims-nav-toggle { display:block; position:fixed; top:var(--ims-spacing-compact); left:16px; padding:var(--ims-spacing-sm) var(--ims-spacing-compact); z-index:180; border:1px solid var(--ims-color-border); border-radius:var(--ims-radius-sm); background:var(--ims-color-surface); color:var(--ims-color-active-text); font:inherit; }
 html[data-ims-business-nav] .mantine-Container-root:has([aria-label="open-search"]) { margin-bottom:0; }
 html[data-ims-business-nav] button[aria-label="open-navigation"] { display:none; }
}
@media(max-width:767px) {
 .ims-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ims-consumer-scroll { display:none; }.ims-consumer-cards { display:block; }
 .ims-detail-grid { grid-template-columns:minmax(0,1fr); }
 .ims-consumer-card,.ims-detail-section { padding:16px; }
 .ims-detail-section dl { grid-template-columns:80px minmax(0,1fr); }
}

/* V1.0 shared system. Values from the generated token authority. */
:root { --mantine-font-size-xs:12px!important; --mantine-font-size-sm:var(--ims-font-small)!important; --mantine-font-size-md:var(--ims-font-body)!important; --mantine-color-dimmed:var(--ims-color-nav-text)!important; }
body { font-size:var(--ims-font-body); }
a { color:var(--ims-color-active-text); }
:focus-visible { outline-color:var(--ims-color-active-text); }
.mantine-Button-root { font-size:var(--ims-font-body); }
.mantine-Button-root[data-variant="filled"],.mantine-Button-root:not([data-variant]) { --button-bg:var(--ims-color-primary)!important; --button-hover:var(--ims-color-primary-hover)!important; --button-color:var(--ims-color-on-primary)!important; background:var(--ims-color-primary); color:var(--ims-color-on-primary); }
.mantine-Button-root[data-variant="filled"]:hover,.mantine-Button-root:not([data-variant]):hover { color:var(--ims-color-on-primary-hover)!important; }
.mantine-Button-root[data-variant="default"] { border-color:var(--ims-color-control-border); }
.mantine-Button-root[data-variant="light"],.mantine-Button-root[data-variant="subtle"],.mantine-ActionIcon-root[data-variant="subtle"] { color:var(--ims-color-active-text)!important; }
.mantine-Button-root[data-variant="light"] { background:var(--ims-color-hover)!important; }
.mantine-Button-root[data-variant="subtle"]:hover,.mantine-Menu-item:hover,.mantine-Combobox-option:hover { background:var(--ims-color-hover)!important; }
.mantine-Button-root[data-variant="filled"][style*="red"],.mantine-Button-root[style*="--button-bg: var(--mantine-color-red"] { background:var(--ims-color-danger-background)!important; color:var(--ims-color-danger)!important; }
.mantine-Input-input:not(textarea),.mantine-PillsInput-input { height:var(--ims-control-height); min-height:var(--ims-control-height); }
.mantine-InputWrapper-root { min-width:0; }
.mantine-Modal-body .mantine-Stack-root { gap:var(--ims-spacing-md); }
.mantine-Modal-content { max-width:min(720px,calc(100vw - 32px))!important; }
.mantine-Drawer-content { width:min(560px,100vw)!important; }
.mantine-Tabs-tab[data-active] { border-color:var(--ims-color-active-line)!important; box-shadow:none; }
.mantine-Table-th,.ims-table th,.mantine-datatable-table th { height:var(--ims-table-header-height)!important; background:var(--ims-table-header)!important; color:var(--ims-color-nav-text)!important; font-size:var(--ims-font-small)!important; padding-block:var(--ims-spacing-sm)!important; }
.mantine-Table-td,.ims-table td,.mantine-datatable-table td { height:var(--ims-table-height); font-size:var(--ims-font-table); border:0; border-bottom:1px solid var(--ims-color-table-border)!important; padding-block:var(--ims-spacing-sm)!important; }
.mantine-datatable-table tbody tr:hover td,.ims-table tbody tr:hover td { background:var(--ims-color-hover)!important; }
.mantine-datatable-table tbody tr[data-selected] td,.mantine-datatable-table tbody tr[aria-selected="true"] td { background:var(--ims-color-selected)!important; }
.mantine-Pagination-control[data-active] { background:var(--ims-color-selected)!important; color:var(--ims-color-active-text)!important; }
.ims-business-nav a,.ims-business-nav button { min-height:var(--ims-nav-height); display:flex; align-items:center; gap:var(--ims-spacing-compact); border-left:3px solid transparent; margin-bottom:var(--ims-spacing-xs); color:var(--ims-color-nav-text); }
.ims-business-nav [aria-current="page"] { border-left-color:var(--ims-color-active-line); color:var(--ims-color-active-text); }
.ims-nav-icon { width:var(--ims-nav-icon); height:var(--ims-nav-icon); flex-shrink:0; }
.ims-nav-children a { color:var(--ims-color-nav-text); padding-left:var(--ims-spacing-xl); font-size:var(--ims-font-small); }
.ims-nav-children [data-active] { background:var(--ims-color-hover); color:var(--ims-color-active-text); font-weight:600; }
.ims-nav-collapse { position:fixed; left:var(--ims-spacing-compact); top:var(--ims-spacing-compact); z-index:181; width:32px; height:36px; background:var(--ims-color-surface); color:var(--ims-color-nav-text); border:1px solid var(--ims-color-border); border-radius:var(--ims-radius-sm); }
html[data-ims-nav-collapsed] { --ims-sidebar-width:var(--ims-sidebar-collapsed); }
html[data-ims-nav-collapsed] .ims-business-nav .ims-nav-label,html[data-ims-nav-collapsed] .ims-business-nav .ims-nav-children { display:none; }
html[data-ims-nav-collapsed] .ims-business-nav a,html[data-ims-nav-collapsed] .ims-business-nav button { padding-inline:var(--ims-spacing-sm); }
.ims-page-header { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:var(--ims-spacing-md); margin-bottom:var(--ims-spacing-md); }
.ims-page-header h2,.ims-consumer h2 { margin:0; color:var(--ims-color-text); font-size:var(--ims-font-title); font-weight:600; }
.ims-page-header p { margin:var(--ims-spacing-xs) 0 0; color:var(--ims-color-nav-text); font-size:var(--ims-font-small); }
.ims-page-actions { display:flex; gap:var(--ims-spacing-sm); flex-wrap:wrap; }
.ims-filter-bar,.ims-table-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--ims-spacing-md); padding:var(--ims-spacing-md); background:var(--ims-color-surface); border:1px solid var(--ims-color-border); border-radius:var(--ims-radius-md); margin-block:var(--ims-spacing-md); }
.ims-page-header .ims-header-actions { margin-top:0; }
.ims-workbench-head { padding:0; background:none; border-radius:0; }
.ims-workbench-head .ims-title { color:var(--ims-color-text); }
.ims-workbench-head .ims-sub { color:var(--ims-color-nav-text); opacity:1; }
.ims-kpi .v { font-size:var(--ims-font-metric); color:var(--ims-color-text); font-weight:600; }
.ims-kpi .v,.ims-numeric { font-family:var(--ims-font-number-family); font-variant-numeric:tabular-nums; }
#ims-pend-body .ims-todo-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ims-spacing-sm); }
.ims-todo-row { display:flex; justify-content:space-between; gap:var(--ims-spacing-md); padding:var(--ims-spacing-compact); border-bottom:1px solid var(--ims-color-table-border); }
.ims-todo-row strong { color:var(--ims-color-text); font-variant-numeric:tabular-nums; }
.ims-detail-section { box-shadow:var(--ims-shadow-sm); }
.ims-detail-section h3 { color:var(--ims-color-text); font-size:var(--ims-font-section); font-weight:600; margin-bottom:var(--ims-spacing-md); }
.ims-summary-facts { grid-template-columns:100px minmax(0,1fr) 100px minmax(0,1fr)!important; gap:var(--ims-spacing-md)!important; }
.ims-detail-section dt { color:var(--ims-color-text-secondary); }
.ims-consumer .mantine-Tabs-list { flex-wrap:nowrap; overflow:auto; }
.ims-consumer .mantine-Tabs-tab { flex-shrink:0; }
.ims-consumer-table tr > :first-child { position:sticky; left:0; z-index:2; }
.ims-consumer-table .ims-numeric { text-align:right; }
.ims-consumer-table .ims-status-cell { text-align:center; }
.ims-copy-cell { display:flex; align-items:center; gap:var(--ims-spacing-xs); min-width:0; }
.ims-copy-button { padding:0!important; min-width:32px; min-height:32px!important; height:32px; }
.ims-ellipsis { display:block; max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ims-product-name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; white-space:normal; width:224px; }
.ims-status-badge { display:inline-block; font-size:var(--ims-font-small); padding:var(--ims-spacing-xs) var(--ims-spacing-sm); border-radius:var(--ims-radius-sm); white-space:nowrap; background:var(--ims-color-processing-background); color:var(--ims-color-processing); }
.ims-status-badge[data-tone="success"] { background:var(--ims-color-success-background); color:var(--ims-color-success); }
.ims-status-badge[data-tone="warning"] { background:var(--ims-color-warning-background); color:var(--ims-color-warning); }
.ims-status-badge[data-tone="danger"] { background:var(--ims-color-danger-background); color:var(--ims-color-danger); }
.ims-status-badge[data-tone="closed"] { background:var(--ims-color-closed-background); color:var(--ims-color-closed); }
.ims-form-section { border:0; padding:0; margin:0 0 var(--ims-spacing-lg); display:grid; gap:var(--ims-spacing-md); }
.ims-form-section legend { font-size:var(--ims-font-body); font-weight:600; margin-bottom:var(--ims-spacing-compact); }
.ims-trend-svg { display:block; width:100%; height:220px; color:var(--ims-color-nav-text); }
.ims-trend-line-in { stroke:var(--ims-color-primary); }.ims-trend-line-out { stroke:var(--ims-color-active-text); }
.ims-trend-grid { stroke:var(--ims-color-table-border); }.ims-trend-label { fill:var(--ims-color-nav-text); font-size:13px; }
.ims-empty { color:var(--ims-color-nav-text); }
.mantine-Container-root:has([aria-label="open-search"]) { height:var(--ims-header-height); }
html[data-ims-business-nav] .mantine-Container-root:has([aria-label="open-search"]) { padding-left:60px; }
@media(min-width:1440px) { .mantine-Flex-root:has(> div > .mantine-Container-root [aria-label="open-search"]) > .mantine-Container-root { padding:var(--ims-spacing-xl); } }
@media(min-width:1024px) and (max-width:1439px) { .ims-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1023px) { .ims-nav-collapse { display:none; }.ims-nav-toggle { top:var(--ims-spacing-compact); left:var(--ims-spacing-sm); width:40px; height:36px; font-size:0; }.ims-nav-toggle::before { content:'☰'; font-size:18px; }.ims-business-nav.is-open { width:var(--ims-sidebar-width); }.ims-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .ims-page-header { align-items:flex-start; flex-wrap:wrap; }.ims-page-actions { width:100%; }.ims-summary-facts { grid-template-columns:80px minmax(0,1fr)!important; }.ims-ellipsis,.ims-product-name { max-width:100%; width:auto; }#ims-pend-body .ims-todo-list { grid-template-columns:minmax(0,1fr); }.ims-consumer-card .mantine-Button-label { white-space:normal; overflow-wrap:anywhere; }.ims-consumer-card { margin-block:var(--ims-spacing-md); }.ims-filter-bar > .mantine-Group-root { width:100%; }.ims-filter-bar .mantine-InputWrapper-root { flex:1; min-width:120px; }.ims-consumer .mantine-Group-root { min-width:0; }.ims-detail-section dl { gap:var(--ims-spacing-compact); } }
.ims-table td { background:var(--ims-color-surface); }
:root[data-mantine-color-scheme] { --mantine-color-dimmed:var(--ims-color-nav-text)!important; --mantine-color-blue-7:var(--ims-color-active-text)!important; --mantine-color-indigo-7:var(--ims-color-active-text)!important; }
[aria-label^="panel-tabs-"] .mantine-Text-root { color:var(--ims-color-nav-text)!important; font-size:var(--ims-font-small)!important; }
.mantine-Badge-root { background:var(--ims-color-processing-background)!important; color:var(--ims-color-processing)!important; }
.mantine-Badge-root[style*="green"] { background:var(--ims-color-success-background)!important; color:var(--ims-color-success)!important; }
.mantine-Badge-root[style*="red"] { background:var(--ims-color-danger-background)!important; color:var(--ims-color-danger)!important; }
.mantine-Badge-root[style*="orange"],.mantine-Badge-root[style*="yellow"] { background:var(--ims-color-warning-background)!important; color:var(--ims-color-warning)!important; }
.mantine-Badge-root[style*="gray"] { background:var(--ims-color-closed-background)!important; color:var(--ims-color-closed)!important; }

/* Dense native workspaces share the same presentation contract. */
.mantine-Paper-root,.mantine-Card-root { background:var(--ims-color-surface)!important; }
.ims-page-header .ims-sec-title { display:none; }
.ims-page-header .ims-header-actions { padding:0; border:0; background:none; }
.ims-product-name { font-size:var(--ims-font-table); line-height:16px; max-height:32px; }
.ims-table th { text-align:left; font-weight:600; }
.ims-consumer-table .ims-numeric { text-align:right; }
.ims-consumer-table .ims-status-cell { text-align:center; }
.mantine-datatable-table { table-layout:fixed; }
.mantine-datatable-table td[data-accessor="IPN"] { white-space:nowrap; }
.mantine-datatable-table td[data-accessor="total_in_stock"],.mantine-datatable-table th[data-accessor="total_in_stock"],.mantine-datatable-table td[data-accessor="quantity"],.mantine-datatable-table th[data-accessor="quantity"] { text-align:right; font-variant-numeric:tabular-nums; }

.mantine-datatable-table td[data-ims-column="name"] > div { line-height:20px; max-width:288px; overflow:hidden; }
.mantine-datatable-table td[data-ims-column="name"] [aria-haspopup="dialog"] { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:264px; font-size:var(--ims-font-table); }
.mantine-datatable-table td[data-ims-column="name"] [aria-haspopup="dialog"] .mantine-Stack-root { display:inline-flex; vertical-align:middle; margin-right:var(--ims-spacing-xs); }
.mantine-datatable-table td[data-ims-publication]::after { content:attr(data-ims-publication); display:block; line-height:14px; font-size:12px; color:var(--ims-color-nav-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mantine-datatable-table td[data-ims-column="IPN"] > div,.mantine-datatable-table td[data-ims-column="description"] > div { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:200px; line-height:20px; }
.mantine-datatable-table td[data-ims-column="quantity"],.mantine-datatable-table td[data-ims-column="total_in_stock"],.mantine-datatable-table td[data-ims-column="ordering"] { text-align:right!important; font-variant-numeric:tabular-nums; }
.mantine-datatable-table td[data-ims-column="status"] { text-align:center!important; }
.mantine-datatable-header-cell-sortable-group { min-height:24px; }
.mantine-datatable-table .mantine-ActionIcon-root { min-width:32px; min-height:32px; width:32px; height:32px; }
.mantine-datatable-table th { padding-block:var(--ims-spacing-xs)!important; line-height:18px; }
.ims-consumer-table .mantine-Button-root { min-height:32px; height:32px; font-size:var(--ims-font-table); }
.mantine-datatable-table td[data-ims-column="name"] img { width:20px!important; height:20px!important; max-height:20px!important; }
.mantine-datatable-table td[data-ims-column="name"] [aria-haspopup="dialog"] .mantine-Stack-root { vertical-align:top; }
/* Preserve native actions while presenting dense rows and phone lists. */
.mantine-datatable-table td { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mantine-datatable-table td img { width:32px!important; height:32px!important; max-height:32px!important; }
.mantine-datatable-table td[data-ims-column="name"] img { width:20px!important; height:20px!important; max-height:20px!important; }
.mantine-datatable-table td[data-ims-column="__selection__"],.mantine-datatable-table td[data-ims-column="--actions--"] { padding-inline:var(--ims-spacing-sm)!important; }
.mantine-datatable-table td[data-ims-column="quantity"] .mantine-Group-root,.mantine-datatable-table td[data-ims-column="total_in_stock"] .mantine-Group-root { justify-content:flex-end!important; }
.ims-table .ims-numeric { text-align:right; font-variant-numeric:tabular-nums; }
@media(max-width:767px) {
 html[data-ims-primary-route="stock"] .mantine-datatable-table,html[data-ims-primary-route="products"] .mantine-datatable-table { display:block; width:100%!important; min-width:0!important; table-layout:auto!important; }
 html:is([data-ims-primary-route="stock"],[data-ims-primary-route="products"]) .mantine-datatable-table thead { display:none; }
 html:is([data-ims-primary-route="stock"],[data-ims-primary-route="products"]) .mantine-datatable-table tbody { display:grid; gap:var(--ims-spacing-md); }
 html:is([data-ims-primary-route="stock"],[data-ims-primary-route="products"]) .mantine-datatable-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr); background:var(--ims-color-surface); border:1px solid var(--ims-color-border); border-radius:var(--ims-radius-md); padding:var(--ims-spacing-md); }
 html:is([data-ims-primary-route="stock"],[data-ims-primary-route="products"]) .mantine-datatable-table tbody td { display:grid; grid-template-columns:80px minmax(0,1fr); gap:var(--ims-spacing-sm); width:auto!important; min-width:0!important; max-width:none!important; height:auto!important; padding:var(--ims-spacing-xs) 0!important; white-space:normal; text-align:left!important; border:0!important; overflow-wrap:anywhere; }
 html:is([data-ims-primary-route="stock"],[data-ims-primary-route="products"]) .mantine-datatable-table td::before { content:attr(data-ims-label); color:var(--ims-color-nav-text); font-size:var(--ims-font-small); }
 html:is([data-ims-primary-route="stock"],[data-ims-primary-route="products"]) .mantine-datatable-table td > div { min-width:0; max-width:100%!important; overflow:hidden; }
 html:is([data-ims-primary-route="stock"],[data-ims-primary-route="products"]) .mantine-datatable-table td[data-ims-publication]::after { grid-column:2; white-space:normal; }
 html:is([data-ims-primary-route="stock"],[data-ims-primary-route="products"]) .mantine-datatable-row-selector-cell { position:static!important; }
 .mantine-datatable-pagination { flex-wrap:wrap; row-gap:var(--ims-spacing-sm); }
}

/* Public Mantine spacing follows the same token authority as authored panels. */
:root { --mantine-spacing-xs:var(--ims-spacing-xs)!important; --mantine-spacing-sm:var(--ims-spacing-sm)!important; --mantine-spacing-md:var(--ims-spacing-md)!important; --mantine-spacing-lg:var(--ims-spacing-lg)!important; --mantine-spacing-xl:var(--ims-spacing-xl)!important; }
.mantine-Alert-message,.mantine-Alert-message p,.mantine-Alert-label { color:var(--ims-color-text)!important; }
.mantine-Paper-root:has(> .mantine-Group-root > .mantine-Group-root > .mantine-Group-root > .mantine-Stack-root) .mantine-Stack-root > .mantine-Text-root:first-child { font-size:var(--ims-font-title); font-weight:600; line-height:28px; color:var(--ims-color-text); }
.mantine-datatable-table td[data-ims-column="IPN"] > div { position:relative; min-height:32px; padding-right:32px; padding-block:0; line-height:32px; box-sizing:border-box; width:100%; }
.mantine-datatable-table td[data-ims-column="IPN"] > div > .mantine-ActionIcon-root { position:absolute; right:0; top:50%; transform:translateY(-50%); }
.mantine-datatable-table td[data-ims-column="quantity"],.mantine-datatable-table td[data-ims-column="total_in_stock"] { font-family:var(--ims-font-number-family); }
html[data-ims-primary-route="products"] [aria-label^="nav-panel-"] button:has(svg.tabler-icon-plus) { background:var(--ims-color-primary)!important; color:var(--ims-color-on-primary)!important; }
html[data-ims-primary-route="products"] [aria-label^="nav-panel-"] button:has(svg.tabler-icon-plus):hover { background:var(--ims-color-primary-hover)!important; color:var(--ims-color-on-primary-hover)!important; }
.mantine-datatable-empty-state::after { content:'请调整筛选条件，或使用刷新按钮查看最新记录。'; display:block; color:var(--ims-color-nav-text); font-size:var(--ims-font-small); margin-top:var(--ims-spacing-sm); }
@media(max-width:767px) {
 .mantine-Group-root:has(> .mantine-Group-root > [aria-label="table-refresh"]) { flex-wrap:wrap!important; gap:var(--ims-spacing-sm)!important; }
 .mantine-Group-root:has(> [aria-label="table-refresh"]) { max-width:100%!important; flex:1 0 100%!important; width:100%!important; flex-wrap:wrap!important; justify-content:flex-start!important; gap:var(--ims-spacing-sm)!important; }
 .mantine-Group-root:has(> [aria-label="table-refresh"]) > .mantine-InputWrapper-root { flex:1 0 100%; min-width:0; width:100%; }
 .mantine-Group-root:has(> [aria-label="table-refresh"]) > .mantine-InputWrapper-root .mantine-Input-wrapper { width:100%; }
 .mantine-Group-root:has(> .mantine-Group-root > [aria-label="table-refresh"]) > .mantine-Space-root { display:none; }
}

.mantine-Alert-root { background:var(--ims-color-surface)!important; border:1px solid var(--ims-color-border)!important; border-left:3px solid var(--ims-color-processing)!important; }
.mantine-Alert-root[style*="red"] { border-left-color:var(--ims-color-danger)!important; }
.mantine-Alert-root[style*="yellow"],.mantine-Alert-root[style*="orange"] { border-left-color:var(--ims-color-warning)!important; }
@media(max-width:1023px) { #ims-trend-body { overflow-x:auto; max-width:100%; } .ims-trend-svg { width:820px; min-width:820px; } }

/* Keep the native resize target inside the clipped header hit area. */
.mantine-datatable-header-resizable-handle { right:0!important; z-index:5; }

.mantine-datatable-table td[data-ims-column="stock"],.mantine-datatable-table td[data-ims-column="stock_value"] { text-align:right; font-variant-numeric:tabular-nums; }
.mantine-datatable-table td[data-ims-column="stock"] .mantine-Group-root { justify-content:flex-end!important; }

/* D.2.1 frozen global public presentation. No per-route color overrides.
 * All authenticated pages share L0 canvas / L1 workspace / L2 surface / L3 emphasis.
 * The native router and business widgets retain their existing structure. */
body { background:var(--ims-color-background); color:var(--ims-color-text-body); font-size:var(--ims-font-body); font-weight:var(--ims-font-weight-body); line-height:1.6; }
.ims-business-nav { background:var(--ims-color-sidebar); border-right:1px solid var(--ims-color-border); }
.ims-business-nav a,.ims-business-nav button { font-size:var(--ims-font-nav); font-weight:var(--ims-font-weight-nav); }
.ims-business-nav a:hover { background:var(--ims-color-sidebar-hover); }
.ims-business-nav [aria-current="page"],.ims-business-nav [aria-current="page"]:hover { background:var(--ims-color-selected); color:var(--ims-color-active-text); border-left:3px solid var(--ims-color-active-line); font-weight:var(--ims-font-weight-nav); }
.ims-nav-children [data-active] { background:var(--ims-color-selected); color:var(--ims-color-active-text); }
.mantine-Container-root:has([aria-label="open-search"]) { background:var(--ims-color-header)!important; border-bottom:1px solid var(--ims-color-border); box-shadow:var(--ims-shadow-sm); }
.mantine-Flex-root > div:has(> .mantine-Container-root [aria-label="open-search"]) { background:var(--ims-color-header); }
html[data-ims-business-nav] .mantine-Flex-root:has(> div > .mantine-Container-root [aria-label="open-search"]) > .mantine-Container-root {
 margin-left:calc(var(--ims-sidebar-width) + var(--ims-spacing-md)); margin-right:var(--ims-spacing-md);
 width:calc(100% - var(--ims-sidebar-width) - var(--ims-spacing-xl));
 padding:var(--ims-page-horizontal-padding); background:var(--ims-color-workspace);
 border-radius:var(--ims-radius-md); min-height:calc(100vh - var(--ims-header-height) - var(--ims-spacing-xl));
}
/* Open workspace shells; a table or detail surface carries the actual content. */
.mantine-Paper-root:has(> [aria-label^="panel-group-"]),
.mantine-Paper-root:has(> .mantine-Group-root > .mantine-Group-root > .mantine-Group-root > .mantine-Stack-root),
.mantine-Container-root:has(> .dashboard-layout) > .mantine-Paper-root {
 background:transparent!important; border:0!important; box-shadow:none!important;
}
[aria-label^="panel-tabs-"] { background:var(--ims-color-workspace); border-color:var(--ims-color-border); }
[aria-label^="panel-tabs-"] .mantine-Tabs-tab { font-size:var(--ims-font-nav); font-weight:var(--ims-font-weight-nav); }
[aria-label^="panel-tabs-"] .mantine-Tabs-tab[data-active] { background:var(--ims-color-selected)!important; }
/* Typography roles: title > module > card > body / dense data / secondary. */
.ims-page-header { background:transparent; margin-bottom:var(--ims-spacing-page-header); gap:var(--ims-spacing-md); }
.ims-page-header h2,.ims-consumer h2,.ims-title { font-size:var(--ims-font-title); font-weight:var(--ims-font-weight-title); line-height:1.4; color:var(--ims-color-text); }
.ims-sec-title,.ims-detail-section h3 { font-size:var(--ims-font-section); font-weight:var(--ims-font-weight-module); line-height:1.5; color:var(--ims-color-text); }
.ims-consumer h4,.ims-consumer-card h4,.ims-kpi .k { font-size:var(--ims-font-card); font-weight:var(--ims-font-weight-card); color:var(--ims-color-text); }
.ims-consumer p,.ims-consumer dd,.ims-todo-row,.ims-attr .v { color:var(--ims-color-text-body); font-size:var(--ims-font-body); font-weight:var(--ims-font-weight-body); }
.ims-page-header p,.ims-sub,.ims-empty,.ims-panel-empty,.ims-order-panel .note { color:var(--ims-color-text-secondary-on-muted); font-size:var(--ims-font-secondary); font-weight:var(--ims-font-weight-secondary); }
.ims-kpi .k { font-size:var(--ims-font-secondary); font-weight:var(--ims-font-weight-secondary); color:var(--ims-color-text-secondary); }
.ims-status-badge,.ims-badge,.mantine-Badge-root { font-size:var(--ims-font-badge); font-weight:var(--ims-font-weight-badge); }
.ims-consumer,.ims-pub,table,.ims-summary-facts { font-variant-numeric:tabular-nums; }
.mantine-Input-input,.ims-copy-cell,.ims-numeric { font-variant-numeric:tabular-nums; }
/* Page breathing room does not change dense rows. */
.ims-filter-bar,.ims-table-toolbar,
.mantine-Group-root:has(> .mantine-Group-root > [aria-label="table-refresh"]) {
 background:var(--ims-color-surface-secondary); border:0; border-bottom:1px solid var(--ims-color-border);
 padding:var(--ims-spacing-card-padding); border-radius:var(--ims-radius-sm); gap:var(--ims-spacing-md);
}
.mantine-datatable,.ims-consumer-scroll:has(> .ims-consumer-table) {
 background:var(--ims-color-surface); border:1px solid var(--ims-color-card-border); border-radius:var(--ims-radius-md); box-shadow:var(--ims-shadow-sm);
}
.mantine-Stack-root:has(> .mantine-Group-root [aria-label="table-refresh"]) { gap:var(--ims-spacing-filter-table); }
.mantine-datatable-pagination { background:var(--ims-color-header); border-top:1px solid var(--ims-color-table-border); padding:var(--ims-spacing-compact); }
.ims-consumer-scroll:has(> .ims-consumer-table) { margin-top:var(--ims-spacing-filter-table); }
.ims-consumer-table { margin-top:0; }
.mantine-Table-table,.mantine-datatable-table { color:var(--ims-color-text-body)!important; }
.mantine-Table-td,.mantine-datatable-table tbody td,.ims-table td { color:var(--ims-color-text-body)!important; font-size:var(--ims-font-table); font-weight:var(--ims-font-weight-table); }
table thead th { background:var(--ims-table-header)!important; color:var(--ims-color-nav-text)!important; font-size:var(--ims-font-table-header)!important; font-weight:var(--ims-font-weight-table-header); height:var(--ims-table-header-height)!important; }
.mantine-Table-td,.mantine-datatable-table tbody td,.ims-table td { height:var(--ims-table-height); }
.ims-fulfillment-tabs { background:var(--ims-color-surface-secondary); padding:var(--ims-spacing-sm); border-radius:var(--ims-radius-sm); gap:var(--ims-spacing-sm); }
.ims-fulfillment-tabs [aria-selected="true"] { background:var(--ims-color-selected)!important; color:var(--ims-color-active-text)!important; box-shadow:inset 0 -2px var(--ims-color-active-line); }
/* Existing workbench layout, with no information architecture changes. */
.dashboard-layout { gap:var(--ims-spacing-section); }
.dashboard-layout > .react-resizable-hide { box-shadow:var(--ims-shadow-sm); border:1px solid var(--ims-color-card-border); background:var(--ims-color-surface)!important; padding:var(--ims-spacing-card-padding)!important; }
.dashboard-layout > .react-resizable-hide:has(#ims-kpis) { background:transparent!important; border:0; box-shadow:none; padding:0!important; }
.ims-workbench-head { padding:0; }
#ims-kpis { grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--ims-spacing-card-gap); }
.ims-kpi { padding:var(--ims-spacing-card-padding); border:1px solid var(--ims-color-card-border); border-radius:var(--ims-radius-md); box-shadow:var(--ims-shadow-sm); background:var(--ims-color-surface); }
#ims-kpis .ims-kpi:nth-child(-n+2) { background:var(--ims-color-emphasis-surface); box-shadow:var(--ims-shadow-sm),inset 0 3px var(--ims-color-active-line); }
#ims-kpis .ims-kpi:nth-child(-n+2) .k { color:var(--ims-color-text-secondary-on-muted); }
.ims-kpi .v { font-size:var(--ims-font-metric); font-weight:var(--ims-font-weight-metric); color:var(--ims-color-text); margin-top:var(--ims-spacing-compact); }
.dashboard-layout .ims-detail-section { border:1px solid var(--ims-color-card-border); background:var(--ims-color-surface); box-shadow:var(--ims-shadow-sm); padding:var(--ims-spacing-complex-card-padding); margin-top:var(--ims-spacing-section); }
.dashboard-layout > .react-resizable-hide:has(#ims-pend-body),.dashboard-layout > .react-resizable-hide:has(#ims-low-body) { grid-column:auto; }
.dashboard-layout > .react-resizable-hide:has(#ims-act-body) { grid-column:1/-1; }
.dashboard-layout > .react-resizable-hide:has(.ims-actions) { background:var(--ims-color-surface-secondary)!important; box-shadow:none; border:0; }
#ims-pend-body .ims-todo-list { grid-template-columns:minmax(0,1fr); }
#ims-pend-body > .ims-sec-title { font-size:var(--ims-font-card); }
#ims-act-body { color:var(--ims-color-text-body); }
/* The shared summary component determines detail presentation, not the URL. */
.mantine-Tabs-panel:has(.ims-detail-summary) { background:var(--ims-color-surface); border:1px solid var(--ims-color-card-border); border-radius:var(--ims-radius-md); box-shadow:var(--ims-shadow-sm); padding:var(--ims-spacing-complex-card-padding)!important; }
.ims-consumer:has(.ims-detail-summary) .ims-detail-section { border:0; box-shadow:none; background:transparent; padding:var(--ims-spacing-md) 0; margin-block:var(--ims-spacing-detail-section); }
.ims-consumer .ims-detail-summary { background:var(--ims-color-emphasis-surface)!important; padding:var(--ims-spacing-complex-card-padding)!important; border-left:3px solid var(--ims-color-active-line)!important; }
.ims-detail-summary dt { color:var(--ims-color-text-secondary-on-muted); font-size:var(--ims-font-secondary); }
.ims-detail-summary dd { color:var(--ims-color-text-body); }
.ims-consumer:has(.ims-detail-summary) > .mantine-Tabs-root > .mantine-Tabs-list { background:var(--ims-color-surface-secondary); border-radius:var(--ims-radius-sm); padding:var(--ims-spacing-xs); border-bottom:1px solid var(--ims-color-border); }
.ims-consumer:has(.ims-detail-summary) .mantine-Tabs-tab[data-active] { background:var(--ims-color-surface)!important; border-bottom:2px solid var(--ims-color-active-line)!important; }
.ims-consumer:has(.ims-detail-summary) .ims-consumer-card { background:var(--ims-color-workspace); border:0; border-top:1px solid var(--ims-color-table-border); box-shadow:none; }
.mantine-Modal-content,.mantine-Drawer-content { background:var(--ims-color-surface-elevated); box-shadow:var(--ims-shadow-floating); }
.mantine-Modal-header,.mantine-Drawer-header { background:var(--ims-color-header); border-bottom:1px solid var(--ims-color-border); }
.mantine-Modal-body form,.ims-form-section { gap:var(--ims-spacing-form-field); }
.mantine-Modal-body .mantine-Stack-root { gap:var(--ims-spacing-form-field); }
.ims-form-section { margin-bottom:var(--ims-spacing-form-group); }
@media(min-width:1440px) {
 html[data-ims-business-nav] .mantine-Flex-root:has(> div > .mantine-Container-root [aria-label="open-search"]) > .mantine-Container-root { padding:var(--ims-page-wide-padding); }
}
@media(max-width:1439px) and (min-width:1024px) { #ims-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1023px) {
 html[data-ims-business-nav] .mantine-Flex-root:has(> div > .mantine-Container-root [aria-label="open-search"]) > .mantine-Container-root { margin-left:var(--ims-spacing-sm); margin-right:var(--ims-spacing-sm); width:calc(100% - var(--ims-spacing-md)); padding:var(--ims-spacing-md); }
 #ims-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dashboard-layout > .react-resizable-hide:has(#ims-pend-body),.dashboard-layout > .react-resizable-hide:has(#ims-low-body) { grid-column:1/-1; }
}
@media(max-width:767px) {
 .ims-consumer-card { border:1px solid var(--ims-color-card-border); box-shadow:var(--ims-shadow-sm); padding:var(--ims-spacing-card-padding); background:var(--ims-color-surface); }
 .dashboard-layout > .react-resizable-hide { padding:var(--ims-spacing-card-padding)!important; }
 .dashboard-layout > .react-resizable-hide:has(#ims-kpis) { padding:0!important; }
 .dashboard-layout .ims-detail-section { padding:var(--ims-spacing-card-padding); }
 .mantine-Tabs-panel:has(.ims-detail-summary) { padding:var(--ims-spacing-md)!important; }
 .ims-consumer .ims-detail-summary { padding:var(--ims-spacing-card-padding)!important; }
}
/* Visual weights reuse typography roles without reordering live content. */
.ims-detail-section h3 { font-size:var(--ims-font-card); }
.ims-detail-summary h3 { font-size:var(--ims-font-section); }
.dashboard-layout > .react-resizable-hide:has(#ims-act-body) .ims-sec-title { font-size:var(--ims-font-card); color:var(--ims-color-text-body); }
.dashboard-layout .ims-detail-section h3 { color:var(--ims-color-text-body); }
.ims-trend-label { font-size:var(--ims-font-secondary); }

.mantine-Button-root { font-weight:var(--ims-font-weight-button); }
/* Native publication cells have two text lines; compact inner padding keeps
 * the 48px row contract without shrinking text or native action targets. */
.mantine-datatable-table tbody td { padding-block:var(--ims-spacing-xs)!important; }
/* A quiet metric band separates the six cards from the open workspace. */
#ims-kpis { padding:var(--ims-spacing-card-padding); background:var(--ims-color-surface-secondary); border-radius:var(--ims-radius-md); }
.ims-consumer-table tbody td { padding-block:var(--ims-spacing-xs)!important; }

/* D.3 layout only. All colors, typography and spacing use frozen D.2.1 tokens. */
html[data-ims-business-nav] [aria-label^="panel-group-"] { display:block!important; min-width:0; }
html[data-ims-business-nav] [aria-label^="panel-tabs-"] { width:100%!important; max-width:100%; flex-direction:row!important; flex-wrap:nowrap!important; overflow-x:auto; overflow-y:hidden; border-right:0!important; border-bottom:1px solid var(--ims-color-border); margin-bottom:var(--ims-spacing-md); gap:var(--ims-spacing-sm); }
html[data-ims-business-nav] [aria-label^="panel-tabs-"] > .mantine-Group-root { display:contents; }
html[data-ims-business-nav] [aria-label^="panel-tabs-"] .mantine-Divider-root { display:none; }
html[data-ims-business-nav] [aria-label^="panel-tabs-"] [role="tab"] { flex-shrink:0; border-right:0!important; border-bottom:2px solid transparent; font-size:var(--ims-font-nav); }
html[data-ims-business-nav] [aria-label^="panel-tabs-"] [role="tab"][data-active] { border-bottom-color:var(--ims-color-primary)!important; }
html[data-ims-business-nav] [data-ims-business-tabs] > [aria-label^="panel-tabs-"] { display:none!important; }
html[data-ims-business-nav] [aria-label^="nav-panel-"] { width:100%!important; min-width:0; padding-inline:0!important; }
.ims-nav-children { display:none!important; }
.ims-secondary-tabs { display:flex; width:100%; max-width:100%; min-width:0; align-items:center; flex-wrap:nowrap; gap:var(--ims-spacing-md); overflow-x:auto; border-bottom:1px solid var(--ims-color-border); margin-bottom:var(--ims-spacing-filter-table); background:transparent; }
.ims-secondary-tabs a { display:block; flex-shrink:0; white-space:nowrap; padding:var(--ims-spacing-compact) var(--ims-spacing-sm); border-bottom:2px solid transparent; color:var(--ims-color-text-secondary-on-muted); font-size:var(--ims-font-nav); text-decoration:none; }
.ims-secondary-tabs a[aria-selected="true"] { color:var(--ims-color-primary); border-bottom-color:var(--ims-color-primary); font-weight:var(--ims-font-weight-nav); }
.ims-secondary-tabs a:focus-visible { outline:2px solid var(--ims-color-primary); outline-offset:-2px; }
.ims-business-workspace { min-width:0; color:var(--ims-color-text-body); }
/* Publisher workspaces provide one PageHeader. Hide only the duplicate native
 * shell and plugin panel titles; native forms and native table toolbars survive. */
.mantine-Stack-root:has(> .mantine-Paper-root .ims-business-workspace) > .mantine-Paper-root:has(> .mantine-Group-root > .mantine-Stack-root) { display:none; }
.mantine-Tabs-panel:has(.ims-business-workspace) > .mantine-Stack-root > .mantine-Group-root:first-child,
.mantine-Tabs-panel:has(.ims-consumer > .ims-page-header) > .mantine-Stack-root > .mantine-Group-root:first-child { display:none; }
.ims-products .ims-filter-bar { display:block; }
.ims-product-table-toolbar { padding-block:var(--ims-spacing-sm); }
.ims-product-table-scroll,.ims-operations-scroll { width:100%; overflow:auto; background:var(--ims-color-surface); border:1px solid var(--ims-color-card-border); border-radius:var(--ims-radius-md); }
.ims-product-table { width:100%; min-width:1000px; table-layout:auto; }
.ims-product-table td,.ims-product-table th { padding:var(--ims-spacing-xs) var(--ims-spacing-sm)!important; white-space:nowrap; }
.ims-product-table [data-column="name"] { min-width:180px; max-width:260px; white-space:normal; }
.ims-product-table [data-column="sku_code"],.ims-product-table [data-column="product_no"] { max-width:160px; overflow:hidden; text-overflow:ellipsis; }
.ims-product-table [data-column="physical_stock"],.ims-product-table [data-column="salable_stock"] { text-align:right; font-variant-numeric:tabular-nums; }
.ims-product-name { padding:0; border:0; background:transparent; color:var(--ims-color-active-text); font:inherit; text-align:left; cursor:pointer; width:auto; max-width:240px; }
.ims-product-cover { display:flex; align-items:center; justify-content:center; width:30px; height:38px; object-fit:contain; color:var(--ims-color-text-secondary); font-size:var(--ims-font-secondary); white-space:normal; }
.ims-product-columns { display:flex; flex-wrap:wrap; gap:var(--ims-spacing-md); padding:var(--ims-spacing-md); background:var(--ims-color-surface); border:1px solid var(--ims-color-border); }
.ims-product-cards { display:none; }
.ims-field-group { background:var(--ims-color-surface); border:1px solid var(--ims-color-card-border); border-radius:var(--ims-radius-md); padding:var(--ims-spacing-card-padding); margin-bottom:var(--ims-spacing-section); }
.ims-field-group h3,.ims-high-frequency h3 { font-size:var(--ims-font-section); font-weight:var(--ims-font-weight-module); margin:0 0 var(--ims-spacing-md); color:var(--ims-color-text); }
.ims-field-group dl { margin:0; }
.ims-field-row { display:grid; grid-template-columns:minmax(150px,1fr) minmax(0,2fr); gap:var(--ims-spacing-md); padding-block:var(--ims-spacing-compact); border-bottom:1px solid var(--ims-color-table-border); }
.ims-field-row:last-child { border-bottom:0; }
.ims-field-row dt { font-size:var(--ims-font-body); }
.ims-field-row dd { margin:0; font-size:var(--ims-font-body); overflow-wrap:anywhere; }
.ims-field-row code,.ims-field-source { display:block; margin-top:var(--ims-spacing-xs); font-size:var(--ims-font-secondary); color:var(--ims-color-text-secondary); }
.ims-field-note { color:var(--ims-color-text-secondary-on-muted); font-size:var(--ims-font-secondary); line-height:1.6; }
.ims-business-workspace details { border:1px solid var(--ims-color-border); border-radius:var(--ims-radius-md); padding:var(--ims-spacing-md); margin-block:var(--ims-spacing-section); }
.ims-business-workspace summary { cursor:pointer; font-size:var(--ims-font-body); color:var(--ims-color-text); }
.ims-business-workspace details .ims-field-group { margin-top:var(--ims-spacing-md); margin-bottom:0; }
.ims-exchange-gate { background:var(--ims-color-surface-secondary); border-left:3px solid var(--ims-color-active-line); border-radius:var(--ims-radius-sm); padding:var(--ims-spacing-card-padding); margin-bottom:var(--ims-spacing-section); }
.ims-template-download { display:inline-block; color:var(--ims-color-active-text); padding-block:var(--ims-spacing-sm); }
.ims-operation-flow { line-height:1.8; }
.ims-high-frequency { margin-top:var(--ims-spacing-section); padding:var(--ims-spacing-card-padding); border:1px solid var(--ims-color-card-border); border-radius:var(--ims-radius-md); background:var(--ims-color-surface); }
.ims-high-frequency .ims-sec-title { display:none; }
.ims-high-frequency .ims-actions { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--ims-spacing-sm); }
.ims-high-frequency .ims-actions button { width:100%; padding-inline:var(--ims-spacing-sm); }
.dashboard-layout > .react-resizable-hide:has(#ims-kpis) { background:transparent!important; }
@media(max-width:1100px) { .ims-high-frequency .ims-actions { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .ims-secondary-tabs { gap:var(--ims-spacing-sm); touch-action:pan-x; }
 .ims-product-table-scroll { display:none; }
 .ims-product-cards { display:grid; gap:var(--ims-spacing-md); }
 .ims-product-cards article { display:flex; gap:var(--ims-spacing-md); min-width:0; }
 .ims-product-cards article > div { min-width:0; }
 .ims-product-cards p { overflow-wrap:anywhere; }
 .ims-field-row { grid-template-columns:minmax(0,1fr); gap:var(--ims-spacing-xs); }
 .ims-high-frequency .ims-actions { grid-template-columns:minmax(0,1fr); }
 .ims-page-header { flex-wrap:wrap; }
}
/* PageDetail's breadcrumb/title stack is a sibling of the overview panel.
 * Detail pages keep their native edit/action header. */
.mantine-Stack-root:has(> .mantine-Paper-root [data-ims-secondary="publisher"]) > .mantine-Stack-root:has(> .mantine-Paper-root [data-variant="gradient"]) { display:none; }
.ims-secondary-tabs { background:var(--ims-color-surface); }
html[data-ims-business-nav] [aria-label^="panel-tabs-"] [aria-controls$="-panel-ims-product-query"],
html[data-ims-business-nav] [aria-label^="panel-tabs-"] [aria-controls$="-panel-ims-stock-query"] { display:none; }
.dashboard-layout > .react-resizable-hide:has(#ims-kpis) { order:1!important; }
html[data-ims-business-nav] [data-ims-internal-tabs] > [aria-label^="panel-tabs-"] { display:flex!important; }
html[data-ims-business-nav] [aria-label^="panel-tabs-"] [data-ims-overflow-hidden] { display:none!important; }
.ims-native-more { flex-shrink:0; max-width:200px; border:0; border-bottom:2px solid var(--ims-color-primary); background:var(--ims-color-surface); color:var(--ims-color-text-body); font:inherit; font-size:var(--ims-font-nav); padding:var(--ims-spacing-sm); }
@media(max-width:767px) { .ims-secondary-tabs a { min-width:calc(var(--ims-spacing-xl) * 5); text-align:center; } }
.ims-secondary-tabs a { color:var(--ims-color-text-secondary); }
.ims-secondary-tabs a[aria-selected="true"] { color:var(--ims-color-primary); }
.mantine-Stack-root:has(> .mantine-Paper-root [data-ims-business-tabs]) > .mantine-Stack-root .mantine-Paper-root:has([aria-label="nav-breadcrumb-action"]) { display:none; }
/* Native PanelGroup groups tabs in Box wrappers. Flatten those wrappers so
 * native detail tabs form one horizontal row, and keep the original handlers. */
html[data-ims-business-nav] [aria-label^="panel-tabs-"] > div { display:contents!important; }
html[data-ims-business-nav] [aria-label^="panel-tabs-"] > div > .mantine-Text-root { display:none; }
html[data-ims-business-nav] [aria-label^="panel-tabs-"] > .mantine-Group-root { display:none!important; }
html[data-ims-business-nav] [aria-label^="panel-tabs-"] [role="tab"] { width:auto!important; }
/* Hide only native panel headline rows identified by their adjacent divider;
 * table action controls remain in the following content component. */
[data-ims-business-tabs] > [aria-label^="nav-panel-"] > .mantine-Stack-root > .mantine-Group-root:first-child:has(+ .mantine-Divider-root),
[data-ims-business-tabs] > [aria-label^="nav-panel-"] > .mantine-Stack-root > .mantine-Group-root:first-child + .mantine-Divider-root { display:none; }
/* V1.4 workflow screens reuse the frozen publisher token roles. */
.ims-high-frequency .ims-actions { grid-template-columns:repeat(6,minmax(0,1fr)); }
.ims-workflow-import { min-width:0; background:var(--ims-color-surface); border:1px solid var(--ims-color-card-border); border-radius:var(--ims-radius-md); padding:var(--ims-spacing-card-padding); }
.ims-import-steps { display:flex; gap:var(--ims-spacing-md); list-style:none; margin:0 0 var(--ims-spacing-section); padding:0; }
.ims-import-steps li { flex:1; display:flex; align-items:center; gap:var(--ims-spacing-sm); border-bottom:2px solid var(--ims-color-border); padding:var(--ims-spacing-sm); color:var(--ims-color-text-secondary); font-size:var(--ims-font-body); }
.ims-import-steps li span { display:inline-flex; align-items:center; justify-content:center; width:var(--ims-spacing-lg); height:var(--ims-spacing-lg); border-radius:50%; background:var(--ims-color-surface-secondary); }
.ims-import-steps li[aria-current="step"] { border-color:var(--ims-color-primary); color:var(--ims-color-primary); font-weight:var(--ims-font-weight-module); }
.ims-import-steps li[aria-current="step"] span,.ims-import-steps li[data-completed="true"] span { background:var(--ims-color-selected); color:var(--ims-color-primary); }
.ims-upload-field { display:flex; flex-direction:column; gap:var(--ims-spacing-sm); border:1px dashed var(--ims-color-border); padding:var(--ims-spacing-lg); border-radius:var(--ims-radius-md); margin-block:var(--ims-spacing-md); font-size:var(--ims-font-body); }
.ims-upload-field input { font:inherit; max-width:100%; }
.ims-upload-field input::file-selector-button { border:1px solid var(--ims-color-control-border); background:var(--ims-color-surface); color:var(--ims-color-text-body); border-radius:var(--ims-radius-sm); padding:var(--ims-spacing-sm) var(--ims-spacing-md); margin-right:var(--ims-spacing-md); font:inherit; cursor:pointer; }
.ims-import-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ims-spacing-md); margin-block:var(--ims-spacing-section); }
.ims-workflow-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ims-spacing-form-field); }
.ims-business-workspace .ims-filter-bar > .mantine-Group-root { flex-wrap:wrap; }
.ims-business-workspace .ims-filter-bar .mantine-InputWrapper-root { flex:1 1 160px; max-width:240px; min-width:0; }
.ims-workflow-import .ims-table { min-width:880px; }
.ims-workflow-import .ims-table td { max-width:240px; overflow-wrap:anywhere; }
.ims-operations-scroll .ims-table { min-width:650px; }
@media(max-width:1100px) { .ims-high-frequency .ims-actions { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) {
 .ims-high-frequency .ims-actions,.ims-import-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ims-workflow-form { grid-template-columns:minmax(0,1fr); }
 .ims-import-steps { gap:var(--ims-spacing-xs); }
 .ims-import-steps li { padding-inline:0; gap:var(--ims-spacing-xs); font-size:var(--ims-font-small); }
 .ims-workflow-import { padding:var(--ims-spacing-md); }
 .ims-import-summary .ims-kpi { padding:var(--ims-spacing-md); }
}
