
:root{--c-canvas:#FFFFFF;--c-stone:#F7F8FA;--c-stone-2:#EFF1F5;--c-line:#E6EAF0;--c-line-strong:#D5DBE4;--c-text:#10243A;--c-text-2:#63748A;--c-brand:#488CCC;--c-link:#2F6AA3;--c-primary:#3578B8;--c-primary-text:#2F6AA3;--c-primary-hover:#2F6AA3;--c-select:#EAF2FB;--st-critical:#C4463C;--st-functioning:#D69A2D;--st-stable:#3B6FD4;--st-strong:#2F8F5B;--st-none:#7A8794;--st-critical-text:#B23A31;--st-functioning-text:#946000;--st-stable-text:#2F5FC0;--st-strong-text:#237A4B;--st-none-text:#5F6B78;--st-critical-bg:#FBE9E7;--st-functioning-bg:#FBF1DC;--st-stable-bg:#E8EEFB;--st-strong-bg:#E6F4EC;--st-none-bg:#EEF0F3;--c-seg:#E9ECF0;--c-accent-bg:#EAF2FA;--font-heading-print:'Source Serif 4',Georgia,serif;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--r-control:8px;--r-card:12px;--r-pill:999px;--h-sm:32px;--h-md:40px;--h-lg:44px;--bar-h:52px;--rail-w:64px;--gutter:24px;--fs-title:28px;--lh-title:36px;--fs-section:20px;--lh-section:28px;--fs-sub:16px;--lh-sub:24px;--fs-body:14px;--lh-body:22px;--fs-small:13px;--lh-small:20px;--fs-label:12px;--lh-label:16px;--fs-metric:32px;--lh-metric:36px;}
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:var(--h-sm);padding:0 var(--s-3);border-radius:var(--r-control);border:0;background:transparent;font:550 13px/20px var(--font-family);color:var(--c-text);cursor:pointer;white-space:nowrap;text-decoration:none}
.ds-btn:hover{background:var(--c-stone-2);text-decoration:none}
.ds-btn:focus-visible,.ds-chip:focus-visible,.ds-input:focus-visible,.ds-select:focus-visible,.ds-menu-item:focus-visible,.ds-tab:focus-visible,.ds-row:focus-visible,.ds-nav-item:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px}
.ds-btn.primary{background:var(--c-primary);color:#fff}
.ds-btn.primary:hover{background:var(--c-primary-hover)}
.ds-btn.secondary{background:var(--c-canvas);box-shadow:inset 0 0 0 1px var(--c-line-strong)}
.ds-btn.secondary:hover{background:var(--c-stone)}
.ds-btn.md{height:var(--h-md);padding:0 var(--s-4);font-size:14px}
.ds-btn.lg{height:var(--h-lg);padding:0 var(--s-4);font-size:14px}
.ds-btn.icon{width:var(--h-sm);padding:0;color:var(--c-text-2)}
.ds-btn.icon:hover{color:var(--c-text)}
.ds-btn[disabled],.ds-btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.ds-input,.ds-select{height:var(--h-md);padding:0 var(--s-3);border:0;border-radius:var(--r-control);background:var(--c-canvas);box-shadow:inset 0 0 0 1px var(--c-line-strong);font:400 14px/22px var(--font-family);color:var(--c-text);min-width:0}
.ds-input::placeholder{color:var(--c-text-2)}
.ds-chip{display:inline-flex;align-items:center;min-height:var(--h-sm);padding:4px var(--s-3);border-radius:var(--r-pill);background:var(--c-stone);border:0;font:400 13px/20px var(--font-family);color:var(--c-text);cursor:pointer;text-decoration:none}
.ds-chip:hover{background:var(--c-stone-2);text-decoration:none}
.ds-chip.on{background:var(--c-select);color:var(--c-link)}
.ds-link{color:var(--c-link);text-decoration:none;font-weight:500}.ds-link:hover{text-decoration:underline}
.rf-lv,.ds-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);background:var(--st-none-bg);color:var(--st-none-text);font-size:12px;line-height:16px;font-weight:600;white-space:nowrap;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ds-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.rf-lv i{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;transform:none;border:0}.rf-lv-on i,.rf-lv-below i,.rf-lv-above i{display:none}
.ds-status.critical{background:var(--st-critical-bg);color:var(--st-critical-text)}.ds-status.functioning{background:var(--st-functioning-bg);color:var(--st-functioning-text)}.ds-status.stable{background:var(--st-stable-bg);color:var(--st-stable-text)}.ds-status.strong{background:var(--st-strong-bg);color:var(--st-strong-text)}
.rf-lv-critical{background:var(--st-critical-bg);color:var(--st-critical-text)}.rf-lv-functioning{background:var(--st-functioning-bg);color:var(--st-functioning-text)}.rf-lv-stable{background:var(--st-stable-bg);color:var(--st-stable-text)}.rf-lv-strong{background:var(--st-strong-bg);color:var(--st-strong-text)}
.ds-status.none{background:var(--st-none-bg);color:var(--st-none-text)}.ds-status.nodot::before{display:none}
.ds-card{background:var(--c-canvas);border:1px solid var(--c-line);border-radius:var(--r-card);padding:var(--s-4)}
.ds-bar{display:block;position:relative;height:6px;border-radius:9px;background:var(--c-seg);margin:4px 0 2px}.ds-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:9px;background:var(--st-none)}.ds-bar u{position:absolute;right:0;top:-3px;bottom:-3px;width:2px;background:var(--c-text);opacity:.55;text-decoration:none}
.ds-bar.critical i{background:var(--st-critical)}.ds-bar.functioning i{background:var(--st-functioning)}.ds-bar.stable i{background:var(--st-stable)}.ds-bar.strong i{background:var(--st-strong)}
.ds-mv{display:inline-block;font-size:12px;line-height:16px;font-weight:600;color:var(--st-none-text)}.ds-mv.up{color:var(--st-strong-text)}.ds-mv.dn{color:var(--st-critical-text)}.ds-mv.up::before{content:"\25B2"}.ds-mv.dn::before{content:"\25BC"}.ds-mv.fl::before{content:"\25CF"}
.ds-panel{background:var(--c-stone);border-radius:var(--r-card);padding:var(--s-4)}
.ds-panel.roomy{padding:var(--s-5)}
.ds-evidence{background:var(--c-stone);border-radius:var(--r-card);padding:var(--s-4)}
.ds-row{display:grid;align-items:center;column-gap:var(--s-4);min-height:var(--h-lg);padding:var(--s-2);margin:0 calc(-1 * var(--s-2));border-radius:var(--r-control);color:inherit;text-decoration:none;position:relative}
.ds-row:hover{background:var(--c-stone)}
.ds-row+.ds-row::before{content:"";position:absolute;left:var(--s-2);right:var(--s-2);top:0;height:1px;background:var(--c-line)}
.ds-row:hover::before,.ds-row:hover+.ds-row::before{opacity:0}
.ds-group-label{margin:var(--s-5) 0 var(--s-1);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-2)}
.ds-tabs{display:flex;gap:var(--s-5);box-shadow:inset 0 -1px 0 var(--c-line)}
.ds-tab{background:none;border:0;padding:var(--s-2) 0;font:500 14px/22px var(--font-family);color:var(--c-text-2);cursor:pointer;position:relative}
.ds-tab:hover{color:var(--c-text)}.ds-tab.on{color:var(--c-text)}.ds-tab.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--c-brand);border-radius:2px 2px 0 0}
.ds-toolbar{height:var(--bar-h);flex:none;display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-3) 0 var(--gutter);box-shadow:inset 0 -1px 0 var(--c-line);min-width:0;background:var(--c-canvas)}
.ds-menu{min-width:200px;background:var(--c-canvas);border-radius:var(--r-card);padding:var(--s-1);box-shadow:0 0 0 1px var(--c-line),0 8px 24px rgba(16,36,58,.10)}
.ds-menu-item{display:block;width:100%;text-align:left;height:var(--h-sm);padding:0 var(--s-3);border:0;background:transparent;border-radius:var(--r-control);font:400 13px/32px var(--font-family);color:var(--c-text);cursor:pointer}
.ds-menu-item:hover{background:var(--c-stone)}.ds-menu-item.danger{color:var(--st-critical-text)}
.ds-menu-sep{height:1px;background:var(--c-line);margin:var(--s-1) var(--s-2)}
.ds-dialog{padding:var(--s-5);border-radius:var(--r-card);background:var(--c-canvas);box-shadow:0 0 0 1px var(--c-line),0 16px 40px rgba(16,36,58,.14)}
.ds-composer{border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--c-line-strong),0 1px 2px rgba(16,36,58,.04);padding:var(--s-3) var(--s-3) var(--s-2) var(--s-4);background:var(--c-canvas);min-height:var(--h-lg)}
.ds-section{margin-top:var(--s-6);padding-top:var(--s-6);box-shadow:inset 0 1px 0 var(--c-line)}
.ds-section-title{font-size:20px;line-height:28px;font-weight:650;letter-spacing:-.005em;margin:0 0 var(--s-3)}
.ds-title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-.01em;margin:0}
.ds-sub{font-size:16px;line-height:24px;font-weight:600;margin:0}
.ds-small{font-size:13px;line-height:20px;color:var(--c-text-2)}
.ds-label{font-size:12px;line-height:16px;font-weight:500;color:var(--c-text-2)}
.ds-metric{font-size:32px;line-height:36px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.ds-measure{max-width:70ch}
.ds-conf-next{background:var(--c-stone);border-radius:var(--r-card);padding:var(--s-4);margin-top:var(--s-3);break-inside:avoid}
.ds-conf-next .hd b{font-size:14px;line-height:22px;font-weight:600}.ds-conf-next p{margin:var(--s-2) 0 0;font-size:14px;line-height:22px}
.ds-conf-next ol{margin:var(--s-2) 0 0;padding-left:20px}.ds-conf-next li{padding:2px 0 var(--s-1) 4px;font-size:14px;line-height:22px}.ds-conf-next li::marker{color:var(--c-text-2);font-weight:600}
.ds-conf-next .lead-in,.ds-conf-next .after{font-size:13px;line-height:20px;color:var(--c-text-2)}.ds-conf-next .why{color:var(--c-text-2)}
.ds-conf-line{display:flex;gap:var(--s-5);flex-wrap:wrap;margin-top:var(--s-3);font-size:13px;color:var(--c-text-2)}.ds-conf-line b{color:var(--c-text);font-weight:600}
:root {
 /* === PERFOPS DIAGNOSTIC '97 GLOBAL PRODUCT DESIGN SYSTEM ===
 This is now the real source of truth (the new CSS guide), not an
 approximation of it. The previous version of this block claimed to
 match the spec but aliased --ink-600 and --ink-400 onto the same
 --muted value - exactly the "not enough real text levels" problem
 the new guide calls out by name. Fixed here: every --ink-* level
 below is now a genuinely distinct color, not a shared alias.
 Legacy variable names used throughout the rest of this file (--muted,
 --border, --surface-raised, --blue-*, etc.) are kept and mapped onto
 the closest correct new token, so the ~19k lines outside Intake that
 reference them still resolve sensibly without a full rewrite in one
 pass - but they now inherit the corrected, de-duplicated palette. */
 --navy-950: #10243A;
 --navy-900: #15354D;
 --navy-800: #1B405B;
 --steel-700: #315A76;
 --steel-600: #4D789A;
 --steel-500: #5F849D;
 --steel-300: #B9CDD8;
 --steel-200: #D6E1E7;
 --steel-100: #EAF3FF;
 --steel-050: #F4F7FB;
 /* legacy brand aliases */
 --navy-700: var(--steel-700);
 --blue-600: #356FA3;
 --blue-400: #7399BA;
 --blue-200: #C7D7E5;
 --blue-100: #EAF1F6;
 --blue-050: #F4F7FA;

 /* neutrals - five real, distinct levels, per the guide */
 --ink: #10243A; /* design system v2 navy (was #24313D);  page titles / conclusions - updated 2026-10-15 to the new Notion/Attio-style palette's primary text */
 --ink-800: #293E4D; /* strong supporting text */
 --ink-600: #63748A; /* design system v2 secondary (was #737A80);  normal body copy - revised 2026-10-15 to the neutral-gray palette (beige undertones dropped) */
 --ink-400: #8A99A8; /* metadata / helper */
 --ink-300: #9EACB5; /* tertiary */
 --text-primary: var(--ink);
 --text-secondary: var(--ink-600);
 --text-tertiary: var(--ink-400);
 /* legacy neutral aliases - now resolve to real, distinct levels */
 --ink-950: var(--ink);
 --muted: var(--ink-600);

 /* surfaces - Soft blue-gray workspace background, white cards */
 --canvas: #FFFFFF; /* Workspace/right-panel bg -> matches the main chat area (white), 2026-10-15 */
 --surface: #FFFFFF;
 --surface-raised: var(--surface);
 --surface-muted: #F7F9FA;
 --surface-subtle: #FAFBFC;
 --surface-steel: #F0F6F8;

 /* borders */
 --line: #E6EAF0; /* design system v2 divider (was #E5E7E7);  Soft gray border, revised 2026-10-15 to drop beige undertones */
 --line-soft: #E6EAF0;
 --line-strong: #D5DBE4;
 --border: var(--line);
 --border-soft: var(--line-soft);
 --border-strong: var(--line-strong);
 --border-faint: var(--line-soft);

 /* status - semantic colors, consistent meaning everywhere (per
 the design system: blue is always In Progress/Information, never
 Needs Attention on one page and something else on another) */
 --success: #16866A; --success-bg: #E4F5ED;
 --warning: #B7791F; --warning-bg: #FFF3DC;
 --danger: #D3454C; --danger-bg: #FDECEF;
 --info: #0866E8; --info-bg: #EAF3FF;
 --alt: #6B57C7; --alt-bg: #F0EDFF;
 --signal: var(--warning); --signal-bg: var(--warning-bg);

 /* layout */
 --sidebar-width: 240px;
 --nb-motion-duration: 260ms;
 --nb-motion-duration-pill: 300ms;
 --nb-motion-ease: cubic-bezier(.2, .8, .2, 1);
 --nb-motion-spring: cubic-bezier(.34, 1.45, .5, 1);
 --nb-topnav-font-size: 14px;
 --nb-title-font-size: 18px;
 --nb-side-item-font-size: var(--text-ui);
 --nb-nav-row-font-size: var(--text-body);
 --nb-active-bg: #EAF2FB;
 --sidebar-bg: #F7F8FA;
 --sidebar-active: #FFFFFF;
 --sidebar-text: #10243A;
 --sidebar-muted: #5B6B80;
 --sidebar-border: #E6EAF0;
 --topbar-height: 52px;
 --content-max: 1280px;

 /* spacing - the guide's own scale */
 --space-0: 0; --space-1: 4px; --space-2: 8px; --space-3: 10px;
 --space-4: 12px; --space-5: 14px; --space-6: 16px; --space-7: 18px;
 --space-8: 20px; --space-10: 24px; --space-12: 32px;

 /* shape */
 --radius-xs: 4px;
 --radius-sm: 5px;
 --radius-md: 8px;
 --radius-lg: 8px;
 --radius-pill: 999px;
 --radius-full: 50%;
 --radius-season: 6px;

 --shadow-card: 0 1px 2px rgba(14,38,58,.035);
 --shadow-pop: 0 8px 24px rgba(14,38,58,.10);

 /* ---- compatibility aliases: existing rules resolve into the system ---- */
 --page-bg: var(--canvas);
 --surface-sunk: var(--canvas);
 --sidebar-w: var(--sidebar-width);
 --topbar-h: var(--topbar-height);
 --gap-icon: var(--space-2);
 --gap-button: var(--space-3);
 --gap-card: var(--space-3);
 --pad-card: var(--space-8);
 --gap-section: var(--space-6);
 --gap-page: var(--space-8);
 --row-y: var(--space-4); --stack-sm: var(--space-2); --stack-md: var(--space-4); --stack-lg: var(--space-6);

 /* === type: Inter app-wide, 2026-10-11 Sayo locked typography spec.
 --font-editorial (Source Serif 4) is the ONE editorial exception:
 the Briefing's main headline/section headings and formal PDF
 report titles/major section headings ONLY - everything else
 (including Diagnoses and Plans, which stay Inter throughout even
 where detailed) uses --font-app. --font-display-family is kept as
 an alias onto --font-editorial for the handful of legacy rules that
 still reference it (.editorial/.editorial-quote/.nav-cta-title/
 .head-quote - confirmed via a full-file grep to be unused by any
 real markup today, so repointing it has no visible effect) rather
 than left on the old Cormorant Garamond font this guide replaces === */
 --font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
 --font-ui-family: var(--font-family);
 --font-app: var(--font-family);
 --font-editorial: 'Source Serif 4', Georgia, serif;
 --font-display-family: var(--font-editorial);

 /* Briefing + formal PDF report editorial type scale (section 1/2 of
 Sayo's 2026-10-11 spec) - named directly off her table rather
 than reused from the generic --text-* ladder, since these are fixed,
 locked values that do not move with the rest of the scale. */
 --editorial-headline-size: 32px; --editorial-headline-weight: 600; --editorial-headline-leading: 40px;
 --editorial-section-size: 22px; --editorial-section-weight: 600; --editorial-section-leading: 30px;
 --detail-title-size: 26px; --detail-title-weight: 700; --detail-title-leading: 34px;

 /* Table-specific sizes - no existing token landed at exactly 12/13px,
 so these are named centrally here (Sayo: "define these centrally
 rather than introducing independent font sizes on different
 pages") rather than hardcoded per table class. */
 --text-table-head: 12px; --text-table-body: 13px;

 --text-display: 2rem;
 --text-h1: 1.875rem;
 --text-h2: 1.25rem;
 --text-h3: 1rem;
 --text-body: 1rem;
 --text-ui: 0.875rem;
 --text-meta: 0.75rem;
 --text-label: 0.75rem;
 --text-summary: 0.9375rem;
 --text-summary-lg: 1rem;
 --text-metric: 2rem;

 /* secondary/compact scale - below --text-ui, used throughout badges,
 nav copy, and dense panel/card text. Formalizes values that were
 already in consistent use but never had tokens of their own. */
 --text-stat-sm: 1.0625rem;
 --text-compact: 0.875rem;
 --text-compact-sm: 0.78125rem;
 --text-micro-lg: 0.75rem;
 --text-micro: 0.75rem;
 --text-micro-sm: 0.75rem;
 --text-nano: 0.75rem;

 /* headline/hero ladder gaps - 24/22/18 sit between named h1/h2 rungs;
 26/23 are .hero-title's own responsive breakpoint sizes. */
 --text-h1-sm: 1.5rem;
 --text-h1-xs: 1.375rem;
 --text-h2-sm: 1.125rem;
 --text-hero-md: 1.625rem;
 --text-hero-sm: 1.4375rem;

 /* big numeral displays (scores, KPIs) */
 --text-score-lg: 1.625rem;
 --text-score-sm: 1.1875rem;

 /* editorial pull-quote sizes */
 --text-quote-lg: 1.4375rem;
 --text-quote: 1.3125rem;

 /* aliases used by existing rules */
 --text-hero: var(--text-display);
 --text-title: var(--text-h1);
 --text-section: var(--text-h2);
 --text-card: var(--text-h3);
 --text-bodysm: var(--text-ui);
 --text-eyebrow: var(--text-label);
 --text-nav: var(--text-ui);
 --text-btn: var(--text-ui);
 --text-2xl: var(--text-h1); --text-xl: var(--text-h2);
 --text-lg: var(--text-h3); --text-md: var(--text-body);
 --text-base: var(--text-body); --text-sm: var(--text-ui);
 --text-xs: var(--text-meta);
 --display-sm: 1.125rem; --display-md: 1.5rem; --display-lg: var(--text-metric);
 --font-ui: var(--font-family);
 --font-display: var(--font-display-family);

 /* Weights: 400 body, 500 UI emphasis, 600 headings. --weight-black
 (700) added 2026-10-11 per Sayo’s locked typography spec, which
 calls for 700 on several specific titles (Diagnosis/Plan/Panel
 Detail titles, the Briefing headline) - several real rules already
 hardcoded a literal 700 outside the token system before this; those
 are migrated onto this token below instead of left as independent
 literals, per Sayo's own “define centrally” instruction. */
 --weight-normal: 400;
 --weight-medium: 500;
 --weight-semi: 600;
 --weight-bold: 600;
 --weight-black: 700;
 --weight-metric: 600;

 --leading-hero: 1.12; --leading-tight: 1.15; --leading-normal: 1.5;
 --leading-ui: 1.45; --leading-relaxed: 1.6;
 --tracking-label: 0.12em;

 /* ink aliases */
 --ink-soft: var(--ink);
 --ink-muted: var(--muted);
 --ink-faint: var(--muted);

 /* accent aliases - PerfIQ signature blue (2026-10-14 brand
 refresh), the design system's primary action/interaction color. */
 --accent: #488CCC;
 --accent-deep: var(--navy-950);
 --accent-bright: #488CCC;
 --accent-soft: var(--steel-100);
 --accent-pale: var(--steel-100);
 --accent-selected: var(--steel-100);
 --accent-selected-strong: var(--steel-100);

 --positive: var(--success);
 --risk: var(--danger);
 --pfp-muted: var(--muted);
}
@media (prefers-reduced-motion: reduce) { :root { --nb-motion-duration: 0.01ms; --nb-motion-duration-pill: 0.01ms; } }
@media (max-width: 900px) { :root { --nb-topnav-font-size: 15px; --nb-title-font-size: 17px; } html.nb-phone { --nb-side-item-font-size: 17px; } }
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { min-width: 320px; font-family: var(--font-ui); font-size: var(--text-body); line-height: 1.6; color: var(--ink); background: var(--page-bg); -webkit-font-smoothing: antialiased; hyphens: none; -webkit-hyphens: none; }
table, .kpi-value, .dd-trend-value, .conf-bar-val, .ovb-track-val, .bf4-hero-title { font-variant-numeric: tabular-nums; }
html { scrollbar-width: thin; scrollbar-color: #D5DCE2 transparent; }
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: transparent; border: 0; }
::-webkit-scrollbar-thumb { background: #D5DCE2; border-radius: 999px; border: 0; }
::-webkit-scrollbar-thumb:hover { background: #BFC9D1; }
h1, h2, h3, h4, p { margin: 0; }
button, input, select, textarea { font: inherit; }
/* Editorial serif - quotes and brand moments only, never product UI. */
.editorial { font-family: var(--font-display); font-weight: 400; letter-spacing: 0.005em; }
.editorial-quote { font-family: var(--font-display); font-style: italic; font-size: var(--text-h2); line-height: 1.35; color: var(--accent); }
.shell { display: flex; min-height: 100vh; }
.new-wrap { position: relative; margin-bottom: var(--space-2); }
.new-btn { display: flex; align-items: center; gap: var(--space-2); width: 100%; background: rgba(14,27,42,0.07); border: none; color: var(--ink); font-size: var(--text-sm); font-weight: 500; padding: var(--space-2) var(--space-2); border-radius: var(--radius-sm); cursor: pointer; font-family: inherit; }
.new-btn:hover { background: rgba(14,27,42,0.11); }
.new-menu { display: none; position: absolute; top: calc(100% + 4px); left: 0; min-width: 172px; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: var(--space-2); box-shadow: 0 8px 24px -6px rgba(14,27,42,0.16); z-index: 30; }
.new-menu.open { display: block; }
.new-item { display: block; font-size: var(--text-sm); color: var(--ink-soft); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); cursor: pointer; white-space: nowrap; }
.new-item:hover { background: var(--page-bg); color: var(--ink); }
.nav-diag-wrap.nav-sub-open .nav-caret { transform: rotate(180deg); }
.nav-diag-wrap.nav-sub-open .nav-sub { display: block; }
.main { flex: 1; min-width: 0; max-width: var(--content-max); margin: 0 auto; width: 100%; }
.topbar + .main, .main.has-topbar { padding-top: var(--space-6); }
.content { max-width: var(--content-max); margin: 0 auto; }
.col { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.shell-row { display: flex; flex: 0 0 auto; height: calc(100vh - var(--topbar-height)); min-height: 0; align-items: stretch; box-sizing: border-box; }
.col-thin-topbar { --topbar-height: 44px; }
.col-rail-topbar { --topbar-height: 44px; }
@media (max-width: 900px) { .col-rail-topbar { --topbar-height: 56px; } html body .main.has-topbar:not(:has(.nb-layout)) { padding-bottom: 16px !important; } }
.topbar { position: sticky; top: 0; z-index: 40; height: var(--topbar-height); flex-shrink: 0; display: flex; align-items: center; gap: var(--space-4); padding: 0 var(--space-6); background: var(--sidebar-bg); border-bottom: 1px solid var(--border); }
.topbar-minimal { padding: 0 var(--space-4) 0 0 !important; }
.col-chat-top { --topbar-height: 0px; }
.col-chat-top .topbar { position: relative; height: 36px; min-height: 36px; flex: 0 0 auto; background: #FFFFFF; border-bottom: none; padding: 0 16px 0 12px !important; }
.col-chat-top .topbar-icon-rail-zone { width: auto; flex: none; }
.col-chat-top .topbar-chat-nav-zone { width: auto !important; }
.col-chat-top .topbar-thread-title { font-size: 12px; }
.col-chat-top .nb-scroll-area { padding-top: 21px; }
.col-chat-top .nb-main-col { position: relative; }
.col-chat-top .nb-main-col::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 24px; background: linear-gradient(to bottom, #FFFFFF, rgba(255,255,255,0)); pointer-events: none; z-index: 5; }
@media (max-width: 900px) {
  .col-chat-top .topbar { flex-wrap: nowrap; gap: 8px; }
  .col-chat-top .topbar { height: auto; min-height: calc(52px + env(safe-area-inset-top, 0px)); box-sizing: border-box; padding-top: calc(4px + env(safe-area-inset-top, 0px)) !important; padding-bottom: 4px !important; }
  .col-chat-top .topbar-burger { width: 44px; height: 44px; min-width: 44px; flex: none; }
  .col-chat-top .topbar-nav-row { flex: 1 1 0; min-width: 0; }
  .col-chat-top .topbar-thread-title { flex: 1 1 0; min-width: 0; }
  body:has(.nb-layout.object-open) .col-chat-top .topbar-thread-title, body:has(.nb-layout.object-open) .col-chat-top .topbar-staging-pill { display: none !important; }
  .col-chat-top .topbar-right { flex: 0 1 auto; min-width: 0; }
}
.topbar-search { cursor: pointer; }
.topbar-search .ico { width: 16px; height: 16px; color: var(--ink-muted); flex: none; }
.topbar-search span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar-search .topbar-kbd { flex: none; }
.topbar-kbd { margin-left: auto; font-size: var(--text-meta); color: var(--ink-muted); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 1px 5px; background: var(--surface); }
.topbar-right { margin-left: auto; display: flex; align-items: center; gap: var(--space-6, 20px); flex: none; }
body.nb-ws-panels .topbar-staging-pill { display: none !important; }
.topbar-staging-pill { flex: none; font-size: 12px; font-weight: 700; letter-spacing: .05em; color: #8A5A10; background: #FBEFD5; border: 1px solid #F0DCA8; border-radius: 999px; padding: 3px 9px; margin-left: 10px; }
.topbar-bell { position: relative; background: none; border: none; cursor: pointer; color: #8FA3B8; padding: 4px; display: flex; }
.topbar-bell .ico { width: 19px; height: 19px; color: inherit; }
#jobPillTime { font-variant-numeric: tabular-nums; display: inline-block; min-width: 34px; }
.pan-select-row { display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-sm); cursor: pointer; }
.pan-select-row input { margin-top: 2px; }
.bell-dot { position: absolute; top: 3px; right: 3px; width: 7px; height: 7px; border-radius: var(--radius-full); background: #0866E8; border: 1.5px solid var(--surface); display: none; }
.bell-dot.show { display: block; }
.dx-banner { position: fixed; z-index: 9000; left: 12px; right: 12px; top: calc(env(safe-area-inset-top, 0px) + 56px); max-width: 560px; margin: 0 auto; display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 4px 4px 4px 14px; background: #fff; color: var(--ink); border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 10px; box-shadow: 0 6px 24px rgba(16,36,58,.18); font-size: 15px; line-height: 1.35; }
.dx-banner-failed { border-left-color: var(--danger); }
.dx-banner-t { flex: 1 1 auto; min-width: 0; font-weight: 600; }
.dx-banner-a { flex: none; min-height: 44px; min-width: 44px; padding: 0 14px; border: 0; border-radius: 8px; background: var(--accent); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.dx-banner-x { flex: none; min-height: 44px; min-width: 44px; border: 0; background: none; color: var(--ink-muted); font-size: 22px; line-height: 1; cursor: pointer; }
.dx-banner-a:focus-visible, .dx-banner-x:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.bell-dot.running { display: block; background: var(--danger); }
.topbar-burger.job-running { position: relative; }
.topbar-burger.job-running::after { content: ''; position: absolute; top: 6px; right: 6px; width: 8px; height: 8px; border-radius: 50%; background: var(--danger); border: 1.5px solid var(--surface); }
.topbar-acct { display: flex; align-items: center; gap: var(--space-3); cursor: pointer; }
.topbar-acct-txt { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; max-width: 160px; }
.topbar-acct-n { font-size: var(--text-ui); font-weight: var(--weight-semi); color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar-acct-c { font-size: var(--text-micro-lg); color: var(--ink-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar-search { flex: 1 1 auto; min-width: 0; max-width: 540px; height: 44px; border-radius: 10px; padding: 0 14px; display: flex; align-items: center; gap: var(--gap-icon); background: #F8FAFC; border: 1px solid #E2E8EE; box-shadow: none; color: var(--ink-muted); font-size: var(--text-bodysm); overflow: hidden; }
.eyebrow { margin-bottom: 8px; font-size: var(--text-label); font-weight: var(--weight-semi); line-height: 1.2; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-600); }
h1 { font-size: var(--text-h1); line-height: 1.15; font-weight: var(--weight-semi); color: var(--navy-950); margin: 0 0 var(--space-2); letter-spacing: -0.01em; }
.hero-title { font-size: var(--text-hero); font-weight: var(--weight-bold); line-height: var(--leading-hero); margin: 0 0 var(--space-3); letter-spacing: -0.014em; max-width: calc(100% - 260px); }
/* --- Hero (spec sec.10) ------------------------------------------
 Photography sits on the RIGHT of the hero, never under the whole page.
 The fade is a CSS gradient layered OVER the image, not baked into the
 asset - so the blend stays correct at any card width and the same file
 works on a narrower viewport. Image is a background on ::after so a
 404 or slow load leaves a clean white card, not a hole, and the page
 never reflows when it arrives. --- */
.hero { min-height: 198px; padding: 28px var(--space-8); overflow: hidden; position: relative; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.hero::after { content: ''; position: absolute; inset: 0 0 0 30%; background-image: url('/assets/brand/mountains.png'); background-size: cover; background-position: center right; z-index: 0; }
.hero::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 40%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0.10) 62%, rgba(255,255,255,0) 72%); }
/* Glass: the art dissolves downward into the page rather than ending on a hard edge. */
.hero > * { position: relative; z-index: 2; }
/* Page hero - one shared header treatment across every page. */
.hero.hero-page { min-height: 178px; padding: 30px var(--space-8); margin-bottom: var(--gap-card); }
.hero.hero-compact { min-height: 150px; padding: 20px 28px; margin-bottom: var(--gap-card); }
.hero.hero-full-bg::after { inset: 0 !important; }
.hero.hero-full-bg::before { background: linear-gradient(to right, #FFFFFF 0%, rgba(255,255,255,0.85) 30%, rgba(255,255,255,0.45) 55%, rgba(255,255,255,0.1) 75%, rgba(255,255,255,0) 100%) !important; }
.hero.hero-tall { min-height: 250px; }
.hero.hero-tall .hero-right { top: 22px; bottom: 22px; }
.hero.hero-slim { min-height: 160px; padding: 24px var(--space-8); }
.data-subnav { display: flex; align-items: center; gap: 6px; margin: 0 0 14px; flex-wrap: wrap; }
.data-subnav a { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); color: var(--ink-soft); font-size: var(--text-sm); font-weight: 600; text-decoration: none; }
.data-subnav a.active { background: #14202C; border-color: #14202C; color: #FFFFFF; }
.data-subnav span { font-size: var(--text-sm); color: var(--ink-muted); margin-left: 8px; }
.hero.hero-slim + .hero-right { top: 14px; bottom: 14px; align-items: center; }
@media (min-width: 901px) { .hero-wrap:has(.recovery-inputs-card) .hero-slim .hero-title, .hero-wrap:has(.recovery-inputs-card) .hero-slim .perf-hero-sub { max-width: calc(48% - 30px) !important; } }
.hero-slim + .hero-right .recovery-inputs-card { align-self: center; width: 520px; display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: var(--space-3); align-items: center; }
.hero-slim + .hero-right .recovery-inputs-title { margin: 0; }
.hero-slim + .hero-right .recovery-input-list { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; column-gap: 18px; margin-top: var(--space-2); }
.hero-slim + .hero-right .recovery-run-panels { grid-row: 1; grid-column: 2; width: auto !important; height: 28px; margin: 0; padding: 0 12px; }
.gs-card.pan-hero-card { width: 440px; max-width: none; }
@media (min-width: 901px) { .hero-wrap:has(.recovery-inputs-card) .hero-slim .hero-title, .hero-wrap:has(.recovery-inputs-card) .hero-slim .perf-hero-sub { max-width: calc(100% - 548px); } }
@media (min-width: 901px) { .hero-wrap:has(.pan-hero-card) .hero-slim .hero-title, .hero-wrap:has(.pan-hero-card) .hero-slim .perf-hero-sub { max-width: calc(100% - 460px); } }
.pan-hero-row { display: flex; align-items: center; gap: var(--space-3); margin: 6px 0 8px; }
.pan-hero-row .pan-bar { flex: 1; width: auto; margin: 0; }
.pan-hero-row .btn { margin: 0; white-space: nowrap; }
@media (max-width: 900px) { .hero-slim + .hero-right .recovery-inputs-card, .gs-card.pan-hero-card { width: 100%; } .hero-wrap .hero-slim .hero-title, .hero-wrap .hero-slim .perf-hero-sub { max-width: none; } }
.hero.hero-compact::after { inset: 0 0 0 62%; }
.hero.hero-compact::before { background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 48%, rgba(255,255,255,0.6) 58%, rgba(255,255,255,0.15) 68%, rgba(255,255,255,0) 78%); }
.hero.hero-compact .hero-title { max-width: 55%; font-size: var(--text-h1-sm); margin-bottom: 6px; }
.hero.hero-compact .perf-hero-sub { max-width: 55%; margin: 0; }
@media (min-width: 901px) { .hero-wrap:has(.hero-right) .hero.hero-slim .hero-title, .hero-wrap:has(.hero-right) .hero.hero-slim .perf-hero-sub, .hero-wrap:has(.hero-right) .hero.hero-slim .dx-hero-sub, .hero-wrap:has(.hero-right) .hero.hero-slim .eyebrow { max-width: calc(52% - 44px); } }
.hero.hero-compact .eyebrow { margin-bottom: 6px; }
.intake-page .hero.hero-compact { min-height: 112px; padding: 16px 22px; }
.intake-page .hero.hero-compact .hero-title { font-size: var(--text-h1-sm); line-height: 1.1; margin: 2px 0 4px; }
.intake-page .hero.hero-compact .perf-hero-sub { font-size: var(--text-nav); line-height: 1.35; max-width: 620px; }
.intake-page .g2-stepper { min-height: 52px; }
.leadership-page .collapsed-section { margin-bottom: 9px; min-height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border: 1px solid var(--line); border-radius: 6px; background: #FFFFFF; color: var(--ink-800); font-size: var(--text-body); font-weight: 600; cursor: pointer; }
.leadership-page .collapsed-section > div > span:not(.g2-caption), .vitals-page .collapsed-section > div > span:not(.g2-caption) { white-space: nowrap; flex-shrink: 0; }
.leadership-page .collapsed-section .g2-caption, .vitals-page .collapsed-section .g2-caption { flex: 1 1 auto; min-width: 0; }
.leadership-page .vitals-section { margin-bottom: 9px; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: #fff; }
.leadership-page .vitals-section-header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 9px 14px; background: var(--surface-subtle); border-bottom: 1px solid var(--line-soft); }
.leadership-page .vitals-section-title { font-size: var(--text-body); font-weight: 600; color: var(--ink-800); }
.leadership-page .vitals-content { padding: 13px 14px; }
.situation-page .collapsed-section { margin-bottom: 9px; min-height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border: 1px solid var(--line); border-radius: 6px; background: #FFFFFF; color: var(--ink-800); font-size: var(--text-ui); font-weight: 600; cursor: pointer; }
.situation-page .collapsed-section > div > span:not(.g2-caption) { white-space: nowrap; flex-shrink: 0; }
.situation-page .collapsed-section .g2-caption { flex: 1 1 auto; min-width: 0; }
.situation-page .vitals-section { margin-bottom: 9px; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: #fff; }
.situation-page .vitals-section-header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 9px 14px; background: var(--surface-subtle); border-bottom: 1px solid var(--line-soft); }
.situation-page .vitals-section-title { font-size: var(--text-nav); font-weight: 600; color: var(--ink-800); }
.situation-page .vitals-content { padding: 13px 14px; }
.goals-page .collapsed-section { margin-bottom: 9px; min-height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border: 1px solid var(--line); border-radius: 6px; background: #FFFFFF; color: var(--ink-800); font-size: var(--text-body); font-weight: 600; cursor: pointer; }
.goals-page .collapsed-section > div > span:not(.g2-caption) { white-space: nowrap; flex-shrink: 0; }
.goals-page .collapsed-section .g2-caption { flex: 1 1 auto; min-width: 0; }
.goals-page .vitals-section { margin-bottom: 9px; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: #fff; }
.goals-page .vitals-section-header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 9px 14px; background: var(--surface-subtle); border-bottom: 1px solid var(--line-soft); }
.goals-page .vitals-section-title { font-size: var(--text-body); font-weight: 600; color: var(--ink-800); }
.goals-page .vitals-content { padding: 13px 14px; }
.leader-section-badge { font-size: var(--text-micro); font-weight: 600; padding: 2px 8px; border-radius: var(--radius-pill); white-space: nowrap; }
.leader-section-badge.complete { color: var(--positive); background: rgba(28,155,118,0.12); }
.leader-section-badge.incomplete { color: var(--warning); background: rgba(176,138,42,0.12); }
.leader-section-badge.empty { color: var(--ink-muted); background: var(--surface-subtle); }
.intake-status-card { width: 300px; padding: 14px; background: #fff; border: 1px solid #D7E1E7; border-radius: var(--radius-md); box-shadow: 0 1px 2px rgba(16,37,54,.035); }
.intake-status-title { display: flex; align-items: center; gap: 7px; margin: 0; font-size: var(--text-meta); line-height: 1; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #1B3244; }
.intake-status-title svg { width: 16px; height: 16px; color: #3F789C; }
.intake-progress-value { margin-top: 16px; font-size: var(--text-stat-sm); line-height: 1.1; font-weight: 600; color: #1B3244; }
.intake-progress-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; margin-top: 8px; }
.intake-progress-track { height: 8px; border-radius: var(--radius-pill); background: #E2E9ED; overflow: hidden; }
.intake-progress-fill { height: 100%; background: #2F6689; border-radius: inherit; transition: width 0.2s ease; }
.intake-progress-percent { font-size: var(--text-micro); color: #6D8392; }
.intake-rail-section { margin-top: 16px; padding-top: 14px; border-top: 1px solid #E6ECEF; }
.intake-rail-heading { font-size: var(--text-meta); line-height: 1.2; font-weight: 600; color: #1B3244; }
.intake-status-list { display: grid; gap: 7px; margin-top: 8px; }
.intake-status-item { display: grid; grid-template-columns: 12px 1fr; gap: 7px; align-items: start; font-size: var(--text-micro-lg); line-height: 1.35; color: #3E5163; }
.status-dot { width: 8px; height: 8px; margin-top: 3px; border-radius: 50%; background: #E9A51E; }
.intake-status-item.inferred .status-dot { background: #1C9B76; }
.intake-view-all { display: inline-block; margin-top: 8px; font-size: var(--text-micro-lg); color: #2F6689; font-weight: 600; text-decoration: none; }
.confidence-row { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.confidence-label { margin-right: auto; font-size: var(--text-compact-sm); line-height: 1.2; font-weight: 600; color: #1B3244; }
.confidence-dots { display: flex; gap: 5px; }
.confidence-dot { width: 18px; height: 18px; border-radius: 50%; background: #E1E7EB; }
.confidence-dot.filled { background: #2F6689; }
.confidence-helper { margin-top: 6px; font-size: var(--text-micro); line-height: 1.4; color: #6D8392; }
.intake-info-icon svg { width: 14px; height: 14px; color: #8CA0AC; }
.rail-hide { display: none !important; }
.sec-desc { font-weight: 400 !important; margin-top: 2px; }
html:has(.intake-page) { overflow-y: scroll; }
.il-draft-btn:disabled { opacity: .45; cursor: not-allowed; }
.leadership-page textarea.brief { min-height: 130px !important; }
.g2-stepper-wrap { display: none !important; }
.intake-page .form-layout { grid-template-columns: minmax(0, 1fr) !important; }
.intake-page .vitals-section { overflow: visible !important; }
.intake-page .vitals-section-header { min-height: 44px !important; border-radius: var(--radius-md) var(--radius-md) 0 0; padding: 6px 14px !important; background: #E3EBF1 !important; }
.intake-page .collapsed-section { min-height: 44px !important; background: #EDF2F6 !important; }
.intake-page .hero.hero-page { min-height: 176px; }
.intake-page .perf-hero-sub { max-width: 56%; }
.intake-page .hero-right { top: 12px; bottom: 12px; right: 16px; }
.hdr-status { align-self: center; width: 220px; padding: 9px 12px; background: #fff; border: 1px solid #D7E1E7; border-radius: var(--radius-md); box-shadow: 0 1px 2px rgba(16,37,54,.05); }
.hdr-status-label { font-size: var(--text-meta); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #1B3244; }
.hdr-status-count { margin-top: 5px; font-size: var(--text-summary); font-weight: 600; color: #1B3244; }
.hdr-status-bar { height: 6px; border-radius: 3px; background: #E2E9ED; margin-top: 6px; overflow: hidden; }
.hdr-status-bar span { display: block; height: 100%; background: #2F6689; border-radius: 3px; transition: width .2s ease; }
.hdr-tips { display: inline-block; margin-top: 7px; font-size: var(--text-micro-lg); font-weight: 600; color: #2F6689; text-decoration: none; }
.hdr-steps { display: flex; gap: 6px; margin: 0 0 16px; }
.hdr-step { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; padding: 10px 8px 0; border-top: 3px solid #D7E1E7; font-size: var(--text-meta); color: #6D8392; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hdr-step-num { flex-shrink: 0; }
.hdr-step.active { border-top-color: #2F6689; color: #1B3244; font-weight: 600; }
.hdr-step.complete { border-top-color: #1C9B76; color: #3E5163; }
.rail-moved { width: auto !important; margin: 0 0 14px !important; }
.import-inline > div:last-of-type { flex-direction: row !important; flex-wrap: wrap; }
.import-inline .g2-btn { width: auto !important; }
@media (max-width: 900px) { .intake-page .perf-hero-sub { max-width: 100%; } .hdr-status { display: none; } .hdr-step span:not(.hdr-step-num) { display: none; } }
.intake-steps { display: grid; gap: 2px; margin-top: 12px; }
.intake-step { display: grid; grid-template-columns: 22px 1fr; gap: 9px; align-items: center; padding: 7px 8px; margin: 0 -8px; border-radius: 8px; font-size: var(--text-meta); color: #3E5163; cursor: pointer; }
.intake-step:hover { background: #F2F6F9; }
.intake-step.active { background: #E7EFF5; color: #1B3244; font-weight: 600; }
.intake-step-num { width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid #B9C9D6; display: inline-flex; align-items: center; justify-content: center; font-size: var(--text-micro); font-weight: 600; color: #6D8392; background: #fff; }
.intake-step.active .intake-step-num { border-color: #2F6689; background: #2F6689; color: #fff; }
.intake-step.complete .intake-step-num { border-color: #1C9B76; background: #1C9B76; color: #fff; }
.intake-step-num svg { width: 11px; height: 11px; }
.intake-tip { margin-top: 14px; padding: 12px; background: var(--steel-050); border-radius: var(--radius-md); }
.intake-tip-title { display: flex; align-items: center; gap: 7px; font-size: var(--text-meta); font-weight: 600; line-height: 1.2; color: #1B3244; }
.intake-tip-title svg { width: 15px; height: 15px; color: #3F789C; }
.intake-tip-copy { margin-top: 6px; font-size: var(--text-micro-lg); line-height: 1.45; color: #6D8392; }
.leadership-page .profile-grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr .9fr; gap: 10px; }
.leadership-page .profile-grid .g2-form-label { margin-bottom: 4px; }
.leadership-page .g2-input, .leadership-page .g2-select, .leadership-page .g2-textarea:not(.brief) { min-height: 38px; height: 38px; font-size: var(--text-base); }
.intake-page .footer-bar { position: sticky; bottom: 0; min-height: 58px; padding: 8px 16px; margin-top: 16px; background: rgba(255,255,255,0.96); border-top: 1px solid var(--line); backdrop-filter: blur(8px); z-index: 20; }
/* Header art is a surface, not a card - no border, no shadow. */
.hero, .r-topbar, .rec-topbar { border: none !important; box-shadow: none !important; }
.hero-page .hero-title { font-size: var(--text-title); line-height: var(--leading-tight); }
/* Intake: art runs the full width behind the text, not just the right side. */
.hero.hero-wide::after { inset: 0 !important; background-position: center 40%; }
.hero.hero-wide::before { background: linear-gradient(to right, rgba(255,255,255,0.97) 0%, rgba(255,255,255,0.88) 30%, rgba(255,255,255,0.52) 55%, rgba(255,255,255,0.18) 78%, rgba(255,255,255,0.06) 100%) !important; }
.intake-subbar { display: flex; align-items: center; gap: var(--space-5); margin-bottom: var(--gap-card); flex-wrap: wrap; }
.intake-subbar .lede { flex: 1; min-width: 320px; margin: 0; }
.intake-subbar-actions { display: flex; align-items: center; gap: var(--space-3); flex-shrink: 0; margin-left: auto; }
.hero-actions { display: flex; gap: var(--gap-button); align-items: center; margin-top: var(--space-4); }
.hero-wrap { position: relative; }
.hero-step-status { color: #fff; font-size: var(--text-ui); font-weight: 600; text-shadow: 0 1px 3px rgba(0,0,0,0.45); white-space: nowrap; }
.hero-step-dot { margin: 0 6px; opacity: 0.8; }
.hero-right { position: absolute; right: var(--space-8); top: 26px; bottom: 26px; z-index: 2; display: flex; gap: var(--gap-button); }
/* Data Needed - an explicit, honest placeholder. Never a fake number. */
.data-needed { display: inline-flex; align-items: center; gap: var(--gap-icon); font-size: var(--text-bodysm); color: var(--ink-muted); background: var(--surface-sunk); border: 1px dashed var(--border-strong); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); }
.data-needed-dot { width: 6px; height: 6px; border-radius: var(--radius-full); background: var(--ink-faint); flex-shrink: 0; }
.dn-metric { font-size: var(--text-metric); font-weight: var(--weight-semi); color: var(--ink-faint); line-height: 1; letter-spacing: 0.02em; }
.kpi-label { font-size: var(--text-bodysm); color: var(--ink-soft); margin-bottom: var(--space-2); }
.kpi-value { font-size: 22px; font-weight: 600; line-height: 28px; letter-spacing: -.01em; color: var(--ink); }
.kpi-delta { font-size: var(--text-meta); }
.kpi-delta.up { color: var(--positive); }
.kpi-delta.down { color: var(--risk); }
.kpi-note { font-size: var(--text-meta); color: var(--ink-muted); margin-top: var(--space-1); }
/* KPI row sizes to its content - a conditional row must not stretch. */
.kpi-grid.kpi-1 { grid-template-columns: repeat(1, minmax(0,1fr)); }
.kpi-grid.kpi-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.kpi-grid.kpi-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.kpi-grid.kpi-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.kpi-pattern { font-size: var(--text-card); font-weight: var(--weight-semi); color: var(--ink); line-height: var(--leading-tight); }
/* Trend is the dominant object: it should read as a chart well, not a gap. */
/* Trend placeholder: a faded illustration of the chart with the
 requirement stated over it. Opacity is low enough that no value can be
 read off the curve - it must never be mistakable for real data. */
.trend-wrap { position: relative; margin-top: var(--space-2); border-radius: var(--radius-sm); overflow: hidden; background: linear-gradient(to bottom, var(--surface-sunk), #FFFFFF); border: 1px solid var(--border-faint); }
.trend-ghost { display: block; width: 100%; height: auto; opacity: 0.30; filter: saturate(0.55); }
.tg-grid line { stroke: var(--border); stroke-width: 1; }
.tg-grid text, .tg-x text { fill: var(--ink-faint); font-size: var(--text-micro-sm); font-family: var(--font-ui); }
.tg-area { fill: url(#tgf); }
.tg-line { fill: none; stroke: var(--accent-bright); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.tg-dots circle { fill: var(--accent-bright); }
.trend-veil { position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(255,255,255,0.86) 0%, rgba(255,255,255,0.62) 55%, rgba(255,255,255,0.30) 100%); pointer-events: none; }
.trend-prompt { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: var(--space-5); }
.trend-prompt-t { font-size: var(--text-card); font-weight: var(--weight-semi); color: var(--ink); background: rgba(255,255,255,0.92); border: 1px dashed var(--border-strong); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-4); }
.trend-prompt-s { font-size: var(--text-meta); color: var(--ink-muted); margin-top: var(--space-3); max-width: 40ch; line-height: var(--leading-normal); }
.card-head-right { margin-left: auto; font-size: var(--text-meta); color: var(--ink-muted); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 3px 10px; }
.trend-empty { display: flex; align-items: center; justify-content: center; min-height: 254px; margin-top: var(--space-4); border-radius: var(--radius-sm); background: linear-gradient(to bottom, var(--surface-sunk), #FFFFFF); border: 1px solid var(--border-faint); }
.home-latest { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-faint); }
.home-latest-name { font-size: var(--text-card); font-weight: var(--weight-semi); margin-bottom: var(--space-2); }
.wf-body { font-size: var(--text-bodysm); color: var(--ink-soft); line-height: var(--leading-normal); flex: 1; }
/* The single dark moment on the page. Deliberate, not decorative. */
.dark-title { font-size: var(--text-section); font-weight: var(--weight-bold); line-height: 1.25; color: #fff; }
.dark-sub { font-size: var(--text-bodysm); color: var(--accent-soft); line-height: var(--leading-normal); }
.dark-foot { font-size: var(--text-meta); color: rgba(255,255,255,0.55); margin-top: auto; padding-top: var(--space-4); }
.card-dark { position: relative; }
.dark-go { position: absolute; right: 18px; bottom: 18px; width: 30px; height: 30px; border-radius: var(--radius-full); border: 1px solid rgba(255,255,255,0.35); background: transparent; color: #fff; cursor: pointer; font-size: var(--text-compact); line-height: 1; }
/* Icon tiles - every card head in the render carries one. */
.tile-ico { width: 34px; height: 34px; border-radius: var(--radius-sm); background: var(--accent-pale); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tile-ico .ico { width: 17px; height: 17px; color: var(--accent); }
.card-info { margin-left: 6px; width: 15px; height: 15px; border-radius: var(--radius-full); border: 1px solid var(--border-strong); color: var(--ink-muted); font-size: var(--text-micro-sm); display: inline-flex; align-items: center; justify-content: center; font-style: italic; }
/* Get started strip. */
.getstarted { display: flex; align-items: center; gap: var(--space-5); background: linear-gradient(to right, var(--accent-pale), #FFFFFF 62%); margin-bottom: var(--gap-card); }
.gs-badge { width: 46px; height: 46px; border-radius: var(--radius-full); background: var(--accent-soft); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.gs-badge .ico { width: 22px; height: 22px; color: var(--accent); }
.gs-copy { flex-shrink: 0; }
.gs-title { font-size: var(--text-section); font-weight: var(--weight-bold); }
.gs-card { position: relative; flex-shrink: 0; background: var(--surface-sunk); border: 1px solid var(--border-strong); color: var(--ink); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); min-width: 220px; max-width: 240px; }
.gs-card .gs-eyebrow { font-size: var(--text-xs); letter-spacing: 0.09em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; margin-bottom: var(--space-2); }
.gs-card .gs-title { font-size: var(--text-md); font-weight: var(--weight-semi); margin-bottom: var(--space-1); }
.gs-card .gs-sub { font-size: var(--text-sm); color: var(--ink-soft); margin-top: 0; }
.gs-cta { display: inline-block; margin-top: var(--space-3); background: var(--c-primary); color: #fff; font-size: var(--text-sm); font-weight: 500; padding: var(--space-2) var(--space-4); border-radius: var(--radius-sm); cursor: pointer; border: none; font-family: inherit; }
.gs-card .gs-x { position: absolute; top: var(--space-2); right: var(--space-2); border: 0; background: transparent; color: var(--ink-faint); cursor: pointer; font-size: var(--text-micro); padding: 2px 4px; line-height: 1; }
.gs-card .gs-x:hover { color: var(--ink); }
.gs-sub { font-size: var(--text-bodysm); color: var(--ink-soft); margin-top: 2px; }
.gs-steps { margin-left: auto; display: flex; align-items: center; gap: 0; }
.gs-step { display: flex; flex-direction: column; align-items: center; gap: 7px; width: 108px; }
.gs-dot { width: 26px; height: 26px; border-radius: var(--radius-full); background: var(--surface-sunk); border: 1px solid var(--border); color: var(--ink-muted); font-size: var(--text-meta); font-weight: var(--weight-semi); display: flex; align-items: center; justify-content: center; }
.gs-dot svg { width: 14px; height: 14px; }
.gs-step.active .gs-dot { background: var(--accent); border-color: var(--accent); color: #fff; }
.gs-step.done .gs-dot { background: var(--positive); border-color: var(--positive); color: #fff; }
.gs-label { font-size: var(--text-meta); color: var(--ink-muted); text-align: center; }
.gs-step.active .gs-label { color: var(--ink); font-weight: var(--weight-semi); }
.gs-line { height: 1px; background: var(--border); flex: 1; min-width: 26px; margin-bottom: 20px; }
/* KPI internals. */
.kpi-line { display: flex; align-items: center; gap: var(--space-3); }
.gap-pill { font-size: var(--text-meta); font-weight: var(--weight-semi); border-radius: var(--radius-sm); padding: 3px 9px; }
.gap-pill.down { background: #FBEDE9; color: var(--risk); }
.gap-pill.up { background: #E6F4EF; color: var(--positive); }
.kpi-foot { display: flex; gap: var(--space-5); font-size: var(--text-meta); color: var(--ink-muted); margin-top: var(--space-2); }
.kpi-desc { font-size: var(--text-bodysm); color: var(--ink-soft); line-height: var(--leading-normal); margin-top: var(--space-2); }
.kpi-link { display: inline-block; margin-top: var(--space-3); font-size: var(--text-bodysm); color: var(--accent-bright); text-decoration: none; }
.readiness { display: flex; align-items: center; gap: var(--space-3); margin-top: auto; padding-top: var(--space-4); }
.readiness-bar { flex: 1; height: 6px; border-radius: var(--radius-pill); background: var(--border); overflow: hidden; }
.readiness-bar span { display: block; height: 100%; background: var(--accent); border-radius: var(--radius-pill); }
.readiness-n { font-size: var(--text-meta); color: var(--ink-muted); white-space: nowrap; }
/* Read timeline in place of a fabricated chart. */
.tl-note { font-size: var(--text-bodysm); color: var(--ink-muted); text-align: center; margin: var(--space-6) 0 var(--space-8); }
.tl { position: relative; display: flex; justify-content: space-between; padding: 0 var(--space-4) var(--space-5); }
.tl-rail { position: absolute; left: 12%; right: 12%; top: 9px; height: 0; border-top: 1px dashed var(--border-strong); }
.tl-pt { display: flex; flex-direction: column; align-items: center; gap: 4px; position: relative; z-index: 1; }
.tl-dot { width: 19px; height: 19px; border-radius: var(--radius-full); background: var(--surface); border: 2px solid var(--border-strong); }
.tl-pt.done .tl-dot { background: var(--accent-deep); border-color: var(--accent-deep); }
.tl-v { font-size: var(--text-card); font-weight: var(--weight-bold); color: var(--ink); margin-top: 6px; }
.tl-l { font-size: var(--text-bodysm); font-weight: var(--weight-medium); color: var(--ink); }
.tl-pt:not(.done) .tl-l { color: var(--ink-soft); }
.tl-s { font-size: var(--text-meta); color: var(--ink-muted); }
/* Latest diagnosis card. */
.ld-name { font-size: var(--text-section); font-weight: var(--weight-bold); line-height: var(--leading-tight); }
.ld-meta { font-size: var(--text-meta); color: var(--ink-muted); margin-top: 3px; }
.ld-body { font-size: var(--text-bodysm); color: var(--ink-soft); line-height: var(--leading-normal); margin-top: var(--space-3); }
/* Workflow cards. */
.wf-card { display: flex; flex-direction: column; }
.wf-head { display: flex; align-items: center; gap: var(--gap-icon); margin-bottom: var(--space-3); }
.wf-state { font-size: var(--text-card); font-weight: var(--weight-semi); }
.wf-desc { font-size: var(--text-bodysm); color: var(--ink-soft); line-height: var(--leading-normal); margin: var(--space-2) 0 var(--space-4); flex: 1; }
.btn-soft { background: var(--accent-pale); color: var(--accent-bright); font-weight: var(--weight-semi); }
.profile-txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.profile-co { font-size: var(--text-meta); color: var(--sidebar-muted); }
.nav-slogan { font-size: var(--text-label); line-height: 1.5; color: var(--sidebar-muted); margin: 14px 10px 6px; }
.control { padding: 0 10px; }
.control-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; font-size: var(--text-meta); color: var(--sidebar-text); }
.ctrl-tip { position: relative; }
.ctrl-tip::after { content: attr(data-tip); position: absolute; left: 0; right: 0; bottom: calc(100% + 8px); width: auto; background: #1B2836; color: #E7ECF2; font-size: var(--text-micro-lg); line-height: 1.4; font-weight: 400; padding: 9px 11px; border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,.35); opacity: 0; visibility: hidden; transition: opacity .12s ease; pointer-events: none; z-index: 60; }
.ctrl-tip::before { content: ''; position: absolute; left: 14px; bottom: calc(100% + 3px); border: 5px solid transparent; border-top-color: #1B2836; opacity: 0; visibility: hidden; transition: opacity .12s ease; pointer-events: none; z-index: 60; }
.ctrl-tip:hover::after, .ctrl-tip:hover::before { opacity: 1; visibility: visible; }
.side-switch { height: 17px; width: 29px; border: 0; border-radius: 20px; padding: 2px; background: #3A4756; position: relative; cursor: pointer; flex: none; }
.side-switch:after { content: ''; position: absolute; width: 13px; height: 13px; border-radius: 50%; background: #fff; left: 2px; top: 2px; transition: left .15s ease; }
.side-switch.on { background: var(--success); }
.side-switch.on:after { left: 14px; }
#navDiagSwitch.on { background: #B03020; }
.side-switch:disabled { cursor: default; opacity: .7; }
.nav-copyright { font-size: var(--text-nano); color: var(--sidebar-muted); opacity: .75; margin: 0 10px 10px; }
.nav-view-label, .nav-diag-label2 { padding: 0 10px; font-size: var(--text-meta); color: var(--sidebar-muted); margin-bottom: 4px; }
.nav-logout { display: flex; align-items: center; gap: 9px; height: 34px; padding: 0 10px; border-radius: var(--radius-sm); color: var(--sidebar-muted); font-size: var(--text-ui); cursor: pointer; text-decoration: none; }
.nav-logout:hover { background: #E3E6EA; color: var(--sidebar-text); }
.nav-logout .ico { width: 17px; height: 17px; }
.hero-title-2 { margin-top: -2px; }
.btn-soft:hover { background: var(--accent-selected); }
/* Icons ride with every card title. */
.ico { width: 18px; height: 18px; flex-shrink: 0; color: var(--accent); }
.card-head { display: flex; align-items: center; gap: var(--gap-icon); margin-bottom: var(--space-4); }
.kpi-head { display: flex; align-items: center; gap: var(--gap-icon); margin-bottom: var(--space-3); }
.kpi-head .ico { width: 16px; height: 16px; color: var(--ink-muted); }
.kpi-head .kpi-label { margin: 0; }
/* KPI backdrop curve - shape only, sits behind the number. */
.kpi-card { position: relative; overflow: hidden; }
.kpi-ghost { position: absolute; left: 0; right: 0; bottom: 0; height: 62px; z-index: 0; pointer-events: none; }
.kpi-ghost svg { width: 100%; height: 100%; display: block; }
.kpi-card > *:not(.kpi-ghost) { position: relative; z-index: 1; }
/* Hero meta: quarter sits top-right, above the art. */
.hero-meta { position: absolute; top: 24px; right: var(--space-8); z-index: 2; display: flex; align-items: center; gap: var(--space-3); }
.hero-q { font-size: var(--text-bodysm); font-weight: var(--weight-semi); color: var(--ink-soft); }
.hero-home { min-height: 210px; }
.hero-home .hero-quote { bottom: 26px; }
/* Numbered insight rows. */
.ins-list, .act-list { display: flex; flex-direction: column; }
.ins-row:last-child { border-bottom: none; }
.ins-row strong { color: var(--ink); font-weight: var(--weight-semi); }
.ins-n { width: 22px; height: 22px; border-radius: var(--radius-full); font-size: var(--text-meta); font-weight: var(--weight-semi); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
/* Activity feed. */
.act-row { display: flex; gap: var(--space-3); align-items: center; padding: 9px 0; border-bottom: 1px solid var(--border-faint); }
.act-row:last-child { border-bottom: none; }
.act-ico { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.act-ico .ico { width: 15px; height: 15px; }
.act-body { display: flex; flex-direction: column; min-width: 0; }
.act-t { font-size: var(--text-bodysm); color: var(--ink); font-weight: var(--weight-medium); }
.act-w { font-size: var(--text-meta); color: var(--ink-muted); }
.act-empty { padding: var(--space-4) 0; }
/* Completion ring. */
.wf-ring-row { display: flex; align-items: center; gap: var(--space-4); }
.ring { width: 62px; height: 62px; flex-shrink: 0; }
.ring-t { font-size: var(--text-h3); font-weight: var(--weight-semi); fill: var(--accent); font-family: var(--font-ui); }
.wf-ring-n { font-size: var(--text-bodysm); font-weight: var(--weight-medium); color: var(--ink); }
.wf-ring-s { font-size: var(--text-meta); color: var(--ink-muted); margin-top: 2px; }
/* Three-up analytics row, trend dominant. */
.analytics-grid.analytics-3 { grid-template-columns: 594fr 338fr 305fr; }
/* Season selection + per-season insights. */
.season-card { display: flex; align-items: stretch; overflow: hidden; min-height: 118px; border-radius: var(--radius-season); border: 1px solid var(--border); background: var(--surface); text-decoration: none; color: inherit; transition: border-color .12s, box-shadow .12s; }
.season-card:hover { border-color: var(--accent-soft); box-shadow: var(--shadow-card); }
.season-art { width: 38%; flex-shrink: 0; background-size: cover; background-position: center; background-color: var(--surface-sunk); }
.season-body { position: relative; flex: 1; min-width: 0; padding: 14px 16px; display: flex; flex-direction: column; }
.season-spring .season-art { background-image: url('https://perfopsdiagnostic.com/images/season-spring.png'); }
.season-summer .season-art { background-image: url('https://perfopsdiagnostic.com/images/season-summer.png'); }
.season-fall .season-art { background-image: url('https://perfopsdiagnostic.com/images/season-fall.png'); }
.season-winter .season-art { background-image: url('https://perfopsdiagnostic.com/images/season-winter.png'); }
.season-card.is-now { border-color: var(--accent); }
.season-now { position: absolute; top: 10px; right: 10px; font-size: var(--text-meta); font-weight: var(--weight-medium); color: #fff; background: var(--accent-deep); border-radius: var(--radius-sm); padding: 2px 8px; }
.season-name { font-size: var(--text-card); font-weight: var(--weight-semi); color: var(--ink); }
.season-all { margin-left: auto; font-size: var(--text-bodysm); color: var(--accent-bright); text-decoration: none; white-space: nowrap; }
.rhythm-empty { padding: var(--space-8) var(--space-5); text-align: center; }
.rhythm-empty-s { font-size: var(--text-bodysm); color: var(--ink-muted); max-width: 52ch; margin: var(--space-4) auto 0; line-height: var(--leading-normal); }
/* Diagnosis + Recovery reuse the page hero surface on their own topbars. */
.r-topbar, .rec-topbar { position: relative; overflow: hidden; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--shadow-card); padding: 26px var(--space-8); margin-bottom: var(--gap-card); }
.r-topbar::after, .rec-topbar::after { content: ''; position: absolute; inset: 0 0 0 30%; background-image: url('/assets/brand/mountains.png'); background-size: cover; background-position: center right; z-index: 0; }
.r-topbar::before, .rec-topbar::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 40%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0.10) 62%, rgba(255,255,255,0) 72%); }
.r-topbar > *, .rec-topbar > * { position: relative; z-index: 2; }
.hero-quote { position: absolute; right: var(--space-8); bottom: 30px; z-index: 2; max-width: 22ch; text-align: right; }
.hero-quote .editorial-quote { font-size: var(--text-quote-lg); line-height: 1.3; color: var(--accent-deep); }
.hero-quote-attr { text-transform: uppercase; font-weight: var(--weight-semi); }
.lede { font-size: var(--text-md); color: var(--ink-soft); line-height: var(--leading-normal); margin: 0 0 var(--space-6); max-width: 62ch; }
.card { background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 20px 22px; box-shadow: var(--shadow-card); }
.r-tabpanel .card { border: 0; box-shadow: none; }
/* Declared AFTER .card - equal specificity, so source order decides. */
.card.card-dark { background: var(--accent-deep); border-color: var(--accent-deep); box-shadow: none; }
.card-emphasis { background: var(--surface-raised); border: 1px solid var(--border); border-left: 3px solid var(--accent-emphasis, var(--danger)); border-radius: var(--radius-md); padding: var(--space-8, 20px); }
.strip { display: flex; flex-wrap: wrap; align-items: center; background: var(--surface-raised); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: var(--space-5, 14px) var(--space-7, 18px); }
.badge { display: inline-flex; align-items: center; font-size: var(--text-meta); font-weight: 700; text-transform: uppercase; letter-spacing: .03em; padding: 2px 9px; border-radius: 999px; white-space: nowrap; }
.badge-risk { background: var(--danger-bg); color: var(--danger); }
.badge-warning { background: var(--warning-bg); color: var(--warning); }
.badge-ok { background: var(--success-bg); color: var(--success); }
.badge-neutral { background: var(--steel-050, #F4F8FA); color: var(--ink-400); }
.obj-sticky-head { position: sticky; top: var(--topbar-height); z-index: 25; background: var(--page-bg); margin: 0 0 24px; padding-top: 4px; }
.obj-sticky-head .pf-head { margin: 0; padding: 0 0 14px; border-bottom: 1px solid var(--border); }
.obj-sticky-head .pf-title { font-size: 22px; margin: 0 0 4px; }
.obj-sticky-head .pf-sub { font-size: 14px; }
.obj-sticky-head .pf-meta { margin-top: 6px; }
.obj-sticky-head .results-tabs-row { padding-top: 10px; }
.conf-bar { display: inline-flex; align-items: center; gap: 8px; }
.conf-bar-val { font-size: var(--text-meta); font-weight: 700; color: var(--ink-600); }
.conf-bar-segs { display: inline-flex; gap: 2px; }
.conf-bar-seg { width: 14px; height: 5px; border-radius: 3px; background: var(--steel-100, #D6E1E7); }
.conf-bar-seg.filled { background: var(--steel-600, #3F6F91); }
.stepper { display: flex; align-items: center; gap: var(--space-4); background: transparent; border: none; border-radius: 0; padding: var(--space-4) var(--space-5); margin-bottom: var(--space-4); flex-wrap: wrap; }
.step { display: flex; align-items: center; gap: var(--space-2); cursor: pointer; }
.step-dot { width: 22px; height: 22px; border-radius: var(--radius-full); background: var(--surface-sunk); border: 1px solid var(--border); color: var(--ink-muted); font-size: var(--text-meta); font-weight: var(--weight-medium); display: flex; align-items: center; justify-content: center; flex-shrink: 0; line-height: 1; }
.step.active .step-dot { background: var(--accent); border-color: var(--accent); color: #fff; font-weight: var(--weight-semi); }
.step.done .step-dot { background: var(--accent-soft); border-color: var(--accent-soft); color: var(--accent); }
.step.skipped .step-dot { background: var(--border-faint); border-color: var(--border-strong); color: var(--ink-faint); }
.step.missing .step-dot { background: var(--risk); border-color: var(--risk); color: #fff; font-weight: 600; }
.step-label { font-size: var(--text-body); color: var(--ink-muted); }
.step.active .step-label { color: var(--ink); font-weight: 500; }
.step.missing .step-label { color: var(--risk); }
.step-sep { display: none; }
.field { margin-bottom: var(--space-4); }
.field-label { font-size: var(--text-xs); font-weight: 500; line-height: 18px; margin-bottom: var(--space-2); display: block; }
.input { width: 100%; height: 38px; padding: 0 11px; border: 1px solid var(--border); border-radius: var(--radius-md); background: #FFFFFF; color: var(--ink-950); font-family: inherit; font-size: var(--text-nav); }
.input:focus { outline: none; border-color: var(--blue-600); box-shadow: 0 0 0 3px rgba(53,111,163,.10); }
textarea.input { min-height: 90px; resize: vertical; line-height: var(--leading-normal); }
textarea.brief { min-height: 220px; }
.section-title { font-size: var(--text-h3); font-weight: var(--weight-semi); color: var(--navy-950); margin-bottom: var(--space-1); }
.card-title { font-size: var(--text-summary); line-height: 22px; font-weight: var(--weight-semi); color: var(--navy-950); margin-bottom: 4px; }
.section-desc { font-size: var(--text-base); color: var(--ink-soft); margin-bottom: var(--space-4); line-height: var(--leading-normal); }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.choice { border: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: var(--space-4) var(--space-4); cursor: pointer; }
.choice.selected { border-color: var(--accent); background: var(--accent-soft); }
.choice.disabled { opacity: 0.5; cursor: default; }
.choice-title { font-size: var(--text-base); font-weight: var(--weight-semi); }
.choice-sub { font-size: var(--text-sm); color: var(--ink-muted); margin-top: var(--space-1); }
.mode-toggle { display: inline-flex; background: var(--surface-sunk); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--space-1); margin-bottom: var(--space-4); }
.il-panel-head-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-2); }
.il-panel-head-row .btn-secondary { border: 1px solid var(--border) !important; background: #fff !important; border-radius: 6px !important; }
.il-draft-btn { display: inline-block; margin-top: 4px; margin-bottom: 14px; padding: 7px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: var(--text-sm); font-weight: 600; cursor: pointer; }
.il-draft-btn:hover { opacity: 0.92; }
.il-draft-btn:disabled { opacity: 0.6; cursor: default; }
.il-optional-note { font-size: var(--text-xs); font-weight: 400; color: #8A99AA; margin-left: 6px; }
.lc-guide { margin-top: 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 10px 14px; background: var(--surface-sunk); }
.lc-guide summary { cursor: pointer; font-size: var(--text-sm); font-weight: 600; color: var(--ink); }
.lc-guide-list { margin: 10px 0 2px; padding-left: 18px; font-size: var(--text-sm); color: #5F6F82; }
.lc-guide-list li { margin-bottom: 6px; line-height: 1.4; }
.mode-btn { font-family: inherit; font-size: var(--text-sm); border: none; background: transparent; color: var(--ink-soft); padding: var(--space-2) var(--space-4); border-radius: var(--radius-sm); cursor: pointer; }
.mode-btn.active { background: var(--surface); color: var(--ink); font-weight: 500; }
.cluster { border: 1px solid var(--border); border-radius: var(--radius-md); margin-bottom: var(--space-3); overflow: hidden; }
.cluster-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) var(--space-4); cursor: pointer; background: var(--surface-sunk); }
.cluster-head:hover { background: var(--page-bg); }
.cluster.locked .cluster-head { cursor: default; opacity: 0.72; }
.cluster-title { font-size: var(--text-base); font-weight: var(--weight-semi); }
.cluster-desc { font-size: var(--text-sm); color: var(--ink-muted); margin-top: var(--space-1); }
.cluster-meta { display: flex; align-items: center; gap: var(--space-3); flex-shrink: 0; }
.cluster-count { font-size: var(--text-sm); color: var(--ink-muted); }
.cluster-chev { font-size: var(--text-xs); color: var(--ink-muted); }
.cluster-body { padding: var(--space-2) var(--space-4) var(--space-4); }
.cluster-body.hidden { display: none; }
.upgrade-pill { font-size: var(--text-xs); padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); background: var(--surface-sunk); color: var(--ink-muted); border: 1px solid var(--border); }
.vgrid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3) var(--space-4); }
.vlabel { font-size: var(--text-sm); font-weight: 500; color: var(--ink-soft); margin-bottom: var(--space-2); display: block; }
.vitals-io { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-4); flex-wrap: wrap; }
.vitals-io-status { font-size: var(--text-meta); color: var(--ink-muted); }
.vrow { display: flex; align-items: center; gap: var(--space-2); }
.vrow .input { font-size: var(--text-sm); padding: var(--space-2) var(--space-3); }
.conf { font-size: var(--text-xs); padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); cursor: pointer; user-select: none; white-space: nowrap; border: 1px solid var(--border); color: var(--ink-muted); background: var(--surface); }
.conf.confirmed { color: var(--positive); border-color: rgba(28,155,118,0.35); background: rgba(28,155,118,0.06); }
.conf.estimated { color: var(--warning); border-color: rgba(200,138,43,0.35); background: rgba(200,138,43,0.06); }
.mic-wrap { position: relative; }
.input.has-mic { padding-right: var(--space-10); }
.mic { position: absolute; right: 8px; bottom: 8px; width: 28px; height: 28px; border-radius: var(--radius-full); border: 1px solid var(--border-strong); background: var(--surface); color: var(--ink-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
.mic:hover { color: var(--ink); border-color: #A9BED2; background: var(--surface-sunk); }
.mic.rec { background: #FBEDE9; border-color: #E9A48F; color: var(--risk); }
.mic.rec svg { animation: pulse 1.2s ease-in-out infinite; }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.45; } }
.mic.unsupported { opacity: 0.3; cursor: default; }
.vrow .mic { position: static; }
.tag-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-2); }
.tag-opt { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); color: var(--ink-soft); padding: var(--space-2) var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-sm); cursor: pointer; }
.goal-row-full { display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; gap: var(--space-2); margin-bottom: var(--space-2); align-items: center; }
.goal-row-header { display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; gap: var(--space-2); margin-bottom: var(--space-1); }
.goal-row-header span { font-size: var(--text-xs); font-weight: 600; color: var(--ink-muted); text-transform: uppercase; letter-spacing: 0.03em; }
.goal-target-wrap { position: relative; display: flex; align-items: center; }
.goal-target-wrap .input { padding-right: 52px; }
.goal-unit { position: absolute; right: 11px; font-size: var(--text-sm); color: var(--ink-muted); pointer-events: none; }
.btn{ min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; border-radius: var(--radius-md); border: 1px solid transparent; font-family: inherit; font-size: var(--text-ui); font-weight: var(--weight-medium); cursor: pointer; }
.btn-primary { background: var(--c-primary); color: #FFFFFF; }
.btn-primary:hover { background: var(--c-primary-hover); }
.btn-primary .ico { color: #FFFFFF; stroke: #FFFFFF; }
.btn-primary:active { background: var(--c-primary-hover); transform: translateY(1px); }
.btn-primary:disabled { opacity: 0.4; cursor: default; }
.btn-primary:disabled:active { transform: none; }
.btn-secondary:hover { background: var(--surface-sunk); }
.btn-secondary:active { background: var(--border); transform: translateY(1px); }
.btn-secondary { background: #FFFFFF; color: var(--navy-900); border-color: var(--border); }
.btn-sm { font-size: var(--text-sm); padding: var(--space-2) var(--space-3); }
.footer-bar { display: flex; align-items: center; justify-content: space-between; margin-top: var(--space-1); }
.footer-mid { font-size: var(--text-sm); color: var(--ink-muted); }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); margin-bottom: var(--space-4); align-items: stretch; }
.path-card { border: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: var(--space-5); cursor: pointer; transition: border-color 0.12s, background 0.12s; display: flex; flex-direction: column; }
.path-card:hover { border-color: #A9BED2; }
.path-card.selected { border-color: var(--accent); background: var(--accent-soft); }
.path-head { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-2); }
.path-radio { width: 15px; height: 15px; border-radius: var(--radius-full); border: 1.5px solid var(--border-strong); flex-shrink: 0; position: relative; background: var(--surface); }
.path-card.selected .path-radio { border-color: var(--accent); }
.path-card.selected .path-radio:after { content: ''; position: absolute; inset: 3px; border-radius: var(--radius-full); background: var(--accent); }
.path-status { font-size: var(--text-meta); color: var(--ink-muted); margin-top: var(--space-2); display: flex; align-items: center; gap: var(--space-2); min-height: 18px; }
.path-count { margin-left: auto; font-variant-numeric: tabular-nums; color: var(--ink-faint); flex-shrink: 0; }
/* The action lives inside the card it acts on, pinned to the bottom so both cards align regardless of copy length. */
.path-cta { margin-top: auto; padding-top: var(--space-4); }
.path-cta .btn { width: 100%; }
.path-actions { display: none; }
.spinner { border-top-color: var(--accent); border-radius: var(--radius-full); flex-shrink: 0; display: none; }
.spinner.on { display: inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }
.path-title { font-size: var(--text-md); font-weight: var(--weight-semi); }
.path-desc { font-size: var(--text-base); color: var(--ink-soft); line-height: var(--leading-normal); margin-bottom: var(--space-3); }
.path-trade { font-size: var(--text-sm); color: var(--ink-muted); line-height: var(--leading-normal); margin-bottom: 0; }
.brief-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-sm); margin-bottom: var(--space-2); }
.brief-name { font-size: var(--text-sm); font-weight: 500; }
.brief-meta { font-size: var(--text-xs); color: var(--ink-muted); margin-top: var(--space-1); }
.autosave { font-size: var(--text-sm); color: var(--ink-muted); }
.overlay { display: none; position: fixed; inset: 0; background: rgba(246,248,250,0.97); z-index: 100; align-items: center; justify-content: center; }
.overlay.on { display: flex; }
.overlay-inner { text-align: center; max-width: 440px; padding: 0 var(--space-6); }
.spinner { width: 34px; height: 34px; border: 2.5px solid var(--border); border-top-color: var(--accent); border-radius: var(--radius-full); margin: 0 auto var(--space-5); animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.overlay-head { font-size: var(--text-lg); font-weight: var(--weight-semi); margin-bottom: var(--space-2); }
.overlay-sub { font-size: var(--text-base); color: var(--ink-soft); line-height: var(--leading-normal); margin-bottom: var(--space-6); }
.ostep { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-sm); color: var(--ink-faint); padding: var(--space-2) 0; text-align: left; }
.ostep.active { color: var(--ink); font-weight: 500; }
.ostep.done { color: var(--ink-soft); }
.ostep-dot { width: 15px; height: 15px; border-radius: var(--radius-full); border: 1px solid currentColor; flex-shrink: 0; }
.ostep.done .ostep-dot { background: var(--positive); border-color: var(--positive); }
.modal { display: none; position: fixed; inset: 0; background: rgba(14,27,42,0.4); z-index: 90; align-items: center; justify-content: center; }
.modal.on { display: flex; }
.modal-box { background: var(--surface); border-radius: var(--radius-md); padding: var(--space-6) var(--space-8); width: 520px; max-width: 92vw; max-height: 80vh; overflow-y: auto; }
.modal-title { font-size: var(--text-lg); font-weight: var(--weight-semi); margin-bottom: var(--space-1); }
.modal-desc { font-size: var(--text-base); color: var(--ink-soft); margin-bottom: var(--space-5); }
.sidebar { width: var(--sidebar-width); flex-shrink: 0; height: 100vh; position: sticky; top: 0; display: flex; flex-direction: column; background: var(--sidebar-bg); color: var(--sidebar-text); border-right: 1px solid var(--sidebar-border); overflow: hidden; padding: 12px 8px; }
.nav-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; }
.brand { height: 52px; min-height: 52px; display: flex; align-items: center; gap: 8px; padding: 0 14px; font-size: var(--text-h3); font-weight: var(--weight-semi); color: #FFFFFF; flex-shrink: 0; }
.brand-txt { display: flex; flex-direction: column; line-height: 1.15; }
.brand-txt b { font-weight: 700; font-size: var(--text-h3); }
.brand-txt i { font-style: normal; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--sidebar-muted); }
.acct-switch { display: flex; align-items: center; gap: 5px; height: 36px; margin: 2px 0 8px; padding: 0 8px; border-radius: var(--radius-sm); background: rgba(255,255,255,.06); cursor: pointer; }
.acct-switch:hover { background: rgba(255,255,255,.09); }
.acct-switch-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.acct-switch-co { font-size: var(--text-micro-lg); font-weight: 600; color: var(--sidebar-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.acct-switch-role { font-size: var(--text-label); color: var(--sidebar-muted); }
.acct-switch-chev { color: var(--sidebar-muted); flex: none; }
.acct-switch-avatar { width: 20px; height: 20px; border-radius: var(--radius-sm); background: var(--steel-600); color: #fff; display: flex; align-items: center; justify-content: center; font-size: var(--text-micro-sm); font-weight: 600; flex: none; }
.nav-search-ico-btn { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin-left: auto; flex: none; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--sidebar-muted, #7E93A7); cursor: pointer; }
.nav-search-ico-btn:hover { background: #E3E6EA; color: var(--sidebar-text); }
.nav-search-ico-btn svg { width: 15px; height: 15px; }
.brand img { width: 90px; height: auto; aspect-ratio: 334 / 83; display: block; }
.brand-fallback { font-size: var(--text-summary-lg); font-weight: var(--weight-semi); color: #FFFFFF; line-height: 1.2; }
.nav-item { width: 100%; box-sizing: border-box; height: 38px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border-radius: 7px; border: 1px solid transparent; color: var(--sidebar-text); font-size: 14px; line-height: 20px; font-weight: 400; letter-spacing: -0.01em; cursor: pointer; text-decoration: none; transition: background .15s ease, border-color .15s ease, color .15s ease; }
button.nav-item { border: none; background: none; width: 100%; text-align: left; font: inherit; }
.nav-search-kbd { margin-left: auto; font-size: 12px; color: var(--sidebar-muted, #7E93A7); }
.nav-item-inert { cursor: default; opacity: 0.65; }
.nav-item-inert:hover { background: none; }
.nav-item:hover { color: var(--sidebar-text); background: #EDEFF2; }
.nav-item.nav-locked { opacity: .45; cursor: default; }
.nav-item.nav-locked:hover { color: var(--sidebar-text); background: transparent; }
.nav-item .nav-lock { margin-left: auto; flex-shrink: 0; }
.preview-bar { display: inline-flex; align-items: center; gap: 6px; background: #F3F1EA; border: 1px solid #E4DFD0; border-radius: 999px; padding: 3px 12px; font-size: var(--text-micro-lg); margin: 0 0 12px; color: #6B5F42; }
.preview-bar a { color: #6B5F42; text-decoration: underline; cursor: pointer; font-weight: 600; }
.nav-lock-pop { position: fixed; left: 16px; bottom: 76px; z-index: 300; max-width: 260px; background: #14202C; color: #fff; border-radius: 10px; padding: 12px 14px; font-size: var(--text-ui); line-height: 1.45; box-shadow: 0 8px 28px rgba(0,0,0,.3); }
.nav-lock-pop a { color: #9CC3E6; cursor: pointer; text-decoration: underline; }
.nav-item + .nav-item { margin-top: 1px; }
.nav-item.active { background: rgba(255,255,255,.3); border-color: transparent; font-weight: 400; box-shadow: none; }
.nav-ico { width: 14px; height: 14px; flex: none; opacity: .9; }
.nav-item.active .nav-ico { opacity: 1; }
.nav-new-wrap { position: relative; margin-bottom: 20px; }
.nav-new-btn { font-family: inherit; font-size: var(--text-ui); color: var(--ink-soft); height: 36px; width: 100%; padding: 0 var(--space-2); display: flex; align-items: center; gap: var(--space-2); border-radius: var(--radius-sm); cursor: pointer; background: #F0EFEC; border: 0; }
.nav-new-btn:hover { background: #EDEFF2; color: var(--ink); }
.sidebar .nav-new-btn { background: transparent; border: 1px solid transparent; color: var(--sidebar-text); font-weight: 400; height: 32px; }
.sidebar .nav-new-btn:hover { background: #E3E6EA; border-color: transparent; color: var(--sidebar-text); }
.sidebar .nav-new-btn.active { background: rgba(255,255,255,.08); border-color: transparent; }
.nav-new-menu { display: none; position: absolute; top: calc(100% + 4px); left: 0; min-width: 176px; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: var(--space-2); box-shadow: 0 8px 24px -6px rgba(14,27,42,0.16); z-index: 30; }
.nav-new-modal-backdrop { position: fixed; z-index: 95; background: rgba(14,27,42,.4); display: flex; align-items: center; justify-content: center; }
.nav-new-modal-card { display: block; min-width: 220px; padding: var(--space-3); box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.nav-new-modal-card .nav-new-item { font-size: var(--text-ui); padding: var(--space-3) var(--space-4); }
.nav-new-menu.open { display: block; }
.nav-new-item { display: block; width: 100%; text-align: left; background: none; border: 0; font: inherit; font-size: var(--text-sm); color: var(--ink-soft); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); cursor: pointer; white-space: nowrap; }
.nav-new-menu-rich { min-width: 260px; padding: var(--space-2); }
.nav-new-item-rich { display: flex !important; align-items: flex-start; gap: 10px; white-space: normal !important; padding: 10px !important; }
.nav-new-item-rich .nav-new-item-ico { flex: none; margin-top: 1px; color: var(--ink-soft); }
.nav-new-item-rich span { display: flex; flex-direction: column; gap: 2px; }
.nav-new-item-rich b { font-weight: 400; color: #5C5C5C; }
.nav-new-item-rich i { font-style: normal; font-size: var(--text-meta); color: #5C5C5C; line-height: 1.3; }
.nav-new-modal-card { background: var(--navy-950); border-color: rgba(255,255,255,.14); padding: 4px; }
.nav-new-modal-card .nav-new-item { color: #fff; padding: 5px 10px; }
.nav-new-modal-card .nav-new-item:hover:not(:disabled) { background: rgba(255,255,255,.1); color: #fff; }
.nav-new-modal-card .nav-new-item:disabled { color: var(--sidebar-muted); }
#iconRailViewerMenu { background: var(--navy-950); border-color: rgba(255,255,255,.14); padding: 4px; }
#iconRailViewerMenu .nav-new-item { color: #fff; padding: 4px 10px; font-size: 13px; font-weight: 500; }
#iconRailViewerMenu .nav-new-item:hover:not(:disabled) { background: rgba(255,255,255,.1); color: #fff; }
#iconRailViewerMenu .nav-new-item.active { font-weight: 600; }
#staffToolsMenu { background: var(--navy-950); border-color: rgba(255,255,255,.14); padding: 4px; }
#staffToolsMenu .nav-new-item { color: #fff; padding: 4px 10px; font-size: 13px; font-weight: 500; }
#staffToolsMenu .nav-new-item:hover:not(:disabled) { background: rgba(255,255,255,.1); color: #fff; }
#navThreadMenuPanel { background: var(--navy-950); border-color: rgba(255,255,255,.14); padding: 4px; }
#navThreadMenuPanel .nav-new-item { color: #fff; padding: 4px 10px; font-size: 13px; }
#navThreadMenuPanel .nav-new-item:hover:not(:disabled) { background: rgba(255,255,255,.1); color: #fff; }
.nav-new-item:hover:not(:disabled) { background: var(--page-bg); color: var(--ink); }
.nav-new-item:disabled { color: #A9B6C2; cursor: default; opacity: .7; }
.sidebar .nav-new-menu { background: #FFFFFF; border-color: var(--sidebar-border); box-shadow: 0 8px 24px rgba(16,36,58,.16); }
.sidebar .nav-new-item { color: var(--sidebar-text); }
.sidebar .nav-new-item:hover:not(:disabled) { background: #E3E6EA; color: var(--sidebar-text); }
.sidebar .nav-new-item:disabled { color: var(--sidebar-muted, #7E93A7); }
#wsSwitchMenu.nav-new-menu { padding: var(--space-1); }
#wsSwitchMenu .nav-new-item { padding: 6px var(--space-3); }
#wsSwitchMenu.nav-new-menu { overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; max-height: calc(100vh - 80px); }
#wsSwitchMenu .nav-new-filter { position: sticky; top: 0; display: block; width: 100%; box-sizing: border-box; margin: 0 0 4px; padding: 7px 12px; min-height: 36px; font: inherit; font-size: 13px; border: 1px solid #CBD3DA; border-radius: 8px; background: #fff; color: inherit; }
#wsSwitchMenu .nav-new-item:focus-visible, #wsSwitchMenu .nav-new-filter:focus-visible { outline: 2px solid var(--c-brand, #2B4A6F); outline-offset: -2px; }
.nav-search { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); color: var(--ink-muted); font-size: var(--text-sm); height: 34px; padding: 0 var(--space-2); margin-bottom: var(--space-1); border-radius: var(--radius-sm); opacity: 0.5; cursor: default; }
.nav-search-l { display: flex; align-items: center; gap: var(--space-3); }
.nav-search-k { font-size: var(--text-xs); color: var(--ink-faint); }
.vf-l { cursor: pointer; color: var(--accent); font-weight: 600; white-space: nowrap; text-decoration: none; }
.vf-l:hover { text-decoration: underline; }
.vf-block { display: inline-block; margin-top: 4px; }
.vf-b[hidden] { display: none; }
.nav-divider { height: 1px; margin: 6px 8px; background: var(--sidebar-border); border: none; }
.nav-recent-wrap { margin-top: 20px; }
.nav-ws-context { margin-top: 25px; }
.nav-ws-context-head { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0 12px 6px; background: none; border: none; cursor: pointer; font: inherit; }
.nav-ws-context-title { font-size: 12px; font-weight: 500; letter-spacing: 0em; color: var(--ink-400); text-transform: uppercase; }
.nav-ws-context-chevron { width: 13px; height: 13px; color: var(--ink-400); transition: transform .15s ease; }
.nav-ws-context.collapsed .nav-ws-context-chevron { transform: rotate(-90deg); }
.nav-ws-context.collapsed .nav-ws-context-list { display: none; }
.nws-group { margin-top: 14px; }
.nws-group .nav-ws-context-head { padding-bottom: 4px; }
.nws-group.collapsed .nws-items { display: none; }
.nws-group.collapsed .nav-ws-context-chevron { transform: rotate(-90deg); }
.nws-items { display: flex; flex-direction: column; }
.nav-ws-context-item.nws-muted { opacity: .5; }
.nav-ws-context-list { display: flex; flex-direction: column; }
.nav-ws-context-item { gap: 9px; }
.nav-ws-context-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-recent-skel { height: 32px; margin: 0 10px 1px; border-radius: var(--radius-sm); background: rgba(255,255,255,.06); animation: navRecentPulse 1.4s ease-in-out infinite; }
@keyframes navRecentPulse { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }
.nav-recent-label { padding: 0 12px 6px; font-size: 12px; font-weight: 500; letter-spacing: 0em; color: var(--ink-400); text-transform: uppercase; }
.nav-recent-list { display: flex; flex-direction: column; }
.nav-recent-item { gap: 9px; }
.nav-recent-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-recent-ico { flex: none; opacity: .75; }
.nav-recent-item { position: relative; align-items: center; }
.nav-recent-txt { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; overflow: hidden; }
.nav-recent-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: inherit; }
.nav-recent-more { color: var(--ink-400); cursor: pointer; }
.nav-recent-more[aria-disabled=true] { opacity: .6; pointer-events: none; }
.nb-session-notice { font-size: 13px; color: var(--ink); background: var(--surface-muted); border: 1px solid var(--border); border-radius: 8px; padding: 8px 12px; margin: 0 0 8px; }
.nb-session-notice a { color: var(--accent); font-weight: 600; text-decoration: none; }
.nav-recent-chevron { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 7px; border: 0; background: transparent; color: var(--ink-soft); cursor: pointer; opacity: 0; visibility: hidden; transition: opacity .1s ease; }
.nav-recent-chevron svg { width: 22px; height: 22px; }
.nav-recent-item:hover .nav-recent-chevron { opacity: 1; visibility: visible; }
@media (hover: none) { .nav-recent-chevron { opacity: 1; visibility: visible; } }
.nav-recent-chevron:hover, .nav-recent-chevron[aria-expanded="true"] { background: transparent; color: var(--accent); }
.nav-recent-sublabel { padding: 25px 12px 4px; font-size: 12px; font-weight: 500; letter-spacing: 0em; color: var(--ink-400); text-transform: uppercase; }
.nav-caret { margin-left: auto; opacity: 0.5; transition: transform 0.15s; }
.nav-sub { display: block; margin: 0 0 2px 14px; }
.nav-group-label { display: block; font-size: var(--text-compact-sm); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; opacity: .55; color: var(--sidebar-text); padding: 10px 10px 5px; cursor: default; }
.nav-diag-wrap.nav-group-locked .nav-group-label { cursor: pointer; }
.nav-sub-item.nav-locked { opacity: .45; cursor: default; }
.nav-sub-item { display: block; border-radius: var(--radius-sm); cursor: pointer; }
.nav-sub-item.active { font-weight: 500; }
.nav-spacer { flex: 1; }
.nav-demo { display: flex; align-items: center; gap: 8px; height: 28px; padding: 0 10px; border-radius: var(--radius-sm); cursor: pointer; font-size: var(--text-meta); color: var(--sidebar-muted); user-select: none; }
.nav-demo:hover { background: rgba(255,255,255,.05); color: #C6D2DC; }
.nav-demo-dot { width: 7px; height: 7px; border-radius: var(--radius-full); background: var(--border-strong); flex-shrink: 0; }
.nav-demo-state { margin-left: auto; font-size: var(--text-meta); color: var(--ink-faint); }
.nav-demo.on { background: #E3E6EA; color: var(--sidebar-text); }
/* Operator | Client segmented view toggle - two named states, not an
 on/off flag. Operator (left) is the default and carries no visual
 warning. Client (right), when active, is amber - a deliberate 'this
 counts' signal, distinct from demo mode's neutral/green language,
 because the two toggles mean opposite things: demo mode makes a run
 free and excluded; client view makes an operator run count as real. */
.nav-view-toggle { display: flex; margin: 0 10px 6px; border-radius: 6px; background: rgba(255,255,255,.06); padding: 2px; }
.nav-view-seg { flex: 1; text-align: center; font-size: var(--text-meta); padding: 5px 0; border-radius: var(--radius-sm); color: var(--sidebar-muted); cursor: pointer; user-select: none; }
.nav-view-seg.active { background: #E3E6EA; color: var(--sidebar-text); font-weight: var(--weight-semi); }
.nav-view-seg.active.client-active { background: var(--warning); color: #1A1200; }
.nav-view-toggle.in-client { box-shadow: 0 0 0 1px var(--warning); }
.nav-demo.on .nav-demo-dot { background: var(--positive); }
.nav-demo.on .nav-demo-state { color: var(--positive); font-weight: var(--weight-semi); }
.nav-util { height: 30px; display: flex; align-items: center; gap: 9px; padding: 0 10px; border-radius: var(--radius-sm); color: var(--sidebar-muted); font-size: var(--text-meta); cursor: pointer; text-decoration: none; }
.nav-util + .nav-util { margin-top: 1px; }
.nav-util:hover { color: var(--sidebar-text); background: #E3E6EA; }
.nav-util.active { color: var(--sidebar-text); background: var(--sidebar-active); }
.profile { display: flex; align-items: center; gap: 9px; margin: 0; padding: 10px; border-top: 1px solid var(--sidebar-border); }
.avatar { width: 30px; height: 30px; border-radius: var(--radius-full); background: var(--navy-700); color: #fff; font-size: var(--text-meta); font-weight: var(--weight-semi); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.profile-name { font-size: var(--text-ui); color: #E7EEF4; font-weight: var(--weight-medium); }
.logout { flex-shrink: 0; color: var(--ink-muted); cursor: pointer; padding: var(--space-1); border-radius: var(--radius-sm); display: flex; }
.logout:hover { color: var(--ink); background: rgba(14,27,42,0.06); }
.r-topbar { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-5); }
.r-title { font-size: var(--text-2xl); font-weight: var(--weight-bold); line-height: var(--leading-tight); margin: 0 0 var(--space-2); letter-spacing: -0.011em; }
.r-sub { font-size: var(--text-md); color: var(--ink-soft); line-height: var(--leading-normal); margin: 0; max-width: 60ch; }
.r-complete { flex-shrink: 0; background: var(--surface-sunk); border: 1px solid var(--border-strong); color: var(--ink); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); min-width: 210px; }
.r-complete-eyebrow{ font-size: var(--text-xs); letter-spacing: 0.09em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; margin-bottom: var(--space-2); }
.r-complete-title { font-size: var(--text-md); font-weight: var(--weight-semi); margin-bottom: var(--space-1); color: var(--ink); }
.r-complete-sub { font-size: var(--text-sm); color: var(--ink-soft); }
.r-complete-btn{ display: inline-block; margin-top: var(--space-3); background: var(--accent); color: #fff; font-size: var(--text-sm); font-weight: 500; padding: var(--space-2) var(--space-4); border-radius: var(--radius-sm); cursor: pointer; border: none; font-family: inherit; }
.results-intelligence-strip { margin-bottom: 14px; min-height: 62px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)) auto; align-items: center; background: #fff; border: 1px solid var(--border-strong); border-radius: var(--radius-md); box-shadow: var(--shadow-card); overflow: hidden; }
.intelligence-metric { min-height: 62px; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 9px; align-items: center; padding: 10px 12px; border-right: 1px solid var(--border); }
.intelligence-metric-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 6px; background: var(--surface-steel); color: var(--steel-700); }
.intelligence-metric-label { font-size: var(--text-nano); line-height: 1; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-400); }
.intelligence-metric-value { margin-top: 3px; font-size: var(--text-compact); line-height: 1.15; font-weight: 600; color: var(--ink); }
.intelligence-strip-action { padding: 0 12px; }
.intelligence-strip-action .btn-primary { height: 36px; }
.r-metabar { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-4); font-size: var(--text-sm); color: var(--ink-muted); margin-bottom: var(--space-5); }
.r-intake-btn{ display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); color: var(--ink-soft); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-4); background: var(--surface); cursor: pointer; }
.r-intake-btn:hover { border-color: #A9BED2; color: var(--ink); }
.r-tabs { display: flex; gap: var(--space-6); border-bottom: 1px solid var(--border); margin-bottom: var(--space-6); }
.r-tab { font-size: var(--text-base); line-height: 20px; font-weight: 500; color: var(--ink-muted); padding: 0 0 var(--space-3); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: var(--space-0); }
.r-tab.active { color: var(--ink); font-weight: 500; border-bottom-color: var(--accent); }
.dxpat-tab { font-size: var(--text-base); line-height: 20px; font-weight: 500; color: var(--ink-muted); padding: 0 0 var(--space-3); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: var(--space-0); }
.dxpat-tab.active { color: var(--ink); font-weight: 500; border-bottom-color: var(--accent); }
.dxpat-pill { display: inline-block; margin-top: 6px; font-size: var(--text-ui); font-weight: 600; color: var(--info); background: var(--info-bg); border-radius: 999px; padding: 3px 12px; text-align: center; }
.r-tabpanel { display: none; }
.r-tabpanel.active { display: block; }
.r-panelbanner { display: flex; align-items: center; gap: var(--space-3); border-radius: var(--radius-sm); padding: 7px 10px; margin-bottom: var(--space-4); font-size: 12px; line-height: var(--leading-normal); color: var(--ink-soft); }
.r-panelbanner-x { flex-shrink: 0; border: 0; background: transparent; color: var(--ink-muted); cursor: pointer; font-size: var(--text-micro); padding: 2px 4px; line-height: 1; }
.r-panelbanner-x:hover { color: var(--ink); }
.r-panelbanner strong { color: var(--ink); }
.r-panelbanner div { flex: 1; }
.r-panelbanner-dot { width: 8px; height: 8px; border-radius: var(--radius-full); flex-shrink: 0; }
.r-panelbanner.measured { background: rgba(26,106,74,0.07); border: 1px solid rgba(26,106,74,0.18); }
.r-panelbanner.measured .r-panelbanner-dot { background: var(--positive); }
.r-panelbanner.stale { background: var(--surface-sunk); border: 1px solid var(--border-strong); }
.r-panelbanner.stale .r-panelbanner-dot { background: var(--warning); }
.r-panelbanner button { flex-shrink: 0; }
.r-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); margin-bottom: var(--space-4); }
.r-label { font-size: var(--text-xs); color: var(--ink-muted); font-weight: 600; margin-bottom: var(--space-2); }
.r-prose { font-size: var(--text-md); line-height: var(--leading-relaxed); color: var(--ink); }
.r-misdx { background: var(--accent-pale); border-left: 3px solid var(--accent); border-radius: 0 var(--radius-md) var(--radius-md) 0; padding: var(--space-4) var(--space-5); }
.r-misdx .r-prose { color: var(--ink-soft); }
.r-surgeon { background: var(--surface-sunk); border-left: 3px solid var(--accent-soft); border-radius: 0 var(--radius-md) var(--radius-md) 0; padding: var(--space-2) var(--space-4); margin-bottom: var(--space-4); width: 100%; box-sizing: border-box; }
.r-surgeon-label { font-size: var(--text-label); color: var(--accent); font-weight: 700; margin-bottom: 2px; }
.r-surgeon-text { font-size: var(--text-sm); line-height: 1.4; color: var(--ink); font-style: italic; }
.r-row3 { display: grid; grid-template-columns: 0.8fr 1.1fr 1.1fr; gap: var(--space-4); margin-bottom: var(--space-4); }
.r-gap-num { font-size: var(--display-lg); font-weight: 500; line-height: var(--leading-tight); margin: var(--space-1) 0 var(--space-1); }
.r-gap-num.behind { color: var(--risk); }
.r-gap-num.ahead { color: var(--positive); }
.r-gap-num.none { color: var(--ink-muted); font-size: var(--display-md); }
.r-gap-sub { font-size: var(--text-sm); color: var(--ink-muted); }
.r-goal-item { padding: var(--space-2) 0; border-bottom: 1px solid var(--border-faint); }
.r-goal-item:last-child { border-bottom: none; }
.r-goal-metric { font-size: var(--text-base); font-weight: 500; }
.r-goal-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.r-goal-status { font-size: var(--text-xs); padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); font-weight: 600; white-space: nowrap; }
.r-goal-status.blocked { color: var(--risk); background: rgba(192,57,43,0.1); }
.r-goal-status.at-risk { color: var(--warning); background: rgba(176,123,46,0.1); }
.r-goal-status.on-track { color: var(--positive); background: rgba(28,155,118,0.1); }
.r-goal-status.missed { color: #fff; background: var(--risk); }
.r-goal-status.unknown { color: var(--ink-muted); background: var(--surface-sunk); }
.r-goal-why { font-size: var(--text-xs); color: var(--ink-muted); margin-top: var(--space-1); }
.r-goal-line { font-size: var(--text-base); color: var(--ink-soft); margin-top: var(--space-1); display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.r-goal-fresh { font-weight: 600; color: var(--ink); }
.r-goal-asof { font-size: var(--text-xs); color: var(--ink-muted); font-style: italic; }
.r-traj { font-size: var(--text-xs); padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); font-weight: 500; }
.r-traj.Rebound { color: var(--positive); background: rgba(28,155,118,0.1); }
.r-traj.Improving { color: var(--positive); background: rgba(28,155,118,0.1); }
.r-traj.Declining { color: var(--risk); background: rgba(192,57,43,0.1); }
.r-traj.Flat { color: var(--ink-muted); background: var(--accent-pale); }
.r-status { font-size: var(--text-xs); padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); font-weight: 500; text-transform: capitalize; }
.r-status.blocked { color: var(--risk); background: rgba(192,57,43,0.1); }
.r-status\\.at.risk, .r-status.at-risk { color: var(--warning); background: rgba(200,138,43,0.1); }
.r-status.on-track { color: var(--positive); background: rgba(28,155,118,0.1); }
.r-status.unknown { color: var(--ink-muted); background: var(--accent-pale); }
.r-driver { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-2) 0; border-bottom: 1px solid var(--border-faint); }
.r-driver:last-child { border-bottom: none; }
.r-driver-name { font-size: var(--text-base); }
.r-driver-score { font-size: var(--text-base); font-weight: 500; }
.r-driver-score.weak { color: var(--risk); }
.r-driver-score.mod { color: var(--warning); }
.r-pat-item { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding: var(--space-2) 0; border-bottom: 1px solid var(--border-faint); }
.r-pat-item:last-child { border-bottom: none; }
.r-pat-k { font-size: var(--text-sm); color: var(--ink-muted); }
.r-pat-v { font-size: var(--text-base); font-weight: 500; text-align: right; }
.r-gate { border-radius: var(--radius-sm); background: var(--surface-sunk); padding: var(--space-5) var(--space-4); text-align: center; }
.r-gate-title { font-size: var(--text-md); font-weight: var(--weight-semi); margin-bottom: var(--space-2); }
.r-gate-sub { font-size: var(--text-sm); color: var(--ink-soft); line-height: var(--leading-normal); margin-bottom: var(--space-4); max-width: 46ch; margin-left: auto; margin-right: auto; }
.r-gate-btn { background: var(--accent); color: #fff; font-size: var(--text-sm); font-weight: 500; padding: var(--space-2) var(--space-4); border-radius: var(--radius-sm); border: none; cursor: pointer; font-family: inherit; }
.r-gate.paid { border-color: var(--border); }
.r-gate-pill { display: inline-block; font-size: var(--text-xs); color: var(--ink-muted); background: var(--accent-pale); border-radius: var(--radius-pill); padding: var(--space-1) var(--space-3); margin-bottom: var(--space-3); }
.r-hier { display: flex; align-items: stretch; gap: var(--space-2); margin: var(--space-4) 0 var(--space-5); }
.r-hier .hierarchy-node { flex: 1 1 0; min-width: 0; padding: 8px 6px; }
.r-hier .hierarchy-name { font-size: var(--text-meta); }
@media (max-width: 900px) { .r-hier { flex-wrap: wrap; } .r-hier .hierarchy-node { flex: 1 1 calc(33.333% - 6px); } }
.r-hier .hierarchy-status-badge { font-size: var(--text-micro); padding: 2px 6px; }
.r-layer { border-radius: var(--radius-md); padding: var(--space-3) var(--space-2); text-align: center; cursor: pointer; border: 1px solid transparent; }
.r-layer-num { font-size: var(--text-sm); color: var(--ink-muted); margin-bottom: var(--space-1); }
.r-layer-name { font-size: var(--text-sm); font-weight: var(--weight-semi); line-height: var(--leading-tight); }
.r-layer.root { background: rgba(192,57,43,0.12); border-color: rgba(192,57,43,0.4); }
.r-layer.root .r-layer-num, .r-layer.root .r-layer-name { color: var(--risk); }
.r-layer.affected { background: rgba(200,138,43,0.12); border-color: rgba(200,138,43,0.35); }
.r-layer.affected .r-layer-num, .r-layer.affected .r-layer-name { color: var(--warning); }
.r-layer.clear { background: rgba(74,106,154,0.08); border-color: rgba(74,106,154,0.2); }
.r-layer.clear .r-layer-name { color: var(--accent-bright); }
.r-layer.sel { outline: 2px solid var(--ink); outline-offset: 1px; }
.r-layer-detail { background: var(--surface-sunk); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-5) var(--space-5); font-size: var(--text-base); line-height: var(--leading-relaxed); color: var(--ink-soft); }
.results-page .hierarchy-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); margin-top: var(--space-4); }
.results-page .hierarchy-evidence-metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; margin-top: 12px; }
.results-page .hierarchy-metric { padding: 10px 8px; border: 1px solid var(--border-faint); border-radius: var(--radius-sm); background: #fff; text-align: center; }
.results-page .hierarchy-metric strong { display: block; font-size: var(--text-body); line-height: 1; font-weight: 650; color: var(--ink); }
.results-page .hierarchy-metric span { display: block; margin-top: 3px; font-size: var(--text-label); line-height: 1.2; color: var(--ink-muted); }
.results-page .downstream-chain { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.results-page .downstream-node { display: inline-flex; align-items: center; padding: 5px 10px; border: 1px solid #EACD97; border-radius: var(--radius-sm); background: #FFF7E8; font-size: var(--text-label); font-weight: 500; color: var(--ink); }
.results-page .downstream-node.root { border-color: var(--danger); background: var(--danger-bg); color: var(--danger); font-weight: 600; }
.results-page .downstream-arrow { color: var(--ink-muted); font-size: var(--text-meta); }
@media (max-width: 900px) { .results-page .hierarchy-detail-grid { grid-template-columns: 1fr; } }
.r-pattern-tabs { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: #F8FAFB; width: fit-content; margin-bottom: var(--space-5); }
.r-ptab { display: flex; align-items: center; min-height: 38px; padding: 0 14px; border: 0; border-radius: 7px; background: transparent; color: var(--ink-600); font-size: var(--text-meta); font-weight: 600; cursor: pointer; }
.r-ptab:hover { background: var(--steel-050); color: var(--ink); }
.r-ptab.active { background: #fff; color: var(--ink); font-weight: 700; box-shadow: 0 1px 2px rgba(16,37,54,.06), inset 0 -2px 0 var(--steel-600); }
.r-other-analyses-label { margin-top: var(--space-6); margin-bottom: var(--space-3); color: var(--ink-600); font-size: var(--text-meta); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.r-ptab:focus-visible { outline: 2px solid var(--steel-600); outline-offset: 2px; }
.r-pattern-split { display: grid; grid-template-columns: 420px 1fr 280px; gap: var(--space-5); align-items: start; }
.r-pattern-chart { min-width: 0; }
.r-pattern-prose { }
.results-page .pattern-takeaways { padding-left: var(--space-4); border-left: 1px solid var(--border-faint); min-width: 0; }
.results-page .pattern-takeaways-title { font-size: var(--text-h3); font-weight: 650; color: var(--ink); }
.results-page .pattern-takeaway-list { display: grid; gap: 13px; margin-top: 12px; }
.results-page .pattern-takeaway { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 8px; font-size: var(--text-base); line-height: var(--leading-relaxed); color: var(--ink-soft); }
.results-page .pattern-takeaway-number { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--surface-steel); color: var(--steel-700); font-size: var(--text-label); font-weight: 600; }
@media (max-width: 1250px) { .r-pattern-split { grid-template-columns: 340px 1fr; } .results-page .pattern-takeaways { grid-column: 1 / -1; padding-left: 0; padding-top: 12px; border-left: 0; border-top: 1px solid var(--border-faint); } }
.r-chart-note { font-size: var(--text-xs); color: var(--ink-muted); line-height: var(--leading-normal); margin-top: var(--space-2); max-width: 320px; }
.r-why { margin-bottom: var(--space-4); }
.r-why-item:last-child, .perf-priority:last-child, .perf-check:last-child, .rec-prov-item:last-child { margin-bottom: 0; }
.perf-trow:last-child, .mon-row:last-child { border-bottom: none; }
.r-why-item { font-size: var(--text-base); line-height: var(--leading-relaxed); color: var(--ink-soft); margin-bottom: var(--space-3); }
.r-why-src { font-size: var(--text-xs); color: var(--ink-muted); font-weight: 600; margin-right: var(--space-2); }
.r-confirm { border-top: 1px solid var(--border-faint); padding-top: var(--space-4); margin-top: var(--space-2); }
.r-alt-table { border: 1px solid var(--line); border-radius: 6px; overflow: hidden; margin-top: 10px; }
.r-alt-row { display: grid; grid-template-columns: 220px 1fr; border-top: 1px solid var(--line); }
.r-alt-row:first-child { border-top: none; }
.r-alt-name { padding: 14px 16px; font-size: var(--text-ui); font-weight: 700; color: var(--ink-800); background: var(--surface-subtle); border-right: 1px solid var(--line); }
.r-alt-content { padding: 14px 16px; }
.r-sources { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--border); }
.r-sources summary { cursor: pointer; list-style: none; }
.r-sources summary::-webkit-details-marker { display: none; }
.r-sources summary:after { content: '⌄'; margin-left: 6px; font-size: var(--text-micro); color: var(--ink-muted); }
.r-sources[open] summary:after { content: '⌃'; }
.r-sources[open] summary { margin-bottom: var(--space-3); }
.r-source-item { font-size: var(--text-sm); color: var(--ink-soft); line-height: var(--leading-relaxed); margin-bottom: var(--space-2); }
.r-source-item a { color: var(--accent); text-decoration: none; }
.r-intake-row { display: grid; grid-template-columns: 200px 1fr; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--border-faint); font-size: var(--text-base); }
.r-intake-k { color: var(--ink-muted); }
.r-intake-v { color: var(--ink); white-space: pre-wrap; }
.r-past-row { display: grid; grid-template-columns: auto 1.1fr 1fr .8fr .8fr 1.4fr .7fr auto; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--border-faint); font-size: var(--text-base); align-items: center; }
.r-past-sub { font-size: var(--text-meta); color: var(--ink-muted); margin-top: 2px; }
.r-past-head { font-size: var(--text-xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; }
.r-past-link { color: var(--accent); text-decoration: none; cursor: pointer; font-size: var(--text-sm); }
.rec-topbar { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-2); }
.rec-title-row { display: flex; align-items: center; gap: var(--space-3); }
.rec-title { font-size: var(--text-2xl); font-weight: var(--weight-bold); margin: 0; letter-spacing: -0.011em; }
.rec-badge { font-size: var(--text-xs); font-weight: 600; color: var(--positive); background: rgba(26,106,74,0.1); padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); }
.rec-actions-top { display: flex; gap: var(--space-2); flex-shrink: 0; }
.rec-btn { font-family: inherit; font-size: var(--text-sm); font-weight: 500; border-radius: var(--radius-sm); padding: var(--space-2) var(--space-4); cursor: pointer; border: 1px solid var(--border-strong); background: var(--surface); color: var(--ink-soft); }
.rec-btn:hover { border-color: #A9BED2; color: var(--ink); }
.rec-btn.soon { opacity: 0.5; cursor: default; }
.rec-sub { font-size: var(--text-md); color: var(--ink-soft); line-height: var(--leading-normal); margin: var(--space-2) 0 var(--space-1); max-width: 62ch; }
.rec-meta { font-size: var(--text-sm); color: var(--ink-muted); margin-bottom: var(--space-5); }
.rec-row2 { display: grid; grid-template-columns: 1.7fr 0.9fr; gap: var(--space-4); margin-bottom: var(--space-4); align-items: start; }
.rec-phase-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3); margin-bottom: var(--gap-card); align-items: start; }
.rec-phase { display: flex; gap: var(--space-3); padding: var(--space-4); }
@media (max-width: 900px) { .rec-phase-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .rec-phase-grid { grid-template-columns: 1fr; } }
.rec-phase-dot { width: 13px; height: 13px; border-radius: var(--radius-full); border: 2px solid var(--border-strong); flex-shrink: 0; margin-top: 3px; }
.rec-phase.done .rec-phase-dot { background: var(--ink); border-color: var(--ink); }
.rec-phase-k { font-size: var(--text-xs); color: var(--ink-muted); font-weight: 600; }
.rec-phase-title { font-size: 18px; line-height: 26px; font-weight: var(--weight-semi); margin: 2px 0 3px; }
.rec-phase-sub { font-size: var(--text-base); color: var(--ink-soft); line-height: 23px; }
.rec-phase-step:last-child { margin-bottom: 0; }
.rec-phase-steps { margin-top: var(--space-3); }
.rec-phase-step { font-size: var(--text-base); color: var(--ink-soft); line-height: 23px; padding: 0 0 0 var(--space-4); margin-bottom: var(--space-2); position: relative; }
.rec-phase-step:before { content: ''; position: absolute; left: 3px; top: 0.62em; width: 4px; height: 4px; border-radius: var(--radius-full); background: var(--ink-muted); }
.rec-impact-num { font-size: var(--display-lg); font-weight: 500; margin: var(--space-1) 0 var(--space-1); color: var(--ink); }
.rec-impact-tbd { font-size: var(--display-md); font-weight: 500; color: var(--ink-muted); }
.rec-impact-note { font-size: var(--text-sm); color: var(--ink-muted); line-height: var(--leading-normal); margin-bottom: var(--space-2); }
.rec-conc { font-size: var(--text-sm); color: var(--ink-soft); margin: var(--space-3) 0; padding: var(--space-2) var(--space-3); background: var(--surface-sunk); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.rec-prov-label { font-size: var(--text-xs); color: var(--ink-muted); font-weight: 600; margin: var(--space-4) 0 var(--space-2); }
.rec-prov-item { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); color: var(--ink-soft); margin-bottom: var(--space-2); }
.gs-card .rec-prov-item { font-size: var(--text-micro); margin-bottom: 5px; gap: 6px; }
.gs-card .rec-dot { width: 6px; height: 6px; flex: none; }
.rec-dot { width: 9px; height: 9px; border-radius: var(--radius-full); flex-shrink: 0; }
.rec-dot.on { background: var(--positive); }
.rec-dot.off { background: var(--border-strong); }
.rec-prov-item.off { color: var(--ink-faint); }
.rec-panelcta { display: block; width: 100%; margin-top: var(--space-3); font-family: inherit; font-size: var(--text-sm); color: var(--ink-soft); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: var(--space-3); background: var(--surface-sunk); cursor: pointer; text-align: center; }
.rec-panelcta:hover { border-color: #A9BED2; color: var(--ink); }
.rec-actions-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-1); }
.rec-plan-select { font-size: var(--text-sm); font-family: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 5px 8px; cursor: pointer; }
.rec-table-head { display: grid; grid-template-columns: 2.6fr 1fr 0.9fr 0.8fr 0.9fr auto; gap: var(--space-3); font-size: var(--text-table-head); line-height: 18px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; padding: var(--space-2) 0; border-bottom: 1px solid var(--border); }
.rec-arow { display: grid; grid-template-columns: 2.6fr 1fr 0.9fr 0.8fr 0.9fr auto; gap: var(--space-3); align-items: center; padding: var(--space-4) 0; border-bottom: 1px solid var(--border-faint); font-size: var(--text-table-body); line-height: 20px; position: relative; }
.rec-aaction { color: var(--ink); line-height: var(--leading-relaxed); padding-right: var(--space-3); }
.rec-owner-input { font-family: inherit; font-size: var(--text-base); color: var(--ink); border: 1px solid transparent; border-radius: var(--radius-sm); padding: var(--space-2) var(--space-2); background: transparent; width: 100%; }
.rec-owner-input:hover { border-color: var(--border); background: var(--surface-sunk); }
.rec-owner-input:focus { outline: none; border-color: var(--accent); background: var(--surface); }
.rec-due-input { font-family: inherit; font-size: var(--text-base); color: var(--ink); border: 1px solid transparent; border-radius: var(--radius-sm); padding: var(--space-2) var(--space-2); background: transparent; width: 100%; }
.rec-due-input:hover { border-color: var(--border); background: var(--surface-sunk); }
.rec-due-input:focus { outline: none; border-color: var(--accent); background: var(--surface); }
.rec-arow > div { padding-top: 2px; }
@media (min-width: 761px) { .recovery-actions-table tr.rec-arow { display: table-row; padding: 0; gap: 0; } }
.rec-timing { font-size: var(--text-sm); color: var(--ink-soft); }
.rec-impact-tag { display: inline-block; font-size: var(--text-micro-lg); font-weight: 600; color: var(--ink-muted); background: var(--surface-subtle); padding: 3px 9px; border-radius: 20px; }
.rec-impact-tag.foundational { color: var(--steel-600); background: var(--steel-050); }
.rec-status-sel { font-family: inherit; font-size: var(--text-sm); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-2); background: var(--surface); color: var(--ink-soft); cursor: pointer; }
.rec-save-bar { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--border-faint); }
.rec-save-btn{ background: var(--accent); color: #fff; font-size: var(--text-sm); font-weight: 500; padding: var(--space-2) var(--space-4); border-radius: var(--radius-sm); border: none; cursor: pointer; font-family: inherit; }
.rec-save-btn:disabled { opacity: 0.5; }
.rec-save-status { font-size: var(--text-sm); color: var(--positive); opacity: 0; transition: opacity 0.2s; }
.rec-save-status.on { opacity: 1; }
.rec-alts { position: relative; margin-top: var(--space-4); }
.rec-alt { padding: var(--space-4) 0; border-bottom: 1px solid var(--border-faint); }
.rec-alt-head { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-1); }
.rec-alt-name { font-size: var(--text-base); font-weight: var(--weight-semi); }
.rec-alt-tag { font-size: var(--text-xs); font-weight: 600; padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); }
.rec-alt-tag.gated { color: var(--ink-muted); background: var(--accent-pale); }
.rec-alt-tag.soon { color: var(--warning); background: rgba(200,138,43,0.1); }
.rec-alt-desc { font-size: var(--text-base); color: var(--ink-soft); line-height: var(--leading-normal); }
.rec-alt-locked { filter: blur(3px); opacity: 0.55; pointer-events: none; user-select: none; }
.rec-gate-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.rec-gate-card { background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: var(--space-6) var(--space-8); box-shadow: 0 8px 30px -8px rgba(14,27,42,0.15); max-width: 380px; }
.rec-gate-title { font-size: var(--text-md); font-weight: var(--weight-semi); margin-bottom: var(--space-2); }
.rec-gate-sub { font-size: var(--text-base); color: var(--ink-soft); line-height: var(--leading-normal); margin-bottom: var(--space-4); }
.rec-gate-btn { background: var(--accent); color: #fff; font-size: var(--text-sm); font-weight: 500; padding: var(--space-2) var(--space-4); border-radius: var(--radius-sm); border: none; cursor: pointer; font-family: inherit; }
.recovery-page .eyebrow { color: var(--steel-700); font-size: var(--text-meta); }
.recovery-page .perf-hero-sub { color: var(--ink-600); font-size: var(--text-compact); max-width: 470px; }
.recovery-inputs-card { align-self: flex-start; width: 306px; padding: var(--space-3); background: rgba(255,255,255,.97); border: 1px solid var(--line-strong); border-radius: var(--radius-md); box-shadow: var(--shadow-pop); }
.recovery-inputs-title { margin: 0 0 var(--space-2); font-size: var(--text-micro); line-height: 1; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-400); }
.recovery-input-list { display: grid; gap: 6px; }
.recovery-input-item { display: grid; grid-template-columns: 10px minmax(0,1fr) auto; gap: 7px; align-items: center; font-size: var(--text-micro-lg); line-height: 1.3; color: var(--ink-600); }
.recovery-input-dot { width: 7px; height: 7px; border-radius: var(--radius-full); background: var(--line-strong); }
.recovery-input-item.complete .recovery-input-dot { background: var(--success); }
.recovery-input-state { font-size: var(--text-micro-sm); color: var(--ink-400); }
.recovery-input-item.complete .recovery-input-state { color: var(--success); }
.recovery-run-panels { width: 100%; height: 35px; margin-top: var(--space-3); font-size: var(--text-micro-lg); }
.recovery-plan-toolbar { min-height: 58px; display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-3); padding: var(--space-3) var(--space-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.recovery-plan-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 6px; background: var(--steel-100); color: var(--steel-700); flex-shrink: 0; }
.recovery-plan-icon .ico { width: 16px; height: 16px; }
.recovery-plan-meta { min-width: 0; }
.recovery-plan-title { margin: 0; font-size: var(--text-ui); line-height: 1.2; font-weight: 600; color: var(--ink); }
.recovery-plan-dates { margin-top: 2px; font-size: var(--text-label); color: var(--ink-400); }
.recovery-plan-toolbar-right { margin-left: auto; display: flex; align-items: center; gap: var(--space-2); }
.recovery-plan-select { width: 118px; height: 34px; font-size: var(--text-micro); }
.recovery-share-button { min-width: 82px; }
.recovery-progress-card { display: grid; grid-template-columns: minmax(0,1.35fr) repeat(4, 92px); gap: var(--space-2); align-items: stretch; margin-top: var(--space-3); padding: var(--space-4); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.recovery-progress-main { padding: 6px 8px 4px; }
.recovery-progress-label { font-size: var(--text-micro-sm); line-height: 1; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--steel-700); }
.recovery-progress-row { display: flex; align-items: baseline; justify-content: space-between; margin-top: 9px; }
.recovery-progress-title { font-size: var(--text-stat-sm); line-height: 1.1; font-weight: 600; color: var(--ink); }
.recovery-progress-percent { font-size: var(--text-summary); font-weight: 600; color: var(--steel-700); }
.recovery-progress-track { height: 8px; margin-top: 9px; overflow: hidden; border-radius: var(--radius-pill); background: var(--steel-100); }
.recovery-progress-fill { height: 100%; border-radius: inherit; background: var(--steel-700); }
.recovery-progress-stat { display: grid; place-items: center; padding: var(--space-3); border-radius: var(--radius-sm); background: var(--surface-muted); text-align: center; }
.recovery-progress-stat.foundational { background: var(--steel-050); }
.recovery-progress-stat.overdue { background: var(--danger-bg); }
.recovery-progress-stat.blocked { background: var(--warning-bg); }
.recovery-progress-stat strong { display: block; font-size: var(--text-stat-sm); line-height: 1; font-weight: 600; color: var(--ink); }
.recovery-progress-stat span { display: block; margin-top: 5px; font-size: var(--text-micro-sm); line-height: 1.2; color: var(--ink-400); }
.recovery-progress-stat.overdue strong { color: var(--danger); }
.recovery-progress-stat.blocked strong { color: var(--warning); }
.recovery-actions-head { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--line-soft); }
.recovery-actions-title { margin: 0; font-size: var(--text-h3); line-height: 1.2; font-weight: 600; color: var(--ink); }
.recovery-actions-subtitle { margin-top: 3px; font-size: var(--text-micro); line-height: 1.35; color: var(--ink-400); }
.recovery-add-action { min-width: 108px; }
.recovery-actions-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.recovery-actions-table th { padding: 9px 10px; border-bottom: 1px solid var(--line-soft); text-align: left; font-size: var(--text-nano); line-height: 1.2; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-400); }
.recovery-actions-table td { padding: 11px 10px; border-bottom: 1px solid var(--line-soft); vertical-align: middle; font-size: var(--text-ui); line-height: 1.4; color: var(--ink-600); }
.recovery-actions-table th:nth-child(1), .recovery-actions-table td:nth-child(1) { width: 34px; }
.recovery-actions-table th:nth-child(2), .recovery-actions-table td:nth-child(2) { width: 50%; }
.recovery-actions-table th:nth-child(3), .recovery-actions-table td:nth-child(3) { width: 15%; }
.recovery-actions-table th:nth-child(4), .recovery-actions-table td:nth-child(4) { width: 16%; }
.recovery-actions-table th:nth-child(5), .recovery-actions-table td:nth-child(5) { width: 15%; }
.rec-status-wrap { display: flex; align-items: center; gap: 6px; }
.rec-remove-btn { flex: 0 0 auto; width: 22px; height: 22px; border: 0; border-radius: 50%; background: transparent; color: var(--ink-muted); font-size: var(--text-meta); line-height: 1; cursor: pointer; opacity: .55; } .rec-remove-btn:hover { opacity: 1; background: #F6E3E1; color: #9A3B36; }
.recovery-actions-table .recovery-status-select, .recovery-actions-table .rec-status-sel, .recovery-actions-table .rec-status-sel-alt { flex: 1 1 auto; width: auto !important; min-width: 0 !important; max-width: 112px; height: 28px !important; padding: 0 4px 0 8px !important; font-size: var(--text-meta) !important; text-overflow: ellipsis; font-family: inherit; border: 1px solid var(--border-strong) !important; border-radius: 6px !important; background-color: var(--surface) !important; color: var(--ink-soft) !important; cursor: pointer; }
.recovery-actions-table td:nth-child(2) .recovery-action-title, .recovery-actions-table td:nth-child(2) .recovery-action-detail { text-align: justify; text-justify: inter-word; hyphens: none; -webkit-hyphens: none; }
.recovery-actions-table td.owner-cell, .recovery-actions-table td:nth-child(3) { font-size: var(--text-ui); }
.recovery-actions-table .recovery-owner { line-height: 1.35; word-break: break-word; }
.recovery-status-select { width: 100%; min-width: 0; }
.recovery-informing { margin-top: 16px; padding: 16px 20px; }
.recovery-informing > summary { cursor: pointer; list-style: none; font-size: var(--text-summary); font-weight: 600; color: var(--ink); display: flex; align-items: center; justify-content: space-between; }
.recovery-informing > summary::-webkit-details-marker { display: none; } .recovery-informing > summary::after { content: '\25BE'; font-size: var(--text-meta); color: var(--ink-muted); } .recovery-informing[open] > summary::after { content: '\25B4'; }
.recovery-informing[open] > summary { margin-bottom: 12px; }
.recovery-informing .recovery-input-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 28px; }
@media (max-width: 760px) { .recovery-informing .recovery-input-list { grid-template-columns: minmax(0, 1fr); } }
.recovery-action-title { font-size: var(--text-summary); line-height: 22px; font-weight: 600; color: var(--ink); }
.recovery-action-detail { margin-top: 4px; max-width: 68ch; font-size: var(--text-ui); line-height: 1.45; color: var(--ink-400); }
.recovery-owner { font-size: var(--text-base); font-weight: 500; color: var(--ink-600); }
.recovery-due-date { display: inline-flex; align-items: center; gap: 9px; font-size: var(--text-base); color: var(--ink-600); }
.rec-due-input.rec-due-empty, .rec-due-input-alt.rec-due-empty { color: var(--ink-muted) !important; }
.recovery-due-date .ico { width: 15px; height: 15px; color: var(--ink-400); flex-shrink: 0; }
.recovery-impact-badge { min-height: 22px; display: inline-flex; align-items: center; padding: 3px 9px; border-radius: var(--radius-pill); background: var(--surface-muted); color: var(--ink-400); font-size: var(--text-micro-sm); line-height: 1; font-weight: 500; }
.recovery-impact-badge.foundational { background: var(--steel-100); color: var(--steel-700); }
.recovery-status-select { min-width: 124px; height: 36px; font-size: var(--text-base); }
.recovery-row-menu { width: 28px; height: 28px; display: grid; place-items: center; border: 0; border-radius: 4px; background: transparent; color: var(--steel-700); cursor: pointer; font-family: inherit; }
.recovery-plan-save { min-height: 54px; }
.recovery-save-hint { font-size: var(--text-label); color: var(--ink-400); }
.recovery-lower-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); margin-top: var(--space-3); }
.recovery-secondary-card { min-height: 280px; padding: var(--space-5); }
.recovery-secondary-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); }
.recovery-secondary-title { display: flex; align-items: center; gap: 7px; font-size: var(--text-compact); line-height: 1.2; font-weight: 600; color: var(--ink); }
.recovery-secondary-title .ico { width: 16px; height: 16px; color: var(--steel-700); }
.milestone-list { display: grid; gap: 0; }
.milestone-row { display: grid; grid-template-columns: 50px 18px minmax(0,1fr) auto; gap: 7px; align-items: start; min-height: 52px; }
.milestone-date { font-size: var(--text-nano); line-height: 1.35; font-weight: 600; color: var(--steel-700); }
.milestone-line { position: relative; height: 100%; }
.milestone-line::before { content: ''; position: absolute; top: 12px; left: 8px; bottom: -8px; width: 1px; background: var(--line); }
.milestone-row:last-child .milestone-line::before { display: none; }
.milestone-dot { position: relative; z-index: 2; width: 8px; height: 8px; margin: 7px 0 0 4px; border-radius: 50%; background: var(--steel-600); }
.milestone-title { padding-top: 3px; font-size: var(--text-micro); line-height: 1.35; color: var(--ink-600); }
.success-metrics-list { border: 1px solid var(--line-soft); border-radius: var(--radius-sm); overflow: hidden; }
.success-metric-row { min-height: 40px; display: grid; grid-template-columns: minmax(0,1fr) 48px; gap: var(--space-3); align-items: center; padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--line-soft); font-size: var(--text-micro); color: var(--ink-600); }
.success-metric-row:last-child { border-bottom: 0; }
.metric-spark { height: 20px; display: flex; align-items: flex-end; justify-content: flex-end; gap: 2px; }
.metric-spark span { width: 4px; border-radius: 1px 1px 0 0; background: var(--steel-600); }
.recovery-monitor-note { margin-top: var(--space-3); display: grid; grid-template-columns: 24px minmax(0,1fr); gap: var(--space-2); align-items: start; padding: var(--space-3); border-radius: var(--radius-sm); background: var(--warning-bg); color: var(--ink-600); font-size: var(--text-label); line-height: 1.4; }
.recovery-monitor-note .ico { width: 16px; height: 16px; color: var(--warning); }
@media (max-width: 1100px) { .recovery-inputs-card { width: 280px; } .recovery-progress-card { grid-template-columns: 1fr 1fr 1fr; } .recovery-progress-main { grid-column: 1 / -1; } .recovery-actions-table th:nth-child(2), .recovery-actions-table td:nth-child(2) { width: 35%; } }
@media (max-width: 760px) { .recovery-inputs-card { width: 100%; } .recovery-plan-toolbar { flex-wrap: wrap; } .recovery-plan-toolbar-right { width: 100%; margin-left: 0; } .recovery-plan-select { flex: 1; } .recovery-progress-card { grid-template-columns: repeat(2, minmax(0,1fr)); } .recovery-progress-main { grid-column: 1 / -1; }
 .recovery-actions-table, .recovery-actions-table thead, .recovery-actions-table tbody, .recovery-actions-table tr, .recovery-actions-table th, .recovery-actions-table td { display: block; width: 100% !important; }
 .recovery-actions-table thead { display: none; }
 .recovery-actions-table tr.rec-arow { position: relative; padding: var(--space-4); border-bottom: 1px solid var(--line); }
 .recovery-actions-table td { padding: 4px 0; border: 0; }
 .recovery-action-title { padding-right: 32px; }
 .recovery-row-menu { position: absolute; top: 8px; right: 8px; }
 .recovery-lower-grid { grid-template-columns: 1fr; }
 .recovery-secondary-card { min-height: 0; }
}
@media (hover: none) and (pointer: coarse) { .recovery-run-panels, .recovery-status-select, .recovery-plan-select, .recovery-share-button, .recovery-add-action, .recovery-row-menu { min-height: 44px; } }
.pg-eyebrow { font-size: var(--text-xs); letter-spacing: 0.09em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; margin-bottom: var(--space-2); }
.pg-title { font-size: var(--text-2xl); font-weight: var(--weight-semi); margin: 0 0 var(--space-2); line-height: var(--leading-tight); max-width: 24ch; text-wrap: balance; }
.pg-lede { font-size: var(--text-md); color: var(--ink-soft); line-height: var(--leading-normal); margin: 0 0 var(--space-6); max-width: 62ch; }
.card + .card { margin-top: var(--space-6); }
/* Stacked cards need the gap; grid children must NOT - the grid gap already spaces them and the margin offsets each item downward. */
.kpi-grid > .card + .card, .workflow-grid > .card + .card, .analytics-grid > .card + .card,
.season-grid > * + *, .pan-grid > .card + .card, .perf-tiles > .card + .card { margin-top: 0; }
.kpi-grid, .workflow-grid, .analytics-grid, .season-grid, .pan-grid { align-items: stretch; }
.kpi-grid > .card, .workflow-grid > .card { display: flex; flex-direction: column; }
/* Grid and flex rows space themselves with gap. Without this the
 second card in a row inherits the stacked-card margin and sits
 lower than its neighbor. */
.avatar > .card + .card, .brief-row > .card + .card, .choice-grid > .card + .card, .cluster-head > .card + .card, .cluster-meta > .card + .card, .footer-bar > .card + .card, .goal-row-full > .card + .card, .goal-target-wrap > .card + .card, .logout > .card + .card, .mic > .card + .card, .mon-row > .card + .card, .mon-strip > .card + .card, .mon-thead > .card + .card, .nav-item > .card + .card, .nav-new-btn > .card + .card, .nav-search > .card + .card, .nav-search-l > .card + .card, .nav-util > .card + .card, .new-btn > .card + .card, .ostep > .card + .card, .pan-actions > .card + .card, .pan-bar-row > .card + .card, .pan-grid > .card + .card, .pan-head > .card + .card, .pan-icon > .card + .card, .perf-check > .card + .card, .perf-check-mark > .card + .card, .perf-co > .card + .card, .perf-filters > .card + .card, .perf-hero-btns > .card + .card, .perf-mini-stats > .card + .card, .perf-priority > .card + .card, .perf-row1 > .card + .card, .perf-row2 > .card + .card, .perf-thead > .card + .card, .perf-tile > .card + .card, .perf-tile-head > .card + .card, .perf-tiles > .card + .card, .perf-trow > .card + .card, .profile > .card + .card, .r-driver > .card + .card, .r-goal-line > .card + .card, .r-hier > .card + .card, .r-intake-row > .card + .card, .r-metabar > .card + .card, .r-past-row > .card + .card, .r-pat-item > .card + .card, .r-pattern-split > .card + .card, .r-pattern-tabs > .card + .card, .r-row3 > .card + .card, .r-summary-grid > .card + .card, .results-summary-grid > .card + .card, .r-tabs > .card + .card, .r-topbar > .card + .card, .rec-actions-head > .card + .card, .rec-actions-top > .card + .card, .rec-alt-head > .card + .card, .rec-arow > .card + .card, .rec-gate-overlay > .card + .card, .rec-phase > .card + .card, .rec-prov-item > .card + .card, .rec-row2 > .card + .card, .rec-save-bar > .card + .card, .rec-table-head > .card + .card, .rec-title-row > .card + .card, .rec-topbar > .card + .card, .rep-footer > .card + .card, .rep-modal-actions > .card + .card, .rep-row > .card + .card, .rep-row-actions > .card + .card, .set-footer > .card + .card, .set-layout > .card + .card, .set-row2 > .card + .card, .shell > .card + .card, .sidebar > .card + .card, .split > .card + .card, .step > .card + .card, .step-dot > .card + .card, .stepper > .card + .card, .tag-grid > .card + .card, .tag-opt > .card + .card, .vgrid > .card + .card, .vrow > .card + .card { margin-top: 0; }
.btn-sec { background: var(--surface); color: var(--ink-soft); border: 1px solid var(--border-strong); }
.btn-sec:hover { border-color: #A9BED2; color: var(--ink); }
.btn-disabled { background: var(--accent-pale); color: var(--ink-faint); cursor: default; border: none; }
.pill { display: inline-block; font-size: var(--text-xs); font-weight: 600; padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); letter-spacing: 0.02em; }
.pill.good { color: var(--positive); background: rgba(26,106,74,0.09); }
.pill.warn { color: var(--warning); background: rgba(200,138,43,0.09); }
.pill.bad { color: var(--risk); background: rgba(176,57,43,0.09); }
.pill.muted { color: var(--ink-muted); background: var(--accent-pale); }
.set-layout { display: grid; grid-template-columns: 200px 1fr; gap: var(--space-8); align-items: start; max-width: 1000px; }
.set-rail-title { font-size: var(--text-md); font-weight: 600; margin-bottom: var(--space-2); }
.set-rail-sub { font-size: var(--text-sm); color: var(--ink-muted); line-height: var(--leading-normal); }
.set-card { max-width: 760px; padding: 0; }
.set-body { padding: var(--space-6) var(--space-8); }
.set-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
@media (max-width: 640px) { .set-row2 { grid-template-columns: 1fr; } }
.set-field { margin-bottom: var(--space-4); }
.set-label { font-size: var(--text-sm); font-weight: 500; margin-bottom: var(--space-2); display: block; }
.set-input { width: 100%; font-family: inherit; font-size: var(--text-base); color: var(--ink); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: var(--space-3) var(--space-3); background: var(--surface); }
.set-input:focus { outline: none; border-color: var(--accent); }
.set-input:disabled { background: var(--page-bg); color: var(--ink-faint); border-color: var(--border); cursor: not-allowed; }
.set-hint { font-size: var(--text-xs); color: var(--ink-muted); margin-top: var(--space-2); }
.set-usage-track { height: 6px; border-radius: var(--radius-full); background: var(--surface-sunk); overflow: hidden; }
.set-usage-fill { height: 100%; border-radius: var(--radius-full); background: var(--accent); }
.set-usage-fill-warn { background: var(--risk); }
.set-usage-warn { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: var(--text-ui); color: var(--risk); }
.set-footer { border-top: 1px solid var(--border); padding: var(--space-4) var(--space-8); display: flex; align-items: center; justify-content: space-between; background: var(--surface-sunk); border-radius: 0 0 var(--radius-md) var(--radius-md); }
.set-footer-meta { font-size: var(--text-xs); color: var(--ink-muted); }
.set-saved { font-size: var(--text-sm); color: var(--positive); margin-left: var(--space-3); opacity: 0; transition: opacity 0.2s; }
.set-saved.on { opacity: 1; }
.rep-card { max-width: none; }
.rep-section { padding: var(--space-5) var(--space-6) var(--space-1); }
.rep-section + .rep-section { border-top: 1px solid var(--border); }
.rep-row { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-3) var(--space-2); margin: 0 -8px; border-radius: var(--radius-sm); cursor: pointer; }
.rep-row:hover { background: var(--surface-sunk); }
.rep-row + .rep-row { border-top: 1px solid var(--border-faint); }
.rep-check { width: 16px; height: 16px; flex-shrink: 0; accent-color: var(--ink); }
.rep-row-body { flex: 1; min-width: 0; }
.rep-row-title { font-size: var(--text-base); }
.rep-row-meta { font-size: var(--text-xs); color: var(--ink-muted); margin-top: var(--space-1); }
.rep-row-actions { display: flex; gap: var(--space-2); flex-shrink: 0; }
.rep-footer { border-top: 1px solid var(--border); display: flex; align-items: center; gap: var(--space-3); border-radius: 0 0 var(--radius-md) var(--radius-md); }
.rep-count { color: var(--ink-muted); margin-left: auto; }
.pan-grid { display: grid; gap: 8px; }
.pan-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 10px; align-items: start; }
.pan-list-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 4px; }
.panel-result { min-width: 0; background: #FFFFFF; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 1px 2px rgba(14,38,58,.035); overflow: hidden; }
.panel-result-header { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 16px 16px 10px; }
.panel-result-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: var(--radius-md); background: var(--steel-100); color: var(--steel-700); }
.panel-result-title { margin: 0; font-size: var(--text-h2); line-height: 1.15; font-weight: 600; letter-spacing: -.015em; color: var(--ink); }
.panel-result-subtitle { margin-top: 4px; font-size: var(--text-compact-sm); line-height: 1.25; color: var(--ink-400); }
.panel-result-metrics { display: grid; grid-template-columns: auto auto; gap: 8px 18px; align-items: start; min-width: 310px; }
.panel-dimensions { display: flex; gap: 14px; flex-wrap: wrap; }
.pan-dimbar { width: 104px; }
.pan-dimbar-top { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; margin-bottom: 4px; }
.pan-dimbar-top span { font-size: var(--text-label); color: var(--ink-400); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pan-dimbar-top b { font-size: var(--text-stat-sm); font-weight: 600; color: var(--ink); flex-shrink: 0; }
.pan-dimbar-track { height: 5px; border-radius: 3px; background: var(--border); overflow: hidden; }
.pan-dimbar-fill { display: block; height: 100%; border-radius: 3px; }
.panel-overall { display: flex; align-items: baseline; justify-content: flex-end; gap: 4px; }
.panel-overall > strong { font-size: var(--text-h1); line-height: 1; font-weight: 600; color: var(--ink); }
.panel-overall > small { font-size: var(--text-micro); color: var(--ink-400); }
.panel-overall .badge { margin-left: 8px; }
.panel-result-updated { grid-column: 1 / -1; text-align: right; font-size: var(--text-label); color: var(--ink-400); }
.badge-success { color: var(--success); background: var(--success-bg); }
.panel-result-callout { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: center; margin: 0 16px 5px; padding: 11px 12px; background: #EAF3F7; border: 1px solid #D5E4EB; border-left: 3px solid var(--steel-600); border-radius: 6px; color: var(--ink-600); font-size: var(--text-compact-sm); line-height: 1.4; }
.panel-result-callout strong { color: var(--ink-800); font-weight: 600; }
.panel-callout-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #D7EAF2; color: var(--steel-700); flex-shrink: 0; }
.pan-nav-button { height: 29px; display: inline-flex; align-items: center; gap: 5px; padding: 0 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #FFFFFF; color: var(--ink-400); font-size: var(--text-micro); font-weight: 500; cursor: pointer; }
.pan-nav-button:hover { color: var(--ink-800); background: var(--surface-muted); }
.pan-nav-action { border: 0; padding: 0; background: transparent; font-size: var(--text-micro); line-height: 1; font-weight: 500; color: var(--steel-700); cursor: pointer; }
.pan-nav-action:hover { text-decoration: underline; }
.pan-nav-action.clear { margin-left: auto; color: var(--ink-400); }
.pan-history-link { height: 28px; display: inline-flex; align-items: center; gap: 5px; padding: 0 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #FFFFFF; color: var(--steel-700); font-size: var(--text-micro); font-weight: 500; text-decoration: none; }
.pan-history-link:hover { color: var(--steel-600); background: var(--surface-subtle); }
.panels-page { font-size: var(--text-ui); line-height: 1.35; }
.panels-page p, .panels-page li, .panels-page td, .panels-page .gap-item { line-height: 1.32; }
.panels-page .panel-result-callout, .panels-page .panel-progress-copy { line-height: 1.4; }
.pan-module-score { margin-left: auto; font-size: var(--text-stat-sm); font-weight: 700; color: var(--ink-800); }
.pan-module-score span { font-size: var(--text-meta); font-weight: 500; color: var(--ink-muted); }
.pan-dims-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pan-future .pan-body { padding: 14px 16px; }
@media (max-width: 1050px) { .pan-layout { grid-template-columns: 1fr; } }
.pan-module { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; }
.pan-module.is-selected { border: 1px solid #7FA1B5; background: var(--steel-050); box-shadow: inset 3px 0 0 var(--steel-600); }
.pan-nav-row { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.pan-hist-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.pan-hist-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.pan-hist-card { border: 1px solid var(--line); border-radius: 6px; padding: 7px 9px; min-height: 52px; }
.pan-hist-date { font-size: var(--text-micro-sm); color: var(--ink-muted); margin-bottom: 5px; }
.pan-hist-score { margin-top: 3px; font-size: var(--text-compact); font-weight: 600; color: var(--ink-800); margin-bottom: 2px; }
.pan-hist-score span { font-size: var(--text-meta); font-weight: 500; color: var(--ink-muted); }
@media (max-width: 900px) { .pan-hist-grid { grid-template-columns: repeat(2, 1fr); } }
.pan-history-full .pan-hist-row { display: flex; align-items: center; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); font-size: var(--text-compact); }
.pan-history-full .pan-hist-date { flex: 1; color: var(--ink-600); }
.pan-history-full .pan-hist-score { font-weight: 700; color: var(--ink-800); min-width: 60px; }
.pan-history-full .pan-hist-delta { min-width: 50px; text-align: right; font-weight: 600; }
.pan-rule { height: 3px; background: var(--accent); opacity: 0.75; }
.pan-body { padding: 11px 12px 9px; }
.pan-head { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-1); }
.pan-icon { width: 28px; height: 28px; border-radius: var(--radius-sm); background: var(--accent-pale); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pan-name { font-size: var(--text-nav); line-height: 1.2; font-weight: 600; color: var(--ink); flex: 1; }
.pan-dims { font-size: var(--text-micro-lg); line-height: 1.25; color: var(--ink-400); font-weight: 500; }
.pan-desc { font-size: var(--text-base); color: var(--ink-soft); line-height: var(--leading-normal); margin-bottom: var(--space-4); min-height: 56px; }
.pan-divider { height: 1px; background: var(--line-soft); margin: 8px 0; }
.pan-actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.pan-status { font-size: var(--text-xs); color: var(--ink-muted); margin-top: var(--space-3); min-height: 15px; }
.pan-rerun { display: flex; align-items: center; gap: var(--space-4); background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: var(--space-5); margin-bottom: var(--space-4); }
.pan-rerun-copy { font-size: var(--text-body); color: var(--ink-soft); line-height: var(--leading-relaxed); flex: 1; }
.pan-rerun-copy strong { color: var(--ink); }
.pan-rerun button { flex-shrink: 0; }
.pan-rerun-status { font-size: var(--text-meta); color: var(--ink-muted); margin: calc(-1 * var(--space-2)) 0 var(--space-4); display: flex; align-items: center; gap: var(--space-2); min-height: 18px; }
.pan-result-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: var(--space-3); }
.pan-composite { font-size: var(--display-md); font-weight: 500; color: var(--ink); }
.pan-composite span { font-size: var(--text-meta); color: var(--ink-muted); font-weight: 400; }
.pan-split { font-size: var(--text-body); color: var(--ink-soft); margin-bottom: var(--space-3); }
.pan-verdict { font-size: var(--text-body); color: var(--ink-soft); line-height: var(--leading-relaxed); background: var(--surface-sunk); border-left: 3px solid var(--accent-soft); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; padding: var(--space-3); margin-top: var(--space-4); }
.pan-siglist { margin-top: var(--space-4); }
.pan-gap-grid { display: grid; grid-template-columns: .9fr 1.3fr .9fr; gap: 0; margin-top: 10px; padding: 13px 16px 8px; }
.pan-gap-grid > div { padding: 0 14px; }
.pan-gap-grid > div:first-child { padding-left: 0; }
.pan-gap-grid > div:last-child { padding-right: 0; }
.pan-gap-grid > div + div { border-left: 1px solid var(--line-soft); }
.pan-gap-empty { margin-top: 16px; padding: 12px; border-radius: 6px; background: var(--surface-muted); font-size: var(--text-micro-lg); line-height: 1.45; color: var(--ink-400); }
.pan-tabs { margin-top: 0; }
.pan-tab-nav { display: flex; align-items: center; gap: 24px; height: 48px; margin: 5px 16px 0; padding: 0; border-bottom: 1px solid var(--line); }
.pan-pagination { margin-left: auto; display: flex; gap: 6px; }
.pan-tab-btn { background: none; border: none; padding: 8px 14px; font-size: var(--text-sm); color: var(--ink-muted); cursor: pointer; border-bottom: 2px solid transparent; }
.pan-tab-btn.active { color: var(--ink); border-bottom-color: var(--accent); font-weight: 600; }
.pan-allsig-dim { font-size: var(--text-micro); font-weight: 600; color: var(--steel-700); text-transform: uppercase; letter-spacing: 0.04em; margin: 12px 0 2px; }
.pan-allsig-dim:first-child { margin-top: 0; }
.pan-leverage-legend { display: flex; gap: 18px; font-size: var(--text-xs); color: #5F6F82; margin-bottom: 12px; flex-wrap: wrap; }
.pan-leverage-legend span { display: inline-flex; align-items: center; gap: 5px; }
.pan-tile-dot { width: 8px; height: 8px; border-radius: 2px; display: inline-block; }
.pan-tile-dot.protect { background: #2A7050; }
.pan-tile-dot.movable { background: #C08A1E; }
.pan-tile-dot.critical { background: #B03020; }
.pan-leverage-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 6px; }
.pan-tile { border-radius: var(--radius-xs); padding: 8px 6px; text-align: center; color: #fff; font-size: var(--text-xs); overflow: hidden; }
.pan-tile.protect { background: #2A7050; }
.pan-tile.movable { background: #C08A1E; }
.pan-tile.critical { background: #B03020; }
.pan-tile-score { display: block; font-weight: 700; font-size: var(--text-sm); }
.pan-tile-name { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: 0.9; }
.pan-gap-head { display: flex; align-items: center; gap: 6px; font-size: var(--text-micro); font-weight: 600; text-transform: none; letter-spacing: .025em; margin-bottom: 0; }
.gap-column-meta { margin: 2px 0 10px; font-size: var(--text-label); color: var(--ink-400); }
.pan-sig-primary { background: var(--danger-bg); border-radius: var(--radius-xs); border-bottom-color: transparent; }
.pan-sig-flag { flex-shrink: 0; font-size: var(--text-nano); font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--danger); background: #F7DEDA; padding: 2px 6px; border-radius: 20px; }
.pan-gap-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
@media (max-width: 900px) { .pan-gap-grid { grid-template-columns: 1fr; } }
/* With the Operator panel docked the page is narrower than the screen, so the layout follows the panel state too. */
@media (min-width: 901px) and (max-width: 1600px) { body.askm-open .pan-layout { grid-template-columns: minmax(0, 1fr); } body.askm-open .pan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } body.askm-open .pan-list-head { grid-column: 1 / -1; } }
@media (min-width: 901px) and (max-width: 1400px) { body.askm-open .panel-result-header { grid-template-columns: 42px minmax(0, 1fr); } body.askm-open .panel-result-metrics { grid-column: 1 / -1; } body.askm-open .pan-gap-grid { grid-template-columns: minmax(0, 1fr); } body.askm-open .pan-gap-grid > div { padding: 0 !important; } body.askm-open .pan-gap-grid > div + div { border-left: 0; border-top: 1px solid var(--line-soft); margin-top: 12px; padding-top: 12px !important; } body.askm-open .pan-tab-nav { flex-wrap: wrap; row-gap: 4px; column-gap: 16px; height: auto; min-height: 48px; } body.askm-open .hero-wrap .hero-right { position: static; margin: 10px 0 0; width: auto; } body.askm-open .hero-wrap:has(.hero-right) .hero-slim .hero-title, body.askm-open .hero-wrap:has(.hero-right) .hero-slim .perf-hero-sub { max-width: calc(52% - 44px) !important; } body.askm-open .gs-card.pan-hero-card, body.askm-open .recovery-inputs-card { width: 100% !important; } body.askm-open #topActionsCard { overflow-x: visible; } body.askm-open .recovery-actions-table, body.askm-open .recovery-actions-table thead, body.askm-open .recovery-actions-table tbody, body.askm-open .recovery-actions-table tr, body.askm-open .recovery-actions-table th, body.askm-open .recovery-actions-table td { display: block; width: 100% !important; } body.askm-open .recovery-actions-table thead { display: none; } body.askm-open .recovery-actions-table tr.rec-arow { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 12px; position: relative; padding: var(--space-4); border-bottom: 1px solid var(--line); } body.askm-open .recovery-actions-table tr.rec-arow > td { width: auto !important; } body.askm-open .recovery-actions-table tr.rec-arow > td:nth-child(1) { flex: 0 0 22px; } body.askm-open .recovery-actions-table tr.rec-arow > td:nth-child(2) { flex: 1 1 calc(100% - 70px); } body.askm-open .recovery-actions-table tr.rec-arow > td:nth-child(3) { margin-left: 34px; } body.askm-open .recovery-actions-table tr.rec-arow > td:nth-child(5) { margin-left: 34px; } body.askm-open .recovery-actions-table td { padding: 4px 0; border: 0; } body.askm-open .recovery-action-title { padding-right: 32px; } body.askm-open .recovery-row-menu { position: absolute; top: 8px; right: 8px; } body.askm-open .recovery-plan-toolbar { flex-wrap: wrap; } body.askm-open .recovery-plan-toolbar-right { width: 100%; margin-left: 0; } body.askm-open .recovery-progress-card { grid-template-columns: repeat(4, minmax(0, 1fr)); } body.askm-open .recovery-progress-main { grid-column: 1 / -1; } }
@media (min-width: 901px) and (max-width: 1050px) { body.askm-open .pan-grid { grid-template-columns: minmax(0, 1fr); } }
.pan-sig { padding: 7px 8px; margin: 0 -8px; line-height: 1.3; border-bottom: 1px solid var(--line-soft); }
.pan-sig:last-child { border-bottom: none; }
.pan-sig-row { display: flex; align-items: baseline; gap: 8px; font-size: 12.25px; color: var(--ink-soft); margin-bottom: 5px; }
.pan-sig-name { flex: 1; min-width: 0; }
.pan-sig-val { font-variant-numeric: tabular-nums; color: var(--ink-800); font-weight: 500; font-size: var(--text-micro-lg); flex-shrink: 0; white-space: nowrap; }
.pan-bar-row { min-height: 36px; display: grid; grid-template-columns: 210px 1fr 38px; gap: 12px; align-items: center; }
.pan-bar-label { font-size: var(--text-meta); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pan-bar-label.weak { font-weight: 600; }
.pan-bar-track { flex: 1; height: 8px; background: var(--border-faint); border-radius: var(--radius-sm); overflow: hidden; }
.pan-bar-track-sm { height: 4px; background: var(--line-soft); border-radius: 3px; overflow: hidden; }
.pan-bar-fill { height: 100%; background: var(--ink-muted); border-radius: var(--radius-sm); }
.pan-bar-fill.weak { background: var(--accent); }
.pan-bar-val { font-size: var(--text-meta); text-align: right; font-weight: 500; color: var(--ink-800); }
.pan-history { margin: 8px 16px 14px; padding-top: 12px; border-top: 1px solid var(--line-soft); }
.pan-hist-row { display: flex; align-items: center; gap: 12px; font-size: var(--text-sm); padding: 4px 0; }
.pan-hist-delta { font-size: var(--text-xs); font-weight: 600; min-width: 44px; text-align: right; }
.pan-hist-delta.up { color: var(--success); }
.pan-hist-delta.down { color: var(--warning); }
.pan-hist-delta.flat { color: var(--ink-soft); }
.pan-bar-val.weak { color: var(--accent); font-weight: 600; }
.mon-strip { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); margin-bottom: var(--space-5); }
.mon-stat { padding: var(--space-5) var(--space-6); text-align: center; }
.mon-stat + .mon-stat { border-left: 1px solid var(--border); }
.mon-num { font-size: var(--text-2xl); font-weight: 500; line-height: var(--leading-tight); }
.mon-num.warn { color: var(--warning); }
.mon-num.bad { color: var(--risk); }
.mon-stat-label { font-size: var(--text-sm); color: var(--ink-muted); margin-top: var(--space-2); }
.mon-empty { max-width: 560px; margin: 0 auto; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-10) var(--space-8); text-align: center; }
.mon-empty-icon { margin-bottom: var(--space-4); }
.mon-empty-title { font-size: var(--text-md); font-weight: var(--weight-semi); margin-bottom: var(--space-2); }
.mon-empty-sub { font-size: var(--text-base); color: var(--ink-soft); line-height: var(--leading-normal); max-width: 40ch; margin: 0 auto var(--space-5); }
.mon-meta { font-size: var(--text-xs); color: var(--ink-muted); text-align: center; margin-top: var(--space-4); }
.mon-thead { display: grid; grid-template-columns: 1.4fr 1.4fr 0.8fr 0.9fr 0.9fr; gap: var(--space-3); font-size: var(--text-xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; padding: 0 0 var(--space-2); border-bottom: 1px solid var(--border); }
.mon-row { display: grid; grid-template-columns: 1.4fr 1.4fr 0.8fr 0.9fr 0.9fr; gap: var(--space-3); align-items: center; padding: var(--space-3) 0; border-bottom: 1px solid var(--border-faint); font-size: var(--text-base); }
.perf-row1 { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--space-4); margin-bottom: var(--space-4); align-items: stretch; }
.perf-hero-eyebrow{ font-size: var(--text-xs); letter-spacing: 0.09em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; margin-bottom: var(--space-3); }
.perf-hero-title { font-size: var(--text-2xl); font-weight: var(--weight-bold); line-height: var(--leading-tight); margin: 0 0 var(--space-3); max-width: 20ch; text-wrap: balance; letter-spacing: -0.011em; }
.perf-hero-sub { font-size: var(--text-md); color: var(--ink-soft); line-height: var(--leading-normal); margin: 0 0 var(--space-5); max-width: 46ch; }
.perf-hero-btns { display: flex; gap: var(--space-3); }
.perf-priority { display: flex; align-items: flex-start; gap: var(--space-3); margin-bottom: var(--space-3); font-size: var(--text-base); line-height: var(--leading-normal); }
.perf-priority-dot { width: 6px; height: 6px; border-radius: var(--radius-full); background: var(--accent); flex-shrink: 0; margin-top: var(--space-2); }
.perf-row1 > .card, .perf-row2 > .card { display: flex; flex-direction: column; margin-top: 0; }
.perf-row1 > .hero { display: flex; flex-direction: column; justify-content: center; margin-top: 0; }
.perf-row2 { display: grid; grid-template-columns: 1fr 2.3fr; gap: var(--space-4); margin-bottom: var(--space-4); align-items: stretch; }
.perf-mini-stats { display: flex; gap: var(--space-8); padding-bottom: var(--space-4); margin-bottom: var(--space-4); border-bottom: 1px solid var(--border-faint); }
.perf-mini-num { font-size: var(--display-md); font-weight: 500; line-height: var(--leading-tight); }
.perf-mini-label { font-size: var(--text-sm); color: var(--ink-muted); margin-top: var(--space-1); }
.perf-filters { display: flex; gap: var(--space-2); margin-bottom: var(--space-4); flex-wrap: wrap; }
.perf-filter { font-size: var(--text-sm); padding: var(--space-2) var(--space-3); border-radius: var(--radius-pill); border: 1px solid var(--border-strong); background: var(--surface); color: var(--ink-soft); cursor: pointer; white-space: nowrap; }
.perf-filter.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.perf-thead { display: grid; grid-template-columns: 2fr 0.7fr 1.1fr 0.5fr; gap: var(--space-3); font-size: var(--text-xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; padding: 0 0 var(--space-2); border-bottom: 1px solid var(--border); }
.perf-trow { display: grid; grid-template-columns: 2fr 0.7fr 1.1fr 0.5fr; gap: var(--space-3); align-items: center; padding: var(--space-3) 0; border-bottom: 1px solid var(--border-faint); font-size: var(--text-base); }
.perf-co { display: flex; align-items: center; gap: var(--space-3); cursor: pointer; }
.perf-dot { width: 8px; height: 8px; border-radius: var(--radius-full); flex-shrink: 0; }
.perf-dot.bad { background: var(--risk); }
.perf-dot.warn { background: var(--accent); }
.perf-dot.good { background: var(--positive); }
.perf-dot.muted { background: var(--ink-muted); }
.perf-co-name { font-weight: 500; }
.perf-score { font-size: var(--display-sm); font-weight: 600; }
.perf-note { font-size: var(--text-sm); color: var(--ink-muted); background: var(--surface-sunk); border: 1px solid var(--border-faint); border-radius: var(--radius-sm); padding: var(--space-3) var(--space-4); margin-top: var(--space-4); }
.perf-latest { margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--border-faint); }
.perf-check { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-3); }
.perf-check-mark { width: 20px; height: 20px; border-radius: var(--radius-full); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: var(--text-xs); }
.perf-check-mark.done { background: var(--positive); color: #fff; }
.perf-check-mark.todo { border: 1px solid var(--border-strong); color: var(--ink-muted); }
.perf-check-title { font-size: var(--text-sm); }
.perf-tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--gap-card); margin-top: var(--gap-card); }
.perf-tile { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-4) var(--space-4); min-height: 160px; display: flex; flex-direction: column; }
.perf-tile-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); margin-bottom: var(--space-3); }
.perf-tile-eyebrow { font-size: var(--text-xs); color: var(--ink-muted); font-weight: 600; }
.perf-tile-title { font-size: var(--text-base); font-weight: var(--weight-semi); line-height: var(--leading-tight); margin-bottom: var(--space-2); }
.perf-tile-sub { font-size: var(--text-sm); color: var(--ink-soft); line-height: var(--leading-normal); flex: 1; }
.perf-tile-link { font-size: var(--text-sm); color: var(--accent); font-weight: 500; cursor: pointer; margin-top: var(--space-3); }
/* Reports as a deliverable workspace, not a settings table. */
.pan-module { display: flex; flex-direction: column; }
.pan-module .pan-body { display: flex; flex-direction: column; flex: 1; }
.pan-module.is-future { opacity: 0.92; }
.pan-module.is-future .pan-name { color: var(--ink-soft); }
/* --- Operating Rhythm ------------------------------------------
 Seasonal art is dropped in later at /images/season-<key>.png. Each
 card paints its image on ::after behind a white-to-transparent fade,
 so a missing file leaves a clean card rather than a broken box, and
 no code changes when the art arrives. --- */
.season-section { padding: var(--pad-card); border: none; box-shadow: none; background: transparent; }
.season-head { display: flex; align-items: baseline; gap: var(--space-3); margin-bottom: var(--space-3); flex-wrap: wrap; }
.season-sub { font-size: var(--text-bodysm); color: var(--ink-muted); }
.season-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap-button); }
.season-theme { font-size: var(--text-bodysm); color: var(--ink-soft); margin-top: 3px; }
.season-topics { font-size: var(--text-meta); color: var(--ink-muted); margin-top: var(--space-2); line-height: var(--leading-normal); max-width: 24ch; }
/* --- Sidebar CTA --- */
.nav-cta { margin: auto 0 8px; padding: 10px; background: transparent; border: none; cursor: pointer; }
.nav-cta:hover { background: transparent; }
.nav-cta-title { font-size: var(--text-stat-sm); font-weight: var(--weight-normal); color: var(--sidebar-text); line-height: 1.22; font-family: var(--font-display-family); }
.nav-cta-sub { font-size: var(--text-meta); color: var(--sidebar-muted); margin-top: 6px; display: flex; align-items: center; gap: 6px; }
.nav-cta-arrow { color: var(--accent); }
.nav-diag-label { font-size: var(--text-meta); color: var(--sidebar-muted); margin: 0 10px 4px; }
.nav-diag-toggle { display: flex; margin: 0 10px 8px; border-radius: 6px; background: rgba(255,255,255,.06); padding: 2px; }
.nav-diag-seg { flex: 1; text-align: center; font-size: var(--text-meta); padding: 5px 0; border-radius: var(--radius-sm); color: var(--sidebar-muted); user-select: none; }
.nav-diag-seg.active { background: #E3E6EA; color: var(--sidebar-text); font-weight: var(--weight-semi); }
.nav-diag-seg.active.diag-on-active { background: var(--danger); color: #FFFFFF; }
.pan-progress { display: flex; align-items: center; gap: var(--space-6); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--shadow-card); padding: var(--pad-card); margin-bottom: var(--gap-card); }
.pan-progress-l { font-size: var(--text-bodysm); color: var(--ink-soft); line-height: var(--leading-normal); flex: 1; }
.pan-progress-r { flex-shrink: 0; text-align: right; }
.pan-progress-n { font-size: var(--text-bodysm); font-weight: var(--weight-medium); color: var(--ink); }
.pan-bar { width: 190px; height: 6px; border-radius: var(--radius-pill); background: var(--border); margin-top: var(--space-2); overflow: hidden; }
.pan-bar span { display: block; height: 100%; background: var(--accent); border-radius: var(--radius-pill); }
.rep-card { padding: var(--pad-card) var(--pad-card) 0; }
.rep-card { border: 0; box-shadow: none; padding-left: 0; padding-right: 0; }
.rep-thead { display: grid; grid-template-columns: 3.4fr 0.8fr 0.8fr 1.1fr; gap: var(--space-3); font-size: var(--text-meta); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); font-weight: var(--weight-semi); padding-bottom: var(--space-3); border-bottom: 1px solid var(--border); }
.rep-sec-head { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-meta); letter-spacing: 0.08em; text-transform: uppercase; color: #885838; font-weight: var(--weight-semi); padding: var(--space-5) 0 var(--space-2); border-bottom: 1px solid rgba(136,88,56,0.18); margin-bottom: 4px; }
.rep-brand-title { font-family: 'IBM Plex Serif', Georgia, serif; color: #1b3a5b; font-weight: 400; }
.rep-brand-rule { width: 48px; height: 2px; background: #885838; margin: 10px 0 0; }
.rep-sec-n { font-size: var(--text-meta); color: var(--ink-muted); background: var(--surface-sunk); border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 1px 8px; letter-spacing: 0; }
.rep-trow { display: grid; grid-template-columns: 3.4fr 0.8fr 0.8fr 1.1fr; gap: var(--space-3); align-items: center; padding: var(--row-y) 0; border-bottom: 1px solid var(--border-faint); font-size: var(--text-bodysm); color: var(--ink-soft); cursor: pointer; }
.rep-trow:hover { background: var(--surface-sunk); }
.rep-c-name { display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
.rep-row-title { font-weight: var(--weight-medium); color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rep-row-text { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.rep-row-sub { font-size: var(--text-sm); color: var(--ink-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rep-type-pill { font-size: var(--text-meta); border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 1px 9px; color: var(--ink-muted); }
.rep-type-executive-brief, .rep-type-diagnosis-report, .rep-type-plan-summary, .rep-type-board-update { background: var(--steel-050, #F4F8FA); border-color: var(--border); color: var(--ink-600); }
.rep-c-act { display: flex; gap: var(--space-3); justify-content: flex-end; }
.rep-link { background: none; border: none; padding: 0; font-family: inherit; font-size: var(--text-bodysm); color: var(--accent-bright); cursor: pointer; }
.rep-link:hover { text-decoration: underline; }
.rep-link.danger { color: var(--ink-muted); }
.rep-link.danger:hover { color: var(--risk); }
.rep-empty-row { font-size: var(--text-bodysm); color: var(--ink-muted); padding: var(--space-3) 0; border-bottom: 1px solid var(--border-faint); }
.rep-footer { position: sticky; bottom: 0; display: flex; align-items: center; gap: var(--space-3); background: var(--surface); border-top: 1px solid var(--border); margin: 0 calc(-1 * var(--pad-card)); padding: var(--space-4) var(--pad-card); border-radius: 0 0 var(--radius-md) var(--radius-md); }
.rep-count { font-size: var(--text-bodysm); color: var(--ink-muted); }
.rep-modal-bg { display: none; position: fixed; inset: 0; background: rgba(14,27,42,0.32); z-index: 200; align-items: center; justify-content: center; }
.rep-modal-bg.open { display: flex; }
.rep-modal { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-6); width: 420px; max-width: calc(100vw - 32px); }
.rep-modal-title { font-size: var(--text-section); font-weight: 600; margin-bottom: var(--space-2); }
.rep-modal-sub { font-size: var(--text-body); color: var(--ink-soft); margin-bottom: var(--space-3); }
.rep-modal-warn { font-size: var(--text-body); color: var(--ink-soft); background: var(--surface-sunk); border-left: 3px solid var(--risk); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; padding: var(--space-3); }
.rep-modal-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-5); }
.btn-danger { background: var(--risk); color: #fff; border: none; }
.btn-danger:disabled { opacity: 0.4; cursor: default; }
.rep-del:hover { border-color: var(--risk); color: var(--risk); }
.kpi-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--gap-card); margin-top: 0; margin-bottom: var(--gap-card); }
.analytics-grid { display: grid; grid-template-columns: 65fr 35fr; gap: var(--gap-card); margin-top: var(--gap-card); margin-bottom: var(--gap-card); align-items: stretch; }
.analytics-grid > .card { min-height: 330px; }
.workflow-grid { display: grid; grid-template-columns: 336fr 299fr 286fr 305fr; gap: var(--gap-card); margin-top: var(--gap-card); margin-bottom: var(--gap-card); align-items: start; }
.workflow-grid > .card { display: flex; flex-direction: column; gap: var(--space-3); }
.workflow-grid > .card > .card-title { margin-bottom: 0; }
/* =====================================================================
 RESPONSIVE LAYER
 Desktop composition is authoritative and unchanged above 1200px.
 Below that the grids step down 5 -> 3 -> 2 -> 1 rather than shrinking,
 because a 5-up KPI row at phone width produces unreadable columns.
 At 900px the sidebar stops being a rail and becomes a scrollable top
 strip - no hamburger, no JS, nothing to break.
 ===================================================================== */
img, svg, canvas { max-width: 100%; }

@media (max-width: 1200px) {
 .kpi-grid { grid-template-columns: repeat(3, 1fr); }
 .analytics-grid { grid-template-columns: 1.4fr 1fr; }
 .analytics-grid > .card:last-child { grid-column: 1 / -1; }
 .workflow-grid { grid-template-columns: 1fr 1fr; }
 .perf-tiles { grid-template-columns: repeat(3, 1fr); }
 .pan-grid { grid-template-columns: repeat(2, 1fr); }
 .topbar-search { width: auto; flex: 1; min-width: 0; }
 .main { max-width: 100%; }
}

@media (max-width: 900px) {
 .shell { flex-direction: column; }
 .col { width: 100%; }
 .topbar { display: none; }
 .sidebar { width: 100%; height: auto; position: static; flex-direction: row; align-items: center; gap: var(--space-1); overflow-x: auto; -webkit-overflow-scrolling: touch; border-right: none; border-bottom: 1px solid var(--border); padding: var(--space-2) var(--space-3); }
 .sidebar .brand { padding: 0 var(--space-3) 0 0; flex-shrink: 0; }
 .sidebar .brand img { width: 90px; }
 .nav-item { height: 36px; white-space: nowrap; flex-shrink: 0; }
 .nav-item + .nav-item { margin-top: 0; }
 .nav-divider { display: none; }
 .nav-search, .nav-cta, .nav-spacer, .nav-util, .nav-demo { display: none; }
 .nav-sub { display: none !important; }
 .profile { margin-left: auto; flex-shrink: 0; padding: 0 0 0 var(--space-3); }
 .profile-name { display: none; }
 .main { padding: var(--space-5) var(--space-4) var(--space-10); }
 .hero, .hero.hero-page, .r-topbar, .rec-topbar { padding: 20px var(--space-5); min-height: 0; }
 .hero::after, .r-topbar::after, .rec-topbar::after { inset: 0 0 0 58%; opacity: 0.5; }
 .hero::before, .r-topbar::before, .rec-topbar::before { inset: 0 0 0 20%; }
 .hero-quote, .hero-right { position: static; margin-top: var(--space-4); text-align: left; max-width: none; }
 .hero-title { font-size: var(--text-hero-md); }
 h1 { font-size: var(--text-h1-sm); }
 .analytics-grid, .workflow-grid { grid-template-columns: 1fr 1fr; }
 .analytics-grid > .card:last-child { grid-column: auto; }
 .season-grid { grid-template-columns: 1fr 1fr; }
 .perf-tiles { grid-template-columns: repeat(2, 1fr); }
 .perf-row1, .perf-row2, .split, .set-layout, .rec-row2, .r-summary-grid { grid-template-columns: 1fr; }
 .stepper { gap: var(--space-3); padding: var(--space-3); }
 .step-label { display: none; }
 .step.active .step-label { display: block; }
}

@media (max-width: 640px) {
 .kpi-grid, .analytics-grid, .workflow-grid, .season-grid, .perf-tiles, .pan-grid,
 .choice-grid, .vgrid, .tag-grid, .goal-row-full { grid-template-columns: 1fr; }
 .main { padding: var(--space-4) var(--space-3) var(--space-10); }
 .hero::after, .r-topbar::after, .rec-topbar::after { display: none; }
 .hero::before, .r-topbar::before, .rec-topbar::before { display: none; }
 .hero-title { font-size: var(--text-hero-sm); }
 .kpi-value, .dn-metric { font-size: var(--text-h1); }
 .topbar { height: auto; flex-wrap: wrap; gap: var(--space-2); padding: var(--space-3); }
 .hero-actions, .perf-hero-btns, .footer-bar, .rep-footer, .rec-actions-top { flex-wrap: wrap; gap: var(--space-2); }
 .btn { padding: 10px var(--space-3); }
 .goal-row-full { gap: var(--space-2); }
 /* Tables become stacked records - columns at this width are unreadable. */
 .rep-thead, .perf-thead, .mon-thead, .rec-table-head, .goal-row-header { display: none; }
 .rep-trow, .perf-trow, .mon-row { grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) 0; }
 .rep-c-act { justify-content: flex-start; margin-top: var(--space-2); }
 .season-topics { max-width: none; }
 .editorial-quote, .hero-quote .editorial-quote { font-size: var(--text-stat-sm); }
}

/* =========================================================
 INTELLIGENCE COMPONENTS (design system s.6)
 ========================================================= */
.page-title { font-size: var(--text-h1); line-height: 1.12; font-weight: 700; letter-spacing: -0.018em; color: var(--navy-950); }
.page-lede { margin-top: 5px; max-width: 680px; font-size: var(--text-h3); line-height: 1.45; color: var(--ink-600); }
.card-label { font-size: var(--text-label); font-weight: var(--weight-semi); letter-spacing: .07em; text-transform: uppercase; color: var(--ink-600); margin-bottom: 6px; }
.card-copy { margin-top: 2px; }
.metric { font-size: var(--text-metric); line-height: 1; font-weight: var(--weight-metric); letter-spacing: -.03em; color: var(--navy-950); }
.meta { font-size: var(--text-meta); color: var(--ink-400); }
.grid { display: grid; gap: var(--gap-card); }
.grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.panel { background: var(--surface-raised); border: 1px solid var(--border); border-radius: 6px; box-shadow: var(--shadow-card); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 12px 16px; border-bottom: 1px solid var(--border-soft); }
.panel-flat { background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-md); }
.btn-text { min-height: 0; padding-inline: 4px; background: transparent; border: none; font-size: var(--text-ui); cursor: pointer; }
.status { display: inline-flex; align-items: center; gap: 5px; min-height: 22px; padding: 2px 8px; border-radius: var(--radius-pill); font-size: var(--text-micro); font-weight: var(--weight-medium); }
.status-success { color: var(--success); background: var(--success-bg); }
.status-warning { color: var(--warning); background: var(--warning-bg); }
.status-danger { color: var(--danger); background: var(--danger-bg); }
.status-muted { color: var(--ink-600); background: #EEF2F5; }
/* Symptom -> Constraint -> Consequence */
.intelligence-chain { display: grid; gap: 6px; }
.intelligence-node { display: flex; gap: 10px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: #FFFFFF; }
.intelligence-node.constraint { border-color: #E8A785; background: #FFF7F3; }
.node-ico { width: 34px; height: 34px; border-radius: var(--radius-md); background: var(--blue-100); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.intelligence-node.constraint .node-ico { background: #FBE4D6; }
.node-ico .ico { width: 17px; height: 17px; color: var(--navy-800); }
.intelligence-node.constraint .node-ico .ico { color: var(--signal); }
.node-label { font-size: var(--text-meta); color: var(--ink-600); }
.node-title { font-size: var(--text-h3); font-weight: var(--weight-semi); color: var(--navy-950); margin-top: 1px; }
.section + .section { margin-top: 12px; }
.node-copy { font-size: var(--text-ui); color: var(--ink-600); line-height: 1.4; margin-top: 2px; }
.intelligence-arrow { height: 14px; display: flex; align-items: center; justify-content: center; color: var(--blue-400); }
/* Highest-leverage next move */
.recommendation { display: flex; gap: 10px; padding: 14px 16px; border-left: 3px solid var(--success); background: #F3F9F6; border-radius: 0 var(--radius-md) var(--radius-md) 0; }
.recommendation .ico { color: var(--success); width: 20px; height: 20px; flex-shrink: 0; margin-top: 2px; }
.recommendation-title { font-size: var(--text-stat-sm); line-height: 1.35; font-weight: var(--weight-semi); color: var(--navy-950); }
.rec-block { margin-top: 12px; padding-left: 10px; border-left: 2px solid var(--border); }
.rec-block-t { font-size: var(--text-ui); font-weight: var(--weight-semi); color: var(--navy-950); }
.rec-block-c { font-size: var(--text-ui); color: var(--ink-600); line-height: 1.45; margin-top: 3px; }
/* Diagnose -> Decide -> Recover -> Monitor */
.workflow { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; background: #FFFFFF; }
.workflow-step { position: relative; min-height: 88px; padding: 12px 14px; display: flex; gap: 10px; }
.workflow-step + .workflow-step { border-left: 1px solid var(--border); }
.workflow-ico { width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--blue-100); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.workflow-ico .ico { width: 18px; height: 18px; color: var(--navy-800); }
.workflow-step-n { font-size: var(--text-ui); font-weight: var(--weight-semi); color: var(--ink-400); margin-right: 6px; }
.workflow-step-title { font-size: var(--text-compact); font-weight: var(--weight-semi); color: var(--navy-950); }
.workflow-step-copy { margin-top: 2px; font-size: var(--text-compact-sm); line-height: 1.4; color: var(--ink-600); }
.workflow-state { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; font-size: var(--text-meta); color: var(--ink-600); }
.workflow-state.done { color: var(--success); }
/* Data readiness */
.data-readiness-bar { height: 6px; overflow: hidden; border-radius: var(--radius-pill); background: #E3E9EE; }
.data-readiness-fill { height: 100%; background: var(--navy-700); }
/* Company switcher */
.company-switcher { min-width: 200px; height: 36px; padding: 0 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: #FFFFFF; font-size: var(--text-ui); color: var(--ink-800); font-family: inherit; }
/* Empty states - intentional, never an empty chart */
.empty-state { min-height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px; text-align: center; color: var(--ink-600); }
.empty-state-title { margin-top: 10px; font-size: var(--text-h3); font-weight: var(--weight-semi); color: var(--navy-950); }
.empty-state-copy { margin-top: 5px; max-width: 440px; font-size: var(--text-ui); }
/* Gap chart */
.gapwrap { display: flex; gap: 22px; align-items: stretch; }
.gapchart { display: flex; align-items: flex-end; gap: 26px; padding: 4px 4px 0; flex-shrink: 0; }
.gapbar { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 7px; width: 58px; }
.gapbar-v { font-size: var(--text-stat-sm); font-weight: var(--weight-semi); color: var(--navy-950); line-height: 1; }
.gapbar-fill { width: 100%; border-radius: 3px 3px 0 0; display: block; }
.gapbar-l { font-size: var(--text-meta); color: var(--ink-600); line-height: 1; }
.gapfacts { display: flex; flex-direction: column; justify-content: center; gap: 16px; padding-left: 20px; border-left: 1px solid var(--border-soft); flex: 1; min-width: 0; }
.gapfact { display: flex; gap: 10px; align-items: flex-start; }
.gapfact > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.gapfact-k { width: 14px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; padding-top: 3px; font-size: var(--text-micro); }
.gk-danger { width: 9px; height: 9px; border-radius: 2px; background: var(--danger); margin-top: 5px; }
.gk-arrow { color: var(--danger); }
.gk-eq { color: var(--ink-400); }
.muted-v { color: var(--ink-400) !important; font-weight: var(--weight-medium) !important; }
.grid-5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
/* Pattern Analysis rows */
.pat-row { padding: 11px 0; border-bottom: 1px solid var(--border-soft); }
.pat-row:first-child { padding-top: 0; }
.pat-row:last-child { border-bottom: none; padding-bottom: 0; }
.pat-top { display: flex; align-items: baseline; gap: 10px; }
.pat-name { font-size: var(--text-ui); font-weight: var(--weight-semi); color: var(--navy-950); }
.pat-score { margin-left: auto; font-size: var(--text-score-sm); font-weight: var(--weight-semi); color: var(--navy-950); line-height: 1; }
.pat-of { font-size: var(--text-meta); font-weight: var(--weight-normal); color: var(--ink-400); margin-left: 2px; }
.pat-bar { height: 5px; border-radius: var(--radius-pill); background: var(--steel-100); overflow: hidden; margin: 7px 0 6px; }
.pat-bar span { display: block; height: 100%; border-radius: var(--radius-pill); }
.pat-line { font-size: var(--text-meta); color: var(--ink-600); line-height: 1.4; }
/* First steps in recovery */
.steps3 { display: flex; flex-direction: column; gap: 9px; }
.step3 { display: flex; gap: 10px; }
.step3-n { width: 20px; height: 20px; border-radius: var(--radius-full); background: var(--navy-800); color: #fff; font-size: var(--text-label); font-weight: var(--weight-semi); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.step3-layer { font-size: var(--text-label); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-600); font-weight: var(--weight-semi); }
.step3-action { font-size: var(--text-ui); color: var(--ink-800); line-height: 1.4; margin-top: 1px; }
/* Market reality + exposure */
.mr-row { padding: 8px 0; border-bottom: 1px solid var(--border-soft); }
.mr-row:last-child { border-bottom: none; }
.mr-top { display: flex; align-items: center; gap: 8px; }
.mr-name { font-size: var(--text-ui); font-weight: var(--weight-medium); color: var(--navy-950); }
.mr-top .status { margin-left: auto; }
.mr-read { font-size: var(--text-meta); color: var(--ink-600); line-height: 1.4; margin-top: 2px; }
/* Pattern prevalence - benchmark from the case library. */
.prev { margin-top: 8px; font-size: var(--text-meta); color: var(--ink-600); line-height: 1.4; }
.prev-n { font-weight: var(--weight-semi); color: var(--navy-800); }
.prev-dot { color: var(--ink-400); margin: 0 2px; }
.prev-mis { margin-top: 3px; font-size: var(--text-meta); color: var(--ink-400); line-height: 1.4; font-style: italic; }
/* Paid-content lock. States what the feature is without showing any of it. */
.mr-locked { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 4px 0 2px; }
.mr-lock-ico { width: 30px; height: 30px; border-radius: var(--radius-md); background: var(--surface-muted); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; }
.mr-lock-ico .ico { width: 15px; height: 15px; color: var(--ink-600); }
.mr-lock-t { font-size: var(--text-ui); font-weight: var(--weight-semi); color: var(--navy-950); }
.mr-lock-c { font-size: var(--text-meta); color: var(--ink-600); line-height: 1.45; }
.mr-locked .btn { margin-top: 4px; }
/* Workflow, 3 up and clickable */
.workflow-3 { grid-template-columns: repeat(3, 1fr); }
a.workflow-step { color: inherit; text-decoration: none; }
a.workflow-step:hover { background: var(--surface-muted); }
a.act-row { text-decoration: none; color: inherit; border-radius: var(--radius-sm); padding: 4px; margin: -4px; }
a.act-row:hover { background: var(--surface-muted); }
.gapfact-v { display: block; font-size: var(--text-h3); font-weight: var(--weight-semi); color: var(--navy-950); line-height: 1.25; }
.gapfact-s { display: block; font-size: var(--text-meta); color: var(--ink-600); margin-top: 2px; line-height: 1.35; }
.page-head { display: flex; align-items: flex-start; gap: var(--space-6); margin-bottom: 12px; }
.page-head-right { margin-left: auto; display: flex; align-items: flex-start; gap: var(--space-6); flex-shrink: 0; }
.head-quote { text-align: right; max-width: 22ch; }
.head-quote .editorial-quote { font-family: var(--font-display-family); font-style: italic; font-size: var(--text-quote); line-height: 1.25; color: var(--navy-900); }
.hero-quote-attr { font-size: var(--text-label); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-400); font-weight: var(--weight-semi); margin-top: 6px; }
.mhead { display: flex; align-items: center; gap: 9px; margin-bottom: 8px; }
.mhead .node-ico { width: 30px; height: 30px; }
.mrow { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.empty-inline { font-size: var(--text-ui); color: var(--ink-400); padding: var(--space-4) 0; }
.panel-body { display: flex; flex-direction: column; padding: 14px 16px; }
.grid-3 > .panel, .grid-4 > .panel { display: flex; flex-direction: column; }
.ins-row { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border-soft); font-size: var(--text-ui); color: var(--ink-800); line-height: 1.45; }
.ins-row:last-child { border-bottom: none; }
.ins-n { width: 22px; height: 22px; border-radius: var(--radius-full); background: var(--blue-100); color: var(--navy-800); font-size: var(--text-meta); font-weight: var(--weight-semi); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.act-ico { width: 30px; height: 30px; border-radius: var(--radius-md); background: var(--blue-100); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.act-ico .ico { width: 15px; height: 15px; color: var(--navy-800); }

@media print {
 @page { size: letter; margin: 0.75in; }
 body { background: #fff; color: #111; }
 * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
 .sidebar, .topbar, .rec-actions-top, .rec-save-bar, .rec-panelcta, .rec-status-sel, .ovb-memo-actions, .pf-menu-wrap { display: none !important; }
 .main { max-width: 100% !important; padding: 0 !important; }
 .rec-alt-locked { filter: none !important; opacity: 1 !important; }
 .rec-gate-overlay { display: none !important; }
 .card { break-inside: avoid; box-shadow: none; border: 1px solid #ddd; }
 .rec-owner-input, .rec-due-input { border: none !important; }
}
.pv-kpi-card { min-height: 108px; padding: var(--space-3) var(--space-4); background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-md); }
.pv-kpi-label { margin-bottom: var(--space-2); font-size: var(--text-label); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-muted); display: flex; align-items: center; gap: 5px; }
.pv-kpi-value { font-size: 22px; line-height: 28px; font-weight: 600; color: var(--ink); }
.pv-kpi-sub { margin-top: 6px; font-size: var(--text-meta); color: var(--ink-muted); }
.pv-kpi-link { margin-top: 8px; font-size: var(--text-meta); }
.pv-causal-node { min-height: 128px; padding: var(--space-3); background: var(--surface-muted); border: 1px solid var(--border-soft); border-radius: var(--radius-sm); }
.pv-causal-node.is-primary { background: var(--danger-bg); border-color: #E5C1B4; }
.pv-causal-label { font-size: var(--text-label); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-muted); margin-bottom: 6px; }
.pv-causal-value { font-size: var(--text-ui); font-weight: 600; color: var(--ink); }
.pv-causal-list { margin: 4px 0 0; padding-left: 16px; font-size: var(--text-compact-sm); color: var(--ink-muted); }
.pv-attention-num { width: 26px; height: 26px; border-radius: 50%; background: var(--accent-pale); color: var(--accent); font-size: var(--text-meta); font-weight: 600; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pv-evidence-item { font-size: var(--text-ui); padding: 3px 0; display: flex; gap: 8px; align-items: flex-start; }
.pv-recovery-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; background: var(--surface-raised); }
.pv-recovery-cell { min-height: 60px; padding: var(--space-2) var(--space-3); }
.pv-recovery-cell + .pv-recovery-cell { border-left: 1px solid var(--border-soft); }
.pv-bottom-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--space-2); }
.pv-eyebrow { margin-bottom: 5px; font-size: var(--text-label); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-muted); }
.pv-title { font-size: var(--text-h1); line-height: 1.15; font-weight: 600; color: var(--ink); }
.pv-subtitle { margin-top: 4px; margin-bottom: 16px; font-size: var(--text-body); line-height: 1.45; color: var(--ink-muted); }
.pv-section { margin-bottom: 16px; }
.pv-grid { display: grid; gap: var(--space-2); }
.pv-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pv-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pv-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pv-status { display: inline-flex; align-items: center; min-height: 20px; padding: 2px 8px; border-radius: var(--radius-pill); font-size: var(--text-micro); font-weight: 500; white-space: nowrap; }
.pv-status-success { color: var(--success); background: var(--success-bg); }
.pv-status-warning { color: var(--warning); background: var(--warning-bg); }
.pv-status-danger { color: var(--danger); background: var(--danger-bg); }
.pv-status-neutral { color: var(--accent); background: var(--accent-pale); }
.pv-btn { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 14px; border-radius: var(--radius-sm); border: 1px solid transparent; font-size: var(--text-compact-sm); font-weight: 500; cursor: pointer; text-decoration: none; }
.pv-btn-primary { background: var(--c-primary); color: #FFFFFF; }
.pv-btn-primary:hover { background: var(--c-primary-hover); }
.pv-btn-link { min-height: auto; padding: 0; background: transparent; color: var(--accent); border: none; font-size: var(--text-ui); }
.card-header { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--border-soft); }
.card-body { padding: var(--space-4); }
/* ---- PerfIQ Design System spec - additions (badge/status/toggle/table + Performance page) ---- */
.btn { border: 1px solid transparent; border-radius: 6px; padding: 7px 10px; font-weight: 600; font-size: var(--text-ui); cursor: pointer; }
.badge, .status-pill { display: inline-flex; align-items: center; border-radius: var(--radius-pill); padding: 3px 7px; font-size: var(--text-label); font-weight: 650; }
.badge { background: var(--steel-100); color: var(--steel-700); }
.status-good { background: var(--success-bg); color: var(--success); }
.status-risk { background: var(--danger-bg); color: var(--danger); }
.status-watch { background: var(--warning-bg); color: var(--warning); }
.toggle { width: 32px; height: 18px; border: 0; border-radius: var(--radius-pill); background: #718595; position: relative; cursor: pointer; padding: 0; }
.toggle:after { content: ''; position: absolute; width: 14px; height: 14px; border-radius: 50%; background: #fff; top: 2px; left: 2px; transition: left .12s ease; }
.toggle.is-on { background: var(--steel-600); }
.toggle.is-on:after { left: 16px; }
table.ds-table { width: 100%; border-collapse: collapse; }
table.ds-table th { text-align: left; font-size: var(--text-micro); color: var(--muted); text-transform: uppercase; letter-spacing: .04em; background: var(--steel-100); }
table.ds-table th, table.ds-table td { padding: 9px 8px; border-bottom: 1px solid var(--line); }
/* Performance page - spec section 7 */
.performance-kpis { display: grid; gap: 10px; }
.causal-chain { display: flex; align-items: stretch; gap: 8px; overflow: auto; }
.causal-node { min-width: 155px; flex: 1; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.causal-node.is-primary { background: var(--danger-bg); border-color: #EFD3D1; }
.causal-node-label { font-size: var(--text-nano); text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.causal-node-sub { margin: 4px 0 0; color: var(--muted); }
.recovery-track { height: 8px; border-radius: var(--radius-pill); background: var(--steel-100); overflow: hidden; }
.recovery-track > span { display: block; height: 100%; background: var(--steel-600); }
@media(max-width:1100px){ .performance-kpis { grid-template-columns: repeat(2,1fr); } }
@media(max-width:640px){ .performance-kpis { grid-template-columns: 1fr; } }
/* ============================================================
 RENDER ALIGNMENT PATCH - reviewed against the real, live class
 names (several rules in the original review targeted .pfp-home
 .kpi/.value/.causal/.cause, which this session's earlier
 reconciliation pass already moved to .kpi-card/.kpi-value/
 .causal-chain/.causal-node - retargeted here so these rules
 actually reach something rendered, instead of silently doing
 nothing.
 ============================================================ */
.main { max-width: var(--content-max); padding: 16px 72px 24px 32px; }
@media (min-width: 1600px) { :root { --content-max: 1272px; } .main, .g2-main { padding-left: 40px; padding-right: 72px; } }
.nav-sub-item { display:flex; align-items:center; gap:8px; min-height:24px; padding:3px 10px 3px 8px; border-radius: var(--radius-sm); color: var(--sidebar-muted); font-size: var(--text-compact-sm); line-height:18px; cursor:pointer; }
.nav-sub-item .nav-ico { opacity: .8; }
.nav-sub-item.active .nav-ico { opacity: 1; }
.nav-sub-item:hover { background: #E3E6EA; color: var(--sidebar-text); }
.nav-sub-item.active { color: var(--sidebar-text); font-weight: 500; background: var(--sidebar-active); }
.btn-text { color: var(--accent); }
.performance-kpis { grid-template-columns: 1fr 1fr 1.12fr .95fr .95fr; }
.kpi-card { min-height: 122px; padding: 20px 20px; }
.causal-node { min-height: 112px; max-height: 142px; padding: 11px; overflow: hidden; }
.causal-node-label { font-size: var(--text-nano); font-weight: 600; margin-bottom: 5px; }
.causal-node b { font-size: var(--text-ui); font-weight: 600; line-height: 1.3; }
.causal-node-sub { margin-top: 5px; font-size: var(--text-micro-lg); line-height: 1.4; }
.attention-queue, .pfp-home .card.attention-queue { border-left: 1px solid var(--border); }
.page-title, .g2-h1 { font-size: var(--text-h1); line-height: 1.12; font-weight: 600; letter-spacing: -.025em; color: var(--ink); }
.g2-h2 { font-size: var(--text-h3); line-height: 1.3; font-weight: 600; color: var(--ink); }
.g2-h3 { font-size: var(--text-nav); line-height: 1.35; font-weight: 600; color: var(--ink-800); }
.body-copy { font-size: var(--text-body); line-height: 1.6; font-weight: 400; color: var(--ink-600); }
.important-copy { font-weight: 500; color: var(--ink-800); }
.summary-copy, .brief-preview { font-size: var(--text-summary); line-height: 1.6; color: var(--ink-600); }
.performance-summary.performance-summary.performance-summary, .leadership-context-copy.leadership-context-copy.leadership-context-copy, .market-reality-copy.market-reality-copy.market-reality-copy, .thesis-conviction-copy.thesis-conviction-copy.thesis-conviction-copy, .surgeons-note.surgeons-note.surgeons-note { font-size: var(--text-base); line-height: 1.5; color: var(--ink-600); }
.reading-copy { max-width: 76ch; }
.results-page .analysis-prose { font-size: var(--text-base); line-height: 1.5; color: var(--ink-500); max-width: 76ch; }
.results-page .analysis-prose.is-collapsed { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.r-reading-toggle { border: 0; padding: 0; background: transparent; color: var(--steel-700); font-size: inherit; font-weight: 600; cursor: pointer; white-space: nowrap; }
.r-reading-toggle:hover { text-decoration: underline; }
.why-extra { margin-top: var(--space-1); }
.why-extra.is-collapsed { display: none; }
.results-page .root-cause-analysis-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10px; margin-top: 10px; }
.results-page .root-cause-analysis-card { min-height: 170px; padding: 13px 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.results-page .root-cause-analysis-card.is-primary { background: var(--steel-050); border-left: 3px solid var(--steel-600); }
.results-page .root-cause-card-label { font-size: var(--text-micro-sm); line-height: 1; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--steel-700); }
.results-page .root-cause-card-title { margin-top: 7px; font-size: var(--text-h3); line-height: 1.2; font-weight: 600; color: var(--ink); }
.results-page .root-cause-card-copy { margin-top: 6px; font-size: var(--text-micro-lg); line-height: 1.45; color: var(--ink-soft); }
.results-page .root-cause-evidence-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 12px; }
.results-page .root-cause-stat { padding: 8px; border: 1px solid var(--border-faint); border-radius: var(--radius-sm); background: var(--surface-sunk); text-align: center; }
.results-page .root-cause-stat strong { display: block; font-size: var(--text-body); line-height: 1; font-weight: 650; color: var(--ink); }
.results-page .root-cause-stat span { display: block; margin-top: 3px; font-size: var(--text-label); line-height: 1.2; color: var(--ink-muted); }
.results-page .root-cause-competing { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border-faint); font-size: var(--text-label); color: var(--ink-muted); }
.results-page .root-cause-competing strong { display: block; margin-top: 3px; font-size: var(--text-compact-sm); font-weight: 600; color: var(--ink); }
.results-page .root-cause-alt-row { padding: 12px 0; border-top: 1px solid var(--line-soft); }
.results-page .root-cause-alt-row:first-of-type { border-top: 0; }
.results-page .root-cause-alt-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.results-page .root-cause-alt-name { font-size: var(--text-ui); font-weight: 650; color: var(--ink); }
.results-page .root-cause-alt-pill { font-size: var(--text-nano); font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--ink-muted); background: var(--surface-sunk); border-radius: var(--radius-pill); padding: 3px 9px; white-space: nowrap; }
@media (max-width: 900px) { .results-page .root-cause-analysis-grid { grid-template-columns: 1fr; } }
.important-copy { font-size: var(--text-nav); line-height: 1.45; font-weight: 500; color: var(--ink-800); }
.g2-meta, .g2-helper, .g2-caption { font-size: var(--text-meta); line-height: 1.4; color: var(--ink-400); }
.g2-eyebrow { margin-bottom: 6px; font-size: var(--text-label); line-height: 1.2; font-weight: 600; letter-spacing: .10em; text-transform: uppercase; color: var(--steel-700); }
.g2-shell { display: flex; min-height: 100vh; }
.g2-app-column { flex: 1; min-width: 0; }
.g2-main { width: 100%; max-width: var(--content-max); margin: 0 auto; padding: 16px 72px 28px 32px; }
.g2-topbar { height: var(--topbar-height); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 18px; position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); }
.g2-topbar-search { width: min(620px, 60vw); height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 12px; background: var(--surface-muted); border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink-400); font-size: var(--text-meta); }
.g2-topbar-account { display: flex; align-items: center; gap: 10px; }
.g2-topbar-avatar { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--steel-700); color: #fff; font-size: var(--text-micro); font-weight: 600; }
.g2-topbar-name { font-size: var(--text-meta); font-weight: 600; color: var(--ink); }
.g2-topbar-company { font-size: var(--text-micro); color: var(--ink-400); }
.g2-sidebar { width: var(--sidebar-width); min-height: 100vh; display: flex; flex-direction: column; padding: 12px 10px 14px; position: sticky; top: 0; background: var(--navy-950); color: var(--sidebar-text); }
.g2-sidebar-brand { min-height: 46px; display: flex; align-items: center; padding: 0 8px 8px; color: #FFFFFF; font-size: var(--text-h3); font-weight: 600; }
.g2-sidebar-org { padding: 8px 9px; margin-bottom: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 6px; background: rgba(255,255,255,.04); }
.g2-nav { display: grid; gap: 1px; }
.g2-nav-item { height: 34px; display: flex; align-items: center; gap: 9px; padding: 0 10px; border-radius: var(--radius-sm); font-size: var(--text-compact-sm); font-weight: 400; color: #B8C9D4; text-decoration: none; }
.g2-nav-item:hover { background: rgba(255,255,255,.05); color: #FFFFFF; }
.g2-nav-item.active { background: var(--sidebar-active); color: #FFFFFF; font-weight: 500; }
.g2-nav-sub { display: grid; gap: 1px; }
.g2-nav-sub-item { min-height: 29px; display: flex; align-items: center; padding: 0 10px 0 36px; border-radius: var(--radius-sm); font-size: var(--text-meta); color: var(--sidebar-muted); }
.g2-nav-sub-item.active { color: #FFFFFF; font-weight: 500; }
.g2-nav-divider { height: 1px; margin: 9px 8px; background: rgba(255,255,255,.10); }
.g2-sidebar-bottom { margin-top: auto; }
.g2-sidebar-control-label { margin-bottom: 5px; font-size: var(--text-micro); color: var(--sidebar-muted); }
.page-hero { min-height: 150px; position: relative; overflow: hidden; padding: 22px 28px; display: flex; align-items: center; background: #FFFFFF; border-radius: var(--radius-lg); }
.page-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 31%, rgba(255,255,255,.82) 42%, rgba(255,255,255,.20) 63%, rgba(255,255,255,0) 78%), url('/assets/brand/mountains.png'); background-size: cover; background-position: center; }
.page-hero > * { position: relative; z-index: 2; }
.hero-content { max-width: 600px; }
.hero-subtitle { margin-top: 5px; max-width: 60ch; font-size: var(--text-ui); line-height: 1.5; color: var(--ink-600); }
.g2-stepper { min-height: 52px; display: flex; align-items: center; margin-bottom: 10px; }
.g2-step-line { flex: 1 1 auto; height: 1px; margin: 0 10px; background: var(--line-strong); min-width: 20px; }
.g2-step { flex: 0 0 auto; }
.g2-step { display: flex; align-items: center; gap: 9px; color: var(--ink-400); font-size: var(--text-meta); }
.g2-step-number { width: 28px; height: 28px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--steel-100); color: var(--steel-700); font-size: var(--text-micro); font-weight: 600; }
.g2-step.complete { color: var(--ink-600); }
.g2-step.complete .g2-step-number { background: var(--steel-700); color: #fff; }
.g2-step.active { color: var(--ink); font-weight: 600; }
.g2-step.active .g2-step-number { background: var(--navy-900); color: #fff; }
.g2-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.g2-card-header { min-height: 42px; display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid var(--line-soft); }
.g2-card-body { padding: 14px 16px; }
.g2-subpanel { background: var(--surface-subtle); border: 1px solid var(--line-soft); border-radius: 6px; }
.g2-inline-panel { border-top: 1px solid var(--line-soft); }
.g2-form-label { display: block; margin-bottom: 5px; font-size: var(--text-meta); font-weight: 500; color: var(--ink-600); }
.g2-form-helper { margin-top: 4px; font-size: var(--text-micro); color: var(--ink-400); }
.g2-input, .g2-select, .g2-textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: #FFFFFF; color: var(--ink-800); font-size: var(--text-ui); line-height: 21px; transition: border-color .12s ease, box-shadow .12s ease; }
.g2-input, .g2-select { height: 38px; padding: 0 11px; }
.g2-textarea { padding: 10px 11px; line-height: 1.5; resize: vertical; }
.g2-input:focus, .g2-select:focus, .g2-textarea:focus { outline: none; border-color: var(--steel-500); box-shadow: 0 0 0 3px rgba(63,111,145,.10); }
.g2-btn { height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 12px; border-radius: var(--radius-sm); border: 1px solid transparent; font-size: 13px; line-height: 18px; font-weight: 600; cursor: pointer; }
.g2-btn-primary { background: var(--c-primary); border-color: var(--c-primary); color: #FFFFFF; }
.g2-btn-primary:hover { background: var(--c-primary-hover); border-color: var(--c-primary-hover); }
.g2-btn-primary .ico { color: #FFFFFF; stroke: #FFFFFF; }
.g2-btn-secondary { background: #FFFFFF; border-color: var(--line-strong); color: var(--ink-800); }
.g2-btn-ghost { background: transparent; color: var(--steel-700); }
.g2-option-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 20px; }
.g2-option { min-height: 34px; display: flex; align-items: center; gap: 9px; padding: 6px 8px; border: 1px solid transparent; border-radius: var(--radius-sm); font-size: var(--text-compact-sm); color: var(--ink-600); cursor: pointer; }
.g2-option:hover { background: var(--surface-muted); }
.g2-option.is-selected { background: var(--steel-100); border-color: var(--steel-200); color: var(--ink); font-weight: 500; }
.form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 12px; align-items: start; }
.guidance-panel { min-height: 100%; padding: 20px; background: linear-gradient(180deg,#F0F7FA 0%,#EAF3F7 100%); border: 1px solid #D6E5EC; border-radius: var(--radius-md); }
.guidance-title { font-size: var(--text-summary-lg); line-height: 1.25; font-weight: 600; color: var(--ink); }
.guidance-copy { margin-top: 8px; font-size: var(--text-ui); line-height: 1.55; color: var(--ink-600); }
.guidance-divider { height: 1px; margin: 18px 0; background: #D6E3E9; }
.guidance-list { margin: 10px 0 0; padding-left: 20px; font-size: var(--text-compact-sm); line-height: 1.65; color: var(--ink-600); }
.page-actions { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
.page-actions-right { display: flex; gap: 8px; }
.leadership-page .organization-overview { padding: 16px; }
.leadership-page .brief-tabs { display: inline-flex; margin-top: 12px; padding: 3px; background: var(--surface-muted); border-radius: var(--radius-sm); }
.leadership-page .brief-tab { min-width: 126px; height: 31px; display: grid; place-items: center; border: 0; border-radius: var(--radius-xs); background: transparent; color: var(--ink-600); font-size: var(--text-meta); cursor: pointer; }
.leadership-page .brief-tab.active { background: #FFFFFF; color: var(--ink); font-weight: 500; box-shadow: 0 1px 2px rgba(14,38,58,.08); }
.leadership-page .brief-entry { margin-top: 7px; }
.leadership-page .brief-entry textarea { min-height: 72px; }
.leadership-page .brief-generated-card { margin-top: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface-subtle); }
.leadership-page .brief-preview { margin-top: 8px; font-size: var(--text-ui); line-height: 1.5; color: var(--ink-600); }
.leadership-page .profile-grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr .9fr; gap: 10px; margin-top: 12px; }
.leadership-page .leadership-section { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line-soft); }
.leadership-page .leader-table-head, .leadership-page .leader-row { display: grid; grid-template-columns: 1fr 1fr .7fr 1.2fr 34px; gap: 8px; align-items: center; }
.leadership-page .leader-table-head { margin-top: 10px; padding: 7px 8px; background: var(--surface-muted); font-size: var(--text-micro-sm); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-400); }
.leadership-page .leader-row { padding: 7px 0; }
.leadership-page .leader-row-wrap { border-bottom: 1px solid var(--line-soft); }
.leadership-page .leader-row-wrap:last-child { border-bottom: none; }
.leadership-page .leader-record { display: flex; align-items: center; gap: 14px; padding: 9px 8px; cursor: pointer; font-size: var(--text-base); }
.leadership-page .leader-record:hover { background: var(--surface-subtle); }
.leadership-page .leader-record-name { font-weight: 600; color: var(--ink-800); min-width: 140px; }
.leadership-page .leader-record-role { color: var(--ink-600); min-width: 90px; }
.leadership-page .leader-record-tenure { color: var(--ink-muted); flex: 1; }
.leadership-page .structure-options { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; margin-top: 10px; }
.leadership-page .structure-option { min-height: 68px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink-600); font-size: var(--text-ui); cursor: pointer; text-align: left; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; }
.leadership-page .structure-option strong { display: block; margin-bottom: 2px; font-size: var(--text-ui); font-weight: 600; color: var(--ink-800); }
.leadership-page .structure-option.selected { background: var(--steel-100); border-color: var(--steel-300); box-shadow: inset 3px 0 0 var(--steel-600); }
.vitals-page .vitals-section { margin-bottom: 9px; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: #fff; }
.vitals-page .vitals-section-header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 9px 14px; background: var(--surface-subtle); border-bottom: 1px solid var(--line-soft); }
.vitals-page .vitals-section-title { font-size: var(--text-body); font-weight: 600; color: var(--ink-800); }
.vitals-page .vitals-section-copy { margin-top: 2px; font-size: var(--text-micro); color: var(--ink-400); }
.vitals-page .g2-input, .vitals-page .g2-select { min-height: 38px; height: 38px; font-size: var(--text-base); }
.vitals-page .vitals-content { padding: 13px 14px; }
.vitals-page .vitals-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 18px; }
.vitals-page .collapsed-section { margin-bottom: 9px; min-height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border: 1px solid var(--line); border-radius: 6px; background: #FFFFFF; color: var(--ink-800); font-size: var(--text-ui); font-weight: 600; cursor: pointer; }
.situation-page .context-section { padding: 15px 16px; }
.situation-page .context-section + .context-section { border-top: 1px solid var(--line-soft); }
.situation-page .context-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 3px; font-size: var(--text-nav); font-weight: 600; color: var(--ink-800); }
.situation-page .context-description { margin: 0 0 10px 28px; font-size: var(--text-micro-lg); color: var(--ink-400); }
.situation-page .market-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.situation-page .challenge-grid, .situation-page .external-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 18px; }
.situation-page .additional-context { min-height: 64px; }
.goals-page .goals-card { padding: 16px; }
.goals-page .goals-head { display: grid; grid-template-columns: 28px 1fr 1.45fr .8fr 74px 30px; gap: 10px; margin-top: 14px; padding: 0 2px 6px; font-size: var(--text-micro-sm); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-400); }
.goals-page .goal-row { display: grid; grid-template-columns: 28px 1fr 1.45fr .8fr 74px 30px; gap: 10px; align-items: center; margin-bottom: 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.goals-page .goal-row:hover { border-color: var(--steel-300); }
.goal-number { width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--steel-100); color: var(--steel-700); font-size: var(--text-label); font-weight: 600; flex-shrink: 0; }
.goal-status { width: fit-content; min-height: 22px; display: inline-flex; align-items: center; padding: 3px 8px; border-radius: var(--radius-pill); background: var(--surface-muted); color: var(--ink-500); font-size: var(--text-micro-sm); font-weight: 500; }
.goal-status.active { background: var(--steel-100); color: var(--steel-700); }
.goals-empty { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 16px; border: 1px dashed var(--line-strong); border-radius: var(--radius-md); background: var(--surface-soft); }
.goals-empty-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--steel-100); color: var(--steel-700); }
.goals-empty-title { margin: 0; font-size: var(--text-ui); font-weight: 600; color: var(--ink-800); }
.goals-empty-copy { margin-top: 3px; font-size: var(--text-micro-lg); line-height: 1.4; color: var(--ink-400); }
.goal-metric-icon { flex: 0 0 auto; display: flex; color: var(--steel-700); }
.goal-metric-icon svg { width: 16px; height: 16px; }
.goals-page .goal-row input, .goals-page .goal-row select { height: 36px; }
.goals-page .delete-goal { width: 28px; height: 28px; display: grid; place-items: center; border: 0; background: transparent; color: var(--ink-400); cursor: pointer; }
.goals-page .delete-goal:hover { color: var(--danger); }
.goals-page .add-goal { margin-top: 5px; }
.goals-page .goal-context { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line-soft); }
.goals-page .goal-context textarea { min-height: 90px; }
.review-page .review-list { padding: 4px 16px; }
.review-page .review-section { padding: 13px 0; border-bottom: 1px solid var(--line-soft); }
.review-page .review-section:last-child { border-bottom: 0; }
.review-page .review-section-head { display: grid; grid-template-columns: 28px 1fr auto auto 28px; gap: 10px; align-items: center; }
.review-chevron { width: 26px; height: 26px; display: grid; place-items: center; border: 0; border-radius: var(--radius-xs); background: transparent; color: var(--ink-400); cursor: pointer; transition: transform 0.15s ease; }
.review-chevron:hover { background: var(--surface-muted); }
.review-chevron.expanded { transform: rotate(90deg); }
.review-page .review-check { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--steel-050); color: var(--steel-700); font-size: var(--text-micro); }
.review-page .review-title { font-size: var(--text-compact); font-weight: 600; color: var(--ink); }
.review-page .review-desc { margin-top: 1px; font-size: var(--text-micro-lg); color: var(--ink-400); }
.review-status { min-height: 22px; display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: var(--radius-pill); white-space: nowrap; font-size: var(--text-label); font-weight: 500; }
.review-status.complete { background: var(--success-bg); color: var(--success); }
.review-status.needs-review { background: rgba(176,138,42,0.12); color: var(--warning); }
.review-status.not-started { background: var(--surface-muted); color: var(--ink-500); }
.review-page .review-summary-toggle:hover { text-decoration: underline; }
.review-page .review-summary { margin: 9px 0 0 38px; padding: 10px 12px; background: var(--surface-muted); border-radius: var(--radius-sm); font-size: var(--text-summary); line-height: 1.6; color: var(--ink-600); }
.review-page .review-metrics { display: grid; grid-template-columns: repeat(5, 1fr); margin: 9px 0 0 38px; background: var(--surface-muted); border-radius: var(--radius-sm); }
.review-page .review-metric { padding: 10px 12px; border-right: 1px solid var(--line-soft); }
.review-page .review-metric:last-child { border-right: 0; }
.review-page .review-metric strong { display: block; font-size: var(--text-summary-lg); font-weight: 600; color: var(--ink); }
.review-page .review-metric span { font-size: var(--text-label); color: var(--ink-400); }
.review-page .ready-panel { padding: 20px; background: linear-gradient(180deg,#F0F8F4 0%,var(--success-bg) 100%); border: 1px solid #D7EBDD; border-radius: var(--radius-md); }
.review-page .next-panel { margin-top: 10px; padding: 20px; background: var(--surface-steel); border: 1px solid #D6E5EC; border-radius: var(--radius-md); }
.results-page .results-tabs { display: flex; gap: 24px; height: 42px; align-items: flex-end; border-bottom: 1px solid var(--line); }
.results-page .results-tab { height: 42px; display: flex; align-items: center; position: relative; font-size: var(--text-meta); color: var(--ink-400); }
.results-page .results-tab.active { color: var(--ink); font-weight: 600; }
.results-page .results-tab.active::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--steel-600); }
.results-page .result-section { margin-top: 10px; }
.results-page .diagnosis-summary { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10px; }
.results-page .results-summary-grid { display: grid; grid-template-columns: 1.05fr 1.05fr .9fr; gap: 10px; margin-bottom: var(--space-4); align-items: stretch; }
.results-page .summary-card { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; }
.results-page .summary-headline { margin-top: 4px; font-size: var(--text-summary-lg); line-height: 1.15; font-weight: 700; color: var(--ink); }
.results-page .r-row2 { display: grid; grid-template-columns: .8fr 1.1fr; gap: var(--space-4); margin-bottom: var(--space-4); }
.results-page .r-row3 { display: grid; grid-template-columns: .75fr 1.15fr .9fr; gap: var(--space-4); margin-bottom: var(--space-4); }
.driver-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.driver-table thead th { padding: 6px 8px; border-bottom: 1px solid var(--border-faint); text-align: left; font-size: var(--text-label); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-muted); }
.driver-table tbody td { padding: 8px 8px; border-bottom: 1px solid var(--border-faint); font-size: var(--text-base); color: var(--ink); }
.driver-table tbody tr { cursor: pointer; }
.driver-table tbody tr:hover { background: var(--surface-sunk); }
.driver-table tbody tr.active { background: var(--surface-steel); }
.driver-score { font-weight: 600; }
.driver-detail-label { font-size: var(--text-label); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--steel-700); }
.driver-detail-title { margin-top: 6px; font-size: var(--text-body); font-weight: 600; color: var(--ink); }
.driver-detail-score { margin-top: 8px; display: flex; align-items: baseline; gap: 6px; }
.driver-detail-score strong { font-size: var(--text-h1-sm); font-weight: 650; color: var(--ink); }
.driver-detail-score strong.weak { color: var(--danger, var(--danger)); }
.driver-detail-score small { font-size: var(--text-micro); color: var(--ink-muted); }
.driver-detail-copy { margin-top: 8px; font-size: var(--text-base); line-height: 1.5; color: var(--ink-soft); }
.results-page .summary-card { padding: 16px 18px; }
.results-page .diagnosis-label { font-size: var(--text-label); font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--ink-400); }
.results-page .diagnosis-title { margin-top: 5px; font-size: var(--text-h1-xs); line-height: 1.15; font-weight: 600; color: var(--ink); }
.results-page .diagnosis-read { margin-top: 8px; font-size: var(--text-base); line-height: 1.5; color: var(--ink-600); }
.results-page .misdiagnosis { padding: 15px 16px; background: var(--steel-050); border-left: 3px solid var(--steel-500); font-size: var(--text-compact-sm); line-height: 1.5; color: var(--ink-600); }
.results-page .driver-row { display: grid; grid-template-columns: 1fr 56px; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--line-soft); }
.results-page .driver-copy { font-size: var(--text-compact-sm); line-height: 1.45; color: var(--ink-600); }
.results-page .driver-score { text-align: right; font-size: var(--text-ui); font-weight: 600; color: var(--ink-800); }
.results-page .driver-score.critical { color: var(--danger); }
.hierarchy { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.hierarchy-node { min-height: 54px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8px 10px; border: none; border-radius: 6px; background: #fff; text-align: center; }
.hierarchy-number { font-size: var(--text-ui); color: var(--ink-400); }
.hierarchy-name { margin-top: 2px; font-size: var(--text-ui); font-weight: 500; color: var(--ink-600); }
.hierarchy-node.holding { background: var(--steel-100); }
.hierarchy-node.holding .hierarchy-name { color: var(--steel-700); }
.hierarchy-node.affected { background: var(--warning-bg); }
.hierarchy-node.affected .hierarchy-name { color: var(--warning); }
.hierarchy-node.root { background: var(--danger-bg); }
.hierarchy-node.root .hierarchy-name { color: var(--danger); }
.operating-pattern { display: grid; grid-template-columns: 260px 1fr; gap: 28px; padding: 18px; align-items: start; }
.operating-pattern .chart-wrap { display: flex; justify-content: center; align-items: start; }
.operating-pattern .takeaways { padding: 8px 0; }
.operating-pattern .takeaway-list { margin-top: 10px; padding: 0; list-style: none; }
.operating-pattern .takeaway { display: flex; gap: 8px; padding: 6px 0; font-size: var(--text-compact-sm); line-height: 1.45; color: var(--ink-600); }
.operating-pattern .takeaway::before { content: ''; width: 6px; height: 6px; margin-top: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--success); }
.root-pattern { padding: 18px; }
.root-pattern-header { display: flex; align-items: baseline; gap: 10px; }
.root-pattern-title { font-size: var(--text-h2-sm); font-weight: 600; color: var(--ink); }
.root-pattern-confidence { font-size: var(--text-micro); color: var(--success); }
.root-pattern-meta { margin-top: 3px; font-size: var(--text-micro-lg); color: var(--ink-400); }
.root-pattern-section { margin-top: 16px; }
.root-pattern-section h4 { margin-bottom: 5px; font-size: var(--text-micro); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-400); }
.root-pattern-section p { max-width: 90ch; font-size: var(--text-summary); line-height: 1.6; color: var(--ink-600); }
.alternative-list { margin-top: 15px; border-top: 1px solid var(--line-soft); }
.alternative { padding: 11px 0; border-bottom: 1px solid var(--line-soft); }
.alternative-title { font-size: var(--text-compact-sm); font-weight: 600; color: var(--ink-800); }
.alternative-copy { margin-top: 4px; font-size: var(--text-meta); line-height: 1.5; color: var(--ink-600); }
.market-page .market-summary { padding: 16px 18px; font-size: var(--text-summary); line-height: 1.6; color: var(--ink-600); }
.market-signal { display: grid; grid-template-columns: 120px 1fr auto; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--line-soft); }
.market-signal-type { font-size: var(--text-nano); font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--ink-400); }
.market-signal-title { font-size: var(--text-nav); font-weight: 600; color: var(--ink-800); }
.market-signal-summary { margin-top: 4px; max-width: 82ch; font-size: var(--text-summary); line-height: 1.6; color: var(--ink-600); }
.market-signal-meta { display: flex; gap: 5px; align-items: flex-start; }
.market-detail { margin-top: 8px; font-size: var(--text-meta); line-height: 1.55; color: var(--ink-600); }
.market-detail.collapsed { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.panels-page .panel-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(280px, 380px)); gap: 10px; margin-top: 10px; }
.panel-summary-card { padding: 14px 15px; border-top: 2px solid var(--steel-500); }
.panel-summary-head { display: flex; align-items: center; justify-content: space-between; }
.panel-summary-title { font-size: var(--text-compact); font-weight: 600; color: var(--ink); }
.panel-summary-copy { margin-top: 7px; font-size: var(--text-meta); line-height: 1.5; color: var(--ink-600); }
.panel-score { font-size: var(--text-score-lg); line-height: 1; font-weight: 600; color: var(--ink); }
.panel-score small { font-size: var(--text-micro-sm); font-weight: 400; color: var(--ink-400); }
.panel-tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--line); }
.panel-tab { height: 38px; display: flex; align-items: center; position: relative; font-size: var(--text-micro-lg); color: var(--ink-400); }
.panel-tab.active { color: var(--ink); font-weight: 600; }
.panel-tab.active::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--steel-600); }
.signal-group { margin-top: 16px; }
.signal-group:first-child { margin-top: 0; }
.signal-group-title { margin-bottom: 5px; font-size: var(--text-nano); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-400); }
.signal-row { min-height: 34px; display: grid; grid-template-columns: 240px 1fr 44px; gap: 12px; align-items: center; border-bottom: 1px solid var(--line-soft); }
.signal-label { font-size: var(--text-meta); line-height: 1.3; color: var(--ink-600); }
.signal-track { height: 6px; overflow: hidden; border-radius: var(--radius-pill); background: #E5ECEF; }
.signal-fill { height: 100%; border-radius: inherit; background: var(--steel-500); }
.signal-row.critical .signal-fill { background: var(--danger); }
.signal-row.watch .signal-fill { background: var(--warning); }
.signal-row.healthy .signal-fill { background: var(--success); }
.signal-score { text-align: right; font-size: var(--text-micro-lg); font-variant-numeric: tabular-nums; color: var(--ink-600); }
.gap-analysis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; padding: 16px; }
.gap-column-title { margin-bottom: 8px; font-size: var(--text-micro-sm); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.gap-column.good .gap-column-title { color: var(--success); }
.gap-column.bad .gap-column-title { color: var(--danger); }
.gap-column.neutral .gap-column-title { color: var(--ink-400); }
.gap-item { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); font-size: var(--text-meta); color: var(--ink-600); }
.gap-item-score { font-weight: 500; color: var(--ink-800); }
.leverage-map { display: grid; grid-template-columns: repeat(5, minmax(110px,1fr)); gap: 7px; padding: 16px; }
.leverage-node { min-height: 66px; padding: 9px 10px; border: 1px solid var(--line); border-top: 3px solid var(--steel-500); border-radius: 6px; background: #fff; }
.leverage-node.critical { border-top-color: var(--danger); }
.leverage-node.watch { border-top-color: var(--warning); }
.leverage-node.protect { border-top-color: var(--success); }
.leverage-score { font-size: var(--text-summary-lg); font-weight: 600; color: var(--ink); }
.leverage-name { margin-top: 3px; font-size: var(--text-micro); line-height: 1.3; color: var(--ink-600); }
.g2-history { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line-soft); }
.g2-history-title { margin-bottom: 5px; font-size: var(--text-micro-sm); font-weight: 600; color: var(--ink-400); }
.g2-history-row { min-height: 24px; display: grid; grid-template-columns: 1fr 70px 42px; gap: 8px; align-items: center; font-size: var(--text-micro); color: var(--ink-400); }
.g2-history-score { text-align: right; color: var(--ink-800); }
.g2-history-change { text-align: right; }
.g2-history-change.down { color: var(--warning); }
.g2-badge { min-height: 20px; display: inline-flex; align-items: center; padding: 2px 7px; border-radius: var(--radius-pill); font-size: var(--text-micro-sm); font-weight: 500; }
.g2-badge-success { background: var(--success-bg); color: var(--success); }
.g2-badge-warning { background: var(--warning-bg); color: var(--warning); }
.g2-badge-danger { background: var(--danger-bg); color: var(--danger); }
.g2-badge-info { background: var(--steel-100); color: var(--steel-700); }
.g2-badge-neutral { background: var(--surface-muted); color: var(--ink-600); }
@media (max-width: 1100px) { .form-layout { grid-template-columns: 1fr; } .guidance-panel { min-height: auto; } .leadership-page .profile-grid { grid-template-columns: repeat(2, 1fr); } .leadership-page .structure-options { grid-template-columns: repeat(3, 1fr); } .goals-page .goal-row, .goals-page .goals-head { grid-template-columns: .9fr 1.3fr .8fr 28px; } .results-page .diagnosis-summary { grid-template-columns: 1fr; } .results-page .results-summary-grid { grid-template-columns: 1fr; } .results-page .r-row2 { grid-template-columns: 1fr; } .results-page .r-row3 { grid-template-columns: 1fr; } .operating-pattern { grid-template-columns: 320px 1fr; } .signal-row { grid-template-columns: 200px 1fr 40px; } }
@media (max-width: 820px) { .g2-sidebar { display: none; } .g2-main { padding: 12px; } .page-hero { min-height: 130px; padding: 18px; } .g2-stepper { grid-template-columns: repeat(5, auto); overflow-x: auto; } .g2-option-grid, .vitals-page .vitals-grid, .situation-page .challenge-grid, .situation-page .external-grid { grid-template-columns: 1fr; } .leadership-page .profile-grid { grid-template-columns: 1fr; } .leadership-page .structure-options { grid-template-columns: repeat(2, 1fr); } .review-page .review-metrics { grid-template-columns: repeat(2, 1fr); } .hierarchy { grid-template-columns: repeat(4, 1fr); } .operating-pattern { grid-template-columns: 1fr; } .gap-analysis { grid-template-columns: 1fr; } .leverage-map { grid-template-columns: repeat(2, 1fr); } .market-signal { grid-template-columns: 1fr; } }
.hero-title, .hero.hero-compact .hero-title, .home-title, .home-first h1, .cv-company { font-family: var(--font-family) !important; font-size: var(--text-h1) !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: -0.014em !important; color: var(--ink) !important; }
.eyebrow, .home-eyebrow, .recovery-eyebrow { font-size: var(--text-label) !important; font-weight: 600 !important; letter-spacing: .12em !important; text-transform: uppercase !important; line-height: 1.2 !important; }
.perf-hero-sub, .hero-sub, .home-sub { font-size: var(--text-base) !important; line-height: 1.5 !important; }
.section-title, .dx-sum-head h2, .recovery-plan-title, .recovery-actions-title, .recovery-progress-title { font-family: var(--font-app) !important; font-size: 18px !important; font-weight: 600 !important; line-height: 26px !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink) !important; }
.pan-name, .panel-result-title { font-family: var(--font-app) !important; font-size: var(--text-lg) !important; font-weight: 600 !important; line-height: 24px !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink) !important; }
.home-card h2, .monx-card h2, .monx-strip-label, .home-q, .vitals-section-title, .g2-h2 { font-family: var(--font-app) !important; font-size: var(--text-summary) !important; font-weight: 600 !important; line-height: 22px !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink) !important; }
.btn, .g2-btn, .rec-save-btn, .home-mode, .pan-nav-action, .r-reading-toggle { font-size: 13px !important; font-weight: 600 !important; line-height: 18px !important; }
.recovery-actions-table th, .rep-thead span { font-size: var(--text-label) !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
.dx-sum-body, .driver-score, .rec-plan-select { font-size: var(--text-base) !important; }
.home-meta { font-size: var(--text-meta) !important; }
.dx-sum-lead { font-size: var(--text-h3) !important; line-height: 1.4 !important; }
.r-past-row, .r-past-row .g2-caption { font-size: var(--text-base) !important; color: var(--ink) !important; }
.r-past-row .r-past-sub { font-size: var(--text-meta) !important; }
.r-past-head { font-size: var(--text-label) !important; }
.market-signal .g2-caption { font-size: var(--text-base) !important; line-height: 1.5 !important; color: var(--ink-soft) !important; }
.recovery-action-detail { color: var(--ink-soft) !important; }
.recovery-owner, .recovery-due-date, .rec-due-input { color: var(--ink) !important; }
.brief-preview, .leadership-page .brief-preview, .brief-generated-card .g2-caption { font-size: var(--text-base) !important; color: var(--ink) !important; }
.leadership-page .leader-table-head { font-size: var(--text-label) !important; color: var(--ink-600) !important; letter-spacing: .08em !important; }
.leadership-page .leader-record { display: grid; grid-template-columns: 1fr 1fr .7fr 1.2fr 34px; gap: 8px; align-items: center; padding: 9px 8px; }
.leadership-page .leader-record-name { min-width: 0; color: var(--ink) !important; }
.leadership-page .leader-record-role, .leadership-page .leader-record-tenure, .leadership-page .leader-record-notes { min-width: 0; color: var(--ink) !important; font-size: var(--text-base); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.leadership-page .leader-record .is-empty { color: var(--ink-400) !important; font-style: italic; }
.dx-sum-lede { font-size: var(--text-base) !important; line-height: 1.6 !important; }
.dx-sum-cards, .dx-sum-row { align-items: stretch !important; }
.dx-sum-cards > .card, .dx-sum-row > .card { margin: 0 !important; height: 100%; box-sizing: border-box; }
.dx-sum-body, .dx-sum-start { font-size: var(--text-base) !important; }
.market-page .analysis-prose, .market-page .market-summary, .market-page .market-signal-summary, .market-page .r-why-item, .market-page .g2-caption, .market-page .pattern-takeaways .g2-caption, #tab-market .analysis-prose, #tab-market .market-summary, #tab-market .market-signal-summary, #tab-market .r-why-item, #tab-market .g2-caption { font-size: var(--text-base) !important; line-height: 1.5 !important; color: var(--ink-soft) !important; }
#tab-market .g2-h3, #tab-market .market-signal-title, #tab-market .mkt-takeaway-title, #tab-market .pattern-takeaways-title { font-size: var(--text-base) !important; font-weight: 600 !important; color: var(--ink) !important; }
#tab-market .market-signal-type { font-size: var(--text-label) !important; } #tab-market .status { font-size: var(--text-meta) !important; } #tab-market .r-why-src { font-size: var(--text-meta) !important; }
.monx-check-badge { display: flex !important; align-items: center; justify-content: center; }
.monx-strip-badge { display: flex !important; }
@media (max-width: 900px) { .pan-layout, .pan-grid { grid-template-columns: minmax(0, 1fr) !important; } .pan-layout > *, .pan-grid > * { min-width: 0; } .pan-module, .pan-list-head { max-width: 100%; } }
@media (max-width: 760px) {
 #tab-past .card > div:first-child { flex-direction: column; }
 #tab-past .card > div:first-child > div:last-child { width: 100%; flex-wrap: wrap; }
 #tab-past #pastSearch { width: 100% !important; flex: 1 1 100%; box-sizing: border-box; }
 #tab-past .r-past-row:has(.r-past-head) { display: none; }
 #tab-past .r-past-row { grid-template-columns: auto minmax(0, 1fr) auto; gap: 4px 12px; padding: 14px 0; align-items: start; }
 #tab-past .r-past-row > :nth-child(1) { grid-column: 1; grid-row: 1; }
 #tab-past .r-past-row > :nth-child(2) { grid-column: 2; grid-row: 1; }
 #tab-past .r-past-row > :nth-child(8) { grid-column: 3; grid-row: 1; }
 #tab-past .r-past-row > :nth-child(3) { grid-column: 2 / 4; grid-row: 2; }
 #tab-past .r-past-row > :nth-child(6) { grid-column: 2 / 4; grid-row: 3; }
 #tab-past .r-past-row > :nth-child(4) { grid-column: 2 / 4; grid-row: 4; font-size: var(--text-meta); color: var(--ink-muted); }
 #tab-past .r-past-row > :nth-child(4)::before { content: 'Created '; }
 #tab-past .r-past-row > :nth-child(5) { grid-column: 2 / 4; grid-row: 5; font-size: var(--text-meta); color: var(--ink-muted); }
 #tab-past .r-past-row > :nth-child(5)::before { content: 'Updated '; }
 #tab-past .r-past-row > :nth-child(7) { grid-column: 2 / 4; grid-row: 6; margin-top: 4px; }
}
.pan-tab-pane[data-pan-pane="all"], .pan-tab-pane[data-pan-pane="rollup"] { padding: 16px 20px 20px; box-sizing: border-box; }
.main:has(.results-tab) .hero-title { font-size: var(--text-h1-xs) !important; line-height: 1.3 !important; max-width: calc(52% - 44px) !important; }
.main:has(.results-tab) .hero-page .perf-hero-sub, .main:has(.results-tab) .hero-page .hero-sub, .main:has(.results-tab) .hero-page .dx-hero-sub, .main:has(.results-tab) .hero-page .eyebrow { max-width: calc(52% - 44px) !important; }
@media (min-width: 901px) { .main:has(.results-tab) .hero-page .hero-actions { flex-wrap: wrap; max-width: calc(52% - 44px); } .main:has(.results-tab) .hero-page .hero-actions .dx-hero-sub { flex: 1 1 100%; max-width: none !important; } }
.hero.hero-compact.hero-full-bg::after { inset: 0 0 0 52% !important; }
.hero.hero-compact.hero-full-bg::before { background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 58%, rgba(255,255,255,0.55) 64%, rgba(255,255,255,0.10) 74%, rgba(255,255,255,0) 82%) !important; }
.hero.hero-compact::after { inset: 0 0 0 52%; }
.hero.hero-compact::before { background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 58%, rgba(255,255,255,0.55) 64%, rgba(255,255,255,0.10) 74%, rgba(255,255,255,0) 82%); }
.hero.hero-compact .hero-title, .hero.hero-compact .perf-hero-sub, .hero.hero-compact .hero-sub { max-width: 58% !important; }
.hero-wrap:has(.pan-hero-card) .hero::after { inset: 0 0 0 44%; }
.hero-wrap:has(.pan-hero-card) .hero::before { background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 48%, rgba(255,255,255,0.55) 55%, rgba(255,255,255,0.10) 66%, rgba(255,255,255,0) 76%); }
.main:has(.results-tab) .hero.hero-page::after { inset: 0 0 0 52%; }
.main:has(.results-tab) .hero.hero-page::before { background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 58%, rgba(255,255,255,0.55) 64%, rgba(255,255,255,0.10) 74%, rgba(255,255,255,0) 82%); }
@media (max-width: 600px) { .hero-title, .hero.hero-compact .hero-title, .home-title, .home-first h1, .main:has(.results-tab) .hero-title { font-size: var(--text-quote) !important; max-width: 100% !important; } .main:has(.results-tab) .hero-page .perf-hero-sub { max-width: 100% !important; } .main:has(.results-tab) .hero.hero-page::after, .hero.hero-compact::after, .hero.hero-compact.hero-full-bg::after, .hero-wrap:has(.pan-hero-card) .hero::after { inset: 0 !important; } .hero.hero-compact .hero-title, .hero.hero-compact .perf-hero-sub { max-width: 100% !important; } }
.hero-wrap { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin: 0 0 var(--gap-card, 16px); padding: 4px 0 14px; border-bottom: 1px solid var(--border); }
.hero-wrap .hero, .hero.hero-page, .hero.hero-compact { flex: 1 1 auto; min-width: 0; height: auto !important; min-height: 0 !important; max-height: none !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; overflow: visible !important; display: block !important; }
.hero-wrap .hero::before, .hero-wrap .hero::after, .hero.hero-page::before, .hero.hero-page::after, .hero.hero-compact::before, .hero.hero-compact::after { display: none !important; content: none !important; }
.hero-wrap .hero .hero-title, .hero-wrap .hero .eyebrow, .hero-wrap .hero .dx-hero-sub, .main:has(.results-tab) .hero-page .hero-title, .main:has(.results-tab) .hero-page .eyebrow { max-width: none !important; }
.hero-wrap .hero .hero-title { display: block; overflow: visible; line-height: 1.2 !important; margin: 0 0 6px; }
.hero-wrap .hero .eyebrow { margin: 0 0 6px; }
.hero-wrap .hero .perf-hero-sub, .hero-wrap .hero .hero-sub { max-width: 720px !important; display: block; margin: 0; overflow: visible; }
.hero-wrap .hero .hero-actions { margin-top: 12px; max-width: none !important; }
.hero-wrap .hero .hero-actions:has(.dx-hero-sub) { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; }
.main:has(.results-tab) .hero-wrap .hero .hero-actions .dx-hero-sub, .hero-wrap .hero .dx-hero-sub { margin: 0; flex: 0 0 auto !important; }
.hero-wrap .hero .dx-hero-actions { margin: 0; }
.hero-wrap .hero-right { position: static !important; inset: auto !important; flex: 0 0 auto; align-self: center; margin: 0 !important; width: auto; max-width: 480px; }
.hero-wrap .hero-right .recovery-inputs-card, .hero-wrap .hero-right .pan-hero-card, .hero-wrap .hero-right .gs-card { width: auto; margin: 0; }
@media (min-width: 901px) { .hero-wrap .hero-right .pan-hero-card { min-width: 380px; } }
.hero-wrap .hero { margin: 0 !important; }
.results-tabs { position: sticky; top: var(--topbar-height, 52px); z-index: 30; background: var(--bg, #F5F7F9); }
.home-wrap { max-width: none !important; }
.set-layout { max-width: none !important; }
.panel-result { border-radius: var(--radius-md, 7px) !important; }
.monx-check { border-radius: var(--radius-md, 7px) !important; border-color: var(--border, #DEE6EB) !important; }
.home-card.home-symptom { border-color: var(--border, #DEE6EB) !important; }
.home-first, .run-wrap { max-width: none !important; margin: 0 !important; }
.home-first > .home-card, .home-first > .home-alt, .run-wrap > .run-card, .run-wrap > .run-actions { max-width: 860px; }
@media (max-width: 900px) { .hero-wrap { flex-direction: column; gap: 14px; } .hero-wrap .hero-right { align-self: stretch; max-width: none; width: 100%; } .hero-wrap .hero-right .pan-hero-card, .hero-wrap .hero-right .recovery-inputs-card, .hero-wrap .hero-right .gs-card { width: 100% !important; } }
@media (max-width: 600px) { .monx-checks, .monx-exec-row { grid-template-columns: 1fr !important; } .monx-exec-tile { display: flex !important; flex-direction: row-reverse; justify-content: space-between; align-items: center; text-align: left !important; padding: 12px 14px !important; } .monx-exec-tile b { font-size: var(--text-h2) !important; } .recovery-progress-card { grid-template-columns: 1fr !important; } .recovery-progress-card > :not(.recovery-progress-main) { display: flex !important; flex-direction: row-reverse; justify-content: space-between; align-items: center; text-align: left !important; padding: 12px 14px !important; } .pan-hero-row { flex-direction: column; align-items: stretch; } .pan-hero-row .btn { width: 100%; } .pan-hero-row .pan-bar { flex: none; width: 100%; } }
.nav-new-wrap { position: relative; margin: 0 0 8px; }
.sidebar .nav-new-btn { background: transparent; border: 1px solid transparent; color: var(--sidebar-text); font-weight: 400; height: 32px; }
.sidebar .nav-new-btn:hover { background: #E3E6EA; border-color: transparent; color: var(--sidebar-text); }
.sidebar .nav-new-btn.active { background: rgba(255,255,255,.08); border-color: transparent; }
.sidebar .acct-switch { background: rgba(0,0,0,.20); }
.sidebar .acct-switch:hover { background: rgba(0,0,0,.26); }
.nav-new-menu { z-index: 200; }
.nav-new-item.nav-new-locked { opacity: .5; }
.op-toast { position: fixed; right: 20px; bottom: 20px; width: 320px; max-width: calc(100vw - 40px); background: #fff; border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 12px 40px rgba(20,30,40,.18); padding: 16px; z-index: 9998; opacity: 0; transform: translateY(12px); transition: opacity .18s ease, transform .18s ease; }
.op-toast.show { opacity: 1; transform: translateY(0); }
.op-toast-head { display: flex; align-items: center; gap: 8px; font-size: var(--text-compact-sm); font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.op-toast-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); flex: none; }
.op-toast-x { margin-left: auto; background: none; border: none; cursor: pointer; color: var(--ink-muted); font-size: var(--text-ui); padding: 2px; line-height: 1; }
.op-toast-msg { font-size: var(--text-ui); line-height: 1.5; color: var(--ink-soft); margin-bottom: 12px; }
.op-toast-actions { display: flex; gap: 8px; }
.op-toast-actions .g2-btn { flex: 1; justify-content: center; white-space: nowrap; }
.op-drawer-overlay { position: fixed; inset: 0; background: rgba(20,30,40,0.35); z-index: 9999; opacity: 0; transition: opacity .18s ease; }
.op-drawer-overlay.show { opacity: 1; }
.op-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: 400px; max-width: 100vw; background: #fff; box-shadow: -12px 0 40px rgba(20,30,40,.18); padding: 24px; overflow-y: auto; transform: translateX(100%); transition: transform .2s ease; }
.op-drawer-overlay.show .op-drawer { transform: translateX(0); }
.op-drawer-x { position: absolute; top: 16px; right: 16px; background: none; border: none; cursor: pointer; color: var(--ink-muted); font-size: var(--text-body); padding: 4px; }
.op-drawer-head { display: flex; align-items: center; gap: 8px; font-size: var(--text-ui); font-weight: 700; color: var(--ink); margin-bottom: 18px; }
.op-drawer-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--accent); flex: none; }
.op-step { padding: 16px 0; border-top: 1px solid var(--border); }
.op-step:first-child { border-top: none; padding-top: 0; }
.op-step-h { font-size: var(--text-ui); font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.op-step p { font-size: var(--text-ui); line-height: 1.55; color: var(--ink-soft); margin: 0 0 8px; }
.op-step ul { margin: 0 0 8px; padding-left: 18px; }
.op-step li { font-size: var(--text-ui); line-height: 1.55; color: var(--ink-soft); margin-bottom: 4px; }
.op-step-actions { display: flex; gap: 8px; margin-top: 12px; }
.pf-head { margin: 0 0 24px; padding: 4px 0 24px; border-bottom: 1px solid var(--border); }
.pf-head-unified { padding: 8px 0; }
.pf-main-unified { display: flex; align-items: center; flex-wrap: wrap; gap: 0; min-width: 0; flex: 1 1 auto; }
.pf-crumb-inline { font-size: var(--text-ui); color: var(--ink-muted); }
.pf-crumb-inline a { color: inherit; text-decoration: none; cursor: pointer; }
.pf-crumb-inline a:hover { color: var(--ink); }
.pf-meta-inline { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; font-size: var(--text-ui); line-height: 1.4; color: var(--ink-muted); margin: 0; }
.pf-meta-inline b { color: var(--ink-soft); font-weight: 600; }
.pf-meta-inline a { color: var(--accent); font-weight: 600; cursor: pointer; text-decoration: none; }
.pf-crumb { font-size: var(--text-ui); color: var(--ink-muted); margin-bottom: 14px; }
.pf-crumb a { color: inherit; text-decoration: none; cursor: pointer; }
.pf-crumb a:hover { color: var(--ink); }
.pf-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.pf-main { min-width: 0; flex: 1 1 auto; }
.pf-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--steel-700, #315A76); margin: 0 0 8px; line-height: 1.3; }
.pf-eyebrow-sub { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--ink-muted); margin-left: 4px; }
.pf-title { font-size: 30px; line-height: 1.15; font-weight: 650; letter-spacing: -.02em; color: #14202C; margin: 0 0 8px; }
.pf-sub { font-size: 16px; line-height: 1.5; color: var(--ink-soft); margin: 0; max-width: 720px; }
.pf-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; font-size: 14px; line-height: 1.4; color: var(--ink-muted); margin-top: 14px; }
.pf-meta b { color: var(--ink-soft); font-weight: 600; }
.pf-meta a { color: var(--accent); font-weight: 600; cursor: pointer; text-decoration: none; }
.pf-dot { color: var(--border-strong, #CBD5DE); }
.pf-actions { display: flex; align-items: center; gap: 8px; flex: none; margin-top: -2px; }
.pf-menu-wrap { position: relative; }
.pf-more { min-width: 40px; letter-spacing: 1px; font-weight: 700; padding-left: 12px; padding-right: 12px; }
.pf-menu { display: none; position: absolute; right: 0; top: calc(100% + 6px); z-index: 60; min-width: 240px; background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 12px 32px rgba(15,23,42,.14); padding: 6px; }
.pf-menu.open { display: block; }
.pf-menu button, .pf-menu a { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; box-sizing: border-box; padding: 9px 12px; border: 0; background: none; border-radius: 7px; font: inherit; font-size: var(--text-ui); font-weight: 500; color: var(--ink); cursor: pointer; text-decoration: none; }
.pf-menu button .ico, .pf-menu a .ico { width: 15px; height: 15px; flex: none; color: var(--ink-muted); }
.pf-menu-disabled, .pf-menu-disabled:hover { color: var(--ink-muted); cursor: not-allowed; opacity: .6; background: none; }
.pf-menu button:hover, .pf-menu a:hover { background: var(--page-bg, #F5F7F9); }
.pf-menu-h { padding: 8px 12px 4px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-muted); }
.pf-menu-sep { height: 1px; background: var(--border-faint, #EDF1F4); margin: 6px 4px; }
.pf-help-wrap { position: relative; }
.pf-help-pop { display: none; position: absolute; right: 0; top: calc(100% + 8px); z-index: 60; width: 280px; background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 12px 32px rgba(15,23,42,.14); padding: 12px 14px; font-size: 13px; line-height: 1.5; color: var(--ink-soft); }
.pf-help-pop.open { display: block; }
@media (max-width: 760px) { .pf-row { flex-direction: column; gap: 16px; } .pf-actions { margin-top: 0; flex-wrap: wrap; } .pf-title { font-size: 26px; } }
/* ---- Mobile pass (2026-09-25): nothing wider than the screen, real tap targets, readable text ---- */
@media (max-width: 640px) {
  html body .rec-hero-meta { flex: 1 1 100%; width: 100%; flex-direction: column; align-items: stretch; gap: 10px; }
  html body .rec-hero-stat, html body .rec-hero-stat:nth-child(2), html body .rec-tn-row .rec-tn-stat, html body .rec-tn-row .rec-tn-stat:nth-child(4) { width: 100% !important; }
  html body .rec-tn-row { flex-direction: column; align-items: stretch; gap: 8px; }
  html body .rep-card-head { flex-direction: column; align-items: stretch; gap: 12px; }
  html body .rep-filters { flex-wrap: wrap; width: 100%; }
  html body .rep-filters .rep-search, html body .rep-filters .rep-type-select { flex: 1 1 100%; width: 100%; min-height: 44px; }
  html body .rep-search input { min-height: 40px; }
  html body .pf-crumb a, html body .dx-details-link, html body .nb-tour-skip, html body .rep-link, html body .rep-dl-btn, html body .rec-row-menu-btn, html body .topbar-acct { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
  html body .pf-crumb a { justify-content: flex-start; min-width: 0; }
  html body .pf-actions .g2-btn, html body .pf-actions .btn { min-height: 44px; }
  html body .pf-dot { display: none; }
  html body .nb-plus-menu { position: fixed; left: 16px; right: 16px; width: auto; max-width: none; top: auto !important; bottom: calc(env(safe-area-inset-bottom, 0px) + 150px) !important; max-height: 60vh; overflow-y: auto; }
  html body .nb-plus-item { min-height: 44px; }
  html body .dx-filter-field label, html body .dx-hist-badge, html body .ev-sum-k, html body .nb-tour-n { font-size: 12px; }
  html body .bf-wrap .bf3-actions { width: 100%; margin-bottom: 4px; }
  html body .bf-wrap .bf3-sum { margin-top: 14px; }
  html body .bf-wrap .bf3-sum .bf2-oneline, html body .body p, html body .key, html body .sum-lead { text-align: left; hyphens: manual; }
  html body .bf-wrap .bf3-card-h { flex-wrap: wrap; }
  html body .bf-wrap .bf3-srcwrap { flex: 0 0 100%; }
  html body .bf-wrap .bf3-srcbtn { width: 100%; min-height: 44px; }
  html body .bf-wrap .bf3-tabs-r { flex-wrap: wrap; width: 100%; justify-content: space-between; }
  html body .bf-wrap .bf3-details { white-space: nowrap; min-height: 44px; }
  html body .bf-wrap .bf3-tabs { gap: 20px; overflow-x: auto; scrollbar-width: none; }
  html body .bf-wrap .bf3-tabs .bf-tab { min-height: 44px; white-space: nowrap; }
  html body .pf-meta { gap: 6px 16px; }
  html body .acct-switch-co, html body .nav-copyright, html body .acct-switch-avatar { font-size: 12px; }
  html body .dx-ov-stack, html body .dx-ov-grid > *, html body .market-page { min-width: 0; }
  html body .mkx-force-h { flex-wrap: wrap; row-gap: 8px; }
  html body .mkx-force-t { flex: 1 1 calc(100% - 90px); }
  html body .mkx-force-h .mk-tag { white-space: nowrap; }
  html body .mk-read-chips { flex-wrap: wrap; }
  html body .mkx-src-row { align-items: flex-start; }
  html body .nb-tour-n { font-size: 12px; }
  html body .hierarchy-node, html body .r-hier-rows .hierarchy-node { min-height: 44px; }
  html body .dx-drawer-x, html body .bf-drawer-x { min-width: 44px; min-height: 44px; }
  html body .nb-plus-btn, html body .nb-chat-attach, html body .vmic { min-width: 40px; min-height: 40px; }
}
@media (max-width: 900px) { html body .rep-link, html body .rep-dl-btn, html body .rec-row-menu-btn, html body .pf-crumb a, html body .dx-details-link, html body .nb-tour-skip, html body .topbar-acct, html body .nb-plus-btn, html body .nb-chat-attach, html body .vmic { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; } html body .pf-crumb a { justify-content: flex-start; min-width: 0; } html body .rep-search input, html body .rep-type-select { min-height: 44px; } }
@media (max-width: 900px) {
  html body .topbar-search { display: flex !important; flex: 0 0 auto; width: 44px; height: 44px; padding: 0; justify-content: center; margin-left: auto; background: none; border: 0; box-shadow: none; }
  html body .topbar-search > :not(svg) { display: none !important; }
  html body .topbar-bell { display: flex !important; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  html body .app-rail-bell.topbar-bell { min-width: 26px; min-height: 26px; }
  html body .topbar-right { margin-left: 0; gap: 2px; }
  html body .tb-notif-panel { position: fixed; left: 12px; right: 12px; top: 64px; width: auto; max-width: none; }
  html body .tb-notif-row { white-space: normal; flex-wrap: wrap; }
}
@media (max-width: 900px) { html body .nb-layout .nb-main-col, html body .nb-layout.rail-closed .nb-main-col { padding: 16px 0 24px; } }
@media (max-width: 640px) { html body .nb-layout .nb-main-col > .nb-chatbar { margin-left: 0; } html body .nb-chat-bubble { padding: 16px 18px; } html body:has(.nb-layout) .ask-fab { display: none; } }
@media (max-width: 900px) { html body:has(.nb-layout) .ask-fab { display: none; } }
@container (max-width: 480px) {
  .rep-card .rep-thead { display: none; }
  .rep-card .rep-trow { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 8px; min-height: 0; }
  .rep-card .rep-c-name { grid-column: 1 / -1; }
  .rep-card .rep-c-source, .rep-card .rep-c-by { display: none; }
  .rep-card .rep-c-act { grid-column: 1 / -1; justify-content: flex-start; }
}