@font-face{font-family:Montserrat;src:url(/fonts/montserrat-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--paper:#fff;--plate:#fafafa;--wash:#f5f5f5;--wash-2:#eee;--rule:#e4e4e4;--rule-2:#cfcfd1;--ink:#111;--ink-hover:#2a2a2d;--ink-2:#38383b;--ink-3:#55555a;--ink-4:#6b6b70;--on-paint:#fff;--scrim:#11111157;--selection:#111;--on-selection:#fff;--shadow-1:0 1px 2px #1111110f, 0 1px 1px #1111110a;--shadow-2:0 10px 28px -8px #11111129, 0 2px 6px #1111110f;--shadow-3:0 28px 72px -16px #11111152, 0 6px 16px #11111114;--paint-home:#141414;--paint-home-ink:#111;--paint-home-tint:#f2f2f2;--paint-ops:#0b5d46;--paint-ops-ink:#0f7a5a;--paint-ops-tint:#e8f2ed;--paint-stats:#4a2a9e;--paint-stats-ink:#5b34b0;--paint-stats-tint:#f0ecfa;--paint-compta:#1d4fcc;--paint-compta-ink:#2563eb;--paint-compta-tint:#ecf1fd;--paint-admin:#46494e;--paint-admin-ink:#55585d;--paint-admin-tint:#eff0f1;--ops-s1:#0f7a5a;--ops-s2:#9a4fd0;--ops-s3:#c98500;--stats-s1:#5b34b0;--stats-s2:#e0712c;--stats-s3:#1a9e72;--compta-s1:#2563eb;--compta-s2:#e0712c;--compta-s3:#1a9e72;--home-s1:#111;--home-s2:#e0712c;--home-s3:#1a9e72;--ok:#1fa864;--ok-ink:#12753f;--ok-tint:#e8f6ee;--warn:#e0a100;--warn-ink:#8a5a00;--warn-tint:#fdf3d9;--bad:#e53935;--bad-ink:#c0271f;--bad-tint:#fdecea;--chart-grid:#ececec;--chart-axis:#cfcfd1;--chart-label:#6b6b70;--hatch:repeating-linear-gradient(135deg, #ffffff21 0 2px, transparent 2px 8px);--lacquer-sheen:linear-gradient(180deg, transparent 0 2px, #ffffff42 2px 3px, transparent 3px);--primer-grey:#77777c;--t-2xs:.625rem;--t-xs:.6875rem;--t-sm:.8125rem;--t-base:.875rem;--t-md:1rem;--t-lg:1.1875rem;--t-xl:1.5rem;--t-2xl:2rem;--t-hero:3rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:48px;--s-10:64px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--rail-w:252px;--top-h:60px;--tabs-h:64px;--content-max:1480px;--gutter:clamp(16px, 2.6vw, 32px);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--paint:var(--paint-home);--paint-ink:var(--paint-home-ink);--paint-tint:var(--paint-home-tint);--s1:var(--home-s1);--s2:var(--home-s2);--s3:var(--home-s3)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0f0f11;--plate:#141417;--wash:#1a1a1e;--wash-2:#222227;--rule:#2a2a30;--rule-2:#3a3a42;--ink:#f3f3f4;--ink-hover:#fff;--ink-2:#d9d9dd;--ink-3:#ababb2;--ink-4:#93939b;--scrim:#0000008f;--selection:#f3f3f4;--on-selection:#0f0f11;--shadow-1:0 1px 2px #0006;--shadow-2:0 12px 32px -8px #0009, 0 2px 6px #0006;--shadow-3:0 28px 72px -16px #000000bf, 0 6px 16px #00000080;--paint-home:#1d1d21;--paint-home-ink:#f3f3f4;--paint-home-tint:#1d1d21;--paint-ops:#0c5a44;--paint-ops-ink:#3cbd8e;--paint-ops-tint:#10241d;--paint-stats:#4b2f9a;--paint-stats-ink:#a594f2;--paint-stats-tint:#1d1830;--paint-compta:#1e4fc4;--paint-compta-ink:#6f9cf6;--paint-compta-tint:#121d33;--paint-admin:#3e4146;--paint-admin-ink:#b4b7bc;--paint-admin-tint:#1f2023;--ops-s1:#199e70;--ops-s2:#9085e9;--ops-s3:#c98500;--stats-s1:#9085e9;--stats-s2:#d95926;--stats-s3:#199e70;--compta-s1:#3987e5;--compta-s2:#d95926;--compta-s3:#199e70;--home-s1:#e6e6e8;--home-s2:#d95926;--home-s3:#199e70;--ok:#2fbf74;--ok-ink:#5fd496;--ok-tint:#11261b;--warn:#f0b429;--warn-ink:#f3c552;--warn-tint:#2a2210;--bad:#f0605c;--bad-ink:#ff8a85;--bad-tint:#2e1514;--chart-grid:#232328;--chart-axis:#3a3a42;--chart-label:#93939b;--primer-grey:#55555b}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0f0f11;--plate:#141417;--wash:#1a1a1e;--wash-2:#222227;--rule:#2a2a30;--rule-2:#3a3a42;--ink:#f3f3f4;--ink-hover:#fff;--ink-2:#d9d9dd;--ink-3:#ababb2;--ink-4:#93939b;--scrim:#0000008f;--selection:#f3f3f4;--on-selection:#0f0f11;--shadow-1:0 1px 2px #0006;--shadow-2:0 12px 32px -8px #0009, 0 2px 6px #0006;--shadow-3:0 28px 72px -16px #000000bf, 0 6px 16px #00000080;--paint-home:#1d1d21;--paint-home-ink:#f3f3f4;--paint-home-tint:#1d1d21;--paint-ops:#0c5a44;--paint-ops-ink:#3cbd8e;--paint-ops-tint:#10241d;--paint-stats:#4b2f9a;--paint-stats-ink:#a594f2;--paint-stats-tint:#1d1830;--paint-compta:#1e4fc4;--paint-compta-ink:#6f9cf6;--paint-compta-tint:#121d33;--paint-admin:#3e4146;--paint-admin-ink:#b4b7bc;--paint-admin-tint:#1f2023;--ops-s1:#199e70;--ops-s2:#9085e9;--ops-s3:#c98500;--stats-s1:#9085e9;--stats-s2:#d95926;--stats-s3:#199e70;--compta-s1:#3987e5;--compta-s2:#d95926;--compta-s3:#199e70;--home-s1:#e6e6e8;--home-s2:#d95926;--home-s3:#199e70;--ok:#2fbf74;--ok-ink:#5fd496;--ok-tint:#11261b;--warn:#f0b429;--warn-ink:#f3c552;--warn-tint:#2a2210;--bad:#f0605c;--bad-ink:#ff8a85;--bad-tint:#2e1514;--chart-grid:#232328;--chart-axis:#3a3a42;--chart-label:#93939b;--primer-grey:#55555b}[data-cat=home]{--paint:var(--paint-home);--paint-ink:var(--paint-home-ink);--paint-tint:var(--paint-home-tint);--s1:var(--home-s1);--s2:var(--home-s2);--s3:var(--home-s3)}[data-cat=ops]{--paint:var(--paint-ops);--paint-ink:var(--paint-ops-ink);--paint-tint:var(--paint-ops-tint);--s1:var(--ops-s1);--s2:var(--ops-s2);--s3:var(--ops-s3)}[data-cat=stats]{--paint:var(--paint-stats);--paint-ink:var(--paint-stats-ink);--paint-tint:var(--paint-stats-tint);--s1:var(--stats-s1);--s2:var(--stats-s2);--s3:var(--stats-s3)}[data-cat=compta]{--paint:var(--paint-compta);--paint-ink:var(--paint-compta-ink);--paint-tint:var(--paint-compta-tint);--s1:var(--compta-s1);--s2:var(--compta-s2);--s3:var(--compta-s3)}[data-cat=admin]{--paint:var(--paint-admin);--paint-ink:var(--paint-admin-ink);--paint-tint:var(--paint-admin-tint);--s1:var(--home-s1);--s2:var(--home-s2);--s3:var(--home-s3)}[data-env=prod]{--finish:var(--paint);--finish-texture:var(--lacquer-sheen)}[data-env=dev]{--finish:color-mix(in oklch, var(--paint) 42%, var(--primer-grey));--finish-texture:var(--hatch)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scrollbar-color:var(--rule-2) transparent}body{background:var(--paper);min-height:100dvh;color:var(--ink-2);font-family:var(--font-sans);font-size:var(--t-base);font-feature-settings:"kern", "liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-weight:500;line-height:1.5}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700;line-height:1.15}p{text-wrap:pretty;margin:0}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--rule-2);text-decoration-color:var(--rule-2)}a:hover{text-decoration-color:currentColor}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}img,svg{max-width:100%;display:block}::selection{background:var(--selection);color:var(--on-selection)}input,textarea{caret-color:var(--paint-ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--r-xs)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--rule-2);border:3px solid var(--paper);border-radius:var(--r-pill)}::-webkit-scrollbar-track{background:0 0}table{border-collapse:collapse}hr{border:0;border-top:1px solid var(--rule);margin:var(--s-5) 0}code,kbd,.mono{font-family:var(--font-mono);letter-spacing:.01em;font-size:.92em}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.btn{--btn-h:36px;justify-content:center;align-items:center;gap:var(--s-2);height:var(--btn-h);border:1px solid var(--rule-2);background:var(--paper);color:var(--ink);font-size:var(--t-base);white-space:nowrap;transition:background-color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);border-radius:10px;padding:0 14px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--wash);border-color:var(--ink-4)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn svg{stroke-width:2px;flex:none;width:16px;height:16px}.btn--primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn--primary:hover{background:var(--ink-hover);border-color:var(--ink-hover)}.btn--danger{background:var(--bad-ink);border-color:var(--bad-ink);color:#fff}.btn--danger:hover{background:color-mix(in oklch, var(--bad-ink) 88%, black)}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--wash);border-color:#0000}.btn--sm{--btn-h:30px;font-size:var(--t-sm);border-radius:var(--r-md);padding:0 10px}.btn--lg{--btn-h:44px;font-size:var(--t-md);border-radius:var(--r-lg);padding:0 20px}.btn--icon{width:var(--btn-h);padding:0}.btn--block{width:100%}.btn .spinner{width:14px;height:14px}.field{gap:6px;min-width:0;display:grid}.field__label{color:var(--ink-2);font-size:var(--t-sm);font-weight:600}.field__hint{color:var(--ink-4);font-size:var(--t-xs)}.field__error{color:var(--bad-ink);font-size:var(--t-xs);font-weight:600}.input,.select,.textarea{border:1px solid var(--rule-2);border-radius:var(--r-md);background:var(--paper);width:100%;min-height:36px;color:var(--ink);font-size:var(--t-base);transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);padding:7px 11px}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-4)}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in oklch, var(--ink) 12%, transparent);outline:none}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--bad-ink)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--wash);color:var(--ink-4);cursor:not-allowed}.textarea{resize:vertical;min-height:96px;line-height:1.55}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b6b70' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}.input--search{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%236b6b70' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-position:11px;background-repeat:no-repeat;padding-left:34px}.check{align-items:center;gap:var(--s-2);font-size:var(--t-base);color:var(--ink-2);cursor:pointer;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--ink);margin:0}.switch{align-items:center;gap:var(--s-3);cursor:pointer;color:var(--ink-2);font-weight:600;display:inline-flex;position:relative}.switch input{opacity:0;cursor:pointer;position:absolute;inset:0}.switch__track{border-radius:var(--r-pill);background:var(--rule-2);width:38px;height:22px;transition:background-color var(--dur-2) var(--ease-out);flex:none;position:relative}.switch__track:after{content:"";width:16px;height:16px;transition:transform var(--dur-2) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch__track{background:var(--ink)}.switch input:checked+.switch__track:after{transform:translate(16px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--ink);outline-offset:2px}.switch input:disabled+.switch__track{opacity:.45}.segmented{background:var(--wash);border:1px solid var(--rule);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segmented button{white-space:nowrap;height:28px;color:var(--ink-3);font-size:var(--t-sm);transition:background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:0;border-radius:7px;padding:0 12px;font-weight:600}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-1)}.tabs{gap:var(--s-1);border-bottom:1px solid var(--rule);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{align-items:center;gap:var(--s-2);height:42px;padding:0 var(--s-3);color:var(--ink-3);font-size:var(--t-base);white-space:nowrap;background:0 0;border:0;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.tab:hover,.tab[aria-selected=true],.tab.active{color:var(--ink)}.tab[aria-selected=true]:after,.tab.active:after{content:"";left:var(--s-2);right:var(--s-2);background:var(--paint-ink);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px}.tab .count{border-radius:var(--r-pill);background:var(--wash-2);min-width:20px;color:var(--ink-2);font-size:var(--t-xs);text-align:center;font-variant-numeric:tabular-nums;padding:0 6px;line-height:18px}.panel{border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--paper);min-width:0}.panel--plate{background:var(--plate)}.panel__head{align-items:center;gap:var(--s-3);min-height:52px;padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--rule);display:flex}.panel__head--flush{border-bottom:0;padding-bottom:0}.panel__title{align-items:center;gap:var(--s-2);min-width:0;color:var(--ink);font-size:var(--t-md);letter-spacing:-.015em;font-weight:700;display:flex}.panel__title svg{width:17px;height:17px;color:var(--ink-3)}.panel__actions{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.panel__body{padding:var(--s-5)}.panel__body--flush{padding:0}.panel__foot{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-top:1px solid var(--rule);color:var(--ink-4);font-size:var(--t-xs);display:flex}.label{color:var(--ink-4);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:600}.readout{color:var(--ink-4);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.02em;font-variant-numeric:tabular-nums}.fresh{color:var(--ink-4);font-size:var(--t-xs);flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:inline-flex}.fresh>.readout{white-space:nowrap}.fresh>.readout+.fresh__when:before{content:"·";margin-right:6px}.ref{border-radius:var(--r-xs);background:var(--wash);height:20px;color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;align-items:center;padding:0 6px;font-size:.6875rem;font-weight:500;text-decoration:none;display:inline-flex}a.ref:hover,button.ref:hover{background:var(--ink);color:var(--paper)}button.ref{border:0}.chip{--chip-size:14px;width:var(--chip-size);height:var(--chip-size);background-color:var(--finish,var(--paint));background-image:var(--finish-texture,var(--lacquer-sheen));border-radius:4px;flex:none;display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #0000001f,inset 0 1px #ffffff47}.chip--lg{--chip-size:28px;border-radius:7px}.chip--xl{--chip-size:40px;border-radius:10px}.chip[data-env=dev]{box-shadow:inset 0 0 0 1px #00000024}.lit{background:var(--paint-ink);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in oklch, var(--paint-ink) 22%, transparent);border-radius:50%;flex:none;display:inline-block}.sev{background:var(--ink-4);border-radius:50%;flex:none;display:inline-block}.sev--1{width:7px;height:7px;box-shadow:inset 0 0 0 1.5px var(--ink-4);background:0 0}.sev--2{background:var(--ink-3);width:9px;height:9px}.sev--3{background:var(--ink);width:12px;height:12px}.badge{border-radius:var(--r-pill);background:var(--wash-2);height:22px;color:var(--ink-2);font-size:var(--t-xs);white-space:nowrap;align-items:center;gap:5px;padding:0 8px;font-weight:600;display:inline-flex}.badge svg{stroke-width:2.25px;width:13px;height:13px}.badge--ok{background:var(--ok-tint);color:var(--ok-ink)}.badge--warn{background:var(--warn-tint);color:var(--warn-ink)}.badge--bad{background:var(--bad-tint);color:var(--bad-ink)}.badge--paint{background:var(--paint-tint);color:var(--paint-ink)}.badge--ink{background:var(--ink);color:var(--paper)}.badge--outline{box-shadow:inset 0 0 0 1px var(--rule-2);background:0 0}.notice{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--wash);color:var(--ink-2);font-size:var(--t-sm);align-items:flex-start;line-height:1.5;display:flex}.notice svg{flex:none;width:17px;height:17px;margin-top:1px}.notice strong{color:var(--ink)}.notice--warn{background:var(--warn-tint);color:var(--warn-ink)}.notice--warn strong{color:inherit}.notice--bad{background:var(--bad-tint);color:var(--bad-ink)}.notice--bad strong{color:inherit}.notice--ok{background:var(--ok-tint);color:var(--ok-ink)}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{width:100%;font-size:var(--t-sm)}.table th{z-index:1;padding:10px var(--s-4);border-bottom:1px solid var(--rule);background:var(--plate);color:var(--ink-4);font-size:var(--t-xs);letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap;font-weight:600;position:sticky;top:0}.table th button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.table th button:hover{color:var(--ink)}.table th button svg{width:12px;height:12px}.table td{padding:11px var(--s-4);border-bottom:1px solid var(--rule);color:var(--ink-2);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color var(--dur-1) var(--ease-out)}.table tbody tr:hover{background:var(--plate)}.table tbody tr[data-href]{cursor:pointer}.table .num,.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table td strong{color:var(--ink);font-weight:600}.table--dense td{padding-top:7px;padding-bottom:7px}.cell-main{align-items:center;gap:var(--s-3);min-width:0;display:flex}.cell-main>div{min-width:0}.cell-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.cell-sub{color:var(--ink-4);font-size:var(--t-xs);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.avatar{background:var(--wash-2);width:32px;height:32px;color:var(--ink-2);font-size:var(--t-xs);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar--sm{width:24px;height:24px;font-size:.625rem}.avatar--lg{width:56px;height:56px;font-size:var(--t-md)}.kpi{min-width:0;padding:var(--s-4) var(--s-5) var(--s-4);gap:6px;display:grid;position:relative;container-type:inline-size}.kpi__label{color:var(--ink-3);font-size:var(--t-sm);align-items:center;gap:6px;font-weight:600;display:flex}.kpi__value{align-items:baseline;gap:var(--s-2);color:var(--ink);font-size:clamp(1rem, calc(100cqi / (var(--kpi-chars,6) * .62)), var(--t-2xl));letter-spacing:-.03em;font-weight:700;line-height:1.05;display:flex}.kpi__value small{color:var(--ink-4);font-size:var(--t-sm);letter-spacing:0;font-weight:600}.kpi__meta{align-items:center;gap:6px var(--s-3);min-height:18px;color:var(--ink-4);font-size:var(--t-xs);flex-wrap:wrap;display:flex}.kpi__spark{height:36px;margin-top:2px}.kpi--abnormal .kpi__value:before{content:"";inset:var(--s-2);border-radius:var(--r-md);box-shadow:0 0 0 2px var(--warn);pointer-events:none;position:absolute}.delta{font-size:var(--t-xs);font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-weight:700;display:inline-flex}.delta svg{stroke-width:2.5px;width:13px;height:13px}.delta--good{color:var(--ok-ink)}.delta--bad{color:var(--bad-ink)}.delta--flat{color:var(--ink-4)}.hero-figure{color:var(--ink);font-size:var(--t-hero);letter-spacing:-.04em;font-weight:700;line-height:1}.meter{border-radius:var(--r-pill);background:color-mix(in oklch, var(--paint-ink) 14%, var(--paper));height:8px;overflow:hidden}.meter>span{border-radius:inherit;background:var(--paint-ink);height:100%;clip-path:inset(0 calc(100% - var(--meter,0%)) 0 0 round var(--r-pill));transition:clip-path var(--dur-3) var(--ease-out);display:block}.empty{justify-items:center;gap:var(--s-3);padding:var(--s-9) var(--s-5);color:var(--ink-3);text-align:center;display:grid}.empty__icon{border-radius:var(--r-lg);background:var(--wash);width:44px;height:44px;color:var(--ink-3);place-items:center;display:grid}.empty__icon svg{width:20px;height:20px}.empty__title{color:var(--ink);font-size:var(--t-md);font-weight:700}.empty p{max-width:46ch;font-size:var(--t-sm)}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--wash) 0%, var(--wash-2) 45%, var(--wash) 90%);animation:shimmer 1.4s var(--ease-in-out) infinite;background-size:300% 100%;display:block}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.stale{opacity:.55;transition:opacity var(--dur-2) var(--ease-out)}.dialog{border:1px solid var(--rule);border-radius:var(--r-xl);background:var(--paper);width:min(560px,100vw - 32px);max-height:min(86dvh,820px);color:var(--ink-2);box-shadow:var(--shadow-3);padding:0}.dialog--wide{width:min(880px,100vw - 32px)}.dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[open]{animation:dialog-in var(--dur-2) var(--ease-out)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.dialog__head{align-items:flex-start;gap:var(--s-3);padding:var(--s-5) var(--s-6) var(--s-3);display:flex}.dialog__title{font-size:var(--t-lg)}.dialog__body{gap:var(--s-4);padding:var(--s-2) var(--s-6) var(--s-5);display:grid;overflow-y:auto}.dialog__foot{justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-6);border-top:1px solid var(--rule);background:var(--plate);border-radius:0 0 var(--r-xl) var(--r-xl);display:flex}.drawer{border:0;border-left:1px solid var(--rule);background:var(--paper);width:min(520px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink-2);box-shadow:var(--shadow-3);margin:0 0 0 auto;padding:0;position:fixed;inset:0 0 0 auto}.drawer::backdrop{background:var(--scrim)}.drawer[open]{animation:drawer-in var(--dur-3) var(--ease-out);flex-direction:column;display:flex}@keyframes drawer-in{0%{opacity:0;transform:translate(32px)}}.popover{z-index:60;border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--paper);min-width:200px;max-width:min(360px,100vw - 24px);box-shadow:var(--shadow-2);animation:pop-in var(--dur-1) var(--ease-out);padding:6px;position:fixed}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}.menu-item{align-items:center;gap:var(--s-3);width:100%;min-height:36px;padding:0 var(--s-3);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--t-base);text-align:left;background:0 0;border:0;font-weight:600;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--wash);color:var(--ink);outline:none}.menu-item svg{width:16px;height:16px;color:var(--ink-3)}.menu-item--danger,.menu-item--danger svg{color:var(--bad-ink)}.menu-sep{background:var(--rule);height:1px;margin:6px 4px}.toasts{right:var(--s-5);bottom:calc(var(--s-5) + env(safe-area-inset-bottom));z-index:80;gap:var(--s-2);width:min(380px,100vw - 32px);display:grid;position:fixed}.toast{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-2);font-size:var(--t-sm);animation:toast-in var(--dur-2) var(--ease-out);font-weight:600;display:flex}.toast svg{flex:none;width:17px;height:17px;margin-top:1px}.toast--bad svg{color:var(--bad)}.toast--ok svg{color:var(--ok)}.toast button{color:inherit;opacity:.6;background:0 0;border:0;margin-left:auto}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.tip{z-index:90;border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper);min-width:140px;max-width:280px;box-shadow:var(--shadow-2);pointer-events:none;font-size:var(--t-xs);padding:8px 10px;position:fixed}.tip__title{color:var(--ink-4);margin-bottom:4px;font-weight:600}.tip__row{align-items:center;gap:8px;line-height:1.7;display:flex}.tip__row strong{color:var(--ink);font-size:var(--t-sm);font-variant-numeric:tabular-nums}.tip__row span{color:var(--ink-3)}.tip__key{border-radius:2px;flex:none;width:12px;height:2px}kbd{border:1px solid var(--rule-2);background:var(--paper);min-width:20px;height:20px;color:var(--ink-3);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 5px;font-size:.6875rem;display:inline-grid}.facts{font-size:var(--t-sm);grid-template-columns:minmax(120px,34%) 1fr;margin:0;display:grid}.facts dt,.facts dd{border-bottom:1px solid var(--rule);margin:0;padding:9px 0}.facts dt{color:var(--ink-4);font-weight:600}.facts dd{min-width:0;color:var(--ink);overflow-wrap:anywhere}.facts>:nth-last-child(-n+2){border-bottom:0}.filters{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.filters .input,.filters .select{width:auto;min-width:160px}.filters .input--search{min-width:min(320px,100%)}.stack{gap:var(--s-5);min-width:0;display:grid}.stack--sm{gap:var(--s-3)}.row{align-items:center;gap:var(--s-3);min-width:0;display:flex}.row--wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.muted{color:var(--ink-4)}.strong{color:var(--ink);font-weight:700}.grid{gap:var(--s-5);min-width:0;display:grid}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--main-side{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}.kpi-row{--kpi-cols:4;grid-template-columns:repeat(var(--kpi-cols), minmax(0, 1fr));border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--rule);gap:1px;display:grid;overflow:hidden}.kpi-row:has(>:nth-child(3):last-child){--kpi-cols:3}.kpi-row:has(>:nth-child(2):last-child){--kpi-cols:2}.kpi-row>*{background:var(--paper)}@container page (width<=760px){.kpi-row{--kpi-cols:2}.kpi-row:has(>:nth-child(3):last-child)>:last-child{grid-column:1/-1}}@container page (width<=340px){.kpi-row{--kpi-cols:1}}@media (max-width:1180px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--main-side{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.grid--2,.grid--3{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.grid--4{grid-template-columns:minmax(0,1fr)}.facts{grid-template-columns:1fr}.facts dt{border-bottom:0;padding-bottom:0}}@media (max-width:719px){.hide-mobile{display:none}}.table tbody tr[aria-selected=true]{background:var(--paint-tint)}.app{grid-template-columns:var(--rail-w) minmax(0, 1fr);min-height:100dvh;display:grid}.rail{z-index:30;background-color:var(--finish);background-image:var(--finish-texture);height:100dvh;color:var(--on-paint);isolation:isolate;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.rail__wipe{z-index:-1;background-color:var(--finish);background-image:var(--finish-texture);clip-path:inset(0);animation:paint-wipe var(--dur-2) var(--ease-out) both;position:absolute;inset:0}@keyframes paint-wipe-x{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes paint-wipe{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.rail__brand{align-items:center;gap:var(--s-3);height:64px;padding:0 var(--s-5);color:var(--on-paint);text-decoration:none;display:flex}.rail__brand svg{width:112px;height:auto}.rail__product{border-radius:var(--r-xs);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#ffffff24;padding:2px 6px;font-size:.625rem}.rail__scroll{padding:var(--s-2) var(--s-3) var(--s-4);scrollbar-width:none;flex:1;overflow-y:auto}.rail__scroll::-webkit-scrollbar{display:none}.rail__group{margin-top:var(--s-2)}.rail__link{align-items:center;gap:var(--s-3);min-height:38px;padding:0 var(--s-3);border-radius:var(--r-md);color:#fffffff0;font-size:var(--t-base);transition:background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);font-weight:600;text-decoration:none;display:flex;position:relative}.rail__link:hover{color:#fff;background:#ffffff1a}.rail__link.active{color:#fff;background:#ffffff29}.rail__link svg{stroke-width:2px;flex:none;width:17px;height:17px}.rail__link .chip{box-shadow:inset 0 0 0 1px #fff6,0 1px 2px #0003}.rail__link--cat{letter-spacing:-.01em;min-height:42px;font-weight:700}.rail[data-cat=home] .rail__link--cat{background-color:var(--finish);background-image:var(--finish-texture);color:var(--on-paint);margin-bottom:4px;box-shadow:inset 0 0 0 1px #ffffff1a}.rail[data-cat=home] .rail__link--cat:hover{filter:brightness(1.12)}.rail__link .count{border-radius:var(--r-pill);color:#fff;min-width:20px;font-size:var(--t-xs);text-align:center;font-variant-numeric:tabular-nums;background:#ffffff2e;margin-left:auto;padding:0 6px;line-height:18px}.rail__link .lit{background:#fff;margin-left:auto;box-shadow:0 0 0 3px #ffffff40}.rail__sub{margin:2px 0 var(--s-2) 0;gap:1px;padding-left:22px;display:grid}.rail__heading{margin:var(--s-3) 0 2px;padding:0 var(--s-3);color:#ffffffe6;font-size:var(--t-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:block}.rail__heading:first-child{margin-top:var(--s-1)}.rail__sub .rail__link{min-height:32px;font-size:var(--t-sm);color:#ffffffe6;font-weight:600}.rail__sub .rail__link.active{color:#fff}.rail__section{margin-top:2px}.rail__section-head{width:100%;font:inherit;text-align:left;background:0 0;border:0}.rail__sub .rail__section-head{min-height:36px;font-size:var(--t-sm);color:#fff;font-weight:700}.rail__section-head .grow{min-width:0}.rail__section-head .count{margin-left:0}.rail__section-head .rail__chevron{opacity:.75;width:15px;height:15px;transition:transform var(--dur-2) var(--ease-out);transform:rotate(-90deg)}.rail__section[data-open] .rail__chevron{transform:none}.rail__section-items{margin-bottom:var(--s-1);gap:1px;display:grid}.rail__section-items[hidden]{display:none}.rail__sub .rail__section-items .rail__link{padding-left:calc(var(--s-3) * 2 + 17px);color:#ffffffd1;font-weight:500}.rail__sub .rail__section-items .rail__link:hover,.rail__sub .rail__section-items .rail__link.active{color:#fff}.rail__sub .rail__section-items .rail__link.active{font-weight:600}.rail__sep{height:1px;margin:var(--s-3) var(--s-3);background:#ffffff24}.rail__foot{padding:var(--s-3);border-top:1px solid #ffffff24}.rail__me{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2);border-radius:var(--r-md);color:#fff;text-align:left;background:0 0;border:0;display:flex}.rail__me:hover{background:#ffffff1a}.rail__me .avatar{color:#fff;background:#ffffff2e}.rail__me-name{font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}.rail__me-role{color:#ffffffe6;font-size:var(--t-xs);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;align-items:center;gap:var(--s-3);height:var(--top-h);padding:0 var(--gutter);border-bottom:1px solid var(--rule);background:var(--paper);display:flex;position:sticky;top:0}.topbar__crumbs{align-items:center;gap:var(--s-2);min-width:0;color:var(--ink-4);font-size:var(--t-sm);font-weight:600;display:flex}.topbar__crumbs a{color:var(--ink-3);text-decoration:none}.topbar__crumbs a:hover{color:var(--ink)}.topbar__crumbs strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar__crumbs svg{width:14px;height:14px}.topbar__search{align-items:center;gap:var(--s-2);border:1px solid var(--rule);background:var(--plate);width:min(340px,32vw);height:36px;color:var(--ink-4);font-size:var(--t-sm);text-align:left;border-radius:10px;margin-left:auto;padding:0 6px 0 12px;font-weight:600;display:flex}.topbar__search:hover{border-color:var(--rule-2);color:var(--ink-3)}.topbar__search svg{width:15px;height:15px}.topbar__search kbd{margin-left:auto}.envswitch{border:1px solid var(--rule);background:var(--plate);border-radius:10px;align-items:center;gap:2px;padding:3px;display:inline-flex}.envswitch button{height:28px;color:var(--ink-3);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.06em;transition:background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:0 10px 0 7px;font-weight:600;display:inline-flex}.envswitch button:hover:not(:disabled){color:var(--ink)}.envswitch button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-1)}.envswitch button:disabled{cursor:not-allowed;opacity:.4}.envswitch .chip{--chip-size:12px;border-radius:3px}.envswitch--locked{color:var(--ink-4);font-size:var(--t-xs);padding-right:10px}.page{width:100%;max-width:var(--content-max);padding:var(--s-6) var(--gutter) var(--s-10);margin:0 auto;container:page/inline-size}.page-head{align-items:flex-end;gap:var(--s-3) var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.page-head__text{gap:6px;min-width:0;display:grid}.page-head h1{align-items:center;gap:var(--s-3);font-size:var(--t-xl);letter-spacing:-.03em;display:flex}.page-head p{max-width:72ch;color:var(--ink-3);font-size:var(--t-base)}.page-head__actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-left:auto;display:flex}.subnav{margin:calc(var(--s-2) * -1) 0 var(--s-6)}.section-title{align-items:baseline;gap:var(--s-3);margin:var(--s-8) 0 var(--s-4);font-size:var(--t-lg);letter-spacing:-.02em;display:flex}.section-title:first-child{margin-top:0}.section-title .readout,.section-title .fresh{margin-left:auto}.mhead,.mtabs,.msubnav{display:none}@media (max-width:899px){.app{grid-template-columns:minmax(0,1fr)}.rail,.topbar{display:none}.mhead{z-index:30;align-items:center;gap:var(--s-2);min-height:56px;padding:env(safe-area-inset-top) var(--s-3) 0 var(--s-4);background-color:var(--finish);background-image:var(--finish-texture);color:var(--on-paint);isolation:isolate;display:flex;position:sticky;top:0}.mhead__wipe{z-index:-1;background-color:var(--finish);background-image:var(--finish-texture);animation:paint-wipe-x var(--dur-2) var(--ease-out) both;position:absolute;inset:0}.mhead .chip{box-shadow:inset 0 0 0 1px #ffffff8c,0 1px 2px #00000040}.mhead__title{align-items:center;gap:var(--s-2);min-width:0;font-size:var(--t-md);letter-spacing:-.02em;font-weight:700;display:flex}.mhead__title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mhead__actions{align-items:center;gap:2px;margin-left:auto;display:flex}.mhead .btn--ghost{color:#fff}.mhead .btn--ghost:hover{background:#ffffff24}.menv{border-radius:var(--r-pill);color:#fff;height:30px;font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.06em;background:#0000001f;border:1px solid #ffffff59;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.msubnav{top:calc(56px + env(safe-area-inset-top));z-index:25;background:var(--paper);display:block;position:sticky}.msubnav .tabs{padding:0 var(--s-2)}.mtabs{z-index:40;height:calc(var(--tabs-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--rule);background:var(--paper);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mtab{min-height:44px;color:var(--ink-4);background:0 0;border:0;align-content:center;place-items:center;gap:4px;font-size:.6875rem;font-weight:700;text-decoration:none;display:grid;position:relative}.mtab svg{width:21px;height:21px}.mtab.active{color:var(--ink)}.mtab.active:before{content:"";background:var(--tab-paint,var(--ink));border-radius:0 0 3px 3px;width:28px;height:3px;position:absolute;top:-1px}.mtab .lit{width:7px;height:7px;box-shadow:0 0 0 2px var(--paper);position:absolute;top:9px;right:calc(50% - 16px)}.page{padding:var(--s-5) var(--s-4) calc(var(--tabs-h) + var(--s-8) + env(safe-area-inset-bottom))}.page-head{margin-bottom:var(--s-5)}.page-head h1{font-size:var(--t-lg)}.page-head__actions{width:100%;margin-left:0}.toasts{bottom:calc(var(--tabs-h) + var(--s-3) + env(safe-area-inset-bottom));right:var(--s-4)}.btn{--btn-h:40px}.btn--sm{--btn-h:34px}.input,.select{min-height:44px;font-size:16px}.textarea{font-size:16px}}.sheet{width:100vw;max-width:100vw;max-height:86dvh;padding:0 0 env(safe-area-inset-bottom);border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--paper);color:var(--ink-2);box-shadow:var(--shadow-3);border:0;margin:0;position:fixed;inset:auto 0 0}.sheet::backdrop{background:var(--scrim)}.sheet[open]{animation:sheet-in var(--dur-3) var(--ease-out)}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.sheet__grip{border-radius:var(--r-pill);background:var(--rule-2);width:36px;height:4px;margin:10px auto 6px}.sheet__body{padding:var(--s-2) var(--s-3) var(--s-4);gap:2px;display:grid;overflow-y:auto}.sheet__label{padding:var(--s-3) var(--s-3) var(--s-1)}.chart{width:100%;min-width:0;position:relative}.chart svg{touch-action:pan-y;overflow:visible}.chart svg:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.chart__grid{stroke:var(--chart-grid);stroke-width:1px;shape-rendering:crispedges}.chart__base{stroke:var(--chart-axis);stroke-width:1px;shape-rendering:crispedges}.chart__tick{fill:var(--chart-label);font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:600}.chart__cross{stroke:var(--ink-4);stroke-width:1px;shape-rendering:crispedges}.chart__mark line{stroke:var(--ink-3);stroke-width:1px;stroke-opacity:.55}.chart__band{outline:none}.chart__band path,.chart__band rect:not([fill=transparent]){transition:opacity var(--dur-1) var(--ease-out)}.chart:has(.chart__band.is-hover) .chart__band:not(.is-hover) path{opacity:.45}.chart:has(.chart__band.is-hover) .chart__band:not(.is-hover) rect:not([fill=transparent]){opacity:.45}.chart__band:focus-visible rect[fill=transparent]{stroke:var(--ink);stroke-width:1px}.chart-panel__body{gap:var(--s-3);padding-top:var(--s-3);display:grid}.legend{gap:6px var(--s-4);color:var(--ink-3);font-size:var(--t-xs);flex-wrap:wrap;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.legend li{align-items:center;gap:7px;display:inline-flex}.legend__line{border-radius:2px;width:14px;height:2px;display:inline-block}.legend__rect{border-radius:3px;width:10px;height:10px;display:inline-block}.legend--stack{gap:var(--s-2);min-width:0;font-size:var(--t-sm);flex-flow:column}.legend--stack li{gap:var(--s-2);display:flex}.legend--stack strong{color:var(--ink)}.rankbars{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.rankbars__head{align-items:baseline;gap:var(--s-3);font-size:var(--t-sm);display:flex}.rankbars__label{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.rankbars__head strong{color:var(--ink)}.rankbars__track{border-radius:var(--r-pill);background:var(--wash);height:8px;margin-top:5px}.rankbars__track span{border-radius:var(--r-pill);background:var(--s1);height:100%;display:block}.rankbars__sub{color:var(--ink-4);font-size:var(--t-xs)}.donut{align-items:center;gap:var(--s-5);flex-wrap:wrap;display:flex}.donut__ring{flex:none;position:relative}.donut__center{text-align:center;color:var(--ink);align-content:center;place-items:center;font-weight:700;line-height:1.15;display:grid;position:absolute;inset:0}.donut .legend{flex:1;min-width:180px}.chart-table{border:1px solid var(--rule);border-radius:var(--r-md);max-height:320px;overflow:auto}.kpi--link{color:inherit;transition:background-color var(--dur-1) var(--ease-out);text-decoration:none}.kpi--link:hover{background:var(--plate)}.kpi--link:focus-visible{outline-offset:-2px}.pilotage{gap:var(--s-6);grid-template-columns:minmax(0,1fr);grid-template-areas:"bands""cross""log""time";display:grid}.pilotage>.bands{grid-area:bands}.pilotage>.crossings{grid-area:cross}.pilotage__log{grid-area:log}.pilotage__time{grid-area:time}@container page (width>=1040px){.pilotage{grid-template:"bands log""cross log""time log"1fr/minmax(0,1fr) 320px;align-items:start}.pilotage__log{top:calc(var(--top-h) + var(--s-4));position:sticky}}.bands{gap:var(--s-4);display:grid}.band{border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--paper);grid-template-columns:13.5rem minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.band__swatch{gap:var(--s-3);padding:var(--s-3);border-right:1px solid var(--rule);background:var(--plate);flex-direction:column;display:flex}.band__paint{justify-content:space-between;align-items:flex-end;gap:var(--s-2);min-height:88px;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background-color:var(--finish);background-image:var(--finish-texture);color:var(--on-paint);transition:filter var(--dur-1) var(--ease-out);text-decoration:none;display:flex;box-shadow:inset 0 0 0 1px #00000024}.band__paint:hover{filter:brightness(1.1)}.band__paint:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.band__paint svg{flex:none;width:18px;height:18px}.band__title{color:inherit;font-size:var(--t-lg);letter-spacing:-.02em}.band__spec{padding:0 var(--s-1);font-size:var(--t-xs);gap:5px;margin:0;display:grid}.band__spec>div{justify-content:space-between;gap:var(--s-2);display:flex}.band__spec dt{color:var(--ink-4)}.band__spec dd{color:var(--ink-2);text-align:right;margin:0;font-weight:600}.band__code{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;font-weight:500}.band__foot{padding:var(--s-2) var(--s-1) 0;border-top:1px solid var(--rule);margin-top:auto}.band__kpis{background:var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.band__kpis>*{background:var(--paper)}.band__waiting{gap:var(--s-4);padding:var(--s-5);font-size:var(--t-sm);grid-column:1/-1;align-items:flex-start;display:flex}.band__waiting .empty__icon{background:var(--paint-tint);color:var(--paint-ink);flex:none}.band__waiting p+p{margin-top:4px}@container page (width<=760px){.band{grid-template-columns:minmax(0,1fr)}.band__swatch{border-right:0;border-bottom:1px solid var(--rule)}.band__paint{min-height:60px}.band__spec{justify-content:start;gap:var(--s-5);grid-template-columns:repeat(3,auto)}.band__spec>div{flex-direction:column;gap:2px}.band__spec dd{text-align:left}}@container page (width<=560px){.band__kpis{grid-template-columns:minmax(0,1fr)}}.legend__mark{background:var(--ink-3);width:1px;height:12px;display:inline-block}.audit-list{margin:0;padding:0;list-style:none}.audit{gap:var(--s-2);padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--rule);grid-template-columns:20px minmax(0,1fr);display:grid}.audit:last-child{border-bottom:0}.audit__sev{place-items:center;height:20px;display:grid}.audit__summary{align-items:baseline;gap:var(--s-2);color:var(--ink);font-size:var(--t-sm);font-weight:600;line-height:1.45;display:flex}.audit__summary .lit{flex:none;transform:translateY(-1px)}.audit__meta{align-items:center;gap:4px var(--s-3);color:var(--ink-4);font-size:var(--t-xs);flex-wrap:wrap;margin-top:4px;display:flex}.audit__cat{color:var(--ink-3);align-items:center;gap:6px;font-weight:600;display:inline-flex}.audit__cat .chip{--chip-size:10px;border-radius:3px}.audit--compact{padding:10px var(--s-4)}.audit-day{top:var(--top-h);z-index:2;padding:8px var(--s-5);border-bottom:1px solid var(--rule);background:var(--plate);color:var(--ink-3);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700;position:sticky}.palette{width:min(620px,100vw - 24px);margin-top:12vh;padding:0}.palette__search{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);display:flex}.palette__search svg{width:18px;height:18px;color:var(--ink-4)}.palette__search input{min-width:0;height:40px;color:var(--ink);font-size:var(--t-md);background:0 0;border:0;outline:none;flex:1;font-weight:600}.palette__list{max-height:min(56dvh,460px);margin:0;padding:6px;list-style:none;overflow-y:auto}.palette__item{align-items:center;gap:var(--s-3);min-height:40px;padding:0 var(--s-3);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--t-base);cursor:pointer;font-weight:600;display:flex}.palette__item svg{width:16px;height:16px;color:var(--ink-3)}.palette__item .chip{--chip-size:14px}.palette__item[aria-selected=true]{background:var(--wash);color:var(--ink)}.palette__item .muted{font-size:var(--t-xs)}.palette__none{padding:var(--s-5);color:var(--ink-4);text-align:center}.drawer__body{min-height:0;padding:var(--s-5) var(--s-5) var(--s-8);flex:1;overflow-y:auto}.noaccess{justify-items:center;gap:var(--s-3);max-width:460px;margin:var(--s-10) auto;text-align:center;display:grid}@media (max-width:899px){.audit-day{top:calc(56px + 42px + env(safe-area-inset-top))}}.queues{display:grid}.queue{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--rule);color:inherit;transition:background-color var(--dur-1) var(--ease-out);text-decoration:none;display:flex}.queue:last-child{border-bottom:0}.queue:hover{background:var(--plate)}.queue__icon{border-radius:var(--r-md);background:var(--paint-tint);width:32px;height:32px;color:var(--paint-ink);flex:none;place-items:center;display:grid}.queue__icon svg{width:16px;height:16px}.queue__label{color:var(--ink);font-size:var(--t-sm);font-weight:700;display:block}.queue__hint{color:var(--ink-4);font-size:var(--t-xs);display:block}.queue__value{color:var(--ink);font-size:var(--t-lg);font-variant-numeric:tabular-nums;font-weight:700}.queue__value--zero{color:var(--ink-4);font-weight:600}.rolepick{gap:var(--s-2);display:grid}.rolepick__item{align-items:flex-start;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--rule);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);display:flex}.rolepick__item:hover{border-color:var(--rule-2)}.rolepick__item.is-on{border-color:var(--ink);background:var(--plate)}.rolepick__item input{accent-color:var(--ink);margin-top:3px}.rolepick__desc{font-size:var(--t-xs);display:block}.roles{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.role{gap:var(--s-2);padding:var(--s-4) var(--s-5);border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--paper);display:grid}.role h3{font-size:var(--t-md)}.role p{min-height:2.6em;font-size:var(--t-sm)}.drawer--wide{width:min(760px,100vw)}.perm-matrix{gap:2px;display:grid}.perm-matrix__cat{align-items:center;gap:var(--s-2);margin:var(--s-4) 0 var(--s-2);color:var(--ink);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:flex}.perm-matrix__row{gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule);grid-template-columns:170px minmax(0,1fr);display:grid}.perm-matrix__module{color:var(--ink);font-size:var(--t-sm);font-weight:700}.perm-matrix__cells{gap:var(--s-2);display:grid}.perm{align-items:center;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.perm__label{align-items:center;gap:var(--s-2);min-width:180px;color:var(--ink-2);font-size:var(--t-sm);flex:1;display:inline-flex}.perm__envs{gap:var(--s-2);display:inline-flex}.perm__env{border:1px solid var(--rule);border-radius:var(--r-sm);height:28px;color:var(--ink-3);font-family:var(--font-mono);font-size:var(--t-xs);cursor:pointer;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.perm__env:has(input:checked){border-color:var(--ink);color:var(--ink)}.perm__env.is-implied{cursor:default;opacity:.7;border-style:dashed}.perm__env input{accent-color:var(--ink);margin:0}.assistant{width:min(560px,100vw)}.assistant[open]{flex-direction:column;display:flex}.assistant .drawer__body{flex-direction:column;padding:0;display:flex}.assistant__body{min-height:0;padding:var(--s-5);flex:1;overflow-y:auto}.assistant__intro{gap:var(--s-3);display:grid}.assistant__suggestions{gap:var(--s-2);margin-top:var(--s-2);display:grid}.assistant__suggestions .btn{white-space:normal;text-align:left;justify-content:flex-start;height:auto;min-height:34px;padding:8px 12px;font-weight:600}.assistant__messages{gap:var(--s-4);display:grid}.bubble{max-width:100%;font-size:var(--t-base);line-height:1.6}.bubble--user{background:var(--ink);max-width:86%;color:var(--paper);border-radius:14px 14px 4px;justify-self:end;padding:10px 14px;font-weight:600}.bubble--assistant{color:var(--ink-2)}.assistant__tool{align-items:center;gap:var(--s-2);display:flex}.assistant__tool:before{content:"";background:var(--paint-ink);width:8px;height:8px;animation:pulse 1.2s var(--ease-in-out) infinite;border-radius:50%}@keyframes pulse{50%{opacity:.3}}.assistant__model{align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-3) var(--s-4) 0;border-top:1px solid var(--rule);background:var(--paper);font-size:var(--t-xs);flex-wrap:wrap;display:flex}.assistant__model+.assistant__input{padding-top:var(--s-2);border-top:0}.bubble__model{margin-top:var(--s-2);display:block}.assistant__input{align-items:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:var(--paper);display:flex}.assistant__input .textarea{resize:none;min-height:44px;max-height:180px}.threads{padding:var(--s-3);flex:1;margin:0;list-style:none;overflow-y:auto}.threads .menu-item{text-align:left;height:auto;min-height:44px;padding:8px 12px}.md{overflow-wrap:anywhere;gap:.7em;display:grid}.md h3,.md h4{font-size:var(--t-md);margin-top:.4em}.md h4{font-size:var(--t-base)}.md ul,.md ol{margin:0;padding-left:1.3em}.md li+li{margin-top:.25em}.md blockquote{border-radius:var(--r-sm);background:var(--wash);color:var(--ink-3);margin:0;padding:.4em .9em}.md pre{padding:var(--s-3);border-radius:var(--r-md);background:var(--wash);font-size:var(--t-sm);margin:0;overflow-x:auto}.md code{background:var(--wash);border-radius:4px;padding:1px 5px}.md pre code{background:0 0;padding:0}.md img{border-radius:var(--r-md);max-width:100%}.md strong{color:var(--ink)}.md .table-wrap{border:1px solid var(--rule);border-radius:var(--r-md)}.gate__mark{width:132px;color:var(--ink)}.badge--new{background:var(--ink);height:18px;color:var(--paper);letter-spacing:.04em;text-transform:uppercase;padding:0 7px;font-size:.625rem}.login{background:var(--paper);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100dvh;display:grid}.nuancier{gap:var(--s-8);color:#fff;background:#111;flex-direction:column;padding:clamp(28px,5vw,64px);display:flex}.nuancier__brand{align-items:center;gap:var(--s-3);display:flex}.nuancier__brand svg{color:#fff;width:148px;height:auto}.nuancier__product{border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;background:#ffffff1f;padding:3px 7px}.nuancier__plates{gap:var(--s-3);margin:auto 0;padding:0;list-style:none;display:grid}.nuancier__plate{align-items:center;column-gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-lg);background:#ffffff08;border:1px solid #ffffff1a;grid-template-rows:auto auto;grid-template-columns:56px 56px 1fr;display:grid}.nuancier__swatch{background-color:var(--finish);background-image:var(--finish-texture);border-radius:10px;grid-row:1/3;width:56px;height:56px;box-shadow:inset 0 0 0 1px #ffffff24,inset 0 1px #ffffff38}.nuancier__name{font-size:var(--t-md);letter-spacing:-.015em;align-self:end;font-weight:700}.nuancier__code{color:#ffffff9e;font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.04em;align-self:start}.nuancier__legend{gap:var(--s-5);color:#ffffff9e;font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.04em;display:flex}.nuancier__legend span{align-items:center;gap:var(--s-2);display:inline-flex}.nuancier__legend i{--paint:#5a5a5f;background-color:var(--finish);background-image:var(--finish-texture);border-radius:4px;width:14px;height:14px;display:inline-block}.nuancier__legend i[data-env=prod]{--paint:#8e8e93}.login__panel{place-items:center;padding:clamp(24px,5vw,64px);display:grid}.login__card{width:min(400px,100%)}.login__title{font-size:var(--t-xl);letter-spacing:-.03em}.login__google{border-color:var(--rule-2);font-weight:600}.login__or{align-items:center;gap:var(--s-3);color:var(--ink-4);font-size:var(--t-xs);font-weight:600;display:flex}.login__or:before,.login__or:after{content:"";background:var(--rule);flex:1;height:1px}.login__code{font-family:var(--font-mono);letter-spacing:.4em;text-align:center;min-height:52px;font-size:1.375rem!important}.login__fine{gap:var(--s-2);color:var(--ink-4);font-size:var(--t-xs);line-height:1.5;display:flex}.login__fine svg{flex:none;width:15px;height:15px;margin-top:1px}.enroll{align-items:center;gap:var(--s-4);padding:var(--s-4);border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--plate);grid-template-columns:148px 1fr;display:grid}.qr{border-radius:var(--r-md);width:148px;height:148px}.enroll__key{padding:var(--s-2);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-size:var(--t-sm);word-break:break-all;display:block}.gate{min-height:100dvh;padding:var(--s-6);text-align:center;place-items:center;display:grid}.gate__box{justify-items:center;gap:var(--s-4);max-width:420px;display:grid}@media (max-width:899px){.login{grid-template-columns:minmax(0,1fr)}.nuancier{gap:var(--s-5);padding:calc(env(safe-area-inset-top) + 24px) 20px 24px}.nuancier__plates{gap:var(--s-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.nuancier__plate{padding:var(--s-2);grid-template-rows:auto auto auto;grid-template-columns:1fr 1fr;row-gap:6px}.nuancier__swatch{border-radius:7px;grid-row:1;width:100%;height:36px}.nuancier__name{font-size:var(--t-xs);grid-column:1/3}.nuancier__code,.nuancier__legend{display:none}.login__panel{padding:var(--s-6) var(--s-4) var(--s-8);place-items:start center}.enroll{text-align:center;grid-template-columns:1fr;justify-items:center}}.bell{display:inline-flex;position:relative}.bell__count{border-radius:var(--r-pill);background:var(--bad);color:#fff;text-align:center;font-variant-numeric:tabular-nums;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--paper);pointer-events:none;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:2px;right:1px}.mhead .bell__count{box-shadow:none}.notifs{margin:0;padding:0;list-style:none}.notif{gap:var(--s-3);width:100%;min-height:44px;padding:var(--s-3) var(--s-5);border:0;border-bottom:1px solid var(--rule);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:32px minmax(0,1fr);display:grid}.notif:hover{background:var(--plate)}.notif:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.notif__icon{border-radius:var(--r-md);background:var(--wash);width:32px;height:32px;color:var(--ink-2);place-items:center;display:grid}.notif__icon svg{width:16px;height:16px}.notif[data-level=urgent] .notif__icon{background:var(--bad-tint);color:var(--bad-ink)}.notif__body{gap:3px;min-width:0;display:grid}.notif__title{align-items:baseline;gap:var(--s-2);color:var(--ink);font-size:var(--t-sm);font-weight:600;line-height:1.4;display:flex}.notif__title .lit{flex:none;transform:translateY(-1px)}.notif__text{color:var(--ink-3);font-size:var(--t-sm);white-space:pre-line;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.notif__meta{align-items:center;gap:4px var(--s-3);color:var(--ink-4);font-size:var(--t-xs);flex-wrap:wrap;display:flex}.notif__meta .badge{height:18px;font-size:var(--t-xs)}#notifications{scroll-margin-top:calc(var(--top-h) + var(--s-4))}.notif-hint{color:var(--ink-4);font-size:var(--t-xs);margin-top:2px;font-weight:500;display:block}.notif-types{gap:var(--s-3);display:grid}.notif-device{align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.notif-device:last-child{border-bottom:0}.notif-device__meta{color:var(--ink-4);font-size:var(--t-xs)}.notif-hours{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.notif-hours .input{width:auto;min-width:92px}.push-invite{max-width:var(--content-max);padding:var(--s-4) var(--gutter) 0;margin:0 auto}.push-invite__box{align-items:center}.push-invite__box svg{margin-top:0}@media (max-width:640px){.push-invite__more{display:none}}.period{align-items:center;gap:var(--s-2) var(--s-3);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.stack>.period{margin-bottom:0}.period__nav{align-items:center;gap:2px;display:flex}.period__modes{scrollbar-width:none;min-width:0;max-width:100%;overflow-x:auto}.period__modes::-webkit-scrollbar{display:none}.period__range{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:inline-flex}.period .input,.period .select{width:auto}.period__text{align-items:baseline;gap:var(--s-2);flex-wrap:wrap;margin:0;display:flex}.period__label{font-weight:600}.period__grain{align-items:center;gap:var(--s-2);margin-left:auto;display:inline-flex}.period__error{color:var(--bad-ink);font-size:var(--t-sm);flex-basis:100%}@media (max-width:899px){.period__modes button{height:38px}.period .input,.period .select{min-height:44px;font-size:16px}.period .btn{--btn-h:44px}.period__grain{margin-left:0}}
