/* Desktop workspace design system. Kept last in the cascade to migrate existing modules together. */
:root {
  --ui-bg: #f5f5f7;
  --ui-surface: #fff;
  --ui-inset: #f2f2f5;
  --ui-hover: #f7f8fa;
  --ui-ink: #1d1d1f;
  --ui-muted: #626269;
  --ui-line: #dedee3;
  --ui-line-soft: #ededf0;
  --ui-accent: #0066cc;
  --ui-accent-strong: #0056ad;
  --ui-accent-bg: #e9f2ff;
  --ui-success: #17764a;
  --ui-danger: #b42330;
  --ui-warning: #865607;
  --ui-radius: 12px;
  --ui-control-radius: 7px;
  --ui-shadow: 0 1px 2px #16162208;
  --ui-dialog-shadow: 0 24px 80px #11112630, 0 3px 10px #11112612;
  --ui-sidebar: 224px;
  --ui-topbar: 62px;
  --ui-tabs: 44px;
  --ui-space: 24px;
  --ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --blue: var(--ui-accent); --blue-dark: var(--ui-accent-strong);
  --ink: var(--ui-ink); --muted: var(--ui-muted); --line: var(--ui-line);
  --green: var(--ui-success); --red: var(--ui-danger);
  --sh-sm: var(--ui-shadow); --sh-md: var(--ui-shadow); --sh-lg: var(--ui-dialog-shadow);
  font-family: var(--ui-font); color: var(--ui-ink); background: var(--ui-bg);
  color-scheme: light;
}
body.desktop-interface { min-width: 1024px; background: var(--ui-bg); color: var(--ui-ink); font: 13px/1.55 var(--ui-font); -webkit-font-smoothing: antialiased; }
.desktop-interface *, .desktop-interface *::before, .desktop-interface *::after { box-sizing: border-box; }
.desktop-interface button, .desktop-interface .button {
  min-height: 34px; padding: 7px 13px; border-radius: var(--ui-control-radius);
  background: var(--ui-accent); border: 1px solid transparent; color: white;
  font: 500 13px/1.4 var(--ui-font); box-shadow: none; text-shadow: none;
  transform: none; filter: none; transition: background-color 150ms ease, border-color 150ms ease;
}
.desktop-interface button:hover, .desktop-interface .button:hover { background: var(--ui-accent-strong); box-shadow: none; transform: none; filter: none; }
.desktop-interface button:active { background: #00488f; transform: none; }
.desktop-interface :is(button,.button):disabled { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }
.desktop-interface :is(.secondary,.ghost) { background: var(--ui-surface); border-color: var(--ui-line); color: var(--ui-ink); }
.desktop-interface :is(.secondary,.ghost):hover { background: var(--ui-inset); border-color: #bdbdc6; color: var(--ui-ink); }
.desktop-interface :is(.primary,.primary-btn) { background: var(--ui-accent); color: white; border-color: transparent; box-shadow: none; }
.desktop-interface :is(.link-btn,.link-button) { background: transparent; color: var(--ui-accent); border-color: transparent; padding: 5px 7px; }
.desktop-interface :is(.link-btn,.link-button):hover { background: var(--ui-accent-bg); color: var(--ui-accent-strong); }
.desktop-interface :is(button.danger,.roster-text-danger,.roster-icon-del) { background: #fff; color: var(--ui-danger); border-color: #e7b8bd; }
.desktop-interface :is(button.danger,.roster-text-danger,.roster-icon-del):hover { background: #fff0f1; }
.desktop-interface :is(input,select,textarea) { background: var(--ui-surface); color: var(--ui-ink); border: 1px solid #c7c7ce; border-radius: var(--ui-control-radius); box-shadow: none; font-family: var(--ui-font); font-size: 13px; font-weight: 400; }
.desktop-interface :is(input,select):not([type=checkbox]):not([type=radio]):not([type=range]) { min-height: 36px; padding: 7px 10px; }
.desktop-interface :is(input,textarea)::placeholder { color: #77777e; font-weight: 400; }
.desktop-interface :is(input,textarea)[readonly] { background: var(--ui-inset); border-color: var(--ui-line); color: var(--ui-muted); }
.desktop-interface :is(input,select,textarea):disabled { background: var(--ui-inset); color: #707078; cursor: not-allowed; }
.desktop-interface :is(input[type=checkbox],input[type=radio]) { accent-color: var(--ui-accent); min-height: 16px; width: 16px; height: 16px; box-shadow: none; flex-shrink: 0; }
.desktop-interface textarea { line-height: 1.75; padding: 12px; }
.desktop-interface :focus-visible { outline: 3px solid #0071e3; outline-offset: 3px; scroll-margin: 120px 16px 80px; }
.desktop-interface :is(input,select,textarea):focus-visible { outline: 3px solid #0071e355; outline-offset: 1px; border-color: var(--ui-accent); box-shadow: none; }
.desktop-interface label, .desktop-interface .control-label { color: #515159; font-size: 12px; font-weight: 500; }
.desktop-interface :is(h1,h2,h3,h4) { color: var(--ui-ink); font-weight: 600; letter-spacing: -.015em; }
.desktop-interface :is(small,.muted-note,.tool-hint) { line-height: 1.6; }
.desktop-interface a { color: var(--ui-accent); }
.desktop-interface summary { cursor: pointer; }
.desktop-interface progress { accent-color: var(--ui-accent); }
.desktop-interface [hidden] { display: none !important; }
.desktop-icon { width: 19px; height: 19px; display: block; flex: 0 0 auto; }
.desktop-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.desktop-skip { position: fixed; z-index: 200; top: -60px; left: 20px; padding: 10px 18px; border-radius: 7px; background: white; }
.desktop-skip:focus { top: 8px; }

/* Stable desktop chrome: primary navigation, work tabs, and content are distinct levels. */
.desktop-sidebar { position: fixed; inset: 0 auto 0 0; width: var(--ui-sidebar); z-index: 45; display: flex; flex-direction: column; background: #ebebef; border-right: 1px solid #d7d7de; padding: 0 12px; }
.desktop-interface .desktop-brand { display: flex; align-items: center; gap: 11px; padding: 22px 12px 18px; min-height: 84px; width: 100%; text-align: left; border: 0; background: transparent; color: var(--ui-ink); }
.desktop-interface .desktop-brand:hover { background: #e3e3e9; }
.desktop-brand > span { display: grid; gap: 1px; }
.desktop-brand b { font-size: 18px; font-weight: 650; letter-spacing: .01em; }
.desktop-brand small { font-size: 11px; color: var(--ui-muted); }
.desktop-interface .brand-logo { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #242429; box-shadow: none; color: white; font: 600 21px var(--ui-font); transform: none; border: none; }
.desktop-interface .brand-logo::before, .desktop-interface .brand-logo::after { display: none; }
.desktop-interface .desktop-search-button { display: flex; gap: 8px; align-items: center; background: #fff9; color: #5c5c65; border: 1px solid #d8d8e0; padding: 8px 10px; margin: 0 2px 16px; text-align: left; }
.desktop-search-button .desktop-icon { width: 16px; height: 16px; }
.desktop-search-button kbd { margin-left: auto; font: 10px var(--ui-font); color: #64646d; white-space: nowrap; }
.desktop-interface .desktop-search-button:hover { background: white; }
#desktopNavigation { flex: 1; min-height: 0; overflow: auto; padding: 0 2px 18px; scrollbar-width: thin; scrollbar-color: #c4c4cd transparent; }
.desktop-nav-group { margin-top: 16px; }
.desktop-nav-group h2 { margin: 0 8px 6px; color: var(--nav-ink, #686871); font-size: 11px; font-weight: 600; letter-spacing: .015em; }
.desktop-interface .desktop-nav-item { width: 100%; display: flex; gap: 8px; align-items: center; text-align: left; background: transparent; border: 0; color: #3b3b43; min-height: 38px; padding: 6px 8px; font-size: 12px; margin: 1px 0; }
.desktop-nav-item .desktop-icon { color: #6d6d76; width: 17px; height: 17px; }
.desktop-interface .desktop-nav-item:hover { background: #dfdfe6; }
.desktop-interface .desktop-nav-item.active { background: #d4e5fb; color: #075bab; font-weight: 600; }
.desktop-nav-item.active .desktop-icon { color: #0666c7; }
/* Category identity stays constant when selected; the row carries the active state. */
[data-nav-tone="strategy"] { --nav-ink:#805514; --nav-tint:#f4e9d4; }
[data-nav-tone="analytics"] { --nav-ink:#215faf; --nav-tint:#dceafa; }
[data-nav-tone="creation"] { --nav-ink:#7550a9; --nav-tint:#eae1f6; }
[data-nav-tone="accounts"] { --nav-ink:#176c78; --nav-tint:#d9edf0; }
[data-nav-tone="team"] { --nav-ink:#9a4f32; --nav-tint:#f4e3db; }
[data-nav-tone="system"] { --nav-ink:#535967; --nav-tint:#dee1e7; }
.desktop-nav-symbol { width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center; border-radius:6px; background:var(--nav-tint); }
.desktop-nav-item .desktop-nav-symbol .desktop-icon { width:16px; height:16px; color:var(--nav-ink); stroke-width:1.8; }
.desktop-nav-label { min-width:0; overflow-wrap:anywhere; }
@media (forced-colors:active) {
  .desktop-nav-symbol { border:1px solid ButtonText; }
  .desktop-nav-item .desktop-nav-symbol .desktop-icon { color:ButtonText; }
  .desktop-interface .desktop-nav-item.active { outline:1px solid Highlight; outline-offset:-1px; }
}
.desktop-sidebar-foot { display: flex; align-items: center; gap: 7px; font-size: 10px; color: #65656e; border-top: 1px solid #d8d8df; padding: 14px 6px; }
.desktop-sidebar-foot .desktop-icon { width: 14px; height: 14px; }
.desktop-interface #appTopbar { position: sticky; top: 0; z-index: 40; height: var(--ui-topbar); min-height: var(--ui-topbar); padding: 12px var(--ui-space); margin-left: var(--ui-sidebar); background: #fbfbfddd; border-bottom: 1px solid var(--ui-line); box-shadow: none; backdrop-filter: blur(18px); }
.desktop-location { display: flex; gap: 14px; align-items: center; min-width: 0; }
.desktop-location h1 { font-size: 13px; margin: 0; white-space: nowrap; }
#desktopSectionName, .desktop-divider { font-size: 12px; color: var(--ui-muted); white-space: nowrap; }
.desktop-interface #desktopSidebarToggle { display: grid; place-items: center; padding: 6px; border: 0; background: transparent; width: 32px; min-height: 32px; }
.desktop-interface #desktopSidebarToggle:hover { background: var(--ui-inset); }
.desktop-interface .top-actions { gap: 10px; }
.desktop-interface .user-chip { background: transparent; border: 0; border-left: 1px solid var(--ui-line); border-radius: 0; padding: 0 0 0 14px; color: #46464e; font-size: 12px; box-shadow: none; }
.desktop-interface #logoutButton { border: 0; background: transparent; color: var(--ui-muted); font-size: 12px; }
.desktop-interface #accountButton { font-size: 12px; }
#desktopPreviewBadge { font-size: 11px; color: var(--ui-warning); background: #fff4d8; border: 1px solid #e7d099; border-radius: 6px; padding: 3px 8px; }
.desktop-interface #viewTabs { position: sticky; top: var(--ui-topbar); z-index: 35; display: flex; gap: 4px; height: var(--ui-tabs); padding: 6px var(--ui-space) 0; margin: 0 0 0 var(--ui-sidebar); width: auto; background: #f0f0f3; border-bottom: 1px solid var(--ui-line); border-radius: 0; box-shadow: none; overflow: auto hidden; scrollbar-width: thin; }
.vt-item { display: flex; flex-shrink: 0; gap: 2px; align-items: center; border: 1px solid transparent; border-bottom: 0; border-radius: 8px 8px 0 0; padding-right: 5px; }
.vt-item.active { background: var(--ui-bg); border-color: var(--ui-line); }
.desktop-interface .vt-tab { display: block; padding: 8px 12px 10px; min-height: 34px; border: 0; border-radius: 0; background: transparent; color: #62626c; font-size: 12px; box-shadow: none; }
.desktop-interface .vt-tab.active { color: var(--ui-ink); font-weight: 600; background: transparent; }
.desktop-interface .vt-tab:hover { background: #e8e8ee; color: var(--ui-ink); border-radius: 6px; }
.desktop-interface .vt-close { margin: 0; width: 26px; height: 26px; min-height: 26px; padding: 0; border: 0; border-radius: 5px; color: #73737b; background: transparent; font-size: 17px; display: grid; place-items: center; }
.desktop-interface .vt-close:hover { background: #dedee5; color: var(--ui-ink); }
.desktop-interface #appMain { width: auto; max-width: none; margin: 0 0 0 var(--ui-sidebar); padding: 28px var(--ui-space) 52px; outline: none; }
.desktop-sidebar-collapsed { --ui-sidebar: 0px; }
.desktop-sidebar-collapsed .desktop-sidebar { display: none; }

/* Workbench directory: compact entries instead of a promotional tile wall. */
.desktop-interface .home-menu { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.desktop-interface .menu-hero { min-height: 0; display: flex; justify-content: space-between; padding: 0 0 28px; color: var(--ui-ink); background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.desktop-interface .menu-hero::before, .desktop-interface .menu-hero::after { display: none; }
.desktop-interface .menu-hero h2 { color: var(--ui-ink); font-size: 28px; font-weight: 650; margin: 0 0 8px; letter-spacing: -.025em; }
.desktop-interface .menu-hero p { color: var(--ui-muted); font-size: 13px; }
.desktop-interface .menu-date { color: #55555f; font-size: 12px; }
.desktop-interface .weather-strip { border: 0; background: transparent; box-shadow: none; color: var(--ui-muted); padding: 6px 0 0; }
.desktop-interface .weather-strip > *, .desktop-interface .weather-strip b { color: var(--ui-muted); }
.desktop-directory-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; gap: 16px; }
.desktop-directory-toolbar > label { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 600; color: var(--ui-ink); }
#desktopFunctionCount { font-size: 11px; color: var(--ui-muted); font-weight: 400; }
.desktop-directory-search { position: relative; width: 280px; }
.desktop-directory-search > span { position: absolute; left: 11px; top: 10px; color: #72727c; }
.desktop-directory-search .desktop-icon { width: 16px; height: 16px; }
.desktop-interface #desktopDirectorySearch { width: 100%; padding-left: 35px; }
.desktop-interface .ws-groups { display: grid; gap: 25px; }
.desktop-interface .ws-group { margin: 0; padding: 0; border: 0; background: transparent; }
.desktop-interface .ws-group-title { font-size: 12px; font-weight: 600; color: #686870; border: 0; padding: 0; margin: 0 0 10px; }
.desktop-interface .ws-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--ui-line-soft); border: 1px solid var(--ui-line); border-radius: var(--ui-radius); overflow: hidden; }
.desktop-interface .ws-tile { display: flex; align-items: flex-start; gap: 14px; width: 100%; min-height: 96px; padding: 18px; border: 0; border-radius: 0; box-shadow: none; background: white; text-align: left; color: var(--ui-ink); transform: none; }
.desktop-interface .ws-tile:hover { background: #f9fafc; transform: none; box-shadow: inset 0 0 0 1px #b4d2fa; }
.desktop-interface .ws-tile:focus-visible { outline-offset: -3px; }
.desktop-interface .ws-ic { display: grid; place-items: center; width: 36px; height: 36px; min-width: 36px; border-radius: 9px; background: #eff4fb; border: 0; box-shadow: none; color: #336ba4; }
.desktop-interface .ws-txt b { display: block; font-size: 13px; font-weight: 600; margin: 0 0 5px; color: var(--ui-ink); }
.desktop-interface .ws-txt small { color: var(--ui-muted); font-size: 11px; line-height: 1.65; }
.desktop-interface .ws-tile.soon { opacity: 1; background: #f9f9fb; }
.desktop-interface .ws-tile.soon .ws-ic { color: #7a7a85; background: #ebebf0; }
.desktop-interface .ws-badge { font-size: 10px; padding: 2px 6px; color: #686872; background: #eaeaf0; border-radius: 5px; white-space: nowrap; }
.desktop-empty { padding: 40px 24px; color: var(--ui-muted); text-align: center; }

/* Page frames and reusable surface treatments across every existing module. */
.desktop-interface :is(.card-3d,.tool-head,.tool-query,.table-card,.filter-panel,.ov-panel,.oi-kpi,.kpi-mini,.metric-card,.ov-kpi,.pms-card,.ea-editor,.ed-chart-card,.ed-target-card,.ed-table,.ow-filter-card,.ow-records,.video-create-card,.video-preview-card,.video-records,.agent-card,.mw-target,.mw-history) { border: 1px solid var(--ui-line); border-radius: var(--ui-radius); background: var(--ui-surface); box-shadow: var(--ui-shadow); transform: none; }
.desktop-interface :is(.card-3d,.metric-card,.ov-kpi,.kpi-mini):hover { transform: none; box-shadow: var(--ui-shadow); }
.desktop-interface :is(.card-3d,.metric-card,.ov-kpi,.oi-kpi)::before, .desktop-interface :is(.card-3d,.metric-card,.ov-kpi)::after { display: none; }
.desktop-interface .tool-view, .desktop-interface .tool-body { gap: 20px; }
.desktop-interface .tool-head { display: block; padding: 0 0 2px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.desktop-interface .tool-head-row { width: 100%; gap: 12px; }
.desktop-interface .tool-head h2 { font-size: 25px; font-weight: 650; }
.desktop-interface #toolBack { font-size: 12px; padding: 5px 8px; min-height: 30px; }
.desktop-interface #toolExport { margin-left: auto; }
.desktop-interface .tool-sub { font-size: 12px; line-height: 1.7; margin: 9px 0 0; max-width: 1150px; }
.desktop-interface .tool-query { padding: 18px; gap: 14px; }
.desktop-interface .tool-query label { min-width: 155px; }
.desktop-interface :is(.tool-hint,.tool-msg,.ed-hint,.ed-status,.vr-policy,.vr-heading p,.video-create-record-note,.oi-trace,.oi-note,.roi-warning,.roi-gate,.pms-warning) { font-size: 12px; line-height: 1.7; }
.desktop-interface :is(.tool-empty,.video-empty,.empty-home,.ov-skeleton,.vr-empty) { padding: 48px 24px; color: var(--ui-muted); font-size: 13px; background: #fafafc; border-color: var(--ui-line); border-radius: 10px; }
.desktop-interface :is(.tool-msg,.oi-trace,.vr-policy,.roi-gate,.video-silent-badge) { border: 1px solid #ccdcf1; background: #f0f5fc; color: #31547b; border-radius: 8px; box-shadow: none; }
.desktop-interface :is(.warnings,.ov-error,.video-failure,.mw-link-error) { background: #fff3f3; border-color: #efc6cb; color: #9f2531; }
.desktop-interface :is(.pms-warning,.roi-warning,.ed-warning,.oi-note.warning,.video-warning) { border: 1px solid #e8d19d; border-left: 3px solid #b9841b; background: #fff9ec; color: #79500c; border-radius: 8px; }
.desktop-interface :is(.tool-msg,.ed-status):empty { display: none; }
.desktop-interface :is(.safety-note,.oi-note) { background: #fafafc; border-color: var(--ui-line); box-shadow: none; font-size: 12px; color: var(--ui-muted); }
.desktop-interface :is(.tr-btn,.ed-mode button,.ed-presets button,.video-view-tabs button,.mw-tabs button) { background: white; color: #55555e; border: 1px solid var(--ui-line); border-radius: 7px; box-shadow: none; font-size: 12px; font-weight: 500; }
.desktop-interface :is(.tr-btn.active,.ed-mode .active,.video-view-tabs button.active,.mw-tabs button.active) { background: var(--ui-accent-bg); color: var(--ui-accent-strong); border-color: #abcaf2; box-shadow: none; }
.desktop-interface :is(.tool-range,.ed-mode,.video-view-tabs) { gap: 6px; }

/* Financial data: tabular numbers, quiet dividers, sticky headers and contained overflow. */
.desktop-interface :is(.kpi-mini,.oi-kpi,.metric-card,.ov-kpi) { padding: 18px; min-height: 112px; }
.desktop-interface :is(.kpi-mini,.oi-kpi,.metric-card,.ov-kpi) > span { color: var(--ui-muted); font-size: 12px; font-weight: 500; }
.desktop-interface :is(.kpi-mini,.oi-kpi,.metric-card,.ov-kpi) > b { font-size: 25px; font-weight: 650; letter-spacing: -.025em; font-variant-numeric: tabular-nums; line-height: 1.3; margin: 10px 0 5px; }
.desktop-interface :is(.kpi-mini,.oi-kpi,.metric-card,.ov-kpi) > small { color: var(--ui-muted); font-size: 11px; line-height: 1.5; }
.desktop-interface :is(.kpi-row,.oi-kpis,.metric-grid) { gap: 12px; }
.desktop-interface :is(.table-scroll,.table-wrap,.vr-table-wrap,.roi-table-wrap,.pms-table-wrap,.ed-table-scroll,.fr-table-wrap) { max-width: 100%; min-width: 0; overflow: auto; scrollbar-width: thin; scrollbar-color: #b8b8c2 #f3f3f6; border-color: var(--ui-line); border-radius: 8px; }
.desktop-interface table { font-variant-numeric: tabular-nums; }
.desktop-interface table th { background: #f5f5f8; color: #595963; font-size: 11px; font-weight: 600; border-color: var(--ui-line); padding: 12px; position: sticky; top: 0; z-index: 2; }
.desktop-interface table td { font-size: 12px; line-height: 1.6; padding: 13px 12px; border-color: var(--ui-line-soft); }
.desktop-interface table tbody tr:nth-child(even) > td { background: #fcfcfd; }
.desktop-interface table tbody tr:hover > td { background: #f1f5fb; }
.desktop-interface table tfoot td { background: #eff3f9; border-color: #d3dae6; font-weight: 600; }
.desktop-interface table th:first-child { z-index: 3; }
.desktop-interface table :is(.plan-id,small) { color: var(--ui-muted); font-size: 11px; }
.desktop-interface table button { font-size: 12px; min-height: 30px; padding: 5px 9px; }
.desktop-interface :is(.section-heading,.plan-toolbar,.table-footer,.plan-pager,.vr-pagination) { padding: 14px 18px; border-color: var(--ui-line); background: white; }
.desktop-interface :is(.plan-name,.oi-product b,.vr-product b) { font-size: 12px; font-weight: 600; }
.desktop-interface :is(.oi-positive,.pos,.pr-pos,.tone-positive) { color: var(--ui-success); }
.desktop-interface :is(.oi-negative,.neg,.pr-neg,.tone-negative) { color: var(--ui-danger); }
.desktop-interface :is(.oi-level,.oi-stage,.ov-tag,.video-pill,.pms-tag) { font-weight: 500; font-size: 11px; border-radius: 5px; }
.desktop-interface .filter-panel { display: block; padding: 20px; }
.desktop-interface .filter-copy { margin: 0 0 20px; }
.desktop-interface .filter-copy h2 { font-size: 23px; }
.desktop-interface .filter-copy > span { color: var(--ui-muted); letter-spacing: 0; font-size: 11px; font-weight: 500; }
.desktop-interface .filters { justify-content: flex-start; gap: 12px; }
.desktop-interface #topFilterInput { width: 240px; font-size: 13px; }
.desktop-interface #productInput { width: 245px; font: 13px var(--ui-font); }
.desktop-interface .integration-state { border: 1px solid var(--ui-line); border-radius: 7px; background: #f8f8fa; }
.desktop-interface .date-popover { left: 0; right: auto; top: calc(100% + 8px); width: 700px; border-color: var(--ui-line); border-radius: 12px; box-shadow: var(--ui-dialog-shadow); }
.desktop-interface .date-presets { background: #f4f4f7; }
.desktop-interface .date-presets button, .desktop-interface .calendar-toolbar button, .desktop-interface .calendar-day { background: transparent; color: var(--ui-ink); border: 0; }
.desktop-interface .calendar-day.selected { background: var(--ui-accent); color: white; }
.desktop-interface .calendar-day.in-range { background: var(--ui-accent-bg); }
.desktop-interface .calendar-day.selected.in-range { background: var(--ui-accent); }
.desktop-interface .calendar-day:hover, .desktop-interface .date-presets button:hover { background: var(--ui-accent-bg); color: var(--ui-accent); }

/* Live cockpit and rankings. */
.desktop-interface .overview-home { margin: 0; gap: 20px; }
.desktop-interface .cockpit-bar { margin: 0 0 -8px; border: 0; background: transparent; color: var(--ui-muted); box-shadow: none; }
.desktop-interface .ov-hero { display: flex; flex-direction: row; align-items: flex-start; padding: 6px 0 0; border: 0; background: transparent; border-radius: 0; box-shadow: none; overflow: visible; }
.desktop-interface .ov-hero::after, .desktop-interface .ov-hero::before { display: none; }
.desktop-interface .ov-hero h2 { color: var(--ui-ink); font-size: 27px; font-weight: 650; margin: 0 0 8px; }
.desktop-interface .ov-hero h2 b { color: #686871; font-weight: 400; background: transparent; border: 0; padding: 0; font-size: 15px; }
.desktop-interface .ov-hero p { color: var(--ui-muted); font-size: 12px; }
.desktop-interface .ov-hero-right { gap: 10px; display: grid; grid-template-columns: auto auto; align-items: center; padding-top: 4px; min-width: 230px; }
.desktop-interface .ov-live { color: var(--ui-success); font-size: 11px; }
.desktop-interface .ov-live:has(.ov-dot.off) { color: var(--ui-danger); }
.desktop-interface .ov-live:has(.ov-dot.busy) { color: var(--ui-warning); }
.desktop-interface .ov-hero h2 { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 12px; line-height:1.4; }
.desktop-interface .ov-hero h2 b { display:block; margin:0; line-height:1.5; white-space:normal; -webkit-backdrop-filter:none; backdrop-filter:none; }
.desktop-interface .ov-dot { width: 6px; height: 6px; background: var(--ui-success); animation: none; box-shadow: none; }
.desktop-interface .ov-dot.busy { background: #9c6915; }
.desktop-interface .ov-dot.off { background: var(--ui-danger); }
.desktop-interface .ov-updated, .desktop-interface .ov-updated b { color: var(--ui-muted); font-size: 10px; }
.desktop-interface .ov-range-switch { padding: 3px; border: 1px solid #dedee5; background: #eaeaf0; border-radius: 8px; gap: 2px; margin-top: 18px; }
.desktop-interface .ov-range-switch button { min-height: 29px; padding: 5px 12px; border-radius: 6px; background: transparent; color: #585861; font-size: 11px; font-weight: 500; box-shadow: none; }
.desktop-interface .ov-range-switch button.active { background: white; color: var(--ui-ink); box-shadow: 0 1px 3px #11112618; }
.desktop-interface .ov-range-switch button:hover:not(.active) { background: #e0e0e7; }
.desktop-interface .ov-kpis { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.desktop-interface .ov-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.desktop-interface .ov-panel > header { align-items: flex-start; flex-direction: column; padding: 18px 20px 14px; gap: 5px; }
.desktop-interface .ov-panel h3 { margin: 0; font-size: 16px; }
.desktop-interface .ov-panel > header small { color: var(--ui-muted); font-size: 11px; text-align: left; }
.desktop-interface .ov-panel .desktop-count { color: #62626b; background: #f0f0f4; border-radius: 4px; font-size: 10px; margin-left: 6px; padding: 3px 6px; letter-spacing: 0; font-weight: 500; }
.desktop-interface .ov-row { padding: 16px 18px; gap: 10px; grid-template-columns: 22px 42px minmax(0,1fr); border-color: var(--ui-line-soft); }
.desktop-interface .ov-rank { background: transparent; color: #707079; box-shadow: none; font-size: 12px; width: 20px; font-weight: 500; border-radius: 0; }
.desktop-interface :is(.ov-thumb,.ov-thumb-fallback,.ov-material-icon) { width: 42px; height: 42px; border-radius: 8px; box-shadow: none; border-color: var(--ui-line); background: #f1f1f5; }
.desktop-interface .ov-name { white-space: normal; font-size: 12px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.desktop-interface .ov-sub { flex-wrap: wrap; font-size: 10px; gap: 4px; }
.desktop-interface .ov-stat { grid-column: 3; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; text-align: left; }
.desktop-interface .ov-stat .cost { font-size: 19px; color: var(--ui-ink); font-weight: 650; }
.desktop-interface .ov-stat .sub { font-size: 10px; white-space: normal; }
.desktop-interface .ov-detail-btn { margin: 0 0 0 auto; min-height: 28px; font-size: 11px; background: transparent; color: var(--ui-accent); border: 1px solid #cddbef; box-shadow: none; }
.desktop-interface .ov-detail-btn:hover { color: white; background: var(--ui-accent); }
.desktop-interface .ov-bar { height: 3px; background: #ececf1; }
.desktop-interface .ov-bar i, .desktop-interface .ea-bar i { background: #6b9bd1; box-shadow: none; }
.desktop-interface .fr-summary { grid-template-columns: repeat(4,minmax(0,1fr)); }
.desktop-interface .fr-header { background: white; color: var(--ui-ink); }

/* Production: script composer, voice options, video creation and complete record detail. */
.desktop-interface .ow-workspace { --ow-line: var(--ui-line); }
.desktop-interface .ow-intro { padding: 0 0 20px; border: 0; background: transparent; }
.desktop-interface :is(.ow-eyebrow,.vr-heading > div > small,.video-section-head .ov-kicker) { display: none; }
.desktop-interface .ow-intro h3, .desktop-interface .vr-heading h3 { font-size: 21px; font-weight: 600; margin-top: 0; }
.desktop-interface .ow-filter-card { padding: 18px; }
.desktop-interface :is(.ow-filter-fields,.vr-filters) { gap: 14px; }
.desktop-interface .ow-records { padding: 20px; }
.desktop-interface .ow-filter-fields input, .desktop-interface .ow-filter-fields select { height: 36px; }
.desktop-interface .ow-voice-tabs { background: #ededf2; padding: 3px; }
.desktop-interface .ow-voice-tabs button { background: transparent; color: #55555f; min-height: 30px; font-size: 11px; }
.desktop-interface .ow-voice-tabs button[aria-pressed=true] { background: white; color: var(--ui-ink); box-shadow: 0 1px 3px #16162018; }
.desktop-interface :is(.ow-output,.ow-speech-panel,.video-upload,.video-reference-field,.video-library-review,.video-prompt,.vr-filters,.vr-identity) { background: #f8f8fa; border-color: var(--ui-line); border-radius: 9px; box-shadow: none; }
.desktop-interface .ow-compose-layout { grid-template-columns: minmax(0,1fr) 330px; gap: 28px; padding: 24px; }
.desktop-interface .ow-form .ow-script-label textarea { min-height: 280px; font-size: 14px; }
.desktop-interface .ow-compose-footer { padding: 16px 24px; background: #fafafc; border-color: var(--ui-line); }
.desktop-interface .video-workbench-grid { grid-template-columns: minmax(0,1.55fr) minmax(290px,1fr); gap: 20px; }
.desktop-interface .video-cost-summary { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.desktop-interface .video-cost-summary > div { background: white; border: 1px solid var(--ui-line); border-radius: 10px; box-shadow: none; padding: 15px; }
.desktop-interface .video-form { gap: 18px 16px; }
.desktop-interface .video-form label { font-size: 12px; font-weight: 500; }
.desktop-interface .video-form :is(input,select) { font-size: 13px; }
.desktop-interface .video-form textarea { min-height: 170px; font-size: 14px; }
.desktop-interface .video-reference-upload { grid-template-columns: minmax(100px,1fr) 90px; }
.desktop-interface .video-reference-upload input[type=file] { grid-column: 1/-1; }
.desktop-interface .video-reference-item { background: white; border-color: var(--ui-line); border-radius: 8px; color: var(--ui-ink); }
.desktop-interface .video-reference-item.active { background: var(--ui-accent-bg); border-color: #92b9e9; box-shadow: none; }
.desktop-interface .video-reference-item:hover { background: var(--ui-accent-bg); color: var(--ui-ink); }
.desktop-interface .video-job { background: white; border-color: var(--ui-line); box-shadow: none; padding: 18px; border-radius: 10px; }
.desktop-interface .video-progress-track { background: #e8e8ed; height: 6px; box-shadow: none; }
.desktop-interface .video-progress-track span, .desktop-interface .video-progress.active .video-progress-track span { background: #4b8ccf; animation: none; transition: none; }
.desktop-interface .video-progress.complete .video-progress-track span { background: var(--ui-success); }
.desktop-interface .video-cost-line { background: #f5f5f9; border-color: var(--ui-line); border-radius: 7px; font-size: 11px; }
.desktop-interface :is(.video-archive-path,.ow-archive-state[data-status=verified]) { background: #eef8f2; color: #256447; border: 1px solid #d2e5da; }
.desktop-interface .video-archive-path code { color: #256447; }
.desktop-interface .video-records { padding: 22px; }
.desktop-interface .vr-table td { color: var(--ui-ink); }
.desktop-interface .vr-pagination { padding: 12px 0 0; }
.desktop-interface .vr-identity { gap: 20px; }
.desktop-interface .vr-identity b { color: var(--ui-ink); font-size: 12px; }

/* Investigation, charts, accounts, calculators and operational settings. */
.desktop-interface .pms-page { gap: 20px; max-width: none; }
.desktop-interface .pms-card { padding: 22px; }
.desktop-interface .pms-card h3 { font-size: 17px; font-weight: 600; }
.desktop-interface .pms-step { background: #ededf2; color: #62626d; border-radius: 7px; font-size: 13px; width: 26px; height: 26px; }
.desktop-interface .pms-plan { background: #fafafc; border-color: var(--ui-line); }
.desktop-interface .pms-plan:has(input:checked) { background: #edf4ff; border-color: #8fb6e5; }
.desktop-interface .pms-statuses label { font-size: 14px; }
.desktop-interface .pms-statuses small, .desktop-interface .pms-card h3 small { color: var(--ui-muted); font-size: 11px; }
.desktop-interface .pms-table-wrap { max-height: 560px; }
.desktop-interface .pms-tag { background: #fff0ec; color: #99472f; }
.desktop-interface .pms-query :is(input,select) { padding: 7px 10px; }
.desktop-interface .ed-query { background: white; border-color: var(--ui-line); padding: 18px; border-radius: 10px; }
.desktop-interface .ed-query :is(input,select) { height: 36px; border-color: #c7c7ce; }
.desktop-interface .ed-query button { min-height: 36px; }
.desktop-interface .ed-summary { padding: 24px 0; }
.desktop-interface .ed-summary strong { color: var(--ui-ink); font-size: 28px; font-weight: 650; }
.desktop-interface .ed-rank-row { background: white; color: var(--ui-ink); border: 0; border-top: 1px solid var(--ui-line-soft); border-radius: 0; box-shadow: none; }
.desktop-interface .ed-rank-row:hover { background: #f5f7fb; }
.desktop-interface .ed-rank-track { height: 8px; background: #ededf2; border-radius: 3px; overflow: hidden; }
.desktop-interface .ed-rank-track > span { background: #6c98c9; }
.desktop-interface .ed-target-card header strong { color: var(--ui-accent); font-size: 24px; }
.desktop-interface .ed-chart-card h3 { font-size: 16px; color: var(--ui-ink); }
.desktop-interface .ed-chart-scroll svg { fill: #55555e; }
.desktop-interface .agent-filters { background: white; border-color: var(--ui-line); box-shadow: none; padding: 18px; border-radius: 10px; }
.desktop-interface .agent-filters :is(input,select) { min-height: 36px; }
.desktop-interface :is(.calc-panel,.calc-card,.calc-result,.roi-accounts,.pending-item,.roster-manager,.roster-operator,.roster-leadership,.roster-import,.roster-unassigned) { background: #fafafc; border-color: var(--ui-line); box-shadow: none; border-radius: 9px; }
.desktop-interface .roi-accounts { gap: 12px 24px; padding: 16px; }
.desktop-interface .audit-row { padding: 16px; border-color: var(--ui-line-soft); background: white; }
.desktop-interface .audit-failure { background: #fff7f7; }
.desktop-interface .audit-list { max-height: 56vh; margin: 0; border-color: var(--ui-line); border-radius: 9px; }
.desktop-interface .audit-detail { color: #484850; font-size: 12px; }
.desktop-interface .audit-toolbar { padding: 0; margin: 18px 0 12px; gap: 10px; }
.desktop-interface .audit-toolbar input { flex: 1; min-width: 220px; }
.desktop-interface .pending-item { padding: 16px; }
.desktop-interface .pending-info b { font-size: 14px; }
.desktop-interface .roster-manager-head { background: #f0f0f5; border-color: var(--ui-line); }
.desktop-interface .roster-operator-head { background: #f8f8fa; }
.desktop-interface .roster-tip { background: #f5f5f8; color: #595962; border-color: var(--ui-line); }
.desktop-interface #accessPolicyChoices fieldset { border: 1px solid var(--ui-line); border-radius: 9px; margin: 18px 0; padding: 16px; }
.desktop-interface #accessPolicyChoices legend { color: #51515a; font-weight: 600; }

/* Native dialogs remain native, including the existing unsaved-edit guard. */
.desktop-interface dialog { border: 1px solid #d1d1d9; border-radius: 16px; background: white; color: var(--ui-ink); padding: 0; width: min(1120px,calc(100vw - 96px)); max-width: calc(100vw - 96px); max-height: calc(100dvh - 64px); box-shadow: var(--ui-dialog-shadow); overflow: auto; }
.desktop-interface dialog::backdrop { background: #20202755; backdrop-filter: blur(3px); }
.desktop-interface .dialog-card { padding: 24px; max-width: none; width: 100%; border: 0; box-shadow: none; border-radius: 0; background: white; }
.desktop-interface :is(.dialog-card > header,.ed-dialog > header,.ow-dialog-header) { margin: 0; padding: 0 0 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--ui-line); background: white; }
.desktop-interface dialog header :is(h2,h3) { color: var(--ui-ink); font-size: 21px; line-height: 1.4; font-weight: 600; }
.desktop-interface dialog header span { letter-spacing: 0; font-size: 11px; color: var(--ui-muted); font-weight: 500; }
.desktop-interface .icon-button { display: grid; place-items: center; flex-shrink: 0; min-height: 32px; width: 32px; padding: 0; background: #f0f0f4; color: #61616a; border: 0; font-size: 20px; border-radius: 7px; }
.desktop-interface .icon-button:hover { background: #e5e5ec; color: var(--ui-ink); }
.desktop-interface .dialog-card > footer { position: sticky; bottom: 0; z-index: 4; margin: 20px -24px -24px; padding: 16px 24px; background: #fafafc; border-top: 1px solid var(--ui-line); display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.desktop-interface :is(#importDialog,#goalRoiDialog) { width: 760px; }
.desktop-interface :is(.goal-current,.goal-tip) { background: #f8f8fb; color: #53535d; border-color: var(--ui-line); }
.desktop-interface .ow-dialog { padding: 0; }
.desktop-interface .ow-dialog-header { padding: 22px 24px 18px; }
.desktop-interface .ed-dialog > header { padding: 22px 24px 18px; }
.desktop-interface .ed-dialog-body { padding: 24px; }
.desktop-interface .video-play-body { background: #f5f5f8; border-radius: 10px; min-height: 260px; }
.desktop-interface .video-play-body video { max-height: 62vh; }
.desktop-interface .toast { position: fixed; bottom: 28px; left: 50%; top: auto; transform: translateX(-50%); width: max-content; max-width: min(680px,80vw); padding: 12px 18px; background: #27272deF; color: white; border: 1px solid #ffffff20; border-radius: 10px; box-shadow: 0 6px 30px #11112626; font-size: 13px; z-index: 100; }

/* Search is an actual keyboard-operable launcher, with no separate authorization logic. */
.desktop-interface #desktopCommandDialog { width: 650px; margin-top: 14vh; }
.desktop-command-head { display: flex; gap: 12px; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--ui-line); }
.desktop-interface #desktopCommandInput { flex: 1; width: 100%; padding: 9px 0; border: 0; background: white; font-size: 15px; outline-offset: 3px; }
.desktop-interface #desktopCommandClose { min-height: 27px; padding: 4px 7px; font-size: 10px; }
.desktop-command-results { max-height: 48vh; overflow: auto; padding: 8px; }
.desktop-interface .desktop-command-results button { display: flex; width: 100%; gap: 14px; align-items: center; padding: 12px; text-align: left; color: var(--ui-ink); background: white; border: 0; border-radius: 8px; }
.desktop-command-results button > span { flex: 1; min-width: 0; }
.desktop-command-results b, .desktop-command-results small { display: block; }
.desktop-command-results b { font-size: 13px; font-weight: 600; }
.desktop-command-results small { color: var(--ui-muted); font-size: 11px; margin-top: 3px; }
.desktop-interface .desktop-command-results button.selected, .desktop-interface .desktop-command-results button:hover { background: #eaf2ff; color: #065dae; }
#desktopCommandDialog footer { display: flex; gap: 16px; background: #f6f6f9; padding: 10px 20px; color: var(--ui-muted); font-size: 10px; border-top: 1px solid var(--ui-line); }
#desktopCommandCount { margin-left: auto; }

/* Login and application states receive the same design, not a separate landing page. */
.desktop-interface .login-view { min-height: 100dvh; background: #f2f2f5; display: grid; place-items: center; padding: 48px; }
.desktop-interface .login-view::before, .desktop-interface .login-view::after { display: none; }
.desktop-interface .login-card { width: 430px; max-width: none; border: 1px solid #dddde4; border-radius: 20px; background: white; padding: 36px 40px; box-shadow: 0 12px 48px #1717290a; }
.desktop-interface .login-brand { display: flex; gap: 12px; align-items: center; margin-bottom: 36px; padding: 0; border: 0; }
.desktop-interface .login-brand .brand-text > span { display: none; }
.desktop-interface .login-brand h1 { font-size: 17px; font-weight: 600; margin: 0; }
.desktop-interface .login-panel h2 { font-size: 25px; margin: 0 0 8px; color: var(--ui-ink); }
.login-intro { color: var(--ui-muted); font-size: 12px; margin: 0 0 24px; }
.desktop-interface .login-panel label { font-size: 12px; color: #55555e; gap: 7px; margin-top: 17px; }
.desktop-interface .login-panel input:not([type=checkbox]) { height: 41px; }
.desktop-interface .login-btn { height: 41px; margin-top: 22px; width: 100%; font-size: 14px; letter-spacing: 0; background: var(--ui-accent); }
.desktop-interface .login-remember { font-size: 11px; margin-top: 18px; }
.desktop-interface .login-switch { font-size: 12px; color: var(--ui-muted); margin-top: 16px; }
.desktop-interface .login-tip { background: #f7f7fa; color: var(--ui-muted); font-size: 12px; border-color: var(--ui-line); line-height: 1.7; }
.desktop-interface .login-pw .pw-toggle { font-size: 11px; min-height: 30px; padding: 4px 9px; }

/* Laptop and wide desktop windows; intentionally no mobile composition. */
@media (min-width: 1720px) {
  :root { --ui-sidebar: 236px; --ui-space: 32px; }
  .desktop-interface .ws-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .desktop-interface .ov-kpis { grid-template-columns: repeat(8,minmax(0,1fr)); }
  .desktop-interface .ov-kpi { padding: 16px; }
  .desktop-interface .ov-kpi > b { font-size: 23px; }
  .desktop-interface .ov-row { grid-template-columns: 22px 42px minmax(0,1fr) auto; }
  .desktop-interface .ov-stat { grid-column: auto; display: block; text-align: right; max-width: 235px; }
  .desktop-interface .ov-detail-btn { margin-top: 7px; }
}
@media (max-width: 1279px) {
  :root { --ui-sidebar: 208px; --ui-space: 20px; }
  .desktop-interface .ws-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .desktop-interface .metric-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .desktop-interface .ov-hero { flex-wrap: wrap; }
  .desktop-interface .ov-hero-right { display: flex; flex-wrap: wrap; }
  .desktop-interface .video-workbench-grid { grid-template-columns: minmax(0,1fr); }
  .desktop-interface .video-cost-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .desktop-interface .pms-query { grid-template-columns: minmax(220px,1.5fr) 1fr 1fr; }
  .desktop-interface .pms-query > button { justify-self: start; }
  .desktop-interface .oi-thresholds { grid-template-columns: repeat(2,minmax(150px,1fr)); }
  .desktop-interface .top-actions { gap: 6px; }
  #desktopSectionName, .desktop-divider { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .desktop-interface *, .desktop-interface *::before, .desktop-interface *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@supports not (backdrop-filter: blur(1px)) {
  .desktop-interface #appTopbar { background: #fbfbfd; }
  .desktop-interface dialog::backdrop { background: #20202770; }
}

/* Migration corrections for incumbent !important rules and intrinsic-width containers. */
.desktop-interface .ws-tile { border: 0 !important; background: white !important; color: var(--ui-ink) !important; }
.desktop-interface .ws-tile:hover { background: #f5f8fc !important; }
.desktop-interface .ws-tile.soon { border: 0 !important; background: #f9f9fb !important; }
.desktop-interface .ws-grid { gap: 1px; background: white; }
.desktop-interface .ws-tile { box-shadow: 1px 1px 0 var(--ui-line-soft); }
.desktop-interface .menu-groups { background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.desktop-interface .menu-groups .ws-group { padding: 0; }
.desktop-interface .menu-hero { overflow: visible; align-items: center; padding-bottom: 16px; }
.desktop-interface .menu-hero-left { flex: 1; min-width: 0; }
.desktop-interface .menu-date { padding: 0; background: transparent; border: 0; }
.desktop-weather { font-size: 11px; color: var(--ui-muted); }
.desktop-weather > summary { padding: 4px 0; }
.desktop-interface .desktop-weather .weather-strip { position: static; width: 330px; margin-top: 7px; padding: 16px; background: var(--ui-surface); border: 1px solid var(--ui-line); border-radius: 10px; box-shadow: none; }
.desktop-interface .weather-strip :is(.wf-lunar,.wf-day b,.wf-day i,.wf-day em,.wf-day small,.wf-loading) { color: var(--ui-muted); }
.desktop-interface .weather-strip .wf-day { background: #f5f5f8; }
.desktop-interface .weather-strip .wf-fest { color: #79500c; background: #fff5df; border-color: #ead8ae; }
.desktop-interface .ov-refresh-btn { background: var(--ui-accent) !important; border: 1px solid transparent !important; color: white; backdrop-filter: none; }
.desktop-interface .ov-refresh-btn.secondary { background: white !important; border-color: var(--ui-line) !important; color: var(--ui-ink); }
.desktop-interface .ov-refresh-btn:hover { background: var(--ui-accent-strong) !important; color: white; }
.desktop-interface table th, .desktop-interface table th:first-child { background: #f5f5f8 !important; }
.desktop-interface table tfoot td, .desktop-interface table tfoot td:first-child { background: #eff3f9 !important; }
.desktop-interface dialog { border-radius: 16px !important; box-shadow: var(--ui-dialog-shadow) !important; }
.desktop-interface .link-btn { color: var(--ui-accent) !important; font-weight: 500; }
.desktop-interface .login-brand h1 { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--ui-ink); }
.desktop-interface #viewTabs { flex-wrap: nowrap; }
.desktop-interface .ov-kpis { grid-template-columns: repeat(20,minmax(0,1fr)); }
.desktop-interface .ov-kpi { grid-column: span 4; padding: 16px; }
.desktop-interface .ov-kpi:nth-child(-n+4) { grid-column: span 5; }
.desktop-interface .ov-kpi > b { font-size: 24px; }
.desktop-interface .ov-kpi > small { font-size: 11px; }
.desktop-interface .ov-rank-list { display: grid; min-height: 0; }
.desktop-interface .ov-rank-list .ov-row { flex: none; }
.desktop-interface .pms-page { width: 100%; margin: 0; }
.desktop-interface #pd-auto-list { flex: 1 1 100%; min-width: 0; max-width: 100%; padding: 0; border: 0; background: transparent; color: var(--ui-ink); }
.desktop-interface #pd-auto-list .tool-msg { margin-bottom: 12px; }
.desktop-interface #pd-auto-list small.block { display: block; }
.desktop-interface .shops-layout { grid-template-columns: minmax(350px,390px) minmax(0,1fr); gap: 20px; }
.desktop-interface .shops-layout > *, .desktop-interface .shops-grid2 > * { min-width: 0; }
.desktop-interface .shops-grid2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.desktop-interface .shops-form-block :is(input,select,textarea) { width: 100%; min-width: 0; }
.desktop-interface .shops-form-block input[type=checkbox] { width: 16px; }
.desktop-interface .shops-section { border: 0; padding: 0; color: var(--ui-muted); font-size: 12px; }
.desktop-interface .shop-card, .desktop-interface .shop-auto-item { background: #f8f8fa; border-color: var(--ui-line); box-shadow: none; }
.desktop-interface .fr-summary > div { background: #fafafc; border-color: var(--ui-line); box-shadow: none; border-radius: 9px; }
.desktop-interface .fr-head { align-items: center; flex-wrap: wrap; }
.desktop-interface .fr-head > .tool-sub { flex: 1; min-width: 300px; }
.desktop-interface .oi-health-hero { background: #f0f4f9; color: var(--ui-ink); box-shadow: none; border: 1px solid var(--ui-line); border-radius: 12px; }
.desktop-interface .oi-health-hero :is(span,small,p) { color: #555e6b; font-size: 12px; }
.desktop-interface .oi-health-hero.good b, .desktop-interface .oi-health-hero.excellent b { color: var(--ui-success); }
.desktop-interface .oi-health-hero.warn b { color: var(--ui-warning); }
.desktop-interface .oi-health-hero.error b { color: var(--ui-danger); }
.desktop-interface .oi-health-card { border: 1px solid var(--ui-line); background: white; border-radius: 10px; padding: 18px; }
.desktop-interface .oi-health-card p { font-size: 11px; color: var(--ui-muted); }
.desktop-interface .oi-health-card header span { border-radius: 5px; font-size: 10px; }
.desktop-interface .oi-alert { border: 1px solid var(--ui-line); background: white; box-shadow: none; }
.desktop-interface .ow-dialog .ow-dialog-header { padding: 22px 24px 18px; }
.desktop-interface #rosterDialog .roster-dialog { padding: 0; }
.desktop-interface #rosterDialog .roster-content { background: #f7f7fa; }
.desktop-interface #rosterDialog .roster-dialog > footer { position: static; margin: 0; flex: none; }
.desktop-interface .access-group { border-color: var(--ui-line); }
.desktop-interface .access-choice { background: #f5f5f8; }
.desktop-interface .access-choice:has(input:checked) { background: #edf4ff; }
.desktop-interface .desktop-reference-placeholder { display: grid; place-items: center; width: 48px; height: 48px; background: #ededf2; color: #62626c; font-size: 10px; border-radius: 7px; white-space: normal; }
.desktop-interface .video-section-head span { color: var(--ui-muted); letter-spacing: 0; font-size: 11px; }
.desktop-interface .desktop-header-note { margin: 6px 0 0; color: var(--ui-muted); font-size: 12px; line-height: 1.6; }
.desktop-interface .ed-dialog > header > div > small { display: none; }
.desktop-interface :is(.ov-material-icon,.ov-material-play) { display: grid; place-items: center; }
.desktop-interface :is(.rc-spec-head,.rc-spec-row) { grid-template-columns: minmax(0,1.15fr) repeat(5,minmax(0,1fr)) 56px; }
.desktop-interface .rc-spec-row input { width: 100%; min-width: 0; }
.desktop-interface .rc-del { min-height: 34px; padding: 4px 8px; background: white; color: var(--ui-muted); border: 1px solid var(--ui-line); border-radius: var(--ui-control-radius); }
.desktop-interface .rc-del:hover { background: #fff3f4; color: var(--ui-danger); border-color: #e4b5bc; }
.desktop-interface .desktop-field-error { display: block; color: var(--ui-danger); font-size: 12px; line-height: 1.5; margin-top: 6px; }
.desktop-interface .desktop-field-error[hidden] { display: none; }
.desktop-interface input[aria-invalid="true"] { border-color: var(--ui-danger); background: #fff8f8; }
.desktop-interface .pmr-ongoing { margin: 16px 0; border: 1px solid #bad0ee; border-radius: 10px; background: #f3f7fc; padding: 4px 16px; }
.desktop-interface .pmr-running-job { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 0; }
.desktop-interface .pmr-running-job + .pmr-running-job { border-top: 1px solid var(--ui-line); }
.desktop-interface .pmr-running-job p { margin: 5px 0 0; color: var(--ui-muted); font-size: 12px; }
.desktop-interface .pmr-running-job button { flex: none; }
@media (max-width: 1279px) {
  .desktop-interface .ov-kpi { padding: 12px; }
  .desktop-interface .ov-kpi > b { font-size: 21px; }
  .desktop-interface .shops-layout { grid-template-columns: minmax(330px,360px) minmax(0,1fr); }
}
