@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-green-dark:#0f5f53;--brand-teal:#03989e;--brand-green:#007844;--page:#f7f7f7;--surface-1:#fff;--surface-2:#f3f5f4;--text-primary:#212121;--text-secondary:#5f6271;--text-muted:#6b6b6b;--heading:#0f5f53;--gridline:#ebeded;--baseline:#c9cecd;--border:#e3e6e5;--border-strong:#cdd2d1;--accent:#047a80;--accent-strong:#03636a;--accent-wash:#e8f4f4;--accent-line:#03989e;--link:#047a80;--series-1:#03989e;--series-2:#d9772b;--series-3:#007844;--status-good:#12874a;--status-warning:#b7791f;--text-warn:#8a5a12;--status-critical:#b3261e;--text-pos:#0e6b3c;--text-neg:#a3231b;--shadow-raised:0 4px 16px #2121211f;--shadow-card:0 18px 48px #0a201d38;--auth-veil:linear-gradient(#0000, #0000);--top-bar-height:56px;--radius:3px;--radius-card:4px;--font:"Montserrat Variable", Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0f1113;--surface-1:#171a1d;--surface-2:#1e2226;--text-primary:#e8ebed;--text-secondary:#a9b1b8;--text-muted:#8b949c;--heading:#f3f5f6;--gridline:#23272b;--baseline:#4a5157;--border:#2a2f34;--border-strong:#3a4046;--accent:#047a80;--accent-strong:#058288;--accent-wash:#1b2427;--accent-line:#19a9af;--link:#5ec4c9;--series-1:#0f9da3;--series-2:#ba5b26;--series-3:#36ae62;--status-good:#2ec27e;--status-warning:#f2c14e;--text-warn:#f2c14e;--status-critical:#ff6259;--text-pos:#5cc28e;--text-neg:#ff8a80;--shadow-raised:0 8px 24px #0000008c;--shadow-card:0 18px 48px #0000008c;--auth-veil:linear-gradient(#0a0c0e94, #0a0c0e94)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0f1113;--surface-1:#171a1d;--surface-2:#1e2226;--text-primary:#e8ebed;--text-secondary:#a9b1b8;--text-muted:#8b949c;--heading:#f3f5f6;--gridline:#23272b;--baseline:#4a5157;--border:#2a2f34;--border-strong:#3a4046;--accent:#047a80;--accent-strong:#058288;--accent-wash:#1b2427;--accent-line:#19a9af;--link:#5ec4c9;--series-1:#0f9da3;--series-2:#ba5b26;--series-3:#36ae62;--status-good:#2ec27e;--status-warning:#f2c14e;--text-warn:#f2c14e;--status-critical:#ff6259;--text-pos:#5cc28e;--text-neg:#ff8a80;--shadow-raised:0 8px 24px #0000008c;--shadow-card:0 18px 48px #0000008c;--auth-veil:linear-gradient(#0a0c0e94, #0a0c0e94)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--page);color:var(--text-primary);font-family:var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a{color:var(--link);text-underline-offset:2px}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-muted)}.text-pos{color:var(--text-pos)}.text-neg{color:var(--text-neg)}.data-table td.nowrap,.nowrap{white-space:nowrap}.inline-note{color:var(--text-muted);white-space:nowrap;margin-left:6px;font-size:12px;font-weight:500}.brand-logo{--logo-h:30px;width:calc(var(--logo-h) * 1.94);height:var(--logo-h);flex:none;display:block;position:relative;overflow:hidden}.brand-logo img{max-width:none;position:absolute}.brand-logo .for-light{left:calc(var(--logo-h) * -.0273);top:calc(var(--logo-h) * -.0273);width:calc(var(--logo-h) * 2);height:calc(var(--logo-h) * 1.0727)}.brand-logo .for-dark{left:calc(var(--logo-h) * -.7089);top:calc(var(--logo-h) * -.4051);width:calc(var(--logo-h) * 3.2911);height:calc(var(--logo-h) * 1.6456);display:none}:root[data-theme=dark] .for-light{display:none}:root[data-theme=dark] .brand-logo .for-dark{display:block}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])) .for-light{display:none}:root:where(:not([data-theme=light])) .brand-logo .for-dark{display:block}}.app-shell{height:100dvh;display:flex;overflow:hidden}.sidebar{background:var(--surface-1);border-right:1px solid var(--border);flex-direction:column;flex:0 0 232px;display:flex}.sidebar-head{height:var(--top-bar-height);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;padding:0 20px;display:flex}.sidebar-wordmark{color:var(--heading);font-size:15px;font-weight:600}.sidebar-nav{flex:1;padding:14px 12px 20px;overflow-y:auto}.nav-group+.nav-group{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.nav-group ul{margin:0;padding:0;list-style:none}.nav-item{border-radius:var(--radius);color:var(--text-primary);padding:8px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:block}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--accent-wash);box-shadow:inset 3px 0 0 var(--accent-line);color:var(--heading);font-weight:600}.sidebar-foot{border-top:1px solid var(--border);color:var(--text-muted);gap:1px;padding:12px 20px 14px;font-size:11.5px;line-height:1.4;text-decoration:none;display:grid}.version-number{color:var(--text-secondary);font-weight:600}a.version-link:hover .version-number{color:var(--link);text-underline-offset:2px;text-decoration:underline}.update-button{z-index:1;border:1px solid var(--accent);background:var(--accent);color:#fff;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-raised);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:12.5px;font-weight:600;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.update-button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.update-button svg{flex:none}@media (width<=1180px){.update-button{top:calc(100% + 10px);transform:translate(-50%)}}.changelog{gap:16px;max-width:860px;margin:0;padding:0;list-style:none;display:grid}.release{padding:20px 24px 8px}.release-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.release-head h2{color:var(--heading);margin:0;font-size:17px;font-weight:600}.release-when{color:var(--text-muted);font-size:12.5px}.release-current{color:var(--link);font-weight:600}.release-summary{color:var(--text-secondary);margin:6px 0 4px}.release-area h3{color:var(--text-primary);margin:14px 0 6px;font-size:13px;font-weight:600}.release-area ul{color:var(--text-secondary);margin:0 0 12px;padding-left:18px}.release-area li+li{margin-top:4px}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.app-header{z-index:20;height:var(--top-bar-height);background:var(--surface-1);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:14px;padding:0 32px;display:flex;position:sticky;top:0}.header-org{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.app-header .spacer{flex:1}.nav-toggle{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);cursor:pointer;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:none}.nav-toggle svg,.user-button svg{display:block}.user-menu{position:relative}.user-button{border-radius:var(--radius);text-align:right;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:5px 8px 5px 10px;display:flex}.user-button:hover,.user-button[aria-expanded=true]{border-color:var(--border);background:var(--surface-2)}.user-name{font-size:13px;font-weight:600;line-height:1.25;display:block}.user-role{color:var(--text-muted);font-size:12px;line-height:1.25;display:block}.user-initials{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:12.5px;font-weight:700;display:inline-flex}.menu{z-index:45;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-card);min-width:230px;box-shadow:var(--shadow-raised);padding:6px 0;position:absolute;top:calc(100% + 6px);right:0}.menu-who{border-bottom:1px solid var(--border);color:var(--text-muted);word-break:break-all;margin-bottom:6px;padding:8px 16px 10px;font-size:12.5px}.menu-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px 16px;font-size:13.5px;text-decoration:none;display:flex}.menu-item:hover{background:var(--surface-2)}.menu-item:focus-visible{background:var(--surface-2);outline:2px solid var(--accent);outline-offset:-2px}.menu-item.separated{border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.menu-icon{color:var(--text-secondary);flex:none}.status-button{border:1px solid var(--border-strong);background:var(--surface-1);color:var(--text-primary);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.status-button:hover{background:var(--surface-2)}.status-dot{background:var(--text-muted);border-radius:50%;flex:none;width:9px;height:9px}.status-dot.operational{background:var(--status-good)}.status-dot.partial{background:var(--status-warning)}.status-dot.major{background:var(--status-critical)}.dialog.status-dialog{width:min(1040px,100%);max-height:calc(100dvh - 32px);padding:18px 20px 14px;overflow-y:auto}.status-head{align-items:center;gap:18px;margin:0 0 14px;display:flex}.dialog .status-head h2{margin:0;font-size:20px}.status-overall{align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.status-close{border-radius:var(--radius);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.status-close:hover{border-color:var(--border);background:var(--surface-2)}.status-list{gap:12px;display:grid}.status-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-1);padding:14px 16px 10px}.status-card-head{flex-wrap:wrap;justify-content:space-between;gap:4px 16px;display:flex}.status-card-name{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.status-card-name h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.status-where{color:var(--text-muted);font-size:12.5px}.status-card-state{justify-items:end;gap:2px;display:grid}.status-level{font-size:14px;font-weight:700}.status-level.operational{color:var(--text-pos)}.status-level.partial,.status-level.stale{color:var(--text-warn)}.status-level.major{color:var(--text-neg)}.status-checked{color:var(--text-muted);font-size:12px}.status-note{color:var(--text-secondary);margin:6px 0 0;font-size:12.5px}.status-bars{gap:2px;height:34px;margin:12px 0 8px;display:flex}.status-bar{background:var(--border-strong);border-radius:2px;flex:1 1 0;min-width:0}.status-bar.good{background:var(--status-good)}.status-bar.warn{background:var(--status-warning)}.status-bar.bad{background:var(--status-critical)}.status-scale{color:var(--text-muted);white-space:nowrap;align-items:center;gap:12px;font-size:12px;display:flex}.status-scale strong{color:var(--text-secondary)}.status-rule{background:var(--border);flex:1;height:1px}.status-scale .span-30{display:none}.status-asat{color:var(--text-muted);margin:12px 0 0;font-size:12px}@media (width<=640px){.status-button{padding:8px}.status-button-text,.status-bars .status-bar:nth-child(-n+60),.status-scale .span-90{display:none}.status-scale .span-30{display:inline}.status-head{flex-wrap:wrap;gap:8px 14px}}.sample-bar{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 32px;font-size:12.5px;display:flex}.view-body{width:100%;max-width:1180px;margin:0 auto;padding:28px 32px 64px}.view-heading{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:20px;display:flex}.view-title{color:var(--heading);margin:0;font-size:24px;font-weight:600;line-height:1.25}.view-meta{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-left:auto;display:flex}.view-actions{gap:8px;display:flex}.info-button{border:1px solid var(--border-strong);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.info-button:hover{border-color:var(--accent);color:var(--accent)}.info-button[aria-expanded=true]{border-color:var(--accent);background:var(--accent);color:#fff}.help-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-card);margin:-6px 0 24px;padding:18px 22px}.help-panel h2{color:var(--heading);margin:0 0 12px;font-size:14px;font-weight:600}.help-panel dl{gap:12px;max-width:880px;margin:0;display:grid}.help-panel dt{font-size:13.5px;font-weight:600}.help-panel dd{color:var(--text-secondary);margin:2px 0 0;font-size:13.5px}.help-footnote{max-width:880px;color:var(--text-muted);margin:14px 0 0;font-size:13px}.sync-stamp{color:var(--text-muted);white-space:nowrap;font-size:12.5px}.section{margin-top:36px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:36px 0 14px;display:flex}.section>.section-head{margin-top:0}.section-title{flex-direction:column;gap:2px;min-width:0;display:flex}.section-title .period-label{margin:0}.section-head h2{color:var(--heading);margin:0;font-size:16px;font-weight:600}.section-actions{flex-wrap:wrap;align-items:center;gap:10px 16px;min-width:0;max-width:100%;display:flex}.section-note{color:var(--text-secondary);margin:-6px 0 14px;font-size:13px}.period-label{color:var(--text-secondary);margin:-4px 0 14px;font-size:13px;font-weight:500}.toolbar{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 16px;display:flex}.toolbar .period-label,.section-head .period-label,.section-actions .period-label{margin:0}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);max-width:100%;display:inline-flex}.pill{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:6px 12px;font-size:13px;font-weight:500}.segmented .pill{border:none;border-right:1px solid var(--border-strong);border-radius:0;padding:6px 14px}.segmented .pill:first-child{border-radius:2px 0 0 2px}.segmented .pill:last-child{border-right:none;border-radius:0 2px 2px 0}.segmented .pill:focus-visible{outline-offset:-3px;position:relative}.pill:hover:not(.active){background:var(--surface-2);color:var(--text-primary)}.pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.pill.small{padding:3px 10px;font-size:12px}.button{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.button:disabled{opacity:.55;cursor:default}.button.secondary{background:var(--surface-1);color:var(--link);border-color:var(--border-strong)}.button.secondary:hover{border-color:var(--accent);background:var(--accent-wash)}.button.small{padding:5px 10px;font-size:12.5px}.button.wide{width:100%;padding:10px 16px;font-size:14px}.link-button{color:var(--link);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:500;text-decoration:underline}.notice{border:1px solid var(--border);border-left:3px solid var(--accent-line);border-radius:var(--radius);background:var(--surface-1);color:var(--text-secondary);margin:0 0 18px;padding:12px 16px}.notice.warn{border-left-color:var(--status-warning)}.notice strong{color:var(--text-primary);font-weight:600}.loading{color:var(--text-secondary);align-items:center;gap:10px;padding:24px 0;display:flex}.spinner{border:2px solid var(--gridline);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.error-panel{border:1px solid var(--border);border-left:3px solid var(--status-critical);border-radius:var(--radius);background:var(--surface-1);margin:16px 0;padding:16px 18px}.error-panel h3{margin:0 0 6px;font-size:14px;font-weight:600}.error-panel p{color:var(--text-secondary);word-break:break-word;margin:0 0 10px}.empty{color:var(--text-muted);margin:8px 0;font-size:13px}.tile-row{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px;display:grid;overflow:hidden}.stat-tile{box-shadow:1px 0 0 var(--border), 0 1px 0 var(--border);flex-direction:column;gap:4px;min-width:0;padding:16px 20px 18px;display:flex}.tile-label{color:var(--text-secondary);font-size:12.5px;font-weight:500}.tile-value{letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:1.2}.tile-value.pos{color:var(--text-pos)}.tile-value.neg{color:var(--text-neg)}.tile-value.warn{color:var(--text-warn)}.tile-value.muted{color:var(--text-muted)}.tile-note{color:var(--text-muted);font-size:12.5px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-card);min-width:0;padding:18px 22px 20px}.card h3{margin:0 0 12px;font-size:14px;font-weight:600}.subhead{color:var(--text-secondary);margin:20px 0 6px;font-size:13px;font-weight:600}.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0;display:grid}.charts-grid.single{grid-template-columns:minmax(0,1fr)}.charts-grid>.section{margin-top:0}.charts-grid:has(>.section){margin-top:36px}.chart-card{position:relative}.chart-note{color:var(--text-secondary);margin:-6px 0 10px;font-size:12.5px}.chart-frame{width:100%;min-height:60px}.chart-frame svg{display:block;overflow:visible}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:4px 16px;margin:-4px 0 10px;font-size:12.5px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.swatch{background:var(--series-1);border-radius:2px;flex:none;width:10px;height:10px;display:inline-block}.swatch.line{border-radius:2px;width:14px;height:3px}.swatch.s1{background:var(--series-1)}.swatch.s2{background:var(--series-2)}.swatch.s3{background:var(--series-3)}.gridline{stroke:var(--gridline);stroke-width:1px}.axis-base{stroke:var(--baseline);stroke-width:1px}.axis-label{fill:var(--text-muted);font-family:var(--font);font-variant-numeric:tabular-nums;font-size:11px}.col.s1{fill:var(--series-1)}.col.s2{fill:var(--series-2)}.col.s3{fill:var(--series-3)}.col.pos{fill:var(--status-good)}.col.neg{fill:var(--status-critical)}.hover-band{fill:var(--text-primary);opacity:.04}.hit{fill:#0000;cursor:default}.hit:focus-visible{stroke:var(--accent);stroke-width:1.5px;outline:none}.line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.line.s1{stroke:var(--series-1)}.line.s2{stroke:var(--series-2)}.line.s3{stroke:var(--series-3)}.area.s1{fill:var(--series-1);opacity:.1}.area.s2{fill:var(--series-2);opacity:.1}.dot{stroke:var(--surface-1);stroke-width:2px}.dot.s1{fill:var(--series-1)}.dot.s2{fill:var(--series-2)}.dot.s3{fill:var(--series-3)}.crosshair{stroke:var(--baseline);stroke-width:1px}.bar-chart .row{grid-template-columns:minmax(90px,170px) 1fr 70px;align-items:center;gap:12px;padding:4px 0;display:grid}.bar-chart .name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.bar-chart .value{text-align:right;font-size:13px;font-weight:500}.bar-chart .track{height:24px;position:relative}.bar-chart .bar{background:var(--series-1);border-radius:0 4px 4px 0;height:16px;position:absolute;top:4px}.bar-chart .bar.leftward{border-radius:4px 0 0 4px}.bar-chart .bar.pos{background:var(--status-good)}.bar-chart .bar.neg{background:var(--status-critical)}.bar-chart .zero-line{background:var(--text-muted);width:1px;position:absolute;top:0;bottom:0}.tooltip{z-index:50;pointer-events:none;background:var(--surface-1);min-width:150px;max-width:260px;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);padding:8px 12px;font-size:13px;position:fixed}.tip-title{margin-bottom:4px;font-weight:600}.tip-row{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.tip-value{font-weight:600}.tip-label{color:var(--text-secondary)}.meter-card{margin-bottom:16px}.meter-figures{justify-content:space-between;gap:16px;margin-bottom:12px;display:flex}.meter-right{text-align:right}.meter-value{font-size:22px;font-weight:600}.meter-value.secondary{color:var(--text-secondary)}.meter-caption{color:var(--text-muted);font-size:12.5px}.meter-track{background:var(--accent-wash);border-radius:2px;height:10px;position:relative}.meter-fill{background:var(--series-1);border-radius:2px;position:absolute;inset:0 auto 0 0}.meter-pace{background:var(--text-primary);width:2px;margin-left:-1px;position:absolute;top:-5px;bottom:-5px}.meter-note{color:var(--text-secondary);margin:12px 0 0;font-size:13px}.table-block{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-card);padding:12px 16px}.card .table-block{border:none;padding:0}.table-tools{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.search-input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);width:min(320px,100%);padding:7px 10px}.page-size{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.page-size select,.data-table select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);padding:4px 6px}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13.5px}.data-table th,.data-table td{text-align:right;border-bottom:1px solid var(--gridline);white-space:nowrap;padding:9px 10px}.data-table th{color:var(--text-secondary);white-space:normal;vertical-align:bottom;border-bottom-color:var(--border-strong);font-size:12.5px;font-weight:600}.data-table .left{text-align:left}.data-table td.left{white-space:normal}.data-table tfoot td{border-top:1px solid var(--baseline);border-bottom:none;font-weight:600}.data-table.compact th,.data-table.compact td{padding:7px 8px}.data-table .strong-row td{border-top:1px solid var(--baseline);font-weight:600}.data-table tbody tr.strong-row:first-child td{border-top:none}.data-table .muted-row td{color:var(--text-muted)}.data-table tr.open>td{background:var(--accent-wash)}.data-table .detail-row>td{background:var(--surface-2);padding:4px 10px 14px 34px}.data-table.nested{font-size:13px}.data-table.nested th,.data-table.nested td{padding:6px 8px}.sort-button{font-weight:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:none;padding:0}.sort-mark{min-width:12px;margin-left:3px;font-size:9px;display:inline-block}.expander{width:30px;text-align:center!important}.caret{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);cursor:pointer;width:22px;height:22px;padding:0;line-height:1}.empty-cell{color:var(--text-muted)}.pager{color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:12px;margin-top:10px;font-size:13px;display:flex}.pager span{text-align:center;min-width:8em}.pager button{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);cursor:pointer;padding:4px 10px}.pager button:disabled{opacity:.5;cursor:default}.money-input,.note-input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);padding:5px 8px}.money-input{text-align:right;width:120px}.note-input{width:100%;min-width:160px}.row-status{color:var(--text-muted);white-space:normal;margin-top:4px;font-size:12px}.status{font-weight:600}.status.success{color:var(--text-pos)}.status.error{color:var(--text-neg)}.run-detail{max-width:520px;color:var(--text-secondary);word-break:break-word;white-space:normal;font-size:12.5px;display:inline-block}.view-body:has(.budget-grid){max-width:none}.budget-grid{padding:0;overflow:hidden}.budget-grid .table-scroll{max-height:calc(100dvh - 220px);overflow:auto}.budget-grid .data-table{font-size:13px}.budget-grid .data-table th,.budget-grid .data-table td{padding:5px 6px}.budget-grid th{z-index:2;background:var(--surface-1);position:sticky;top:0}.budget-grid .sticky-col{z-index:1;background:var(--surface-1);min-width:210px;max-width:260px;box-shadow:1px 0 0 var(--gridline);position:sticky;left:0}.budget-grid th.sticky-col{z-index:3}.budget-grid .block-row td{color:var(--heading);border-bottom-color:var(--border-strong);padding-top:16px;font-size:13.5px;font-weight:600}.budget-grid .group-row td{color:var(--text-secondary);padding-top:10px;font-size:12.5px;font-weight:600}.budget-grid .result-row td,.budget-grid .result-row .sticky-col{background:var(--surface-2)}.line-name{color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.line-name:hover{color:var(--link);text-underline-offset:2px;text-decoration:underline}.line-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11.5px;display:block;overflow:hidden}.cell-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);text-align:right;width:78px;padding:3px 5px;font-size:13px}.cell-input:hover{border-color:var(--border-strong)}.cell-input.dirty{border-color:var(--accent-line);background:var(--accent-wash)}.cell-input.invalid{border-color:var(--status-critical);outline:1px solid var(--status-critical)}.budget-grid td.calc{color:var(--text-secondary)}.budget-grid td.in-progress{color:var(--text-muted);font-style:italic}.budget-grid .total-cell{border-left:1px solid var(--gridline);font-weight:600}.save-bar{z-index:25;background:var(--surface-1);border:1px solid var(--accent-line);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);align-items:center;gap:10px;margin-top:16px;padding:10px 16px;display:flex;position:sticky;bottom:0}.save-bar span{flex:1;font-weight:500}.dialog.wide{width:min(680px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.auth-form select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);padding:9px 10px;font-size:14px}.field-group{border:1px solid var(--border);border-radius:var(--radius);gap:8px;margin:0;padding:12px 14px;display:grid}.field-group legend{color:var(--text-secondary);padding:0 4px;font-size:13px;font-weight:600}.auth-form label.inline{color:var(--text-primary);align-items:center;gap:8px;font-weight:400;display:flex}.check-list{gap:4px;max-height:220px;padding-right:4px;display:grid;overflow-y:auto}.dialog-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dialog-actions .spacer{flex:1}.button.danger{background:var(--status-critical);border-color:var(--status-critical)}.auth-page{background-color:#8fb4dc;background-image:var(--auth-veil), url(/brand/login-sky.webp);background-position:24% 100%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100%;padding:32px 16px;display:flex}.auth-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-card);width:min(420px,100%);box-shadow:var(--shadow-card);padding:34px 34px 28px}.splash-page{background:var(--page);justify-content:center;align-items:center;min-height:100%;display:flex}.auth-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px;display:flex}.auth-brand{align-items:center;gap:10px;display:flex}.auth-back{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);color:var(--text-secondary);cursor:pointer;align-items:center;gap:4px;padding:6px 10px 6px 6px;font-size:13px;font-weight:600;display:inline-flex}.auth-back:hover{background:var(--surface-2);color:var(--text-primary)}.auth-brand .brand-logo{--logo-h:36px}.auth-wordmark{color:var(--heading);font-size:18px;font-weight:600}.auth-card h1{color:var(--heading);margin:0 0 18px;font-size:22px;font-weight:600}.auth-choices{gap:12px;margin:0 0 18px;display:grid}.auth-choices .button.wide{min-height:41px;font-size:14.5px}.ms-button{border-radius:var(--radius);color:#5e5e5e;cursor:pointer;background:#fff;border:1px solid #8c8c8c;justify-content:center;align-items:center;gap:12px;width:100%;min-height:41px;padding:0 12px;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;font-weight:600;display:flex}.ms-button:hover{background:#f3f3f3}.ms-button:disabled{opacity:.6;cursor:default}.ms-button svg{flex:none}:root[data-theme=dark] .ms-button{color:#fff;background:#2f2f2f;border-color:#2f2f2f}:root[data-theme=dark] .ms-button:hover{background:#3b3b3b}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])) .ms-button{color:#fff;background:#2f2f2f;border-color:#2f2f2f}:root:where(:not([data-theme=light])) .ms-button:hover{background:#3b3b3b}}.auth-or{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--border);flex:1;height:1px}.auth-card>.turnstile,.auth-card>.form-error,.auth-card>.form-notice{margin:0 0 14px}.auth-submit{margin:0 0 16px}.auth-card h1:focus{outline:none}.auth-card h1:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;display:flex}@media (width<=520px){.auth-page{padding:20px 14px}.auth-card{padding:26px 22px 22px}}.auth-form{gap:14px;margin:8px 0 16px;display:grid}.auth-form label{color:var(--text-secondary);gap:5px;font-size:13px;font-weight:500;display:grid}.auth-form input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);padding:10px 12px;font-size:15px}.auth-form input:focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:0}.auth-text,.auth-foot{color:var(--text-secondary)}.auth-foot{margin:18px 0 0;font-size:12.5px}.auth-steps{color:var(--text-secondary);margin:0 0 12px;padding-left:20px}.qr-block{justify-items:center;gap:8px;margin:8px 0 12px;display:grid}.qr-block img{border-radius:var(--radius);background:#fff;padding:8px}.secret{word-break:break-all;color:var(--text-secondary);font-size:12px}.form-error{color:var(--text-neg);margin:0;font-size:13px}.form-notice{color:var(--text-pos);margin:0;font-size:13px}.dialog-backdrop{z-index:60;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-card);width:min(420px,100%);box-shadow:var(--shadow-raised);padding:26px 26px 22px}.dialog h2{color:var(--heading);margin:0 0 12px;font-size:18px;font-weight:600}.turnstile{width:100%;min-height:65px}.nav-scrim{display:none}@media (width<=900px){.charts-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=820px){.sidebar{z-index:40;width:260px;transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.nav-scrim{z-index:30;background:#00000059;display:block;position:fixed;inset:0}.nav-toggle{display:inline-flex}.app-header{gap:10px;padding:0 16px}.view-body{padding:20px 16px 48px}.sample-bar{padding:8px 16px}.tile-row{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-tile{padding:14px 14px 16px}.tile-value{font-size:19px}.tile-row>.stat-tile:last-child:nth-child(odd){grid-column:1/-1}.view-title{font-size:21px}.view-meta{width:100%;margin-left:0}}@media (width<=640px){.segmented{background:0 0;border:none;flex-wrap:wrap;gap:6px}.segmented .pill,.segmented .pill:first-child,.segmented .pill:last-child{border:1px solid var(--border-strong);border-radius:var(--radius)}.user-text{display:none}.user-button{padding:2px}}@media (width<=480px){.bar-chart .row{grid-template-columns:minmax(70px,110px) 1fr 58px}}
