.theme-teal{--form-accent:#0f766e;--form-wash:#e6f7f3}.theme-violet{--form-accent:#6d28d9;--form-wash:#f0eaff}.theme-blue{--form-accent:#1d4ed8;--form-wash:#eaf1ff}.theme-rose{--form-accent:#be185d;--form-wash:#fff0f5}.theme-amber{--form-accent:#92400e;--form-wash:#fff6df}.designer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:24px 0;align-items:start}.designer-intro{padding:24px;background:linear-gradient(115deg,#0f766e,#4338ca);color:#fff;border-radius:16px}.designer-intro span{font-size:11px;letter-spacing:2px}.designer-intro h2{margin:8px 0;color:#fff}.designer-intro p{margin:0;opacity:.85}.designer-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:16px}.designer-panel label{display:grid;gap:6px;margin-top:14px;font-size:13px;font-weight:500}.designer-panel input,.designer-panel textarea,.designer-panel select,.designed-field input,.designed-field textarea,.designed-field select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--surface);color:var(--ink);font:inherit}.designer-panel textarea,.designed-field textarea{min-height:80px;resize:vertical}.designer-panel input[type=checkbox],.designed-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--form-accent,#0f766e)}.designer-panel .designer-check{display:flex;align-items:center;gap:8px}.theme-picker{border:0;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}.theme-picker legend{font-size:13px;margin-bottom:10px}.theme-swatch{background:var(--form-wash);color:var(--form-accent);border:2px solid transparent;border-radius:20px;padding:6px 12px;text-transform:capitalize;cursor:pointer}.theme-swatch[aria-pressed=true]{border-color:var(--form-accent)}.question-editor{border-top:3px solid #a78bfa}.question-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.question-toolbar button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:5px 8px;margin:2px;cursor:pointer}.question-toolbar button:disabled{opacity:.35;cursor:default}.question-toolbar small{display:block;color:var(--ink-muted);font-size:12px;margin-top:4px}.designer-preview{position:sticky;top:20px;background:var(--surface-sunk);padding:20px;border-radius:16px;max-height:85vh;overflow:auto}.designed-form{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:0 8px 24px #1725540a}.designed-form header{border-top:6px solid var(--form-accent);background:var(--form-wash);padding:24px}.designed-form header span{text-transform:uppercase;letter-spacing:1px;font-size:11px;color:var(--form-accent);font-weight:700}.designed-form h2{margin:10px 0;overflow-wrap:anywhere}.designed-form header p{margin:0;color:var(--ink-secondary);white-space:pre-wrap}.designed-fields{padding:24px;display:grid;gap:24px}.designed-field label{display:block;font-weight:600;margin-bottom:8px;font-size:14px}.designed-field label span{color:var(--form-accent)}.designed-field small{display:block;margin-top:6px;color:var(--ink-muted)}.designed-field input:focus,.designed-field textarea:focus,.designed-field select:focus{outline:2px solid var(--form-accent);outline-offset:2px}.designer-actions{display:flex;justify-content:space-between;gap:12px;padding:18px 0}@media (max-width:1000px){.designer-layout{grid-template-columns:1fr}.designer-preview{position:static;max-height:none}}.lab-dashboard{display:grid;gap:20px;min-width:0}.lab-heading,.lab-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.lab-heading h1{margin:0 0 6px;font-size:24px;letter-spacing:-.5px}.lab-heading p,.lab-section-heading p{margin:4px 0 0;color:var(--ink-secondary);font-size:13px}.lab-actions{display:flex;gap:8px;flex-shrink:0}.lab-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.lab-filters label,.lab-search{display:grid;gap:5px;font-size:12px;color:var(--ink-secondary)}.lab-filters input,.lab-filters select,.lab-search input{padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--r);font:inherit;color:var(--ink);background:var(--surface);min-height:36px}.lab-filters span{font-size:12px;color:var(--ink-muted);padding-bottom:8px}.lab-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.lab-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lab-source{margin:0;color:var(--ink-muted);font-size:12px}.lab-notice{padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink-secondary);font-size:13px;line-height:1.6}.lab-notice strong{color:var(--ink)}.lab-error{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid var(--critical);background:var(--critical-wash);color:var(--critical-ink)}.lab-section-heading{margin-bottom:16px}.lab-section-heading h2{font-size:16px;margin:0}.lab-section-heading>span{font-size:12px;color:var(--ink-muted)}.lab-table-scroll{overflow-x:auto}.lab-table-scroll table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.lab-table-scroll th{background:var(--surface-sunk);font-weight:600;color:var(--ink-secondary)}.lab-table-scroll th,.lab-table-scroll td{padding:12px;border-bottom:1px solid var(--line)}.lab-reference{font-family:var(--mono);overflow-wrap:anywhere}.lab-empty{text-align:center;color:var(--ink-muted);padding:26px!important}.lab-status{padding:3px 8px;border-radius:var(--r-sm);background:var(--surface-sunk);font-size:12px}.lab-status--completed{background:var(--good-wash);color:var(--good-ink)}.lab-status--pending{background:var(--warn-wash);color:var(--warn-ink)}.lab-status--cancelled{background:var(--critical-wash);color:var(--critical-ink)}@media (max-width:1100px){.lab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.lab-heading,.lab-section-heading{align-items:stretch;flex-direction:column}.lab-charts{grid-template-columns:1fr}.lab-actions{flex-wrap:wrap}}@media (max-width:480px){.lab-stats{grid-template-columns:1fr}.lab-filters label,.lab-search input{width:100%}}.reporting-page{display:grid;gap:18px;color:var(--ink)}.reporting-page p{color:var(--ink-secondary);line-height:1.6}.reporting-page h2{font-size:18px;margin:0 0 8px}.reporting-page h3{font-size:15px;margin:12px 0}.reporting-filters,.reporting-run-selector{display:flex;align-items:end;flex-wrap:wrap;gap:16px}.reporting-page label,.reporting-dialog label{display:grid;gap:7px;font-size:13px;font-weight:500}.reporting-filters label{flex:1;min-width:170px}.reporting-page input:not([type=checkbox]),.reporting-page select,.reporting-page textarea,.reporting-dialog input:not([type=checkbox]),.reporting-dialog select,.reporting-dialog textarea{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:6px;padding:9px 11px;font:inherit;min-height:39px;max-width:100%}.reporting-page button:focus-visible,.reporting-page input:focus-visible,.reporting-page select:focus-visible,.reporting-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.reporting-page button:disabled{opacity:.5;cursor:not-allowed}.reporting-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);overflow-x:auto}.reporting-tabs button{padding:12px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-secondary);white-space:nowrap;cursor:pointer;font:inherit;font-size:13px}.reporting-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.reporting-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px;min-width:0}.reporting-section-title{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:16px}.reporting-section-title p{margin:4px 0}.reporting-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.reporting-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.07em}.reporting-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line);padding:18px 0;gap:16px}.reporting-facts dt{font-size:12px;color:var(--ink-muted);margin-bottom:6px}.reporting-facts dd{margin:0;font-size:14px;font-weight:600}.reporting-page small{display:block;font-size:11px;font-weight:400;color:var(--ink-muted);margin-top:4px}.reporting-badge{display:inline-block;background:var(--surface-sunk);color:var(--ink-secondary);border:1px solid var(--line);border-radius:4px;padding:3px 7px;margin:2px;font-size:11px;white-space:nowrap}.reporting-badge--approved,.reporting-badge--matched,.reporting-badge--succeeded,.reporting-badge--reconciled,.reporting-badge--clean,.reporting-badge--observed_zero{color:var(--good-ink);background:var(--good-wash)}.reporting-badge--blocked,.reporting-badge--error,.reporting-badge--conflicted,.reporting-badge--failed,.reporting-badge--rejected,.reporting-badge--unmapped_facility,.reporting-badge--removed{color:var(--critical-ink);background:var(--critical-wash)}.reporting-badge--pending,.reporting-badge--warnings,.reporting-badge--discrepant,.reporting-badge--unknown,.reporting-badge--missing_source_data{color:var(--warn-ink);background:var(--warn-wash)}.reporting-hash{display:block;overflow-wrap:anywhere;font-size:12px;margin:15px 0}.reporting-hash code{display:block;margin-top:6px;background:var(--surface-sunk);padding:12px;border-radius:4px}.reporting-table-wrap{overflow:auto;margin:16px 0}.reporting-page table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.reporting-page th{background:var(--surface-sunk);color:var(--ink-secondary);font-weight:500}.reporting-page td,.reporting-page th{border-bottom:1px solid var(--line);padding:11px 12px;vertical-align:top}.reporting-page tbody tr:hover{background:var(--surface-hover)}.reporting-page caption{text-align:left;padding:5px 0 12px;color:var(--ink-muted);font-size:12px}.reporting-number{font-variant-numeric:tabular-nums;text-align:right}.reporting-page td code{font-size:11px;overflow-wrap:anywhere}.reporting-alert,.reporting-notice{border:1px solid var(--line);border-left:3px solid var(--critical);background:var(--critical-wash);padding:12px 15px;border-radius:5px;font-size:13px;overflow-wrap:anywhere}.reporting-notice{border-left-color:var(--good);background:var(--good-wash)}.reporting-empty{padding:32px;text-align:center}.reporting-json{max-height:320px;overflow:auto;padding:16px;background:var(--surface-sunk);font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.reporting-page summary{padding-top:16px;cursor:pointer;color:var(--accent);font-size:12px}.reporting-attempt+.reporting-attempt{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.reporting-history{list-style:none;padding:0;margin:0}.reporting-history li{padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.reporting-history time{display:block;color:var(--ink-muted);margin-top:4px}.reporting-history p{margin-bottom:0;overflow-wrap:anywhere}.reporting-form,.reporting-form-grid form{display:grid;gap:14px}.reporting-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid var(--line);padding-top:14px}.reporting-page fieldset,.reporting-dialog fieldset{border:1px solid var(--line);border-radius:5px;padding:14px}.reporting-check{display:flex!important;align-items:start;gap:9px!important;margin:6px 0;font-weight:400!important;line-height:1.5}.reporting-check input{margin-top:3px;accent-color:var(--accent)}.reporting-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:10px;padding:24px;width:min(580px,92vw);max-height:85vh;overflow:auto}.reporting-dialog::backdrop{background:#0b0b0b6b}.reporting-dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.reporting-dialog h2{font-size:18px;margin:0}.reporting-dialog p{font-size:13px;line-height:1.6}.reporting-dialog textarea{min-height:85px}.reporting-secret{width:100%;min-height:90px;margin:12px 0}@media (max-width: 760px){.reporting-facts{grid-template-columns:1fr 1fr}.reporting-form-grid{grid-template-columns:1fr}.reporting-section-title{flex-direction:column}.reporting-panel{padding:16px}}/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--color-red-100:oklch(93.6% .032 17.717);--color-red-800:oklch(44.4% .177 26.899);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-800:oklch(47.3% .137 46.201);--color-green-100:oklch(96.2% .044 156.743);--color-green-800:oklch(44.8% .119 151.328);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.w-full{width:100%}.min-w-\[760px\]{min-width:760px}.cursor-pointer{cursor:pointer}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-slate-200{border-color:var(--color-slate-200)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-slate-100{background-color:var(--color-slate-100)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-amber-800{color:var(--color-amber-800)}.text-green-800{color:var(--color-green-800)}.text-red-800{color:var(--color-red-800)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--plane: #f7f7f5;--surface: #ffffff;--surface-sunk: #f4f4f1;--surface-hover:#faf9f7;--ink: #0b0b0b;--ink-secondary:#52514e;--ink-muted: #898781;--ink-inverse: #ffffff;--line: rgba(11, 11, 11, .1);--line-strong: rgba(11, 11, 11, .16);--grid: #e1e0d9;--accent: #2a78d6;--accent-hover: #256abf;--accent-wash: #eef4fd;--good: #0ca30c;--good-ink: #046804;--good-wash:#eefaee;--warn: #fab219;--warn-ink: #7a5300;--warn-wash:#fdf6e6;--critical: #d03b3b;--critical-ink: #a32222;--critical-wash:#fdeeee;--r: 4px;--r-sm: 3px;--r-lg: 6px;--lift: 0 1px 2px rgba(11,11,11,.06), 0 4px 12px rgba(11,11,11,.08);--lift-high: 0 8px 32px rgba(11,11,11,.16);--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Consolas, monospace;--sidebar-w: 232px;--navbar-h: 56px;--gutter: 28px}.offline-status{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--ink-muted);font-size:13px}.status-online,.status-offline{padding:3px 9px;border-radius:999px;font-weight:600}.status-online{background:#d1fae5;color:#065f46}.status-offline{background:#fef3c7;color:#92400e}.offline-message{margin:14px 0;padding:10px 14px;border-radius:7px;background:#eef2ff;color:#3730a3;font-size:13px}.offline-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:20px;margin-top:20px}.offline-form{display:grid;gap:14px;margin-top:16px}.offline-form label,.offline-entry>label{display:grid;gap:6px;color:var(--ink-secondary);font-size:13px;font-weight:600}.offline-form input,.offline-form select,.offline-form textarea,.offline-entry>label select,.records-head select,.login-form select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit}.offline-form textarea{min-height:76px;resize:vertical}.field-builder{display:grid;grid-template-columns:2fr 1fr auto auto;gap:8px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-sunk)}.field-builder .check{display:flex;grid-auto-flow:column;align-items:center;white-space:nowrap}.field-builder .check input{width:auto}.form-list-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.form-list-item small{display:block;margin-top:4px;color:var(--ink-muted)}.offline-entry{max-width:760px;margin-top:20px}.records-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.records-head h2{margin-bottom:3px}.records-head small{color:var(--ink-muted)}.records-filters{display:flex;gap:8px}.offline-records{display:grid;gap:12px;margin-top:16px}.offline-records article{padding:14px;border:1px solid var(--line);border-radius:8px}.offline-records small{display:block;margin:4px 0 10px;color:var(--ink-muted)}.offline-records dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:0}.offline-records dl div{background:var(--surface-sunk);padding:7px 9px;border-radius:5px}.offline-records dt{font-size:11px;color:var(--ink-muted)}.offline-records dd{margin:2px 0 0;font-size:13px}@media (max-width:800px){.offline-grid{grid-template-columns:1fr}.field-builder{grid-template-columns:1fr 1fr}.records-head{align-items:stretch;flex-direction:column}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);font-size:14px;background:var(--plane);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}table{border-collapse:collapse}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.app-shell{display:flex;min-height:100vh}.main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;overflow:hidden}.content{flex:1;overflow-y:auto;padding:var(--gutter) 32px 56px}.sidebar{width:var(--sidebar-w);flex-shrink:0;height:100vh;position:sticky;top:0;background:#14171c;border-right:1px solid #262b33;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar{width:0;height:0;display:none}.sidebar__brand{display:flex;align-items:center;gap:9px;height:var(--navbar-h);padding:0 18px;flex-shrink:0;border-bottom:1px solid #262b33}.sidebar__brand-mark{width:22px;height:22px;border-radius:var(--r-sm);background:#f3f4f6;color:#14171c;font-size:11px;font-weight:700;letter-spacing:-.02em;display:grid;place-items:center;flex-shrink:0}.sidebar__brand-name{font-size:13.5px;font-weight:600;letter-spacing:-.012em;color:#f3f4f6;white-space:nowrap}.sidebar__brand-dot{width:22px;height:22px;border-radius:var(--r-sm);flex-shrink:0}.sidebar__account{padding:14px 18px;border-bottom:1px solid #262b33}.sidebar__account-name{font-size:13px;font-weight:600;color:#f3f4f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__account-role{font-size:12px;color:#9ca3af;margin-top:1px}.sidebar__role-badge{padding:0 18px 12px;font-size:12px;color:var(--ink-muted);background:none!important;color:var(--ink-muted)!important}.sidebar__nav{display:flex;flex-direction:column;padding:10px 10px 24px;gap:1px}.sidebar__group{display:flex;flex-direction:column}.sidebar__section{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;font-size:11px;font-weight:600;color:#9ca3af;letter-spacing:.02em;padding:13px 8px 5px;border-radius:var(--r);transition:color .12s}.sidebar__group:first-child .sidebar__section{padding-top:4px}.sidebar__section:hover{color:#f3f4f6}.sidebar__section:hover .sidebar__chevron{opacity:1}.sidebar__chevron{width:12px;height:12px;flex-shrink:0;opacity:.55;transition:transform .15s ease,opacity .12s}.sidebar__section[aria-expanded=false] .sidebar__chevron{transform:rotate(-90deg)}.sidebar__group-links{display:flex;flex-direction:column;gap:1px}.sidebar__group-links--collapsed{display:none}.sidebar__link{display:block;padding:7px 8px;border-radius:var(--r);font-size:13px;color:#d1d5db;border-left:0!important;transition:background .12s,color .12s}.sidebar__link:hover{background:#3a3f47;color:#fff}.sidebar__link--active{background:#2b3038!important;color:#fff!important;font-weight:600}.navbar{height:var(--navbar-h);flex-shrink:0;position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px}.navbar__title{font-size:14px;font-weight:600;letter-spacing:-.011em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar__right{display:flex;align-items:center;gap:14px}.navbar__username{font-size:13px;color:var(--ink-secondary)}.navbar__divider{width:1px;height:18px;background:var(--line)}.navbar__logout-btn{padding:5px 11px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);font-size:12.5px;color:var(--ink-secondary);transition:background .12s,border-color .12s,color .12s}.navbar__logout-btn:hover{background:var(--surface-sunk);border-color:var(--line-strong);color:var(--ink)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}.page-header__title{font-size:20px;font-weight:600;letter-spacing:-.018em;color:var(--ink)}.page-header__sub{font-size:13px;color:var(--ink-muted);margin-top:3px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.section-title{font-size:14px;font-weight:600;letter-spacing:-.011em;color:var(--ink)}.section-subtitle{font-size:13px;color:var(--ink-muted)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;margin-bottom:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.stats-row>.stat-card{border:0;border-radius:0;box-shadow:1px 0 0 var(--line),0 1px 0 var(--line)}.stats-row--centered{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));justify-content:initial}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.dashboard-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.dashboard-split__left,.dashboard-split__right{display:flex;flex-direction:column;gap:16px;min-width:0}.dashboard-split__left>.chart-card,.dashboard-split__right>.chart-card{flex:1}.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;align-items:start}@media (max-width: 1000px){.dashboard-split,.dashboard-bottom{grid-template-columns:1fr}}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 16px 16px;display:flex;flex-direction:column;gap:0;min-width:0}.stat-card__indicator{display:none}.stat-card__body{min-width:0}.stat-card__title{font-size:12.5px;font-weight:500;color:var(--ink-muted);letter-spacing:0;text-transform:none;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card__value{font-size:26px;font-weight:600;letter-spacing:-.022em;line-height:1.1;color:var(--ink);font-variant-numeric:proportional-nums}.stat-card__subtitle{font-size:12.5px;color:var(--ink-muted);margin-top:6px;line-height:1.4}.stat-card__delta{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;margin-top:6px;font-variant-numeric:tabular-nums}.stat-card__delta--up{color:var(--good-ink)}.stat-card__delta--down{color:var(--critical-ink)}.stat-card__delta--flat{color:var(--ink-muted)}.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 12px;min-width:0}.chart-card--wide{grid-column:1 / -1}.chart-title{font-size:13px;font-weight:600;letter-spacing:-.006em;color:var(--ink);margin-bottom:14px}.chart-subtitle{font-size:12.5px;color:var(--ink-muted);margin:-10px 0 14px}.recharts-cartesian-axis-tick text{fill:var(--ink-muted);font-size:11.5px}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--line)}.recharts-legend-item-text{color:var(--ink-secondary)!important;font-size:12.5px}.recharts-surface:focus{outline:none}.chart-tooltip{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:var(--lift);padding:9px 11px;min-width:120px}.chart-tooltip__label{font-size:12px;color:var(--ink-muted);margin-bottom:5px}.chart-tooltip__row{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-secondary)}.chart-tooltip__row+.chart-tooltip__row{margin-top:3px}.chart-tooltip__swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.chart-tooltip__name{flex:1}.chart-tooltip__value{font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.chart-legend{display:flex;flex-wrap:wrap;gap:5px 16px;margin-bottom:12px}.chart-legend--footer{margin:12px 0 0;justify-content:center}.chart-legend__item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-secondary)}.chart-legend__swatch{width:9px;height:9px;border-radius:2px;flex-shrink:0}.treemap-legend{display:flex;flex-wrap:wrap;gap:5px 16px;margin-bottom:12px}.treemap-legend__item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-secondary);font-weight:400}.treemap-legend__dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:var(--r);border:1px solid transparent;font-size:13px;font-weight:500;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.btn--primary{background:var(--ink);color:var(--ink-inverse);border-color:var(--ink)}.btn--primary:hover:not(:disabled){background:#262625;border-color:#262625}.btn--danger{background:var(--critical);color:#fff;border-color:var(--critical)}.btn--danger:hover:not(:disabled){background:var(--critical-ink);border-color:var(--critical-ink)}.btn--ghost{background:var(--surface);color:var(--ink-secondary);border-color:var(--line)}.btn--ghost:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--line-strong);color:var(--ink)}.btn--sm{padding:5px 11px;font-size:12.5px}.btn--xs{padding:3px 8px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12.5px;font-weight:500;color:var(--ink-secondary)}.form-group input,.form-select,.role-select,.log-filters__select,.log-filters__input,.setting-card__input,.report-date-input,.month-filter input[type=month],.month-filter__select{padding:7px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-size:13px;color:var(--ink);outline:none;transition:border-color .12s,box-shadow .12s}.form-group input::placeholder,.log-filters__input::placeholder{color:var(--ink-muted)}.form-group input:focus,.form-select:focus,.role-select:focus,.log-filters__select:focus,.log-filters__input:focus,.setting-card__input:focus,.report-date-input:focus,.month-filter input[type=month]:focus,.month-filter__select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.form-select{width:100%}.form-group input:disabled,.setting-card__input:disabled{background:var(--surface-sunk);color:var(--ink-muted);cursor:not-allowed}.role-select,.btn--xs{border-radius:var(--r-sm)}.slicer-bar,.report-filter-bar{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin-bottom:20px}.report-filter-bar{margin-bottom:16px}.slicer-bar__label,.filter-group{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--ink-secondary);text-transform:none;letter-spacing:0}.slicer-bar__period{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.month-filter{display:flex;align-items:center;gap:8px}.month-filter label{font-size:12.5px;font-weight:500;color:var(--ink-secondary)}.filter-presets{display:flex;gap:0}.btn-preset{padding:5px 11px;font-size:12.5px;font-weight:500;color:var(--ink-secondary);background:var(--surface);border:1px solid var(--line);transition:background .12s,color .12s}.filter-presets .btn-preset:first-child{border-radius:var(--r) 0 0 var(--r)}.filter-presets .btn-preset:last-child{border-radius:0 var(--r) var(--r) 0}.filter-presets .btn-preset+.btn-preset{border-left:0}.btn-preset:hover{background:var(--surface-sunk);color:var(--ink)}.btn-filter-apply{padding:6px 13px;font-size:12.5px;font-weight:500;color:var(--ink-inverse);background:var(--ink);border:1px solid var(--ink);border-radius:var(--r);transition:background .12s}.btn-filter-apply:hover{background:#262625}.submodule-tabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:0}.submodule-tab-btn{padding:8px 12px;font-size:13px;font-weight:500;color:var(--ink-muted);background:none;border:0;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;transition:color .12s,border-color .12s}.submodule-tab-btn:hover{color:var(--ink);background:none}.submodule-tab-btn.active{color:var(--ink);font-weight:600;background:none;border-bottom-color:var(--ink);box-shadow:none}.table-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:visible}.data-table{width:100%;font-size:13px}.data-table th{padding:9px 14px;text-align:left;font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink-muted);background:var(--surface-sunk);border-bottom:1px solid var(--line);white-space:nowrap}.data-table th:first-child{border-top-left-radius:var(--r)}.data-table th:last-child{border-top-right-radius:var(--r)}.data-table td{padding:10px 14px;border-bottom:1px solid var(--line);color:var(--ink-secondary);vertical-align:middle;font-variant-numeric:tabular-nums}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-hover)}.td--bold{font-weight:600;color:var(--ink)}.table-actions{display:flex;gap:6px}.loading-text{color:var(--ink-muted);font-size:13px;padding:22px 0}.role-badge,.status-badge,.log-badge{display:inline-block;padding:2px 7px;border-radius:var(--r-sm);font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;white-space:nowrap;line-height:1.5}.log-badge{font-weight:600}.status-badge--active{background:var(--good-wash);color:var(--good-ink)}.status-badge--inactive{background:var(--surface-sunk);color:var(--ink-muted)}.user-chip,.vendor-chip{display:inline-flex;align-items:center;padding:3px 9px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r-sm);font-size:12.5px;font-weight:400;color:var(--ink-secondary);white-space:nowrap}.user-chip--more{color:var(--ink-muted)}.vendor-chip:hover{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.vendor-section{margin-top:24px}.vendor-grid{display:flex;flex-wrap:wrap;gap:6px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.alert,.metrics-error,.login-error,.report-error-msg{padding:9px 12px;border-radius:var(--r);font-size:13px;margin-bottom:14px;border:1px solid transparent}.alert--error,.metrics-error,.login-error,.report-error-msg{background:var(--critical-wash);border-color:#d03b3b38;color:var(--critical-ink)}.alert--success{background:var(--good-wash);border-color:#0ca30c38;color:var(--good-ink)}.toast{position:fixed;bottom:22px;right:22px;z-index:1000;padding:10px 15px;border-radius:var(--r);font-size:13px;font-weight:500;box-shadow:var(--lift);animation:slideUp .18s ease}.toast--success{background:var(--ink);color:var(--ink-inverse)}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.row-menu{position:relative;display:inline-block}.row-menu__trigger{font-size:15px;line-height:1;color:var(--ink-muted);padding:3px 7px;border-radius:var(--r-sm)}.row-menu__trigger:hover{background:var(--surface-sunk);color:var(--ink)}.row-menu__dropdown{position:absolute;right:0;top:calc(100% + 4px);min-width:140px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:var(--lift);padding:4px;z-index:100}.row-menu__item{display:block;width:100%;text-align:left;padding:6px 9px;border-radius:var(--r-sm);font-size:13px;color:var(--ink-secondary)}.row-menu__item:hover{background:var(--surface-sunk);color:var(--ink)}.row-menu__item--danger{color:var(--critical-ink)}.row-menu__item--danger:hover{background:var(--critical-wash)}.role-edit{display:flex;align-items:center;gap:6px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0b0b0b6b;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .12s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--lift-high);padding:22px;animation:scaleIn .12s ease}.modal--sm{max-width:380px}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.modal__header h3{font-size:15px;font-weight:600;letter-spacing:-.011em;color:var(--ink)}.modal__close{font-size:13px;color:var(--ink-muted);padding:4px 6px;border-radius:var(--r-sm);line-height:1}.modal__close:hover{background:var(--surface-sunk);color:var(--ink)}.modal__form{display:flex;flex-direction:column;gap:13px}.modal__footer{display:flex;gap:8px;justify-content:flex-end;padding-top:6px}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.role-card,.role-card2,.setting-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);box-shadow:none;transition:border-color .12s}.role-card:hover,.role-card2:hover{border-color:var(--line-strong);box-shadow:none}.role-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.role-card__icon{display:none}.role-card__name{font-size:14px;font-weight:600;letter-spacing:-.008em;color:var(--ink)}.role-card__count{font-size:12.5px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.role-card__desc{font-size:12.5px;color:var(--ink-secondary);line-height:1.55}.role-card__users{display:flex;flex-wrap:wrap;gap:5px}.role-card__empty{font-size:12.5px;color:var(--ink-muted)}.role-card__btn{width:100%;margin-top:auto}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.setting-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.setting-card__key{font-family:var(--mono);font-size:12px;background:var(--surface-sunk);border:1px solid var(--line);color:var(--ink-secondary);padding:2px 6px;border-radius:var(--r-sm);word-break:break-all}.setting-card__saved{font-size:12.5px;font-weight:600;color:var(--good-ink)}.setting-card__desc{font-size:12.5px;color:var(--ink-secondary);line-height:1.55}.setting-card__body{display:flex;align-items:center;gap:8px}.setting-card__input{flex:1}.setting-card__error{font-size:12.5px;color:var(--critical-ink)}.setting-card__meta{font-size:12px;color:var(--ink-muted)}.log-filters{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.log-filters__select{min-width:130px;cursor:pointer}.log-filters__search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px}.log-filters__input{flex:1}.log-cell--time{white-space:nowrap;font-size:12.5px;color:var(--ink-muted)}.log-cell--source{font-weight:500;font-size:12.5px;color:var(--ink-secondary);white-space:nowrap}.log-cell--message{word-break:break-word;max-width:520px;font-variant-numeric:normal}.log-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px}.log-pagination__info{font-size:12.5px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.report-controls-panel,.report-print-container{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:none}.report-controls-panel{padding:16px;margin-bottom:20px}.report-print-container{padding:22px}.report-export-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}.btn-export{padding:7px 14px;font-size:13px;font-weight:500;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--ink-secondary);display:inline-flex;align-items:center;gap:6px;transition:background .12s,border-color .12s,color .12s}.btn-export:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--line-strong);color:var(--ink)}.btn-export:disabled{opacity:.5;cursor:not-allowed}.btn-excel,.btn-csv,.btn-pdf{background:var(--surface);color:var(--ink-secondary)}.btn-excel:hover:not(:disabled),.btn-csv:hover:not(:disabled),.btn-pdf:hover:not(:disabled){background:var(--surface-sunk);color:var(--ink)}.report-printable-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}.report-printable-header .brand-title h2{font-size:18px;font-weight:600;letter-spacing:-.016em;color:var(--ink)}.report-printable-header .report-subtitle{font-size:13px;color:var(--ink-muted);margin-top:3px}.report-meta{text-align:right;font-size:12.5px;color:var(--ink-muted);line-height:1.6;font-variant-numeric:tabular-nums}.report-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;margin-bottom:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.report-kpi-grid>.stat-card{border:0;border-radius:0;box-shadow:1px 0 0 var(--line),0 1px 0 var(--line)}.report-table-card{margin-top:18px}.report-table-header-info{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.report-table-header-info h3{font-size:14px;font-weight:600;letter-spacing:-.008em;color:var(--ink)}.report-hint{font-size:12.5px;color:var(--ink-muted);font-style:normal}.report-table-responsive{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}.report-table{width:100%;font-size:12.5px}.report-table th{background:var(--surface-sunk);color:var(--ink-muted);padding:9px 12px;font-weight:600;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}.report-table td{padding:9px 12px;border-bottom:1px solid var(--line);color:var(--ink-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.report-table tbody tr:nth-child(2n){background:transparent}.report-table tbody tr:hover{background:var(--surface-hover)}.report-table tbody tr:last-child td{border-bottom:none}.report-loading-state{text-align:center;padding:36px;color:var(--ink-muted);font-size:13px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--surface)}.login-page:before{content:none}.login-aside{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:44px;background:var(--ink);background-image:url(/login-bg.png);background-size:cover;background-position:center;color:var(--ink-inverse);overflow:hidden}.login-aside:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0b0b0bb8,#0b0b0be0)}.login-aside>*{position:relative;z-index:1}.login-aside__brand{display:flex;align-items:center;gap:9px}.login-aside__mark{width:24px;height:24px;border-radius:var(--r-sm);background:var(--ink-inverse);color:var(--ink);font-size:11px;font-weight:700;display:grid;place-items:center}.login-aside__name{font-size:14px;font-weight:600;letter-spacing:-.012em}.login-aside__lede{font-size:26px;font-weight:500;letter-spacing:-.021em;line-height:1.32;max-width:19ch}.login-aside__foot{font-size:12.5px;color:#fff9}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px 32px}.login-card{position:static;width:100%;max-width:340px;background:none;border:0;border-radius:0;box-shadow:none;padding:0}.login-card__header{text-align:left;margin-bottom:26px}.login-card__header h1{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.login-card__header p{font-size:13px;color:var(--ink-muted);margin-top:5px}.login-form{display:flex;flex-direction:column;gap:14px}.login-form .form-group input{padding:9px 11px}.login-btn{margin-top:6px;padding:10px;background:var(--ink);color:var(--ink-inverse);border:1px solid var(--ink);border-radius:var(--r);font-size:13.5px;font-weight:500;transition:background .12s}.login-btn:hover:not(:disabled){background:#262625}.login-btn:disabled{opacity:.55;cursor:not-allowed}.login-foot{font-size:12.5px;color:var(--ink-muted);margin-top:20px}@media (max-width: 860px){.login-page{grid-template-columns:1fr}.login-aside{display:none}}@media (max-width: 860px){:root{--gutter: 16px}.app-shell{flex-direction:column;min-height:100vh}.main{height:auto;overflow:visible}.content{padding:16px 16px 48px;overflow:visible}.navbar{padding:0 16px}.sidebar{width:100%;height:auto;position:static;overflow:visible;border-right:0;border-bottom:1px solid #262b33}.sidebar__brand{border-bottom:0}.sidebar__account,.sidebar__role-badge,.sidebar__section{display:none}.sidebar__nav{flex-direction:row;gap:2px;padding:0 12px 10px;overflow-x:auto;scrollbar-width:none}.sidebar__nav::-webkit-scrollbar{display:none}.sidebar__group{flex-direction:row;flex-shrink:0}.sidebar__group-links,.sidebar__group-links--collapsed{display:flex;flex-direction:row;gap:2px}.sidebar__link{white-space:nowrap;padding:7px 10px}.charts-row,.settings-grid,.roles-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.page-header,.section-header{align-items:flex-start}.report-printable-header{flex-direction:column;gap:10px}.report-meta{text-align:left}}@media (max-width: 520px){.stats-row{grid-template-columns:1fr 1fr}.navbar__username{display:none}}@media print{:root{--plane: #fff;--surface: #fff}body{background:#fff!important;color:#000!important}.sidebar,.navbar,.no-print,nav,header{display:none!important}.main,.content,.app-shell{margin:0!important;padding:0!important;height:auto!important;overflow:visible!important;display:block!important}.report-print-container{border:0!important;padding:0!important;margin:0!important}.report-table-responsive{overflow:visible!important;border:1px solid #ccc!important}.report-table th{background:#f0f0ee!important;color:#000!important;border:1px solid #ccc!important}.report-table td{border:1px solid #e0e0dd!important;color:#000!important}.stat-card,.chart-card,.table-card{border:1px solid #ccc!important;box-shadow:none!important;break-inside:avoid}}.donut{position:relative}.donut__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;pointer-events:none}.donut__total{font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.1}.donut__label{font-size:12px;color:var(--ink-muted)}.settings-sections{display:flex;flex-direction:column;gap:18px}.settings-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.settings-panel__head{padding:13px 18px;background:var(--surface-sunk);border-bottom:1px solid var(--line)}.settings-panel__title{font-size:13px;font-weight:600;letter-spacing:-.006em;color:var(--ink)}.settings-panel__desc{font-size:12.5px;color:var(--ink-muted);margin-top:2px}.settings-panel__body{padding:0 18px}.settings-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:12px 28px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}.settings-row:last-child{border-bottom:none}.settings-row__label{font-size:13px;font-weight:500;color:var(--ink)}.settings-row__desc{font-size:12.5px;color:var(--ink-muted);line-height:1.5;margin-top:3px}.settings-row__stamp{font-size:12px;color:var(--ink-muted);opacity:.75;margin-top:6px}.settings-row__input{width:100%;padding:7px 10px;font-size:13px;font-family:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);outline:none;resize:vertical;transition:border-color .12s,box-shadow .12s}.settings-row__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.settings-row__input:disabled{background:var(--surface-sunk);color:var(--ink-muted)}.settings-row__actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}@media (max-width: 720px){.settings-row{grid-template-columns:1fr}}.role-badge{background:var(--surface-sunk);color:var(--ink-secondary)}.gauge{display:flex;flex-direction:column}.gauge__plot{position:relative}.gauge__readout{position:absolute;left:0;right:0;bottom:6px;display:flex;flex-direction:column;align-items:center;gap:1px;pointer-events:none}.gauge__value{font-size:26px;font-weight:600;letter-spacing:-.022em;color:var(--ink);line-height:1.1}.gauge__label{font-size:12px;color:var(--ink-muted)}.btn--primary:disabled,.btn-filter-apply:disabled{opacity:1;background:var(--surface-sunk);border-color:var(--line);color:var(--ink-muted)}.ratio-donut{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center}.ratio-donut__ring{width:132px;height:132px;border-radius:50%;position:relative}.ratio-donut__hole{position:absolute;top:23px;right:23px;bottom:23px;left:23px;border-radius:50%;background:var(--surface);display:grid;place-items:center;text-align:center;gap:1px}.ratio-donut__value{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.1}.ratio-donut__label{font-size:11.5px;color:var(--ink-muted);line-height:1.2;max-width:74px}.ratio-donut__legend{display:grid;gap:8px;min-width:0}.ratio-donut__row{display:flex;align-items:center;gap:8px;font-size:12.5px;min-width:0}.ratio-donut__name{color:var(--ink-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ratio-donut__pct{margin-left:auto;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}@media (max-width: 1200px){.ratio-donut{grid-template-columns:1fr;justify-items:center}}.settings-row__meta,.settings-row__control{min-width:0}.chart-row--full{margin-top:16px}.view-switcher-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.view-switcher{display:inline-flex;padding:2px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r)}.view-switcher__option{padding:6px 14px;font-size:13px;font-weight:500;color:var(--ink-secondary);border-radius:var(--r-sm);white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s}.view-switcher__option:hover{color:var(--ink)}.view-switcher__option--active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0b0b0b14}.kpi-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 16px;margin-bottom:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.kpi-toolbar__filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;flex:1;min-width:0}.kpi-toolbar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kpi-toolbar .filter-group{flex-direction:column;align-items:flex-start;gap:5px}.kpi-toolbar .filter-group label{font-size:11.5px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-muted)}.filter-group--grow{flex:1;min-width:180px}.filter-group--grow input{width:100%}.kpi-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;font-size:12px;font-weight:500;white-space:nowrap;border-radius:999px}.kpi-badge__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:currentColor}.kpi-badge__count{font-variant-numeric:tabular-nums;opacity:.75}.kpi-badge--ontarget{background:var(--good-wash);color:var(--good-ink)}.kpi-badge--atrisk{background:var(--warn-wash);color:var(--warn-ink)}.kpi-badge--offtarget{background:var(--critical-wash);color:var(--critical-ink)}.kpi-badge--nodata{background:var(--surface-sunk);color:var(--ink-muted)}.kpi-status-legend{display:grid;gap:6px;margin:12px 0 4px}.kpi-status-legend__row{display:flex;align-items:center;gap:8px;font-size:12.5px;min-width:0}.kpi-status-legend__swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.kpi-status-legend__label{color:var(--ink-secondary)}.kpi-status-legend__value{margin-left:auto;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.kpi-status-legend__share{font-weight:400;color:var(--ink-muted)}.chart-subtitle--foot{margin:10px 0 0;text-align:center}.kpi-severity{display:inline-block;padding:2px 8px;font-size:11.5px;font-weight:600;border-radius:var(--r-sm)}.kpi-severity--critical,.kpi-severity--high{background:var(--critical-wash);color:var(--critical-ink)}.kpi-severity--medium{background:var(--warn-wash);color:var(--warn-ink)}.kpi-severity--low{background:var(--surface-sunk);color:var(--ink-secondary)}.kpi-chip{display:inline-block;margin-left:6px;padding:1px 7px;font-size:11.5px;font-weight:500;border-radius:var(--r-sm);background:var(--surface-sunk);color:var(--ink-secondary)}.kpi-chip--ontrack,.kpi-chip--delivered{background:var(--good-wash);color:var(--good-ink)}.kpi-chip--atrisk,.kpi-chip--inprogress{background:var(--warn-wash);color:var(--warn-ink)}.kpi-chip--offtrack,.kpi-chip--overdue{background:var(--critical-wash);color:var(--critical-ink)}.kpi-chip--crossfn{background:var(--accent-wash);color:var(--accent-hover)}.kpi-table-scroll{overflow-x:auto}.kpi-table{min-width:1180px}.kpi-table__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi-table__text{max-width:220px;font-size:12.5px;color:var(--ink-secondary);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}td.kpi-table__text{display:table-cell}.kpi-table__unit{display:block;font-size:11.5px;font-weight:400;color:var(--ink-muted)}.kpi-table__sort{display:inline-flex;align-items:center;gap:5px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}.kpi-table__sort:hover,.kpi-table__sort--active{color:var(--ink)}.kpi-table__caret{font-size:9px;opacity:.55}.kpi-table__sort--active .kpi-table__caret{opacity:1}.kpi-table__row--clickable{cursor:pointer}.kpi-table__drill{font:inherit;color:var(--accent);text-align:left}.kpi-table__drill:hover{color:var(--accent-hover);text-decoration:underline}.kpi-table__foot{padding:10px 14px 0;font-size:12.5px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.kpi-department-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:24px}.kpi-department-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:border-color .12s,background .12s}.kpi-department-card:hover{border-color:var(--line-strong);background:var(--surface-hover)}.kpi-department-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.kpi-department-card__name{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:-.006em}.kpi-department-card__value{font-size:24px;font-weight:600;letter-spacing:-.022em;color:var(--ink);line-height:1.1;font-variant-numeric:tabular-nums}.kpi-department-card__counts{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--ink-secondary)}.kpi-department-card__foot{font-size:11.5px;color:var(--ink-muted)}.kpi-header-status{display:flex;align-items:center;gap:10px}.kpi-header-status__value{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.kpi-breadcrumb{display:inline-block;margin-bottom:12px;font-size:12.5px;color:var(--ink-secondary)}.kpi-breadcrumb:hover{color:var(--ink)}.kpi-workflow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;margin-bottom:18px;background:var(--accent-wash);border:1px solid var(--line);border-radius:var(--r)}.kpi-workflow__label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-hover)}.kpi-workflow__detail{font-size:13px;color:var(--ink-secondary)}.kpi-workflow__actions{display:flex;gap:8px;flex-wrap:wrap}.kpi-progress{display:inline-block;width:72px;height:5px;vertical-align:middle;background:var(--surface-sunk);border-radius:999px;overflow:hidden}.kpi-progress__fill{height:100%;background:var(--accent);border-radius:999px}.kpi-progress__value{margin-left:8px;font-size:12px;color:var(--ink-secondary);font-variant-numeric:tabular-nums}.kpi-subrow{background:var(--surface-hover)}.kpi-subrow__name{padding-left:24px!important;font-size:12.5px;color:var(--ink-secondary)}.kpi-detail{max-width:760px}.kpi-detail__breadcrumb{margin-top:3px;font-size:12.5px;color:var(--ink-muted)}.kpi-detail__description{font-size:13px;color:var(--ink-secondary);line-height:1.55;margin-bottom:14px}.kpi-detail__figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;padding:14px;background:var(--surface-sunk);border-radius:var(--r)}.kpi-detail__figure{display:flex;flex-direction:column;gap:4px;min-width:0}.kpi-detail__figure-label{font-size:11.5px;color:var(--ink-muted)}.kpi-detail__figure-value{font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.012em;font-variant-numeric:tabular-nums}.kpi-detail__meta{margin:10px 0 14px;font-size:12.5px;color:var(--ink-muted)}.kpi-detail__timeframes{display:flex;margin-bottom:14px}.kpi-detail__timeframes .btn-preset:first-child{border-radius:var(--r) 0 0 var(--r)}.kpi-detail__timeframes .btn-preset:last-child{border-radius:0 var(--r) var(--r) 0}.kpi-detail__timeframes .btn-preset+.btn-preset{border-left:0}.btn-preset--active{background:var(--ink);color:var(--ink-inverse);border-color:var(--ink)}.btn-preset--active:hover{background:#262625;color:var(--ink-inverse)}.kpi-detail__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}.kpi-detail__action-title{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px}.kpi-detail__action-body{font-size:13px;color:var(--ink-secondary);line-height:1.55}.kpi-detail__action-body--empty{color:var(--ink-muted)}.kpi-entry{max-width:1100px}.kpi-entry__scroll{overflow:auto;max-height:52vh;border:1px solid var(--line);border-radius:var(--r)}.kpi-entry__table{min-width:940px;font-size:12.5px}.kpi-entry__table thead th{position:sticky;top:0;z-index:1}.kpi-entry__input{width:100%;padding:5px 8px;font-size:12.5px;font-family:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);outline:none;resize:vertical;transition:border-color .12s,box-shadow .12s}.kpi-entry__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.kpi-entry__input:disabled{background:var(--surface-sunk);color:var(--ink-muted);cursor:not-allowed}.kpi-entry__input--num{text-align:right;font-variant-numeric:tabular-nums;min-width:92px}.kpi-entry__error{display:block;margin-top:4px;font-size:11.5px;font-weight:500;color:var(--critical-ink)}.kpi-entry__notes{margin-top:14px}.kpi-entry__count{margin-right:auto;font-size:12.5px;color:var(--ink-muted)}@media (max-width: 1000px){.kpi-toolbar{align-items:stretch}.kpi-toolbar__actions{justify-content:flex-start}}@media (max-width: 860px){.kpi-department-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}.view-switcher{width:100%}.view-switcher__option{flex:1;text-align:center}}.kpi-table__rule{display:block;max-width:190px;margin-left:auto;font-size:11px;font-weight:400;font-style:italic;line-height:1.35;color:var(--ink-muted);text-align:right;white-space:normal}.kpi-table__source{display:block;font-size:11px;font-weight:400;color:var(--ink-muted);cursor:help}.kpi-coverage{margin:-8px 0 16px;font-size:12.5px;color:var(--ink-muted)}.scorecard{transition:opacity .15s}.scorecard--loading{opacity:.6}.scorecard-toolbar{flex-direction:column;align-items:stretch;gap:14px}.scorecard-toolbar__row{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}.scorecard-nav{display:flex;align-items:center;gap:10px;margin-right:auto}.scorecard-nav .btn{min-width:32px;font-size:15px;line-height:1}.scorecard-nav__label{display:flex;flex-direction:column;min-width:190px}.scorecard-nav__title{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.scorecard-nav__range{font-size:12px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.scorecard-label{font-size:11.5px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-muted)}.scorecard-weekchips .btn-preset{padding:6px 11px}.scorecard-range{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.scorecard-range .filter-group{flex-direction:column;align-items:flex-start;gap:5px}.scorecard-range .filter-group label{font-size:11.5px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-muted)}.scorecard-sources{margin-bottom:18px}.scorecard-sources__notice{padding:9px 12px;margin-bottom:10px;font-size:12.5px;color:var(--ink-secondary);background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r)}.scorecard-sources__notice--running{background:var(--accent-wash);color:var(--accent-hover)}.scorecard-sources__list{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0;margin:0}.scorecard-sources__item{display:inline-flex;align-items:center;gap:6px;font-size:12px}.scorecard-sources__dot{width:7px;height:7px;border-radius:50%;background:var(--ink-muted)}.scorecard-sources__item--fresh .scorecard-sources__dot{background:var(--good)}.scorecard-sources__item--stale .scorecard-sources__dot{background:var(--warn)}.scorecard-sources__item--empty .scorecard-sources__dot,.scorecard-sources__item--error .scorecard-sources__dot{background:var(--critical)}.scorecard-sources__name{color:var(--ink-secondary);font-weight:500}.scorecard-sources__when{color:var(--ink-muted)}.scorecard-tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.scorecard-tile__value-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.scorecard-tile__value-row .stat-card__value{min-width:0}.scorecard-tile__foot{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:10px}.scorecard-tile__vs{font-size:11.5px;color:var(--ink-muted)}.scorecard-tile__note{margin-top:8px;font-size:12px;line-height:1.45;color:var(--ink-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.scorecard-health{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:12px 16px;margin-bottom:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.scorecard-health__score{display:flex;align-items:center;gap:10px}.scorecard-health__label{font-size:12.5px;font-weight:500;color:var(--ink-muted)}.scorecard-health__value{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.scorecard-health__counts{display:flex;flex-wrap:wrap;gap:6px}.scorecard-health__coverage{margin-left:auto;font-size:12.5px;color:var(--ink-muted)}.scorecard-tabs{margin-bottom:16px}.scorecard-tab{display:inline-flex;align-items:center;gap:6px}.scorecard-tab__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.scorecard-expand{display:flex;gap:6px}.scorecard-dept{margin-bottom:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.scorecard-dept__head{display:grid;grid-template-columns:16px minmax(180px,1.4fr) minmax(180px,1fr) auto auto;align-items:center;gap:12px;width:100%;padding:12px 16px;text-align:left;border-radius:var(--r);transition:background .12s}.scorecard-dept__head:hover{background:var(--surface-hover)}.scorecard-dept__head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.scorecard-dept--open .scorecard-dept__head{border-bottom:1px solid var(--line);border-radius:var(--r) var(--r) 0 0}.scorecard-dept__chevron{font-size:16px;line-height:1;color:var(--ink-secondary)}.scorecard-dept__title{display:flex;flex-direction:column;min-width:0}.scorecard-dept__name{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.scorecard-dept__owner{font-size:12px;color:var(--ink-muted)}.scorecard-dept__counts{display:flex;flex-direction:column;font-size:12px;color:var(--ink-secondary);font-variant-numeric:tabular-nums}.scorecard-dept__score{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-align:right;min-width:64px}.scorecard-dept__body{padding:4px 0 12px}.scorecard-empty{padding:16px}.scorecard-highlights{display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px 4px}.scorecard-highlight{display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:var(--surface-sunk);border-radius:var(--r)}.scorecard-highlight__label{font-size:11.5px;color:var(--ink-muted)}.scorecard-highlight__value{font-size:15px;font-weight:600;color:var(--ink)}.scorecard-highlight__detail{font-size:12px;color:var(--ink-secondary)}.scorecard-table{min-width:1060px}.scorecard-table th,.scorecard-table td{padding-left:12px;padding-right:12px}.scorecard-row{cursor:pointer}.scorecard-row--expanded{background:var(--surface-hover)}.scorecard-row__toggle{font:inherit;font-weight:600;color:var(--ink);text-align:left}.scorecard-row__toggle:hover{color:var(--accent)}.scorecard-row__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.scorecard-table th.kpi-table__num,.scorecard-module th.kpi-table__num,.scorecard-weeks th.kpi-table__num{text-align:right}.scorecard-owner{font-size:12.5px;white-space:nowrap}.scorecard-actual{font-weight:600;color:var(--ink)}.scorecard-sub{display:block;font-size:11px;font-weight:400;color:var(--ink-muted);white-space:nowrap}.scorecard-sub--rule{max-width:180px;margin-left:auto;font-style:italic;white-space:normal;line-height:1.35}.scorecard-missing{display:inline-block;padding:1px 8px;font-size:11.5px;font-weight:500;border-radius:999px;cursor:help;white-space:nowrap}.scorecard-missing--na{background:var(--surface-sunk);color:var(--ink-secondary);border:1px dashed var(--line-strong)}.scorecard-missing--pending{background:var(--surface-sunk);color:var(--ink-muted)}.scorecard-missing--upcoming{color:var(--ink-muted);cursor:default}.stat-card__value .scorecard-missing{font-size:13px;vertical-align:middle}.scorecard-change{font-size:12.5px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.scorecard-change--good{color:var(--good-ink)}.scorecard-change--bad{color:var(--critical-ink)}.scorecard-change--flat{color:var(--ink-muted);font-weight:500}.scorecard-source{display:inline-block;padding:1px 7px;font-size:11.5px;font-weight:500;border-radius:var(--r-sm);background:var(--surface-sunk);color:var(--ink-secondary);cursor:help}.scorecard-source--reported{background:var(--accent-wash);color:var(--accent-hover)}.scorecard-source--none{background:none;color:var(--ink-muted);cursor:default}.scorecard-spark{display:block;overflow:visible}.scorecard-spark--empty{display:inline-block;width:96px;height:1px;background:var(--line);vertical-align:middle}.scorecard-spark__line{fill:none;stroke:var(--ink-muted);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.scorecard-spark__dot{fill:var(--ink-muted)}.scorecard-spark__end{fill:var(--accent);stroke:var(--surface);stroke-width:2}.scorecard-spark__hit{fill:transparent}.scorecard-spark__hit:hover{fill:var(--line)}.scorecard-detail>td{background:var(--surface-hover);padding:14px 16px 18px!important;cursor:default}.scorecard-detail__grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(360px,1.4fr);gap:20px;align-items:start}.scorecard-detail__facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:12.5px}.scorecard-detail__facts dt{color:var(--ink-muted);font-weight:500}.scorecard-detail__facts dd{margin:0;color:var(--ink-secondary);line-height:1.5}.scorecard-weeks{font-size:12.5px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.scorecard-weeks th,.scorecard-weeks td{padding:6px 10px}.scorecard-weeks__caption{caption-side:top;text-align:left;padding:0 0 6px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.scorecard-modules{display:grid;gap:18px;padding:16px 16px 4px}.scorecard-module .section-header{margin-bottom:8px}.scorecard-module .data-table{border:1px solid var(--line);border-radius:var(--r)}.scorecard-module__note{margin-top:8px;font-size:12px;color:var(--ink-muted)}.scorecard-total td{font-weight:600;color:var(--ink);background:var(--surface-sunk)}.scorecard-footnote{margin:18px 0 8px;font-size:12px;line-height:1.55;color:var(--ink-muted);max-width:900px}@media (max-width: 1000px){.scorecard-dept__head{grid-template-columns:16px 1fr auto;row-gap:6px}.scorecard-dept__head>.scorecard-dept__score{grid-column:3;grid-row:1}.scorecard-dept__counts{grid-column:2;grid-row:2}.scorecard-dept__head>.kpi-badge{grid-column:3;grid-row:2;justify-self:end}.scorecard-detail__grid{grid-template-columns:1fr}.scorecard-health__coverage{margin-left:0}}@media (max-width: 860px){.view-switcher__option{padding:6px 8px;white-space:normal;line-height:1.25}.scorecard-tabs{flex-wrap:nowrap;overflow-x:auto}.scorecard-tabs .submodule-tab-btn{white-space:nowrap}.scorecard-tile__value-row{flex-wrap:wrap}.scorecard-nav__label{min-width:0}}@media (max-width: 600px){.stats-row.scorecard-tiles{grid-template-columns:1fr!important}}@media print{.scorecard-dept{break-inside:avoid}.scorecard-spark__hit{display:none}}.scorecard-tile__name{font-size:18px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scorecard-tile__link{margin-left:auto;font-size:12px;font-weight:500;color:var(--ink-secondary);text-decoration:underline;text-underline-offset:2px}.scorecard-tile__link:hover{color:var(--ink)}.partner-sheet__jump{display:flex;align-items:center;gap:8px}.partner-sheet__jump .log-filters__input{padding:5px 8px}.partner-sheet__top-name{display:block;font-size:18px;line-height:1.25;overflow-wrap:anywhere}.partner-sheet__table th,.partner-sheet__table td{padding:8px 10px}.partner-sheet__table td{white-space:nowrap}.partner-sheet__day{text-align:center!important;border-left:1px solid var(--line)}.partner-sheet__date{margin-left:3px;font-weight:400;color:var(--ink-muted)}.partner-sheet__start{border-left:1px solid var(--line)}.partner-sheet__week{font-weight:600;color:var(--ink)}.partner-sheet__zero{color:var(--ink-muted);opacity:.7}.partner-sheet__partner{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:inset -1px 0 0 var(--line)}.partner-sheet__name{padding-left:22px!important;font-weight:500;color:var(--ink)}.partner-sheet__table thead .partner-sheet__partner,.partner-sheet__table .scorecard-total .partner-sheet__partner{background:var(--surface-sunk)}.partner-sheet__table tbody tr:hover .partner-sheet__partner{background:var(--surface-hover)}.partner-sheet__group td{font-weight:600;color:var(--ink);background:var(--surface-hover)}.partner-sheet__group .partner-sheet__partner{background:var(--surface-hover)}.partner-sheet__count{display:inline-block;margin-left:8px;font-size:11.5px;font-weight:500;color:var(--ink-muted)}.partner-sheet__tag{display:inline-block;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:500;border-radius:999px;background:var(--surface-sunk);color:var(--ink-muted);vertical-align:1px}.partner-sheet__tag--top{background:var(--good-wash);color:var(--good-ink)}.partner-sheet__edit{display:flex;align-items:center;justify-content:space-between;gap:10px}.partner-sheet__select{width:190px;padding:4px 6px}@media (max-width: 600px){.partner-sheet__select{width:150px}}.rates-table-scroll{max-height:70vh;overflow:auto}.rates-table thead th{position:sticky;top:0;z-index:2;background:var(--surface-sunk)}.rates-table .rates-table__average td{font-weight:500;color:var(--ink-secondary)}.rates-table__first{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:inset -1px 0 0 var(--line);white-space:nowrap}.rates-table thead .rates-table__first{z-index:3;background:var(--surface-sunk)}.rates-table tfoot .rates-table__first{background:var(--surface-sunk)}.rates-table tbody tr:hover .rates-table__first{background:var(--surface-hover)}.rates-table td{white-space:nowrap}.rates-table__total{font-weight:600;color:var(--ink);border-left:1px solid var(--line)}.rates-table__weekend td,.rates-table__weekend .rates-table__first{background:var(--surface-hover)}.rates-sort{display:inline-flex;align-items:center;gap:5px;font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}.rates-sort:hover{color:var(--ink)}.rates-sort__arrow{font-size:9px;opacity:.6}.rates-table th[aria-sort=ascending] .rates-sort__arrow,.rates-table th[aria-sort=descending] .rates-sort__arrow{opacity:1;color:var(--ink)}.rate-pill{display:inline-block;min-width:52px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums;background:var(--surface-sunk);color:var(--ink-secondary)}.rate-pill--ontarget{background:var(--good-wash);color:var(--good-ink)}.rate-pill--atrisk{background:var(--warn-wash);color:var(--warn-ink)}.rate-pill--offtarget{background:var(--critical-wash);color:var(--critical-ink)}.rate-pill--empty{background:none;min-width:0;color:var(--ink-muted);font-weight:400}.rates-legend{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin:-6px 0 12px;font-size:12px;color:var(--ink-muted)}.rates-legend .rate-pill{min-width:0;margin-left:6px;font-weight:500}.rates-legend .rate-pill:first-child{margin-left:0}.rates-legend__note{margin-left:auto}@media (max-width: 860px){.rates-legend__note{margin-left:0;flex-basis:100%}}.company-sheet{--report-navy: #0f2a4a;--report-header: #16365f;--report-teal: #17a398;--report-band: #f3f4f7;--report-ink: #4b5563;--report-title: #1a1d2e;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--lift);overflow:hidden;margin-bottom:18px}.company-sheet__band{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 24px;padding:18px 28px 16px;background:var(--report-navy);border-bottom:5px solid var(--report-teal)}.company-sheet__eyebrow{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#2cc4b8}.company-sheet__title{margin:0;font-size:28px;font-weight:700;line-height:1.2;color:#fff}.company-sheet__period{display:flex;flex-direction:column;gap:2px;margin:0;text-align:right;font-size:14px;font-weight:600;color:#fff}.company-sheet__period span{font-size:12px;font-weight:400;color:#ffffffb8}.company-sheet__body{padding:24px 28px 4px;overflow-x:auto}.company-table{width:100%;min-width:620px;border-collapse:separate;border-spacing:2px;font-size:13px}.company-table__col-kpi{width:37%}.company-table__col-target{width:21%}.company-table__col-actual{width:26%}.company-table__col-status{width:16%}.company-table thead th{padding:6px 8px;text-align:left;font-weight:700;color:#fff;background:var(--report-header)}.company-table tbody th,.company-table tbody td{padding:6px 8px;text-align:left;vertical-align:top;line-height:1.35}.company-table tbody th{font-weight:700;color:var(--report-title)}.company-table tbody td{color:var(--report-ink)}.company-table tbody tr:nth-child(2n)>th,.company-table tbody tr:nth-child(2n)>td{background:var(--report-band)}.company-table__hint{display:block;margin-top:1px;font-size:11px;color:var(--ink-muted)}.company-table tbody td.company-table__status{font-weight:700;color:#6b7280;background:#eef0f4}.company-table tbody td.company-table__status--good{color:#15803d;background:#e7f6ec}.company-table tbody td.company-table__status--bad{color:#c62828;background:#fdecea}.company-table tbody td.company-table__status--warn{color:#a15c00;background:#fff4e0}.company-sheet__footer{padding:14px 28px 18px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}@media (max-width: 600px){.company-sheet__band,.company-sheet__body,.company-sheet__footer{padding-left:16px;padding-right:16px}.company-sheet__period{text-align:left}.company-sheet__title{font-size:22px}}@media print{.company-sheet{box-shadow:none;border:0}.company-sheet__band,.company-table thead th,.company-table tbody td,.company-table tbody th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.management-insights{margin:0 0 20px;padding:18px 18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.management-insights__header{align-items:flex-start}.management-insights__intro{margin:4px 0 0;font-size:12.5px;color:var(--ink-muted)}.management-insights__toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.management-insights__period{font-size:12px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.management-insights__spin{display:inline-block;line-height:1}.management-insights__spin.is-active{animation:mi-spin .8s linear infinite}@keyframes mi-spin{to{transform:rotate(360deg)}}.management-insights__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.management-insights__card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px 14px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);transition:border-color .15s,background .15s;animation:mi-in .25s ease-out both}.management-insights__card:hover{border-color:var(--line-strong);background:var(--surface-hover)}@keyframes mi-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.management-insights__card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.management-insights__card h3{margin:0;font-size:13px;font-weight:600;color:var(--ink);letter-spacing:-.006em}.management-insights__status{padding:2px 8px;border-radius:var(--r-sm);background:var(--surface-sunk);color:var(--ink-secondary);font-size:11.5px;font-weight:500;white-space:nowrap}.management-insights__status--declining{background:var(--critical-wash);color:var(--critical-ink)}.management-insights__status--growing{background:var(--good-wash);color:var(--good-ink)}.management-insights__status--insufficient-data{background:var(--warn-wash);color:var(--warn-ink)}.management-insights__headline{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.management-insights__headline-label{display:block;font-size:12px;color:var(--ink-muted);margin-bottom:2px}.management-insights__headline-value{display:block;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--ink);overflow-wrap:anywhere}.management-insights__delta{display:flex;flex-direction:column;align-items:flex-end;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.management-insights__delta small{font-size:11px;font-weight:400;color:var(--ink-muted)}.management-insights__delta--up{color:var(--good-ink)}.management-insights__delta--down{color:var(--critical-ink)}.management-insights__delta--flat{color:var(--ink-muted)}.forecast-chart{margin:0 -4px}.management-insights__months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.management-insights__months>div{padding:7px 8px;border-radius:var(--r-sm);background:var(--surface-sunk);min-width:0}.management-insights__months span,.management-insights__months strong,.management-insights__months small{display:block}.management-insights__months span{font-size:11px;color:var(--ink-muted)}.management-insights__months strong{margin:2px 0;font-size:13.5px;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.management-insights__months small{font-size:11px;color:var(--ink-muted);line-height:1.3;overflow-wrap:anywhere}.management-insights__note,.management-insights__empty{margin:0;font-size:12px;color:var(--ink-muted);line-height:1.45}.management-insights__note{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11.5px;cursor:help}.management-insights__model{padding:1px 6px;border-radius:var(--r-sm);background:var(--accent-wash);color:var(--accent-hover);font-weight:500}.management-insights__attention{margin-top:18px}.management-insights__attention h3{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--ink)}.management-insights__attention>p{margin:0;font-size:12.5px;color:var(--ink-muted)}.management-insights__action{margin-top:8px;padding:11px 14px;border:1px solid var(--line);border-left:3px solid var(--warn);background:var(--warn-wash);border-radius:var(--r);font-size:13px;color:var(--ink-secondary)}.management-insights__action--high{border-left-color:var(--critical);background:var(--critical-wash)}.management-insights__action strong{display:flex;align-items:center;gap:8px;color:var(--ink)}.management-insights__action p{margin:5px 0 0;line-height:1.45}.management-insights__priority{padding:1px 6px;border-radius:var(--r-sm);background:var(--critical);color:#fff;font-size:11px;font-weight:500}.management-insights__card--skeleton{min-height:250px;gap:12px;animation:none}.management-insights__card--skeleton span{display:block;height:12px;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--surface-sunk) 0%,#ebebe7 50%,var(--surface-sunk) 100%);background-size:200% 100%;animation:mi-shimmer 1.2s ease-in-out infinite}.management-insights__card--skeleton span:nth-child(1){width:45%}.management-insights__card--skeleton span:nth-child(2){width:30%;height:22px}.management-insights__card--skeleton span:nth-child(3){flex:1}@keyframes mi-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.management-insights__card,.management-insights__card--skeleton span,.management-insights__spin.is-active{animation:none}}@media (max-width: 600px){.management-insights{padding:14px}.management-insights__grid{grid-template-columns:1fr}}.dashboard-date-filter{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;margin-bottom:22px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.dashboard-date-filter label{display:flex;align-items:center;gap:8px;font-size:13px}.dashboard-date-filter input{min-width:140px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit}.dashboard-date-filter small{flex-basis:100%;color:var(--ink-muted);font-size:12px}.dashboard-date-filter__status{font-size:12px;color:var(--ink-muted)}.management-insights [hidden],.month-filter[hidden]{display:none!important}@media (max-width: 600px){.dashboard-date-filter label{flex:1 1 100%;justify-content:space-between}.dashboard-date-filter input{flex:1;max-width:75%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.navbar__report-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r);font-size:12.5px;font-weight:500;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);transition:background .12s,border-color .12s}.navbar__report-btn:hover{background:var(--surface-sunk);border-color:var(--ink-muted)}.navbar__report-btn span{font-size:15px;line-height:1;color:var(--critical);font-weight:600}.login-foot--tight{margin-top:8px}.login-foot--intent{color:var(--ink-secondary);font-weight:500}.login-foot a{color:var(--accent);font-weight:500}.issue-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.issue-refresh{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-muted)}.issue-refresh__dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px var(--good-wash)}.issue-refresh__time{font-variant-numeric:tabular-nums}.issue-scope__label{font-size:11.5px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-muted)}.issue-scope__hint{align-self:center;margin:0}.issue-band-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:4px 0 10px}.issue-band-head__note{font-size:12.5px;color:var(--ink-muted)}.issue-overview{transition:opacity .15s;margin-bottom:28px}.issue-overview--loading{opacity:.55}.issue-charts-row{margin-top:16px;align-items:start}.issue-chart-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.stat-card--critical .stat-card__value{color:var(--critical-ink)}.stat-card--warn .stat-card__value{color:var(--warn-ink)}.stat-card--critical,.stats-row>.stat-card--critical{box-shadow:inset 0 3px 0 var(--critical),1px 0 0 var(--line),0 1px 0 var(--line)}.stat-card--warn,.stats-row>.stat-card--warn{box-shadow:inset 0 3px 0 var(--warn),1px 0 0 var(--line),0 1px 0 var(--line)}.issue-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.issue-badge__dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.issue-badge--open{background:var(--accent-wash);color:var(--accent-hover)}.issue-badge--progress{background:#f0eefa;color:#4a3aa7}.issue-badge--blocked{background:var(--warn-wash);color:var(--warn-ink)}.issue-badge--resolved{background:var(--good-wash);color:var(--good-ink)}.issue-badge--closed{background:var(--surface-sunk);color:var(--ink-muted)}.issue-priority{display:inline-block;padding:1px 8px;border-radius:var(--r-sm);font-size:12px;font-weight:600;white-space:nowrap;border:1px solid transparent}.issue-priority--critical{background:var(--critical);color:#fff}.issue-priority--high{background:var(--critical-wash);color:var(--critical-ink)}.issue-priority--medium{background:var(--warn-wash);color:var(--warn-ink)}.issue-priority--low{background:var(--surface);color:var(--ink-secondary);border-color:var(--line)}.issue-overdue{display:inline-block;margin-top:3px;padding:1px 7px;border-radius:var(--r-sm);background:var(--critical-wash);color:var(--critical-ink);font-size:11.5px;font-weight:600;white-space:nowrap}.issue-muted{color:var(--ink-muted)}.issue-nowrap{white-space:nowrap}.issue-link{color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.issue-link:hover{text-decoration:underline}.issue-tracker{margin-top:8px}.issue-tracker__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.issue-tracker__body{transition:opacity .15s}.issue-tracker__body--loading{opacity:.6}.issue-filters{margin-bottom:14px}.issue-filters .filter-group--grow{min-width:220px}.issue-filters input[type=search]{width:100%}.issue-table-scroll{overflow-x:auto}.issue-table{min-width:1080px}.issue-table .kpi-table__sort{display:inline-flex;align-items:center;gap:5px;font:inherit;color:inherit}.issue-row{cursor:pointer}.issue-row--critical td:first-child{box-shadow:inset 3px 0 0 var(--critical)}.issue-row--overdue{background:snow}.issue-row--selected,.issue-row--selected:hover{background:var(--accent-wash)!important}.issue-table__ref{white-space:nowrap}.issue-table__title{min-width:220px;max-width:360px}.issue-table__title-text{display:block;color:var(--ink);font-weight:500;line-height:1.35}.issue-table__category{display:block;margin-top:2px;font-size:12px;color:var(--ink-muted)}.issue-table__update{min-width:200px;max-width:300px}.issue-table__update-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.4}.issue-table__update-when{display:block;margin-top:2px;font-size:11.5px;color:var(--ink-muted)}.issue-skeleton{height:220px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(90deg,var(--surface) 0%,var(--surface-sunk) 50%,var(--surface) 100%);background-size:200% 100%;animation:issueShimmer 1.4s linear infinite}@keyframes issueShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.issue-empty{padding:40px 20px;text-align:center;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;gap:8px}.issue-empty__title{font-size:14px;font-weight:600;color:var(--ink)}.issue-empty__body{font-size:13px;color:var(--ink-muted);max-width:440px}.issue-board{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}.issue-board__col{background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;min-height:200px;min-width:0;border-top:3px solid var(--line-strong)}.issue-board__col--open{border-top-color:var(--accent)}.issue-board__col--progress{border-top-color:#4a3aa7}.issue-board__col--blocked{border-top-color:var(--warn)}.issue-board__col--resolved{border-top-color:var(--good)}.issue-board__head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px}.issue-board__title{font-size:13px;font-weight:600;color:var(--ink)}.issue-board__count{font-size:12px;font-weight:600;color:var(--ink-secondary);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0 8px;font-variant-numeric:tabular-nums}.issue-board__cards{display:flex;flex-direction:column;gap:8px;padding:0 8px 10px;max-height:640px;overflow-y:auto}.issue-board__empty,.issue-board__more{font-size:12.5px;color:var(--ink-muted);padding:8px 4px}.issue-card{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;padding:10px 11px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:border-color .12s,box-shadow .12s}.issue-card:hover{border-color:var(--line-strong);box-shadow:var(--lift)}.issue-card--critical{box-shadow:inset 3px 0 0 var(--critical)}.issue-card--critical:hover{box-shadow:inset 3px 0 0 var(--critical),var(--lift)}.issue-card--overdue{border-color:#d03b3b4d}.issue-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.issue-card__ref{font-size:11.5px;font-weight:600;color:var(--ink-muted);font-variant-numeric:tabular-nums}.issue-card__title{font-size:13px;font-weight:500;color:var(--ink);line-height:1.35}.issue-card__meta{font-size:12px;color:var(--ink-muted)}.issue-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--ink-secondary)}.issue-card__foot .issue-overdue{margin-top:0}.issue-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#0b0b0b52;display:flex;justify-content:flex-end;animation:fadeIn .12s ease}.issue-drawer{width:min(620px,100%);height:100%;background:var(--plane);border-left:1px solid var(--line);box-shadow:var(--lift-high);display:flex;flex-direction:column;animation:issueSlide .18s ease}@keyframes issueSlide{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}.issue-drawer__head{padding:18px 22px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.issue-drawer__head-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.issue-drawer__ref{font-size:12.5px;font-weight:600;color:var(--ink-muted);font-variant-numeric:tabular-nums}.issue-drawer__title{margin-top:6px;font-size:18px;font-weight:600;letter-spacing:-.016em;line-height:1.3;color:var(--ink)}.issue-drawer__badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}.issue-drawer__badges .issue-overdue{margin-top:0}.issue-drawer__body{flex:1;overflow-y:auto;padding:18px 22px 40px;display:flex;flex-direction:column;gap:16px}.issue-drawer__body>.alert{margin-bottom:0}.issue-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.issue-facts>div{padding:10px 14px;box-shadow:1px 0 0 var(--line),0 1px 0 var(--line);min-width:0}.issue-facts dt{font-size:11.5px;color:var(--ink-muted)}.issue-facts dd{margin-top:2px;font-size:13px;color:var(--ink);overflow-wrap:anywhere}.issue-facts__overdue{color:var(--critical-ink)!important;font-weight:600}.issue-callout{padding:12px 14px;border-radius:var(--r);border:1px solid transparent}.issue-callout p{margin-top:3px;font-size:13px;color:var(--ink);white-space:pre-wrap}.issue-callout__label{font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.issue-callout--blocked{background:var(--warn-wash);border-color:#fab21959}.issue-callout--blocked .issue-callout__label{color:var(--warn-ink)}.issue-callout--resolved{background:var(--good-wash);border-color:#0ca30c38}.issue-callout--resolved .issue-callout__label{color:var(--good-ink)}.issue-section__title{font-size:12px;font-weight:600;color:var(--ink-muted);letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px}.issue-prose{font-size:13.5px;color:var(--ink);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.issue-panel{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.issue-panel .issue-section__title{margin-bottom:0}.issue-panel__actions{display:flex;justify-content:flex-end;gap:8px}.issue-transitions,.issue-update-kinds{display:flex;gap:6px;flex-wrap:wrap}.issue-chip-radio{position:relative;display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--ink-secondary);border:1px solid var(--line);background:var(--surface)}.issue-chip-radio input{position:absolute;opacity:0;pointer-events:none}.issue-chip-radio:focus-within{outline:2px solid var(--accent);outline-offset:2px}.issue-chip-radio--on{background:var(--ink);color:var(--ink-inverse);border-color:var(--ink)}.issue-hint{font-size:12.5px;color:var(--ink-muted)}.issue-timeline{list-style:none;position:relative;display:flex;flex-direction:column}.issue-timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--line-strong)}.issue-timeline__item{position:relative;display:flex;gap:12px;padding:0 0 14px}.issue-timeline__dot{position:relative;z-index:1;width:11px;height:11px;margin-top:4px;flex-shrink:0;border-radius:50%;background:var(--surface);border:2px solid var(--ink-muted)}.issue-timeline__item--created .issue-timeline__dot{border-color:var(--accent)}.issue-timeline__item--blocker .issue-timeline__dot{border-color:var(--warn)}.issue-timeline__item--reopened .issue-timeline__dot{border-color:var(--critical)}.issue-timeline__item--progress .issue-timeline__dot{border-color:var(--good)}.issue-timeline__body{min-width:0}.issue-timeline__meta{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;font-size:12px;color:var(--ink-muted)}.issue-timeline__kind{font-weight:600;color:var(--ink-secondary)}.issue-timeline__message{margin-top:2px;font-size:13px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.issue-field{display:flex;flex-direction:column;gap:6px;min-width:0}.issue-field>span:first-child{font-size:12.5px;font-weight:500;color:var(--ink-secondary)}.issue-field em{font-style:normal;font-weight:400;color:var(--ink-muted);font-size:12px;margin-left:4px}.issue-field input,.issue-field select,.issue-field textarea{width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);font-size:13.5px;color:var(--ink);outline:none;transition:border-color .12s,box-shadow .12s}.issue-field textarea{resize:vertical;min-height:72px;line-height:1.5}.issue-field input:focus,.issue-field select:focus,.issue-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.issue-field [aria-invalid=true]{border-color:var(--critical)}.issue-field [aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--critical-wash)}.issue-error{font-size:12.5px;color:var(--critical-ink)}.issue-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.issue-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}.issue-report{max-width:920px}.issue-form{display:flex;flex-direction:column;gap:16px}.issue-form__card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:18px 20px 20px;display:flex;flex-direction:column;gap:16px;min-width:0}.issue-form__legend{padding:0 6px;margin-left:-6px;font-size:14px;font-weight:600;color:var(--ink)}.issue-form__optional{font-weight:400;color:var(--ink-muted);font-size:12.5px;margin-left:4px}.issue-form__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);position:sticky;bottom:0}.issue-form__footer .btn{padding:9px 20px}.issue-form__who{font-size:12.5px;color:var(--ink-muted)}.issue-form__who strong{color:var(--ink-secondary);font-weight:600}.issue-priority-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.issue-priority-option{position:relative;display:flex;flex-direction:column;gap:3px;cursor:pointer;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);transition:border-color .12s,background .12s,box-shadow .12s}.issue-priority-option input{position:absolute;opacity:0;pointer-events:none}.issue-priority-option:hover{background:var(--surface-hover)}.issue-priority-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}.issue-priority-option__name{font-size:13px;font-weight:600;color:var(--ink)}.issue-priority-option__hint{font-size:11.5px;color:var(--ink-muted);line-height:1.35}.issue-priority-option--on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.issue-priority-option--high.issue-priority-option--on{border-color:var(--critical-ink);box-shadow:inset 0 0 0 1px var(--critical-ink)}.issue-priority-option--critical.issue-priority-option--on{border-color:var(--critical);box-shadow:inset 0 0 0 1px var(--critical);background:var(--critical-wash)}.issue-priority-option--critical.issue-priority-option--on .issue-priority-option__name{color:var(--critical-ink)}.issue-confirm{display:flex;gap:16px;align-items:flex-start;padding:22px 24px;background:var(--surface);border:1px solid rgba(12,163,12,.28);border-radius:var(--r-lg);box-shadow:inset 0 3px 0 var(--good);outline:none}.issue-confirm__check{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--good-wash);color:var(--good-ink);font-weight:700;font-size:16px}.issue-confirm__body{min-width:0}.issue-confirm__eyebrow{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--good-ink)}.issue-confirm__ref{margin-top:2px;font-size:26px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}.issue-confirm__title{margin-top:4px;font-size:14px;font-weight:500;color:var(--ink)}.issue-confirm__meta{margin-top:2px;font-size:12.5px;color:var(--ink-muted)}.issue-confirm__hint{margin-top:10px;font-size:13px;color:var(--ink-secondary)}.issue-confirm__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}@media (max-width: 860px){.issue-grid-3,.issue-priority-picker{grid-template-columns:1fr 1fr}.issue-header-actions{width:100%;justify-content:space-between}}@media (max-width: 560px){.issue-grid-2,.issue-grid-3,.issue-facts{grid-template-columns:1fr}.issue-drawer__head,.issue-drawer__body{padding-left:16px;padding-right:16px}.issue-form__card{padding:14px 16px 16px}.issue-confirm{flex-direction:column}.navbar__report-btn{font-size:0;gap:0;padding:4px 9px}.navbar__report-btn span{font-size:18px}}@media (prefers-reduced-motion: reduce){.issue-drawer,.issue-drawer-backdrop,.issue-skeleton{animation:none}}.issue-log__count{margin-bottom:10px}.issue-log-table{min-width:960px}.issue-log-table td{vertical-align:top}.issue-log__when{white-space:nowrap}.issue-log__when time{display:block;color:var(--ink-secondary);font-size:12.5px}.issue-log__ref{display:block;font-size:11.5px;font-weight:600;color:var(--ink-muted);font-variant-numeric:tabular-nums}.issue-log__what{min-width:280px;max-width:460px}.issue-log__title{display:block;text-align:left;font-weight:600;color:var(--ink);line-height:1.35}.issue-log__title:hover{color:var(--accent)}.issue-log__desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;font-size:12.5px;line-height:1.45;color:var(--ink-secondary);white-space:normal}.issue-report-portal{min-height:100dvh;padding:24px 20px 60px;background:radial-gradient(ellipse at top,#dcefe8,transparent 650px),#f4f7f8}.issue-report-portal .issue-report,.issue-report-portal__bar{max-width:780px;margin-inline:auto}.issue-report-portal__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;color:#123c36}.issue-report__hero{background:linear-gradient(120deg,#102e37,#166451);color:#fff;border-radius:18px;padding:clamp(20px,4vw,34px);gap:16px}.issue-report__hero .page-header__title{color:#fff}.issue-report__hero .page-header__sub{color:#e0f3ec}.issue-report__hero .btn--ghost{color:#fff;background:#ffffff18;border-color:#ffffff70}.issue-report__hero .btn--ghost:hover{background:#ffffff30}.issue-report__eyebrow{color:#b6e8d6;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}.issue-report-access{display:grid;gap:12px;margin-bottom:18px}.issue-report-access h2{font-size:1rem;margin:0}.issue-report-portal .issue-form__card{min-inline-size:0;box-shadow:0 5px 20px #123c360b}
