@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/open-sans-latin-400-normal-Bk63H6sG.woff2) format("woff2"),url(/assets/open-sans-latin-400-normal-DKniycaP.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/open-sans-latin-600-normal-Cp4N6AwT.woff2) format("woff2"),url(/assets/open-sans-latin-600-normal-C3dWW5mx.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/open-sans-latin-700-normal-CceUhp2e.woff2) format("woff2"),url(/assets/open-sans-latin-700-normal-CZCQA30i.woff) format("woff")}:root{--ds-font-sans: "Open Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ds-text-xs: .75rem;--ds-text-sm: .8125rem;--ds-text-base: .875rem;--ds-text-md: 1rem;--ds-text-h4: 1.125rem;--ds-text-h3: 1.3125rem;--ds-text-h2: 1.5rem;--ds-text-h1: 1.75rem;--ds-line-tight: 1.25;--ds-line-body: 1.5;--ds-radius: .5rem;--ds-radius-sm: calc(var(--ds-radius) - 4px);--ds-radius-md: calc(var(--ds-radius) - 2px);--ds-radius-lg: var(--ds-radius);--ds-radius-xl: calc(var(--ds-radius) + 4px);--ds-shadow-xs: 0 1px 2px 0 rgb(16 41 61 / .04);--ds-shadow-sm: 0 1px 2px 0 rgb(16 41 61 / .06), 0 1px 3px 0 rgb(16 41 61 / .08);--ds-shadow-md: 0 2px 4px -1px rgb(16 41 61 / .08), 0 4px 8px -2px rgb(16 41 61 / .1);--ds-shadow-lg: 0 4px 8px -2px rgb(16 41 61 / .1), 0 12px 20px -4px rgb(16 41 61 / .12);--ds-ease-out: cubic-bezier(.16, 1, .3, 1);--ds-duration-fast: .1s;--ds-duration-base: .15s;--ds-brand-50: #eaf3fa;--ds-brand-100: #d2e5f4;--ds-brand-200: #a6cce9;--ds-brand-300: #6ba9da;--ds-brand-400: #2e86cc;--ds-brand-500: #016fc0;--ds-brand-600: #015a9d;--ds-brand-700: #004172;--ds-brand-800: #00345c;--ds-brand-900: #002847;--ds-background: #ffffff;--ds-foreground: #1a2e3d;--ds-card: #ffffff;--ds-popover: #ffffff;--ds-primary: #004172;--ds-primary-foreground: #ffffff;--ds-secondary: #f5f8fa;--ds-muted-foreground: #49657a;--ds-accent: #eaf3fa;--ds-accent-foreground: #004172;--ds-destructive: #d92d20;--ds-success: #16793f;--ds-warning: #b7791f;--ds-info: #016fc0;--ds-border: #e4ebf0;--ds-ring: #016fc0}@media (prefers-color-scheme: dark){:root:not(.light):not([data-theme=light]){--ds-background: #0b1620;--ds-foreground: #e6edf2;--ds-card: #11212e;--ds-popover: #11212e;--ds-primary: #4ba3e3;--ds-primary-foreground: #06121c;--ds-secondary: #1b2d3a;--ds-muted-foreground: #9db2c2;--ds-accent: #16364b;--ds-accent-foreground: #e6edf2;--ds-destructive: #f0503c;--ds-success: #3fb873;--ds-warning: #e0a82e;--ds-info: #4ba3e3;--ds-border: #22323f;--ds-ring: #4ba3e3}}.dark,[data-theme=dark]{--ds-background: #0b1620;--ds-foreground: #e6edf2;--ds-card: #11212e;--ds-popover: #11212e;--ds-primary: #4ba3e3;--ds-primary-foreground: #06121c;--ds-secondary: #1b2d3a;--ds-muted-foreground: #9db2c2;--ds-accent: #16364b;--ds-accent-foreground: #e6edf2;--ds-destructive: #f0503c;--ds-success: #3fb873;--ds-warning: #e0a82e;--ds-info: #4ba3e3;--ds-border: #22323f;--ds-ring: #4ba3e3}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--bg: var(--ds-secondary);--surface: var(--ds-card);--border: var(--ds-border);--text: var(--ds-foreground);--muted: var(--ds-muted-foreground);--on: var(--ds-success);--warn: var(--ds-warning);--off: var(--ds-destructive);--up: var(--ds-success);--down: var(--ds-destructive);--accent: var(--ds-primary);--accent-soft: var(--ds-accent);--radius: var(--ds-radius-lg);--radius-sm: var(--ds-radius-sm);--shadow-tile: var(--ds-shadow-sm);--shadow-pop: var(--ds-shadow-lg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--ds-font-sans);font-size:var(--ds-text-base);line-height:var(--ds-line-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,a:visited{color:var(--accent)}p a,li a,.dq-impact a,.admin-note a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}p a:hover,li a:hover,.dq-impact a:hover,.admin-note a:hover{text-decoration-thickness:2px}.app{max-width:2400px;margin:0 auto;padding:24px clamp(16px,2vw,40px) 64px}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ds-ring);outline-offset:2px;border-radius:var(--ds-radius-sm)}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}.app-header h1{font-size:var(--ds-text-h1);margin:0;letter-spacing:-.01em}.subtitle{color:var(--muted);margin:6px 0 0;font-size:.95rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sync{font-size:.85rem}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.ok{background:var(--on)}.badge-mock{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--warn);border:1px solid var(--warn);border-radius:999px;padding:2px 8px}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-refresh{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--ds-radius-lg);padding:8px 14px;font-size:.9rem;font-weight:600;cursor:pointer}.btn-refresh:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-refresh:disabled{opacity:.6;cursor:progress}.period-switch{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-lg);overflow:hidden}.period-switch button{border:0;background:transparent;color:var(--muted);padding:8px 16px;cursor:pointer;font-size:.9rem;font-weight:600}.period-switch button.active{background:var(--accent);color:var(--ds-primary-foreground)}.app-nav{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:6px;flex-wrap:wrap}.nav-link{color:var(--muted);text-decoration:none;font-size:.92rem;font-weight:600;padding:8px 14px;border-bottom:2px solid transparent;margin-bottom:-1px}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--accent);border-bottom-color:var(--accent)}.page-head{display:flex;align-items:baseline;gap:12px;margin-top:18px;flex-wrap:wrap}.page-title{font-size:var(--ds-text-h3);margin:0;letter-spacing:-.01em}.small{font-size:.82rem}.period-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.period-year{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--ds-radius-lg);padding:8px 10px;font-size:.9rem;font-weight:600;cursor:pointer}.period-year:focus{outline:none;border-color:var(--accent)}.tile-chips{display:flex;align-items:center;gap:6px}.info-wrap{display:inline-flex}.info-btn{width:20px;height:20px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.7rem;font-weight:700;font-style:italic;font-family:Georgia,serif;cursor:pointer;line-height:1}.info-btn:hover{border-color:var(--accent);color:var(--accent)}.popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.popover{position:fixed;z-index:50;width:min(420px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-xl);box-shadow:var(--shadow-pop);padding:16px;text-align:left;font-size:.85rem;cursor:default;overflow-y:auto;overscroll-behavior:contain}.popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.popover-def{margin:4px 0 10px;color:var(--text)}.popover-row{display:grid;grid-template-columns:74px 1fr;gap:8px;margin:8px 0;align-items:start}.popover-key{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;padding-top:2px}.popover-formula{display:block;background:var(--bg);border:1px solid var(--border);border-radius:var(--ds-radius-lg);padding:6px 8px;font-size:.78rem;white-space:pre-wrap;word-break:break-word}.popover-source{margin-bottom:4px}.lineage code{background:var(--bg);border-radius:var(--ds-radius-sm);padding:1px 5px;font-size:.78rem}.popover-comp{width:100%;border-collapse:collapse}.popover-comp td{padding:4px 6px;border-top:1px solid var(--border)}.popover-comp td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.popover-notes{color:var(--muted);font-size:.8rem;margin:8px 0 0}.popover-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);color:var(--muted);font-size:.75rem}.fresh-ok{color:var(--on)}.fresh-warn{color:var(--warn)}.fresh-err{color:var(--off)}.chip-kind{border:1px solid var(--border);color:var(--muted)}.chip-leading{color:var(--accent);border-color:var(--accent)}.chip-risk{color:var(--warn);border-color:var(--warn)}.chip-lagging{color:var(--muted);border:1px solid var(--border)}.chip-state{color:var(--muted);border:1px dashed var(--border)}.chip-dir{border:1px solid var(--border);color:var(--muted)}.chip-board{background:var(--accent);color:var(--ds-primary-foreground)}.chip-ok{color:var(--on);border:1px solid var(--on)}.chip-off{color:var(--off);border:1px solid var(--off)}.chip-scope{color:var(--muted);border:1px dashed var(--border);text-transform:none;letter-spacing:0;font-size:.7rem}.chip-rag{border:1px solid var(--border);color:var(--muted)}.chip-rag-on{color:var(--on);border-color:var(--on)}.chip-rag-warn{color:var(--warn);border-color:var(--warn)}.chip-rag-off{color:var(--off);border-color:var(--off)}.chip-rag-na{color:var(--muted);border-style:dashed}.btn-link{background:transparent;border:0;padding:0;margin-left:8px;cursor:pointer;color:var(--accent);font-size:.82rem;font-weight:600;text-decoration:underline;font-family:inherit}.btn-link:hover{filter:brightness(1.15)}.breadcrumb{display:flex;flex-wrap:wrap;gap:2px;align-items:center;font-size:.82rem;margin:14px 0 0;color:var(--muted)}.breadcrumb a{color:var(--accent);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .btn-link{margin-left:0;text-decoration:none;font-weight:600}.breadcrumb-sep{color:var(--muted)}.breadcrumb [aria-current=page]{color:var(--text);font-weight:600}.section-error{border:1px solid var(--off);border-left-width:3px;border-radius:var(--ds-radius-lg);background:color-mix(in srgb,var(--off) 8%,transparent);color:var(--text);padding:10px 14px;font-size:.85rem}.section-error strong{color:var(--off)}.drill-target{animation:drill-flash 2s ease-out 1;border-radius:var(--ds-radius-xl)}@keyframes drill-flash{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}to{box-shadow:0 0 0 3px transparent}}.dict-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.dict-card,.dict-card-off{background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-xl);padding:16px 18px}.dict-card-off{border-style:dashed}.dict-value{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.dict-value-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:4px}.dict-value-now{font-size:1.3rem;font-weight:650;letter-spacing:-.02em}.dict-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.dict-head h3{margin:0;font-size:1rem}.dict-chips{display:flex;gap:6px;flex-wrap:wrap}.dict-def{color:var(--text);font-size:.88rem;margin:8px 0 10px}.dict-row{display:grid;grid-template-columns:74px 1fr;gap:8px;margin:8px 0;align-items:start;font-size:.85rem}.dict-notes{color:var(--muted);font-size:.8rem;margin:8px 0 0}.drill-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.drill-head .block-title{margin:0}.drill-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-xl)}.drill-table{width:100%;border-collapse:collapse;font-size:.87rem}.drill-table th{text-align:left;padding:10px 14px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.drill-table th.sortable{cursor:pointer}.drill-table th.sortable:hover{color:var(--text)}.drill-table td{padding:9px 14px;border-bottom:1px solid var(--border)}.drill-table tbody tr:last-child td{border-bottom:0}.drill-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}.drill-table tbody tr.row-click{cursor:pointer}.drill-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sort-dir{color:var(--accent)}.admin-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.admin-tabs a{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:.85rem;color:var(--muted);text-decoration:none;white-space:nowrap}.admin-tabs a:hover{color:var(--text);border-color:var(--accent)}.admin-tabs a.active{background:var(--accent);border-color:var(--accent);color:var(--ds-primary-foreground)}.admin-table td{padding:4px 8px}.admin-note{color:var(--warn);margin:4px 0 0}.drill-table tbody tr.row-warn td{background:color-mix(in srgb,var(--warn) 12%,transparent)}.row-action{display:inline-flex;align-items:center;gap:8px}.row-action .cell-input{min-width:110px}.cell-input{width:100%;min-width:90px;background:var(--bg);border:1px solid transparent;border-radius:var(--ds-radius-md);padding:6px 8px;color:var(--text);font-size:.85rem}.cell-input:hover{border-color:var(--border)}.cell-input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.cell-input.num{text-align:right;font-variant-numeric:tabular-nums}.cell-input.wide{max-width:340px}.save-bar{display:flex;align-items:center;gap:12px;margin:12px 0;flex-wrap:wrap}.btn-primary{background:var(--accent);color:var(--ds-primary-foreground);border:0;border-radius:var(--ds-radius-lg);padding:9px 16px;font-size:.9rem;font-weight:650;cursor:pointer}.btn-primary:disabled{opacity:.5;cursor:default}.btn-del{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:.85rem}.btn-del:hover{color:var(--off)}.error-inline{color:var(--off);font-size:.85rem}.year-bars{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-xl);padding:16px 18px}.year-bar-row{display:grid;grid-template-columns:46px 1fr 110px;align-items:center;gap:12px}.year-bar-label{color:var(--muted);font-size:.85rem}.year-bar-track{background:var(--bg);border-radius:var(--ds-radius-md);height:18px;overflow:hidden}.year-bar-fill{background:var(--accent);height:100%;border-radius:var(--ds-radius-sm)}.year-bar-value{text-align:right;font-size:.85rem;font-variant-numeric:tabular-nums}.q-rows{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-xl);padding:16px 18px}.q-row{display:grid;grid-template-columns:92px 1fr 210px;align-items:center;gap:14px}.q-head{display:flex;align-items:baseline;gap:6px}.q-track{position:relative;display:flex;align-items:stretch;gap:2px;height:18px;background:var(--bg);border-radius:var(--ds-radius-md)}.q-fill{height:100%;min-width:2px}.q-fill:first-child{border-radius:var(--ds-radius-sm) 0 0 var(--ds-radius-sm)}.q-fill:last-of-type{border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0}.q-fill:only-of-type{border-radius:var(--ds-radius-sm)}.q-fill-actual{background:var(--accent)}.q-fill-plan{background:color-mix(in srgb,var(--accent) 60%,var(--surface));background-image:repeating-linear-gradient(45deg,transparent 0 4px,color-mix(in srgb,var(--surface) 55%,transparent) 4px 7px)}.q-target{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text);border-radius:1px;box-shadow:0 0 0 2px var(--surface)}.q-values{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}.q-expected{font-weight:600;font-variant-numeric:tabular-nums}.q-delta{font-variant-numeric:tabular-nums}.q-delta-on{color:var(--on)}.q-delta-warn{color:var(--warn)}.q-delta-off{color:var(--off)}.q-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:var(--ds-text-xs)}.q-key{display:inline-flex;align-items:center;gap:6px}.q-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.q-swatch-actual{background:var(--accent)}.q-swatch-plan{background:color-mix(in srgb,var(--accent) 60%,var(--surface));background-image:repeating-linear-gradient(45deg,transparent 0 3px,color-mix(in srgb,var(--surface) 55%,transparent) 3px 5px)}.q-swatch-target{width:2px;height:14px;border-radius:1px;background:var(--text)}.q-note{margin-top:12px}.q-warn{color:var(--off)}@media (max-width: 720px){.q-row{grid-template-columns:1fr;gap:4px}.q-values{align-items:flex-start}}.alert-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.alert-chip{font-size:.82rem;font-weight:600;text-decoration:none;border-radius:999px;padding:6px 12px;border:1px solid}.alert-chip.alert-warn{color:var(--warn);border-color:var(--warn);background:color-mix(in srgb,var(--warn) 8%,transparent)}.alert-chip.alert-off{color:var(--off);border-color:var(--off);background:color-mix(in srgb,var(--off) 8%,transparent)}.alert-chip:hover{filter:brightness(1.1)}.block{margin-top:26px}.block-title{font-size:var(--ds-text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px;font-weight:700}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (min-width: 700px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1100px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1700px){.grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width: 460px){.grid{grid-template-columns:minmax(0,1fr)}}.tile{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--ds-radius-xl);padding:16px 18px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-tile)}.tile.status-on{border-left-color:var(--on)}.tile.status-warn{border-left-color:var(--warn)}.tile.status-off{border-left-color:var(--off)}.tile-todo{opacity:.55}.tile-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile-label{color:var(--muted);font-size:.85rem}.tile-value{font-size:1.65rem;font-weight:650;letter-spacing:-.02em}.chip{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 7px;white-space:nowrap}.chip-todo{color:var(--muted);border:1px dashed var(--border)}.chip-mock{color:var(--warn);border:1px solid var(--warn)}.chip-rev-ok{color:var(--on);border:1px solid var(--on)}.chip-rev-todo{color:var(--warn);border:1px dashed var(--warn)}.tile-deltas{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;min-height:1em}.delta em{color:var(--muted);font-style:normal}.delta.up{color:var(--up)}.delta.down{color:var(--down)}.delta.flat{color:var(--muted)}.tile-link{color:inherit;text-decoration:none;display:inline-flex;align-items:baseline;gap:6px}.tile-link:hover{color:var(--accent)}.tile-link-arrow{font-size:.9rem;color:var(--muted);opacity:0;transition:opacity .12s}.tile-link:hover .tile-link-arrow{opacity:1;color:var(--accent)}.tile-target{font-size:.75rem;color:var(--text);min-height:1em}.tile-note{font-size:.75rem;color:var(--warn)}.table-foot{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:8px}.drill-head-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-check{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted);cursor:pointer}.popover-drills{display:flex;flex-direction:column;gap:4px}.drill-link{color:var(--accent);text-decoration:none;font-weight:600;font-size:.82rem}.drill-link:hover{text-decoration:underline}.dq-block{border-top:1px solid var(--border);padding-top:18px}.dq-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-xl);padding:14px 16px;margin-bottom:12px}.dq-figure{display:flex;flex-direction:column;gap:2px}.dq-figure-value{font-size:1.35rem;font-weight:650;letter-spacing:-.02em}.dq-impact{grid-column:1 / -1;font-size:.85rem;color:var(--text)}.dq-impact strong{color:var(--warn)}.dq-tool{margin-left:auto}.muted{color:var(--muted)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-xl);padding:32px 28px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.login-card h1{font-size:1.25rem;margin:0;letter-spacing:-.01em}.login-sub{color:var(--muted);margin:0 0 6px;font-size:.9rem}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}.login-card input{background:var(--bg);border:1px solid var(--border);border-radius:var(--ds-radius-lg);padding:10px 12px;color:var(--text);font-size:.95rem}.login-card input:focus{outline:none;border-color:var(--accent)}.login-card button{margin-top:6px;background:var(--accent);color:var(--ds-primary-foreground);border:0;border-radius:var(--ds-radius-lg);padding:11px;font-size:.95rem;font-weight:650;cursor:pointer}.login-card button:disabled{opacity:.55;cursor:default}.login-error{color:var(--off);font-size:.85rem}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-xl);padding:16px 14px 8px}.chart-title{font-size:.95rem;margin:0 0 10px 4px;font-weight:600}.chart-body{width:100%}.error{background:color-mix(in srgb,var(--off) 12%,transparent);border:1px solid var(--off);color:var(--off);padding:12px 16px;border-radius:var(--ds-radius-lg);margin-bottom:20px}.brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.brand-logo{height:34px;width:auto;display:block}.brand-title{font-size:var(--ds-text-h1);margin:0;letter-spacing:-.01em;font-weight:700;padding-left:12px;border-left:1px solid var(--border);line-height:1.1}@media (max-width: 560px){.brand-title{padding-left:0;border-left:0}}.plan-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.plan-year{font-size:.85rem;color:var(--muted);display:inline-flex;gap:6px;align-items:center}.plan-basis{max-width:78ch;margin:4px 0 14px;font-size:.85rem}.plan-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-xl);margin-top:16px}.plan-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.82rem}.plan-table th,.plan-table td{padding:6px 10px;white-space:nowrap}.plan-table thead th{position:sticky;top:0;z-index:2;background:var(--surface);text-align:right;border-bottom:1px solid var(--border);font-weight:600;color:var(--muted)}.plan-th-note{display:block;font-size:.68rem;font-weight:400;opacity:.7}.plan-label-col{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;min-width:260px;max-width:260px;overflow:hidden;text-overflow:ellipsis;border-right:1px solid var(--border)}.plan-table thead .plan-label-col{z-index:3}.plan-total-col{text-align:right;font-weight:600;border-left:1px solid var(--border)}.plan-cell{text-align:right;font-variant-numeric:tabular-nums}.plan-open{background:color-mix(in srgb,var(--accent) 3%,transparent)}.plan-closed{background:transparent}.plan-row-section td{padding-top:14px;font-weight:700;font-size:.9rem;color:var(--text)}.plan-row-macro{font-weight:600}.plan-row-macro td{border-top:1px solid var(--border)}.plan-row-cat,.plan-row-line,.plan-row-sub{color:var(--muted)}.plan-row-line{font-size:.78rem}.plan-row-total td{font-weight:700;color:var(--text);border-top:1px solid var(--border)}.plan-row-muted{opacity:.8}.plan-table tbody tr:hover .plan-cell{background:color-mix(in srgb,var(--accent) 7%,transparent)}.plan-indent1{padding-left:14px}.plan-indent2{padding-left:28px;display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.plan-toggle{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0;text-align:left}.plan-count{margin-left:6px;font-size:.7rem;opacity:.6}.plan-method{margin-left:6px;font-size:.68rem;background:var(--bg);color:var(--muted);border:1px solid var(--border);border-radius:var(--ds-radius-sm);padding:0 2px}.plan-warn{margin-left:4px;color:var(--warn);font-size:.7rem;cursor:help}.plan-editable{cursor:text}.plan-editable:hover{outline:1px solid var(--accent);outline-offset:-1px}.plan-manual{border-left:2px solid var(--accent);font-weight:600;color:var(--text)}.plan-lock{margin-left:4px;font-size:.65rem}.plan-input{width:88px;text-align:right;font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--accent);border-radius:var(--ds-radius-sm);padding:1px 4px}.plan-pos{color:var(--up)}.plan-neg{color:var(--down)}.plan-legend{display:flex;gap:6px;align-items:center;font-size:.78rem;color:var(--muted);margin-top:8px}.plan-chip{width:12px;height:12px;border-radius:3px;display:inline-block;margin-left:12px}.plan-chip-cons{background:var(--accent)}.plan-chip-auto{background:color-mix(in srgb,var(--accent) 30%,transparent);border:1px dashed var(--accent)}.plan-chip-manual{background:var(--surface);border-left:3px solid var(--accent);border-top:1px solid var(--border)}.plan-events{margin-top:18px}.plan-events h3{font-size:.95rem;margin:0 0 6px}.plan-events ul{list-style:none;padding:0;margin:0;font-size:.85rem}.plan-events li{padding:4px 0;border-bottom:1px solid var(--border)}.plan-events button{margin-left:10px}.plan-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.plan-modal-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--ds-radius-xl);padding:20px;max-width:900px;width:100%;max-height:85vh;overflow:auto;box-shadow:var(--shadow-pop)}.plan-modal-narrow{max-width:420px}.plan-modal-body h3{margin:0 0 8px}.plan-modal-scroll{max-height:46vh;overflow:auto;margin:12px 0}.plan-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.plan-primary{background:var(--accent);color:var(--ds-primary-foreground);border-color:var(--accent)}.plan-field{display:flex;flex-direction:column;gap:4px;margin:10px 0;font-size:.85rem;color:var(--muted)}.plan-field input,.plan-field select{font:inherit;padding:6px 8px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--ds-radius-sm)}.checks{border:1px solid var(--border);border-radius:var(--ds-radius-xl);background:var(--surface);margin-bottom:18px}.checks-ko{border-color:var(--off);border-left-width:3px}.checks-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-align:left}.checks-badge{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;color:var(--ds-primary-foreground);background:var(--on)}.checks-ko .checks-badge{background:var(--off)}.checks-title{font-weight:600;flex:1}.checks-toggle{font-size:.8rem;color:var(--muted);text-decoration:underline}.checks-body{padding:0 16px 14px}.checks-body .drill-wrap{margin-top:8px}.check-domain{margin-left:8px;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.check-esito{font-weight:600;font-size:.8rem}.check-ok{color:var(--on)}.check-warn{color:var(--warn)}.check-fail{color:var(--off)}.check-skipped{color:var(--muted)}.check-detail td{background:var(--bg);font-size:.82rem}.check-question{margin:4px 0;font-style:italic}.check-where{margin:6px 0 2px;color:var(--muted)}.check-items{margin:6px 0;padding-left:18px}.plan-line-detail td{background:var(--bg);font-size:.78rem;padding:8px 14px 10px}.plan-line-detail .muted{margin:0 0 6px}.plan-detail-list{columns:2;column-gap:28px;list-style:none;padding:0;margin:0}.plan-detail-list li{break-inside:avoid;display:flex;justify-content:space-between;gap:12px;padding:1px 0}.plan-detail-warn{color:var(--warn)}@media (max-width: 900px){.plan-detail-list{columns:1}}.plan-detail-table{border-collapse:collapse;width:100%;font-size:.75rem;margin-top:4px}.plan-detail-table th,.plan-detail-table td{padding:3px 8px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.plan-detail-table thead th{color:var(--muted);font-weight:600;border-bottom:1px solid var(--border)}.plan-detail-table th:first-child,.plan-detail-name{text-align:left}.plan-detail-name{max-width:240px;overflow:hidden;text-overflow:ellipsis}.plan-detail-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}.plan-detail-rest td{border-top:1px solid var(--border);font-style:italic}.plan-detail-table tr.plan-detail-warn td{color:var(--warn)}
