/* October Verlet system. Semantic bridge for the existing application surfaces.
   Source: supplied Design System Rebuild. Paper mode preserves user preference. */
:root, :root[data-theme=dark] {
  --paper:#0e0f10;--paper-2:#1a1d1f;--paper-3:#202427;
  --ink:#f6f3ec;--ink-2:#c9c6bf;--ink-3:#9a9c9e;--ink-4:#9a9c9e;
  --surface-raised:#121415;--sidebar:#0e0f10;--rule:#2a2d30;--rule-strong:#3a3d40;
  --vermilion:#e54b2a;--vermilion-ink:#c9c6bf;--vermilion-tint:#1c1f21;
  --text-difference:#f58c74;--text-observed:#c3d8e7;--difference-hatch:#ef896f;
  --verified:#b7d1bf;--verified-tint:#19221c;
  --signal:#f6f3ec;--signal-ink:#f6f3ec;--signal-soft:#1c1f21;
  --button-fill:#f6f3ec;--link:#f6f3ec;--link-hover:#fff;--focus-ring:#e54b2a;
  --warning:#c9c6bf;--warning-bg:#1c1f21;--hero:#121415;--hero-text:#f6f3ec;
  --font-sans:Geist,'Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-serif:var(--font-sans);--font-mono:'Geist Mono',ui-monospace,monospace;
  --card-shadow:none;--radius-sm:3px;--radius-md:6px;
  /* Audit flow: one hero figure, table cells and meta lines; a tint only for money at stake. */
  --radius-lg:10px;--difference-tint:#2a1914;
  --type-hero:400 44px/1.08 var(--font-sans);--type-cell:400 14px/20px var(--font-sans);--type-meta:400 13px/18px var(--font-sans);
  --surface-page:var(--paper);--surface-sunken:var(--paper-2);--surface-ink:var(--ink);
  --border-default:var(--rule);--border-strong:var(--rule-strong);
  --text-primary:var(--ink);--text-secondary:var(--ink-2);--text-muted:var(--ink-3);
  color-scheme:dark;background:var(--paper);color:var(--ink);
}
:root[data-theme=light] {
  --paper:#f6f3ec;--paper-2:#ece8de;--paper-3:#e1dccf;
  --ink:#0e0f10;--ink-2:#3a3d40;--ink-3:#63666a;--ink-4:#63666a;
  --surface-raised:#fbf9f4;--sidebar:#f6f3ec;--rule:#d9d3c6;--rule-strong:#bdb6a7;
  --vermilion-ink:#3a3d40;--vermilion-tint:#efebe2;
  --text-difference:#b23a1f;--text-observed:#3f5e73;--difference-hatch:#b23a1f;
  --verified:#3e6b4c;--verified-tint:#e5ece4;--difference-tint:#f7e4dc;
  --signal:#0e0f10;--signal-ink:#0e0f10;--signal-soft:#efebe2;
  --button-fill:#0e0f10;--link:#0e0f10;--link-hover:#3a3d40;
  --warning:#3a3d40;--warning-bg:#efebe2;--hero:#fbf9f4;--hero-text:#0e0f10;
  color-scheme:light;
}
body {font-family:var(--font-sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
.product-layout {font-size:15px}
.product-layout h1,.product-layout h2,.product-layout h3 {font-family:var(--font-sans);font-weight:500}
.product-layout h1 {letter-spacing:-.037em}
.product-layout main {max-width:1280px}
.product-layout .product-sidebar {background:var(--paper);border-right:1px solid var(--rule)}
.product-sidebar .product-brand {margin-bottom:40px;min-height:24px}
.product-brand .brand-lockup {display:block;width:112px;height:20px}
.product-brand .brand-lockup-paper {display:none}
[data-theme=light] .product-brand .brand-lockup {display:none}
[data-theme=light] .product-brand .brand-lockup-paper {display:block}
.product-layout .product-sidebar nav a,.product-layout .workspace-more>summary {border-radius:5px;font-weight:400}
.product-layout .product-sidebar nav a[aria-current] {border:1px solid var(--rule);background:var(--signal-soft);font-weight:500}
.product-layout .workspace-banner {border-bottom:1px solid var(--rule);min-height:72px;background:var(--paper)}
.product-layout .workspace-tools {display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.product-layout .organization-context select,.product-layout .organization-context .data-mode-label select {border-radius:5px}
.product-layout button,.product-layout .product-button,.product-layout .review-button {
  border-radius:3px;font-family:var(--font-sans);font-weight:500;min-height:44px;
  background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:none;
}
.product-layout button:hover,.product-layout .product-button:hover,.product-layout .review-button:hover {background:var(--ink-2);color:var(--paper)}
.product-layout button.secondary,.product-layout .product-button.secondary,.product-layout .review-button.secondary {background:transparent;color:var(--ink);border-color:var(--rule-strong)}
.product-layout button.secondary:hover,.product-layout .product-button.secondary:hover,.product-layout .review-button.secondary:hover {background:var(--paper-2);color:var(--ink)}
.product-layout .review-text-button,.product-layout .source-button,.product-layout .assurance-source-button {color:var(--ink-2);background:transparent;border:0}
.product-layout input,.product-layout textarea,.product-layout select {border-radius:5px!important;font-family:var(--font-sans)}
.product-layout input[type=checkbox],.product-layout input[type=radio] {accent-color:var(--ink);padding:0;flex:0 0 18px;height:18px;min-height:18px;width:18px}
.product-layout :focus-visible {outline:2px solid var(--focus-ring);outline-offset:4px}
.product-layout .review-eyebrow,.product-layout .vendor-eyebrow,.product-layout .assurance-kicker,.product-layout .eyebrow,.product-layout .product-table th {text-transform:none;letter-spacing:0;font-weight:400}
.product-layout .review-panel,.product-layout .review-single,.product-layout .review-upload,.product-layout .assurance-panel,.product-layout .product-panel,.product-layout .vendor-card {border-radius:6px;box-shadow:none}
.product-layout .review-workspace {--review-accent:var(--ink);--review-tint:var(--paper-2)}
.product-layout .review-welcome {padding:24px 0}
.review-welcome .review-welcome-mark {border:0;border-radius:0;width:64px;height:36px;margin-bottom:26px}
.review-welcome-mark img {width:64px;height:36px}
[data-theme=light] .review-welcome-mark img {content:url('/brand-mark-ink.svg')}
.product-layout .review-welcome h1 {max-width:700px;font-size:clamp(34px,4vw,48px)}
.product-layout .review-example-banner {background:var(--paper-2);border:1px solid var(--rule);border-radius:5px}
.product-layout .review-trail span {border-radius:3px}
.product-layout .review-trail li:not(:last-child):after {content:'›';height:auto;background:none;font-size:24px;color:var(--ink-3);text-align:center}
.product-layout .review-bar-track {height:12px;background:transparent;border-radius:0;overflow:visible}
.product-layout .review-bar-fill,.product-layout .review-bar-row.charged .review-bar-fill {display:flex;border-radius:0;background:var(--ink-2);opacity:1}
.review-bar-fill .review-bar-common {height:100%;background:var(--ink-2)}
.review-bar-fill .review-bar-excess {height:100%;background:repeating-linear-gradient(135deg,var(--difference-hatch) 0 1.5px,transparent 1.5px 5px);box-shadow:inset 0 0 0 1px var(--difference-hatch)}
.product-layout .review-bar-row.charged .review-bar-fill:has(.review-bar-excess) {background:transparent}
.product-layout .review-difference strong,.product-layout .assurance-difference,.product-layout .vendor-difference {color:var(--text-difference);font-weight:450}
.product-layout .review-bar-row strong {font-weight:450;font-variant-numeric:tabular-nums}
.product-layout .review-filters button,.product-layout .vendor-tabs button,.product-layout .workspace-summary-tabs button,.product-layout .assurance-tabs button {background:transparent;color:var(--ink-3);border-color:transparent;border-radius:0;box-shadow:none}
.product-layout .review-filters button[aria-pressed=true],.product-layout .vendor-tabs button[aria-selected=true],.product-layout .workspace-summary-tabs button[aria-selected=true],.product-layout .assurance-tabs button[aria-selected=true] {color:var(--ink);border-bottom:2px solid var(--ink);background:transparent}
.product-layout .product-badge,.product-layout .assurance-chip {border-radius:3px;color:var(--ink-2);background:var(--chip)}
.product-layout dialog {background:var(--paper);color:var(--ink);border:1px solid var(--rule-strong);border-radius:10px}
.product-layout dialog .assurance-submit {background:var(--paper)}
.product-layout dialog::backdrop {background:rgb(6 7 8 / 72%)}
.review-orientation {margin:24px 0 32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--rule)}
.review-orientation>div {padding:20px 18px 20px 0;position:relative}
.review-orientation>div+div {border-left:1px solid var(--rule);padding-left:20px}
.review-orientation strong {display:block;font-size:14px;font-weight:500}
.review-orientation p {margin:6px 0 0;font-size:13px;color:var(--ink-3)}
.review-orientation .observed {color:var(--text-observed)}
.product-layout .context-help {background:transparent;color:var(--ink-3);border:0;text-decoration:underline;text-underline-offset:4px;padding:8px 0;font-size:13px;font-weight:400;justify-content:flex-start}
.product-layout .context-help:hover {background:transparent;color:var(--ink)}
.signin .brand img {width:112px;height:20px}
[data-theme=light] .signin .brand img {content:url('/brand-wordmark-ink.svg')}
.signin .intro,.signin .note,.signin #login-status,body:has(.signin)>footer {color:var(--ink-3)}
.signin input:not([type=hidden]) {background:var(--surface-raised);color:var(--ink);border-color:var(--rule-strong);font-family:var(--font-sans)}
.signin button {font-family:var(--font-sans);background:var(--ink);color:var(--paper);font-weight:500}
.signin button.secondary {background:transparent;color:var(--ink);border-color:var(--rule-strong)}
.signin #login-error {background:var(--paper-2);color:var(--ink);border-left:2px solid var(--vermilion)}
@media(max-width:800px){
  .product-layout .product-sidebar {border-right:0;border-bottom:1px solid var(--rule)}
  .product-sidebar .product-brand {margin-bottom:0}
  .product-layout .workspace-banner {padding:12px 20px;gap:10px;flex-wrap:wrap}
  .product-layout .workspace-tools {width:100%;gap:10px;flex-wrap:nowrap}
  .product-layout .organization-context {flex:1;min-width:0}
  .product-layout .organization-context>div {grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .product-layout .organization-context select {min-width:0;padding-left:8px}
  .product-layout main {padding:28px 20px 50px}
}
@media(max-width:540px){
  .review-orientation {grid-template-columns:1fr}
  .review-orientation>div {padding:14px 0}
  .review-orientation>div+div {border-left:0;border-top:1px solid var(--rule);padding-left:0}
  .product-layout .review-welcome {padding-top:28px}
  .product-layout .review-bar-track {height:10px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.workspace-banner,.guide-welcome,.guide-dialog{display:none!important}body{background:#fff;color:#0e0f10}}

/* Recoverable cleanup uses the same selection pattern in both libraries. */
.cleanup-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.cleanup-controls label{display:flex;flex-direction:row;align-items:center;gap:8px}.cleanup-controls input[type=checkbox],.cleanup-choice input[type=checkbox]{width:18px;height:18px;min-height:18px;padding:0;margin:0;flex:0 0 18px;accent-color:var(--ink,#282621)}.cleanup-select-row{display:flex;align-items:center;gap:12px;min-width:0}.cleanup-select-row>.review-list-row,.cleanup-select-row>a,.cleanup-select-row>button{flex:1;min-width:0}.cleanup-choice{display:flex;align-items:center;padding:12px 4px}.cleanup-dialog{width:min(560px,calc(100vw - 32px));max-height:85vh;box-sizing:border-box;overflow:auto;padding:28px;border:1px solid var(--border,#ccc);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#282621)}.cleanup-dialog::backdrop{background:rgba(0,0,0,.45)}.cleanup-dialog label{display:block;margin:14px 0}.cleanup-dialog input{display:block;width:100%;box-sizing:border-box;margin-top:6px}.cleanup-dialog .cleanup-close{float:right}.cleanup-dialog h2{clear:both;padding-top:16px}.cleanup-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.cleanup-dialog .danger{background:#a32929;color:white;border-color:#a32929}.cleanup-trash-row{padding:16px 0;border-bottom:1px solid var(--border,#ccc)}.cleanup-trash-row strong,.cleanup-trash-row small{display:block;overflow-wrap:anywhere;margin-bottom:8px}.cleanup-counts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cleanup-counts>div{display:flex;justify-content:space-between;gap:8px}.cleanup-counts dd{margin:0}.cleanup-dialog [role=alert]{color:var(--danger)}.cleanup-reset{margin-top:32px}

.trash-items .cleanup-trash-row{display:flex;align-items:center;gap:20px;justify-content:space-between}.trash-items .cleanup-choice{gap:14px;min-width:0;flex:1;flex-direction:row}.trash-items .cleanup-choice span{min-width:0}.trash-items .cleanup-trash-row button{flex-shrink:0}@media(max-width:480px){.trash-items .cleanup-trash-row{align-items:flex-start;flex-wrap:wrap;gap:8px}.trash-items .cleanup-choice{flex-basis:100%}}

/* Keep the active organization readable on narrow screens. */
@media(max-width:800px){
  .product-layout .workspace-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:8px}
  .product-layout .organization-context{grid-column:1/-1;width:100%;min-width:0}
  .product-layout .organization-context>div{display:block;width:100%}
  .product-layout .organization-context select{width:100%;min-height:44px;font-size:14px;padding:8px 12px}
  .product-layout .workspace-tools .guide-trigger{justify-self:start}
}
.staging-banner { position: fixed; bottom: 76px; right: 16px; max-width: calc(100vw - 32px); z-index: 10000; padding: 6px 16px; background: #ffca66; color: #17120a; font: 600 12px/1.5 system-ui,sans-serif; border-radius: 8px; pointer-events: none; }

/* Paired charts use semantic colors, independent of neutral brand accents. */
:root{--chart-current:#83b5ee;--chart-changed:#ff795c}
:root[data-theme=light]{--chart-current:#3975b9;--chart-changed:#b9361d}

/* Approved November workspace: one scale, deliberate surfaces, semantic color. */
:root,:root[data-theme=dark]{--paper:#0e1318;--paper-2:#18212b;--paper-3:#202d39;--surface-raised:#18222d;--sidebar:#10171e;--ink:#edf2f7;--ink-2:#c3cdd8;--ink-3:#9baaba;--rule:#465b70;--rule-strong:#637e98;--link:#8cbcff;--link-hover:#bbd8ff;--focus-ring:#8cbcff;--signal-soft:#192d44;--signal-ink:#9bc8ff;--verified:#a2d9b3;--verified-tint:#172b22;--text-difference:#edbd68;--warning:#edbd68;--warning-bg:#30291c;--button-fill:#2574cf;--danger:#ff8a80;--danger-tint:#3a1f1d}
:root[data-theme=light]{--paper:#f5f7fa;--paper-2:#eaf0f6;--paper-3:#dce6f0;--surface-raised:#fff;--sidebar:#f1f5f9;--ink:#182534;--ink-2:#405269;--ink-3:#586c82;--rule:#d5dfe9;--rule-strong:#a8bacd;--link:#175ca8;--link-hover:#10467f;--focus-ring:#2574cf;--signal-soft:#dceafa;--signal-ink:#174f8f;--verified:#27643e;--verified-tint:#e4f3e9;--text-difference:#85580e;--warning:#85580e;--warning-bg:#fff1d7;--button-fill:#175ca8;--danger:#b3261e;--danger-tint:#fbe9e7}
/* Older component names, bridged to the same tokens so neither theme falls back to fixed colours. */
:root{--surface:var(--surface-raised);--border:var(--rule);--text:var(--ink);--success:var(--verified);--error:var(--danger);--warning-tint:var(--warning-bg);--surface-hover:color-mix(in srgb,var(--ink) 6%,transparent);--chip:color-mix(in srgb,var(--ink) 8%,transparent)}
::placeholder{color:var(--ink-3);opacity:1}
.product-layout{padding-left:208px;font-size:13px}
.product-layout .product-sidebar{width:208px;padding:24px 12px 16px;background:var(--sidebar)}
.product-sidebar .product-brand{margin:0 0 24px;padding:0 12px}
.product-brand .brand-lockup{width:112px;height:24px}
.product-sidebar .primary-navigation{gap:4px}
.product-layout .product-sidebar nav a{min-height:36px;padding:8px 12px;gap:10px;border:1px solid transparent;border-radius:5px;font-size:13px;line-height:1.45}
.product-layout .product-sidebar nav a[aria-current]{background:var(--signal-soft);border-color:transparent;color:var(--signal-ink);box-shadow:inset 3px 0 var(--link);font-weight:500}
.product-sidebar .nav-icon{width:16px;height:16px;flex-basis:16px}
.product-sidebar .product-nav-support{padding-top:16px;margin-top:22px;border-top:1px solid var(--rule)}
.product-sidebar .product-nav-support nav{gap:3px}
.product-layout .product-sidebar .theme-toggle,.product-sidebar .profile-settings{font-size:12px;padding:8px 12px;min-height:36px;margin-top:8px}
.product-layout .product-sidebar .theme-toggle{color:var(--ink-2);background:transparent}
.product-sidebar .profile-settings summary{overflow-wrap:anywhere}
.product-layout .workspace-banner{min-height:48px;padding:8px 28px;background:var(--paper)}
.product-layout main{padding:24px 28px 48px;max-width:1280px;width:100%;box-sizing:border-box;margin:0 auto}
.product-layout h1{font-size:26px;line-height:1.25;letter-spacing:-.025em}
.product-layout h2{font-size:17px;line-height:1.4}
.product-layout h3{font-size:14px;line-height:1.4}
.product-layout p{line-height:1.6}
.product-layout button,.product-layout .product-button,.product-layout .review-button{min-height:36px;padding:8px 13px;border-radius:5px;font-size:12px;background:var(--button-fill);border-color:var(--button-fill);color:#fff}
.product-layout button:hover,.product-layout .product-button:hover,.product-layout .review-button:hover{background:color-mix(in srgb,var(--button-fill) 85%,black);color:#fff}
.product-layout input:not([type=checkbox]):not([type=radio]),.product-layout select{min-height:36px;font-size:12px;padding:8px 10px;background-color:var(--surface-raised);border-color:var(--rule-strong)}
.product-layout .cleanup-controls{margin:12px 0;gap:10px;font-size:12px}
.product-layout .cleanup-controls button{min-height:32px;font-size:11px;padding:6px 10px}
.product-layout .staging-banner{bottom:0;right:0;left:208px;max-width:none;padding:5px 14px;background:var(--sidebar);color:var(--ink-3);border-top:1px solid var(--rule);border-radius:0;font-size:10px;font-weight:400;text-align:left}
@media(max-width:800px){.product-layout{padding-left:0}.product-layout .product-sidebar{width:100%;padding:12px 18px}.product-sidebar .product-brand{margin:0;padding:0}.product-layout main{padding:20px 16px 44px}.product-layout .workspace-banner{padding:8px 16px}.product-layout .staging-banner{left:0}.product-layout button,.product-layout .review-button{min-height:40px}.product-sidebar .product-nav-support{margin-top:12px}}
/* Desktop density must not shrink mobile touch targets. */
@media(max-width:800px){.product-layout .product-sidebar nav a,.product-layout .product-sidebar .theme-toggle,.product-layout button,.product-layout .product-button,.product-layout .review-button,.product-layout input:not([type=checkbox]):not([type=radio]),.product-layout select{min-height:44px}}
