@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.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}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-cyrillic-ext-wdth-normal-BFx_pHPN.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-cyrillic-wdth-normal-Dgr-UBxV.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-latin-ext-wdth-normal-DeTdBbNh.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-latin-wdth-normal-1TqSgyfh.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;--font-sans:"Archivo Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Martian Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--title-width:100%;--figure-width:100%;--t-2xs:.6875rem;--t-xs:.75rem;--t-sm:.8125rem;--t-md:.875rem;--t-lg:1rem;--t-xl:1.25rem;--t-2xl:1.625rem;--t-3xl:2.125rem;--w-dense:82;--w-body:100;--w-title:116;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--r-tag:2px;--r-ctl:4px;--r-panel:6px;--r-overlay:10px;--rail-w:68px;--index-w:236px;--top-h:52px;--bg:#e3e7e2;--surface:#fafbf8;--surface-2:#eff2ed;--raised:#fff;--line:#cfd5ce;--line-strong:#a8b2ab;--ink:#172024;--ink-2:#44535a;--ink-3:#5f6e74;--rail-bg:#172024;--rail-ink:#b9c6c6;--rail-ink-on:#fff;--accent:#0a7480;--accent-strong:#075a64;--accent-ink:#fff;--accent-soft:#d6ecec;--mark:#f2c230;--mark-soft:#fbefc0;--focus:#0a7480;--ok:#2b7f47;--ok-soft:#dcefe0;--warn:#a4570a;--warn-soft:#f8e6cf;--crit:#b83225;--crit-soft:#f8ddd9;--info:#33658f;--info-soft:#dce8f2;--idle:#5f6e74;--idle-soft:#e4e8e3;--series-1:#008c99;--series-2:#c28f00;--series-3:#6b4fd8;--series-4:#db5c9a;--series-5:#2f6fdb;--series-other:#8a969a;--grid:#dde2dc;--shadow-overlay:0 1px 0 #1720240f, 0 12px 32px -8px #17202447;--scrim:#17202475}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10181b;--surface:#172226;--surface-2:#1d2b30;--raised:#213137;--line:#2c3d43;--line-strong:#43585f;--ink:#e6ecea;--ink-2:#b6c3c2;--ink-3:#8fa0a2;--rail-bg:#0b1113;--rail-ink:#93a4a6;--rail-ink-on:#fff;--accent:#4ccfd2;--accent-strong:#7fe0e2;--accent-ink:#062a2e;--accent-soft:#143f45;--mark:#f2c230;--mark-soft:#4a3f17;--focus:#4ccfd2;--ok:#5fc27e;--ok-soft:#173624;--warn:#e6a04a;--warn-soft:#3d2c14;--crit:#f0776a;--crit-soft:#43201c;--info:#7fb0dc;--info-soft:#1a3145;--idle:#8fa0a2;--idle-soft:#223035;--series-1:#1fa3ab;--series-2:#c08a12;--series-3:#8e78ee;--series-4:#e0609f;--series-5:#4f86e8;--series-other:#6f8084;--grid:#27373c;--shadow-overlay:0 0 0 1px #ffffff0a, 0 16px 40px -8px #0009;--scrim:#040809a8}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-md);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;font-stretch:100%;line-height:1.45}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul,ol{list-style:none}h1{font-size:var(--t-2xl);font-weight:650;font-stretch:var(--title-width);letter-spacing:-.015em;line-height:1.15}h2{font-size:var(--t-lg);font-weight:650;font-stretch:var(--title-width);letter-spacing:-.005em;line-height:1.25}h3{font-size:var(--t-md);font-weight:650;line-height:1.3}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--mark);color:#172024}svg{display:block}table{border-collapse:collapse;width:100%}code,kbd,pre,.mono{font-family:var(--font-mono);letter-spacing:-.01em;font-size:.92em;font-stretch:88%}kbd{border:1px solid var(--line-strong);border-radius:var(--r-ctl);font-size:var(--t-2xs);color:var(--ink-2);background:var(--surface);border-bottom-width:2px;padding:0 5px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.row{align-items:center;gap:var(--s-2);display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.top{align-items:flex-start}.col{gap:var(--s-3);flex-direction:column;display:flex}.grow{flex:1 1 0;min-width:0}.grid{gap:var(--s-4);display:grid}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.split{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media (width<=900px){.grid.c2,.grid.c3,.grid.c4,.grid.split{grid-template-columns:minmax(0,1fr)}}.muted{color:var(--ink-3)}.dense{font-stretch:82%}.num{text-align:right;font-variant-numeric:tabular-nums}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gap-1{gap:var(--s-1)}.gap-4{gap:var(--s-4)}.gap-5{gap:var(--s-5)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tone-ok{--tone:var(--ok);--tone-soft:var(--ok-soft)}.tone-warn{--tone:var(--warn);--tone-soft:var(--warn-soft)}.tone-crit{--tone:var(--crit);--tone-soft:var(--crit-soft)}.tone-info{--tone:var(--info);--tone-soft:var(--info-soft)}.tone-idle{--tone:var(--idle);--tone-soft:var(--idle-soft)}.glyph{color:var(--tone)}.btn{border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);height:32px;color:var(--ink);font-size:var(--t-sm);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:550;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-3);text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn.danger{background:var(--crit);border-color:var(--crit);color:var(--surface)}.btn.danger:hover:not(:disabled){background:var(--crit);filter:brightness(.92)}.btn.ghost{background:0 0;border-color:#0000}.btn.sm{height:28px;font-size:var(--t-xs);padding:0 9px}.btn.lg{height:40px;font-size:var(--t-md);padding:0 18px}.icon-btn{border-radius:var(--r-ctl);width:32px;height:32px;color:var(--ink-2);background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.icon-btn.sm{width:26px;height:26px}.icon-btn.xs{width:20px;height:20px}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.input{border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--raised);width:100%;min-height:34px;color:var(--ink);font-size:var(--t-md);padding:6px 10px}textarea.input{resize:vertical;line-height:1.5}.input::placeholder{color:var(--ink-3)}.input:hover:not(:disabled){border-color:var(--ink-3)}.input:disabled{background:var(--surface-2);color:var(--ink-3)}.input[aria-invalid=true],.combo-trigger[aria-invalid=true]{border-color:var(--crit);box-shadow:inset 0 0 0 1px var(--crit)}.input-unit{align-items:stretch;display:flex}.input-unit .input{border-top-right-radius:0;border-bottom-right-radius:0}.input-unit>span{border:1px solid var(--line-strong);border-radius:0 var(--r-ctl) var(--r-ctl) 0;background:var(--surface-2);color:var(--ink-2);font-size:var(--t-sm);border-left:0;place-items:center;padding:0 10px;display:grid}input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);vertical-align:middle;margin:0}.search{align-items:center;min-width:0;display:flex;position:relative}.search>svg{color:var(--ink-3);pointer-events:none;position:absolute;left:9px}.search>.input{min-height:32px;font-size:var(--t-sm);padding-left:30px}.form-grid{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field.wide{grid-column:1/-1}.field>label,.field>.field-label{font-size:var(--t-sm);color:var(--ink);font-weight:600}.field>.segmented{align-self:flex-start}.field-optional{color:var(--ink-3);margin-left:6px;font-weight:400}.field-help{font-size:var(--t-xs);color:var(--ink-3)}.field-error{font-size:var(--t-xs);color:var(--crit);align-items:center;gap:5px;font-weight:550;display:flex}@media (width<=640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.switch{font-size:var(--t-md);cursor:pointer;align-items:center;gap:10px;min-height:34px;display:inline-flex}.switch input{opacity:0;width:34px;height:20px;margin:0;position:absolute}.switch-track{background:var(--line-strong);border-radius:10px;flex:none;width:34px;height:20px;transition:background .12s;position:relative}.switch-track:after{content:"";background:var(--raised);border-radius:50%;width:14px;height:14px;transition:transform .12s;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--focus);outline-offset:2px}.segmented{border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface-2);padding:2px;display:inline-flex}.segmented label{height:26px;font-size:var(--t-xs);color:var(--ink-2);cursor:pointer;border-radius:3px;align-items:center;gap:6px;padding:0 10px;font-weight:550;display:inline-flex}.segmented label.on{background:var(--raised);color:var(--ink);box-shadow:0 0 0 1px var(--line-strong)}.segmented label:has(:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.combo{width:100%;min-width:0;display:inline-flex;position:relative}.combo-trigger{border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--raised);text-align:left;width:100%;min-height:34px;font-size:var(--t-md);align-items:center;gap:6px;padding:0 28px 0 10px;display:flex}.combo-trigger:hover:not(:disabled){border-color:var(--ink-3)}.combo-trigger:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}.combo-sm .combo-trigger{min-height:32px;font-size:var(--t-sm)}.combo-prefix{color:var(--ink-3);white-space:nowrap}.combo-value{flex:auto}.combo-value.placeholder{color:var(--ink-3)}.combo-caret{color:var(--ink-3);pointer-events:none;position:absolute;right:9px}.combo:has(.combo-clear) .combo-trigger{padding-right:48px}.combo-clear{background:var(--surface-2);width:18px;height:18px;color:var(--ink-2);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:26px;translate:0 -50%}.combo-clear:hover{background:var(--line);color:var(--ink)}.popover{z-index:60;border:1px solid var(--line-strong);border-radius:var(--r-panel);background:var(--raised);box-shadow:var(--shadow-overlay);flex-direction:column;animation:.1s ease-out pop;display:flex;overflow:hidden}@keyframes pop{0%{opacity:0;translate:0 -3px}}.combo-pop{min-width:220px;max-width:min(420px,92vw)}.combo-search{border-bottom:1px solid var(--line);color:var(--ink-3);align-items:center;gap:8px;padding:0 10px;display:flex}.combo-search input{min-width:0;height:36px;color:var(--ink);font-size:var(--t-sm);background:0 0;border:0;outline:0;flex:1}.combo-list{overscroll-behavior:contain;padding:4px;overflow-y:auto}.combo-opt{font-size:var(--t-sm);cursor:pointer;border-radius:3px;align-items:center;gap:8px;padding:6px 8px;display:flex}.combo-opt.active{background:var(--accent-soft)}.combo-opt[aria-selected=true]{font-weight:600}.combo-opt[aria-disabled=true]{opacity:.45;cursor:not-allowed}.combo-check{width:14px;color:var(--accent);flex:none}.combo-hint{max-width:45%;color:var(--ink-3);font-size:var(--t-xs);font-stretch:82%}.combo-empty{color:var(--ink-3);font-size:var(--t-xs);padding:10px 8px}.menu{min-width:190px;padding:4px;overflow-y:auto}.menu button{text-align:left;width:100%;font-size:var(--t-sm);background:0 0;border:0;border-radius:3px;align-items:center;gap:9px;padding:7px 9px;display:flex}.menu button:hover:not(:disabled),.menu button:focus-visible{background:var(--accent-soft);outline:0}.menu button.danger{color:var(--crit)}.menu button:disabled{opacity:.45;cursor:not-allowed}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.tag{border-radius:var(--r-tag);background:var(--tone-soft);height:20px;color:var(--ink);font-size:var(--t-xs);white-space:nowrap;box-shadow:inset 2px 0 0 var(--tone);align-items:center;gap:5px;padding:0 7px 0 6px;font-weight:550;font-stretch:88%;display:inline-flex}.chips{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.chip{border:1px solid var(--line-strong);border-radius:var(--r-tag);height:20px;font-size:var(--t-xs);color:var(--ink-2);white-space:nowrap;align-items:center;padding:0 7px;font-stretch:88%;display:inline-flex}mark{background:var(--mark-soft);color:inherit;border-radius:2px;padding:0 1px}.dialog{border:1px solid var(--line-strong);border-radius:var(--r-overlay);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-overlay);width:min(var(--dialog-w), calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);padding:0;animation:.16s ease-out dialog-in;overflow:hidden}.dialog-sm{--dialog-w:440px}.dialog-md{--dialog-w:640px}.dialog-lg{--dialog-w:900px}.dialog-xl{--dialog-w:1180px}.dialog::backdrop{background:var(--scrim);animation:.16s ease-out fade-in}@keyframes dialog-in{0%{opacity:0;translate:0 8px}}@keyframes fade-in{0%{opacity:0}}.dialog-frame{flex-direction:column;max-height:calc(100dvh - 50px);display:flex}.dialog-tall .dialog-frame{height:min(820px,100dvh - 50px)}.dialog-head{align-items:flex-start;gap:var(--s-3);border-bottom:1px solid var(--line);padding:14px 12px 12px 20px;display:flex}.dialog-title{font-size:var(--t-xl);font-stretch:var(--title-width);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:650}.dialog-sub{color:var(--ink-3);font-size:var(--t-sm);margin-top:2px}.dialog-body{flex:auto;min-height:0;padding:20px;overflow-y:auto}.dialog-body.flush{flex-direction:column;padding:0;display:flex}.dialog-foot{justify-content:flex-end;gap:var(--s-2);border-top:1px solid var(--line);background:var(--surface-2);padding:12px 20px;display:flex}@media (width<=640px){.dialog{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.dialog-sm{border-radius:var(--r-overlay);width:calc(100vw - 24px);height:auto}.dialog-frame,.dialog-tall .dialog-frame{height:100%;max-height:100dvh}}.tabs{padding:0 var(--s-4);border-bottom:1px solid var(--line);scrollbar-width:none;flex:none;gap:2px;display:flex;overflow-x:auto}.tab{height:38px;color:var(--ink-2);font-size:var(--t-sm);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 10px;font-weight:550;display:inline-flex}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tab-count{border-radius:var(--r-tag);background:var(--surface-2);color:var(--ink-2);font-size:var(--t-2xs);padding:0 5px;font-weight:600}.panel{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);min-width:0}.panel-head{align-items:center;gap:var(--s-2);border-bottom:1px solid var(--line);min-height:44px;padding:6px 12px 6px 16px;display:flex}.panel-head h2{font-size:var(--t-md);font-stretch:var(--title-width)}.panel-body{padding:var(--s-4)}.panel-body.flush{padding:0}.pad{padding:var(--s-4)}.readings{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid;overflow:hidden}.reading{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;background:0 0;flex-direction:column;gap:2px;min-width:0;margin:0 -1px -1px 0;padding:12px 16px 13px;display:flex}button.reading:hover{background:var(--surface-2)}.reading-label{font-size:var(--t-xs);color:var(--ink-2);font-weight:550;font-stretch:88%}.reading-value{font-size:var(--t-2xl);font-stretch:var(--figure-width);letter-spacing:-.02em;font-weight:650;line-height:1.15}.reading-unit{font-size:var(--t-sm);color:var(--ink-3);letter-spacing:0;margin-left:3px;font-weight:500}.reading-note{font-size:var(--t-xs);color:var(--ink-3);align-items:center;gap:5px;display:inline-flex}.meter{background:var(--grid);vertical-align:middle;border-radius:3px;width:56px;height:6px;display:inline-block;overflow:hidden}.meter-fill{background:var(--tone);border-radius:3px;height:100%;display:block}.cell-pct{align-items:center;gap:8px;display:inline-flex}.empty{align-items:flex-start;gap:var(--s-2);padding:var(--s-6) var(--s-5);color:var(--ink-3);flex-direction:column;max-width:56ch;display:flex}.empty h3{color:var(--ink);font-size:var(--t-lg)}.empty .btn{margin-top:var(--s-2)}.skeleton{padding:var(--s-4);flex-direction:column;gap:14px;display:flex}.skeleton span{background:var(--surface-2);border-radius:2px;height:12px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45}}.notice{border-radius:var(--r-ctl);background:var(--tone-soft);box-shadow:inset 3px 0 0 var(--tone);font-size:var(--t-sm);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.notice .glyph{margin-top:4px}.toasts{z-index:100;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{border:1px solid var(--line-strong);border-radius:var(--r-panel);background:var(--raised);box-shadow:var(--shadow-overlay), inset 3px 0 0 var(--tone);font-size:var(--t-sm);align-items:flex-start;gap:10px;padding:10px 14px;animation:.14s ease-out pop;display:flex}.toast .glyph{margin-top:4px}.toast a{text-decoration:underline}.table-wrap{min-height:0;overflow:auto}.table-wrap[aria-busy=true]{opacity:.6}.table{font-size:var(--t-sm)}.table th{z-index:1;background:var(--surface-2);border-bottom:1px solid var(--line-strong);height:34px;color:var(--ink-2);font-size:var(--t-xs);text-align:left;white-space:nowrap;padding:0 12px;font-weight:600;font-stretch:86%;position:sticky;top:0}.table th.num{text-align:right}.th-sort{color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.th-sort:hover{color:var(--ink)}.table td{border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;max-width:340px;height:38px;padding:5px 12px;overflow:hidden}.table tbody tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tbody tr:hover td{background:var(--surface-2)}.table tr.selected td{background:var(--accent-soft)}.cell-check{width:36px;padding-right:0!important}.cell-actions{text-align:right;width:44px;padding:0 6px!important}.cell-link{color:var(--accent);font:inherit;text-align:left;text-overflow:ellipsis;background:0 0;border:0;max-width:100%;padding:0;font-weight:600;overflow:hidden}.cell-link:hover{text-underline-offset:2px;text-decoration:underline}.toolbar{align-items:center;gap:var(--s-2);border-bottom:1px solid var(--line);flex-wrap:wrap;padding:10px 12px;display:flex}.toolbar .search{flex:220px;max-width:340px}.toolbar .combo{width:auto;max-width:240px}.bulkbar{align-items:center;gap:var(--s-3);background:var(--accent-soft);border-bottom:1px solid var(--line);font-size:var(--t-sm);padding:8px 12px;display:flex}.pager{align-items:center;gap:var(--s-3);border-top:1px solid var(--line);font-size:var(--t-xs);color:var(--ink-2);padding:8px 12px;display:flex}.pager .combo{width:84px}.kv{gap:14px var(--s-5);display:grid}.kv-2{grid-template-columns:repeat(2,minmax(0,1fr))}.kv-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kv>.wide{grid-column:1/-1}.kv dt{font-size:var(--t-xs);color:var(--ink-3);font-weight:550;font-stretch:88%}.kv dd{font-size:var(--t-md);overflow-wrap:anywhere;margin-top:1px}@media (width<=640px){.kv-2,.kv-3{grid-template-columns:minmax(0,1fr)}}.section-title{margin:0 0 var(--s-3);border-bottom:1px solid var(--line);font-size:var(--t-sm);font-weight:650;font-stretch:var(--title-width);padding-bottom:6px}.section+.section{margin-top:var(--s-5)}.timeline{flex-direction:column;display:flex}.timeline li{gap:12px;padding:0 0 16px;display:flex;position:relative}.timeline li:before{content:"";background:var(--line-strong);width:1px;position:absolute;top:14px;bottom:0;left:4px}.timeline li:last-child:before{display:none}.timeline-dot{background:var(--tone);border-radius:50%;flex:none;width:9px;height:9px;margin-top:5px}.timeline-title{font-size:var(--t-sm);font-weight:550}.timeline-body{font-size:var(--t-sm);color:var(--ink-2);margin-top:2px}.timeline-meta{font-size:var(--t-xs);color:var(--ink-3);margin-top:2px}.tree ul{margin:0}.tree-row{min-height:30px;font-size:var(--t-sm);border-radius:3px;align-items:center;gap:4px;padding-right:8px;display:flex}.tree-row:hover{background:var(--surface-2)}.tree-row.selected{background:var(--accent-soft)}.tree-toggle{width:20px;height:20px;color:var(--ink-3);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.tree-label{text-align:left;background:0 0;border:0;padding:4px 0}.tree-meta{color:var(--ink-3);font-size:var(--t-xs);align-items:center;gap:8px;display:inline-flex}.stepper{gap:var(--s-4);font-size:var(--t-sm);color:var(--ink-3);flex-wrap:wrap;display:flex}.stepper li{align-items:center;gap:8px;display:flex}.stepper-n{border:1px solid var(--line-strong);width:20px;height:20px;font-size:var(--t-2xs);border-radius:50%;place-items:center;font-weight:650;display:grid}.stepper li.current{color:var(--ink);font-weight:600}.stepper li.current .stepper-n{background:var(--ink);border-color:var(--ink);color:var(--surface)}.stepper li.done .stepper-n{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.copytext{align-items:center;gap:2px;display:inline-flex}.copytext .icon-btn{opacity:0}.copytext:hover .icon-btn,.copytext .icon-btn:focus-visible{opacity:1}.chart{min-width:0;position:relative}.chart .axis{fill:var(--ink-3);font-size:11px;font-stretch:86%}.chart .axis.strong{fill:var(--ink-2);font-weight:600}.legend{font-size:var(--t-xs);color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin-bottom:8px;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.legend strong{color:var(--ink);font-weight:600}.legend-swatch{border-radius:2px;flex:none;width:10px;height:10px}.sharebar+.legend{margin:10px 0 0}.chart-tip{z-index:5;border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--raised);min-width:150px;box-shadow:var(--shadow-overlay);font-size:var(--t-xs);pointer-events:none;padding:8px 10px;position:absolute;translate:-50%}.chart-tip-title{color:var(--ink-3);margin-bottom:4px}.chart-tip-row{align-items:center;gap:6px;display:flex}.barlist{flex-direction:column;gap:2px;display:flex}.barlist li>*{text-align:left;width:100%;font-size:var(--t-sm);background:0 0;border:0;grid-template-columns:minmax(80px,34%) 1fr auto;align-items:center;gap:10px;padding:5px 0;display:grid}.barlist li>button:hover .barlist-label{color:var(--accent);text-decoration:underline}.barlist-track{height:8px}.barlist-bar{border-radius:0 4px 4px 0;height:100%;display:block}.barlist-value{white-space:nowrap;font-weight:600}.sharebar{gap:2px;height:14px;display:flex}.sharebar span{border-radius:2px;min-width:3px}.gauge{position:relative}.gauge-value{text-align:center;font-size:var(--t-2xl);font-stretch:var(--figure-width);letter-spacing:-.02em;font-weight:650;line-height:1;position:absolute;bottom:0;left:0;right:0}.graph{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);flex-direction:column;min-height:320px;display:flex;overflow:hidden}.graph-tools{align-items:center;gap:var(--s-2);border-bottom:1px solid var(--line);flex-wrap:wrap;padding:6px 8px 6px 12px;display:flex}.graph-tools .combo{width:auto;min-width:150px}.graph-canvas{cursor:grab;touch-action:none;background-image:radial-gradient(var(--line) 1px, transparent 1px);background-size:20px 20px;flex:auto;min-height:0}.graph-canvas:active{cursor:grabbing}.graph-node{cursor:pointer;outline:none}.graph-node-box{fill:var(--raised);stroke:var(--line-strong);stroke-width:1px}.graph-node:hover .graph-node-box,.graph-node:focus-visible .graph-node-box{stroke:var(--accent);stroke-width:2px}.graph-node.selected .graph-node-box{stroke:var(--accent);stroke-width:2px;fill:var(--accent-soft)}.graph-node.out{cursor:default}.graph-node.out .graph-node-box{fill:var(--surface-2);stroke-dasharray:4 3}.graph-node-icon{color:var(--ink-2)}.graph-node-label{fill:var(--ink);font-size:12px;font-weight:600}.graph-node-sub{fill:var(--ink-3);font-size:10.5px;font-stretch:86%}.graph-node-badge{fill:#172024;font-size:10px;font-weight:700}.graph-edge-label{fill:var(--ink-2);paint-order:stroke;stroke:var(--surface);stroke-width:4px;font-size:10.5px}.graph-legend{border-top:1px solid var(--line);font-size:var(--t-xs);color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;padding:7px 12px;display:flex}.graph-legend li{align-items:center;gap:5px;display:inline-flex}.graph-legend li:last-child{margin-left:auto}.form-rows{gap:var(--s-3);display:grid}.form-rows-row{align-items:flex-start;gap:var(--s-2);padding-bottom:var(--s-3);border-bottom:1px solid var(--line);display:flex}.form-rows-row>.form-grid{flex:1;min-width:0}.filter-input{align-items:center;gap:var(--s-2);color:var(--ink-2,inherit);font-size:var(--fs-sm,.875rem);display:inline-flex}.filter-input>.input{width:auto;min-width:132px}.graph-note{border-bottom:1px solid var(--line);color:var(--warn,inherit);font-size:var(--fs-sm,.875rem);margin:0;padding:6px 12px}.graph-links{gap:6px;margin:0;padding:0;list-style:none;display:grid}.graph-links li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.shell{grid-template-columns:var(--rail-w) var(--index-w) minmax(0, 1fr);height:100dvh;display:grid}.shell.index-closed{grid-template-columns:var(--rail-w) minmax(0, 1fr)}.skip-link{z-index:200;background:var(--mark);color:#172024;border-radius:var(--r-ctl);padding:8px 12px;font-weight:600;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}.rail{background:var(--rail-bg);color:var(--rail-ink);scrollbar-width:none;flex-direction:column;display:flex;overflow-y:auto}.rail-brand{height:var(--top-h);color:#fff;flex:none;place-items:center;display:grid}.rail ul{flex-direction:column;gap:1px;padding:6px 0 12px;display:flex}.rail-item{width:100%;color:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 7px;font-size:10.5px;font-weight:550;font-stretch:80%;line-height:1.1;display:flex;position:relative}.rail-item:hover{color:var(--rail-ink-on);background:#ffffff0f}.rail-item.on{color:var(--rail-ink-on);background:#ffffff1a}.rail-item.on:before{content:"";background:var(--mark);width:3px;position:absolute;top:8px;bottom:8px;left:0}.rail-item:focus-visible{outline-color:var(--mark);outline-offset:-2px}.index{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;min-height:0;display:flex}.index[hidden]{display:none}.index-title{height:var(--top-h);border-bottom:1px solid var(--line);font-size:var(--t-lg);font-stretch:var(--title-width);flex:none;align-items:center;padding:0 16px;display:flex}.index-scroll{padding:10px 8px 24px;overflow-y:auto}.index-section+.index-section{margin-top:14px}.index-section h3{color:var(--ink-3);font-size:var(--t-xs);padding:4px 8px;font-weight:600;font-stretch:88%}.index-item{border-radius:var(--r-ctl);color:var(--ink-2);font-size:var(--t-sm);padding:6px 8px;line-height:1.3;display:block}.index-item:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.index-item.on{background:var(--accent-soft);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.shell-main{flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{align-items:center;gap:var(--s-2);height:var(--top-h);border-bottom:1px solid var(--line);background:var(--surface);flex:none;padding:0 16px 0 10px;display:flex}.global-search{flex:320px;max-width:520px}.global-search .input{background:var(--surface-2);border-color:#0000;padding-right:44px}.global-search .input:focus{background:var(--raised);border-color:var(--line-strong)}.global-search kbd{pointer-events:none;position:absolute;right:8px}.search-pop{width:min(560px,94vw)}.search-results{padding:6px;overflow-y:auto}.search-results h3{color:var(--ink-3);font-size:var(--t-xs);padding:8px 8px 4px;font-stretch:88%}.search-results button{text-align:left;width:100%;font-size:var(--t-sm);background:0 0;border:0;border-radius:3px;align-items:center;gap:10px;padding:6px 8px;display:flex}.search-results button:hover,.search-results button:focus-visible{background:var(--accent-soft);outline:0}.search-results button>.muted{max-width:45%}.scope{width:210px}.lang{font-size:var(--t-xs);font-weight:650;font-stretch:90%}.bell{position:relative}.bell-count{background:var(--crit);min-width:15px;height:15px;color:var(--surface);text-align:center;border-radius:8px;padding:0 3px;font-size:9.5px;font-weight:700;line-height:15px;position:absolute;top:2px;right:0}.notif-pop{width:min(400px,94vw)}.notif-pop header{border-bottom:1px solid var(--line);font-size:var(--t-xs);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.notif-pop h2{font-size:var(--t-md)}.notif-pop ul{overflow-y:auto}.notif-pop li+li{border-top:1px solid var(--line)}.notif-pop li button{text-align:left;width:100%;font-size:var(--t-sm);background:0 0;border:0;gap:10px;padding:10px 14px;display:flex}.notif-pop li button:hover{background:var(--surface-2)}.notif-pop li button.unread{box-shadow:inset 3px 0 0 var(--accent)}.notif-pop li button:not(.unread) strong{font-weight:500}.notif-pop .glyph{margin-top:5px}.notif-pop .grow{flex-direction:column;gap:1px;display:flex}.notif-body{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notif-pop .muted{font-size:var(--t-xs)}.avatar{background:var(--ink);width:32px;height:32px;color:var(--surface);font-size:var(--t-xs);border:0;border-radius:50%;flex:none;place-items:center;font-weight:650;display:grid}.content{gap:var(--s-4);outline:0;flex-direction:column;flex:auto;min-height:0;padding:20px 24px 40px;display:flex;overflow-y:auto}.shell-main>.notice{border-radius:0}.page-head{align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;display:flex}.crumbs{color:var(--ink-3);font-size:var(--t-xs);gap:6px;margin-bottom:2px;display:flex}.crumbs span+span:before{content:"/";color:var(--line-strong);margin-right:6px}.page-desc{max-width:72ch;color:var(--ink-2);font-size:var(--t-md);margin-top:4px}.page-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.screen-id{border:1px dashed var(--line-strong);border-radius:var(--r-tag);color:var(--ink-3);padding:2px 6px;font-size:10.5px}.list-panel{flex-direction:column;min-height:0;display:flex}.list-panel .table-wrap{min-height:160px;max-height:calc(100dvh - 250px)}.toolbar-columns .combo{width:auto}.toolbar-columns .combo-trigger{border-color:var(--line-strong);background:var(--surface);font-weight:550;font-size:var(--t-xs);min-height:28px}.toolbar-columns .combo-value{color:var(--ink-3);font-weight:400}.detail-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.detail-fill{flex-direction:column;flex:auto;min-height:420px;display:flex}.detail-fill>.graph,.detail-body .table-wrap{flex:auto}.settings-section{gap:var(--s-5);padding:var(--s-5);grid-template-columns:minmax(200px,280px) minmax(0,1fr);display:grid}.settings-section+.settings-section,.settings-footer{border-top:1px solid var(--line)}.settings-footer{padding:var(--s-5)}.settings-aside p{color:var(--ink-2);font-size:var(--t-sm);margin-top:6px}.settings-aside .muted{font-size:var(--t-xs)}.only-mobile,.drawer-scrim{display:none}@media (width<=860px){.shell,.shell.index-closed{grid-template-columns:minmax(0,1fr)}.rail,.index{z-index:80;transition:translate .18s ease-out;position:fixed;top:0;bottom:0;translate:-120%}.rail{width:var(--rail-w);left:0}.index,.index[hidden]{left:var(--rail-w);width:min(var(--index-w), calc(100vw - var(--rail-w) - 40px));translate:calc(-100% - var(--rail-w) - 8px) 0;display:flex}.drawer-open .rail,.drawer-open .index{translate:0}.drawer-open .drawer-scrim{z-index:70;background:var(--scrim);border:0;display:block;position:fixed;inset:0}.only-mobile{display:inline-grid}.only-desktop{display:none!important}.content{padding:16px 12px 32px}.topbar{padding:0 8px}.settings-section{gap:var(--s-3);padding:var(--s-4);grid-template-columns:minmax(0,1fr)}.toolbar .search{flex-basis:100%;max-width:none}.list-panel .table-wrap{max-height:none}}.tabbed{flex-direction:column;min-height:0;display:flex}.tabbed>.tabs{margin-bottom:var(--s-4);padding:0}.tabbed>.panel>.tabs,.list-panel>.tabs{padding:0 var(--s-3)}.login{background:var(--surface);grid-template-columns:minmax(360px,480px) minmax(0,1fr);min-height:100dvh;display:grid}.login-form{justify-content:space-between;gap:var(--s-6);flex-direction:column;padding:40px 48px 28px;display:flex}.login-form h1{font-size:var(--t-3xl);font-stretch:var(--title-width);letter-spacing:-.025em}.login-form .brand{color:var(--ink)}.brand{align-items:center;gap:10px;display:inline-flex}.brand-word{font-size:var(--t-xl);letter-spacing:-.02em;font-weight:700;font-stretch:125%}.login-totp{font-size:var(--t-xl);letter-spacing:.3em}.login-prefs{margin-left:-9px}.login-plate{justify-content:space-between;gap:var(--s-5);color:#b9c6c6;isolation:isolate;background:#0b1316;flex-direction:column;padding:56px clamp(32px,5vw,80px) 44px;display:flex;position:relative;overflow:hidden}.login-backdrop{z-index:-1;width:100%;height:100%;position:absolute;inset:0}.login-claim{color:#f1f4f1;max-width:20ch;font-size:clamp(1.75rem,2.8vw,2.75rem);font-stretch:var(--title-width);letter-spacing:-.025em;text-wrap:balance;font-weight:650;line-height:1.08}.login-caption{max-width:44ch;font-size:var(--t-md);color:#c9d6d6}.lb-floor line{stroke:#2a4047;stroke-width:1px}.lb-rack{fill:url(#lb-rack);stroke:#2b4750;stroke-width:1px}.lb-lights .on{fill:#4ccfd2}.lb-lights .ok{fill:#5fc27e}.lb-lights .warn{fill:#f2c230}.lb-lights .crit{fill:#ff6b5b}.lb-lights .blink{animation:3.2s step-end infinite lb-blink}.lb-lights .b2{animation-duration:4.7s;animation-delay:-1.3s}.lb-lights .b3{animation-duration:2.3s;animation-delay:-.6s}.lb-lights .b4{animation-duration:6.1s;animation-delay:-2.9s}@keyframes lb-blink{0%,78%{visibility:visible}79%,to{visibility:hidden}}@media (prefers-reduced-motion:reduce){.lb-lights .blink{animation:none}}@media (width<=900px){.login{grid-template-columns:minmax(0,1fr)}.login-plate{display:none}.login-form{padding:28px 20px 20px}}.home{gap:var(--s-4);flex-direction:column;display:flex}.home-tiles .reading{padding:8px 14px 9px}.home-tiles .reading-value{font-size:var(--t-2xl)}.home-tiles .readings{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.home-tiles .reading-label{min-height:2.5em}.home-tiles .reading-note{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.home-hero,.home-pair{gap:var(--s-4);grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);align-items:start;display:grid}.home-pair.even{grid-template-columns:repeat(2,minmax(0,1fr))}.home-stack{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.home-section{min-width:0}.home-section-head{align-items:center;gap:var(--s-2);min-height:32px;margin-bottom:var(--s-2);display:flex}.home-section-head h2{font-size:var(--t-lg);flex:1}.home-panel{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);padding:12px 16px 16px}.home-panel h3{margin:var(--s-4) 0 var(--s-2);font-size:var(--t-sm);color:var(--ink-2);font-weight:600}.home-panel h3 a{color:inherit}.home-attention-count{margin-bottom:var(--s-2);font-size:var(--t-sm)}.home-ledger{margin-bottom:var(--s-2);border-top:1px solid var(--line)}.home-ledger>li{border-bottom:1px solid var(--line)}.home-ledger a{gap:var(--s-2);border-left:3px solid var(--warn);color:var(--ink);font-size:var(--t-sm);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;padding:7px 8px 7px 10px;display:grid}.home-ledger li.crit a{border-left-color:var(--crit)}.home-ledger a:hover{background:var(--surface-2);text-decoration:none}.home-ledger-text{overflow-wrap:anywhere}.home-ledger li.crit .home-ledger-text{font-weight:600}.home-ledger-since{font-size:var(--t-xs);color:var(--ink-2);white-space:nowrap}.home-clear{font-size:var(--t-md)}.home-classes{width:100%;margin-top:var(--s-2);border-collapse:collapse;font-size:var(--t-sm)}.home-classes th,.home-classes td{border-top:1px solid var(--line);text-align:left;white-space:nowrap;padding:5px 0 5px 12px}.home-classes thead th{color:var(--ink-2);border-top:0;padding-top:0;font-weight:500}.home-classes th:first-child{padding-left:0;font-weight:500}.home-classes .num{text-align:right;font-variant-numeric:tabular-nums}.home-classes td.ok{color:var(--ok)}.home-classes td.warn{color:var(--warn);font-weight:600}.home-classes td.crit{color:var(--crit);font-weight:600}.home-class-bar{width:46%}.home-class-bar span{background:var(--series-1);border-radius:1px;min-width:2px;height:12px;display:block}.home-classes-rest th,.home-classes-rest td{color:var(--ink-2)}.home-classes-rest .home-class-bar span{background:var(--line-strong)}.home-score{gap:var(--s-3);font-size:var(--t-sm);flex-wrap:wrap;align-items:baseline;display:flex}.home-score-value{font-size:var(--t-3xl);font-stretch:var(--figure-width);font-variant-numeric:tabular-nums;line-height:1}.home-score-value.ok{color:var(--ok)}.home-score-value.warn{color:var(--warn)}.home-bullet{display:block;position:relative}.home-bullet:after{content:"";background:var(--ink);width:2px;position:absolute;top:-3px;bottom:-3px;left:90%}.home-key{margin-top:var(--s-2);font-size:var(--t-xs)}.home-parts{margin-top:var(--s-3);gap:6px;display:grid}.home-part,.home-capacity-row{gap:var(--s-3);font-size:var(--t-sm);grid-template-columns:minmax(0,7.5rem) minmax(60px,1fr) 3.25rem;align-items:center;display:grid}.home-capacity-row{grid-template-columns:minmax(0,1.5fr) minmax(60px,1fr) 3.25rem}.home-part .meter,.home-capacity-row .meter{width:100%}.home-part strong,.home-capacity-row strong{text-align:right;font-variant-numeric:tabular-nums}.home-trend{gap:var(--s-2);margin-top:var(--s-3);font-size:var(--t-sm);align-items:center;display:flex}.home-lanes{margin-bottom:var(--s-4);gap:2px;display:grid}.home-lane{gap:var(--s-3);min-height:30px;font-size:var(--t-sm);grid-template-columns:6.5rem minmax(0,1fr) 2rem;align-items:center;display:grid}.home-lane-count{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}.home-track{border-bottom:1px solid var(--line-strong);background:linear-gradient(to right, var(--line) 1px, transparent 1px) 0 0 / 33.333% 100%;height:30px;margin:0 7px;position:relative}.home-axis .home-track{background:0 0;border-bottom:0;height:18px}.home-tick{font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap;position:absolute;top:0;translate:-50%}.home-tick:first-child{translate:0}.home-tick:last-child{translate:-100%}.home-mark{border:1px solid var(--surface);background:var(--ink-3);width:11px;height:11px;position:absolute;top:50%;translate:-50% -50%;rotate:45deg}.home-mark.warn{background:var(--warn)}.home-mark.crit{background:var(--crit)}.home-lapsed{margin-bottom:var(--s-2);font-size:var(--t-sm);color:var(--crit);font-weight:600}.home-lapses>li{border-top:1px solid var(--line)}.home-lapses a{gap:var(--s-3);color:var(--ink);font-size:var(--t-sm);grid-template-columns:6rem minmax(0,1fr) auto 6.5rem;align-items:baseline;padding:7px 0;display:grid}.home-lapses a:hover{background:var(--surface-2);text-decoration:none}.home-lapse-kind{color:var(--ink-2)}.home-lapse-name{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.home-lapse-date{color:var(--ink-2);white-space:nowrap}.home-lapse-when{text-align:right;white-space:nowrap}.home-lapses .crit .home-lapse-when{color:var(--crit);font-weight:600}.home-lapses .warn .home-lapse-when{color:var(--warn);font-weight:600}.home-capacity:first-of-type h3{margin-top:0}.home-capacity-row{padding:3px 0}.home-capacity-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-changes>li{border-top:1px solid var(--line);font-size:var(--t-sm);gap:1px;padding:8px 0;display:grid}.home-changes>li:first-child{border-top:0;padding-top:0}@media (width<=900px){.home-hero,.home-pair,.home-pair.even{grid-template-columns:minmax(0,1fr)}.home-class-bar{width:30%}.home-lapses a{grid-template-columns:minmax(0,1fr) auto}.home-lapse-kind,.home-lapse-date{display:none}.home-lane{grid-template-columns:5.5rem minmax(0,1fr) 1.5rem}}.home-top{gap:var(--s-4);grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;display:grid}.home-health{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);color:var(--ink);flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px 14px;display:flex}.home-health:hover{background:var(--surface-2);text-decoration:none}@media (width<=900px){.home-top{grid-template-columns:minmax(0,1fr)}}.home-top .reading{justify-content:center}.perm-grid{gap:var(--s-4) var(--s-5);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));display:grid}.perm-grid h3{border-bottom:1px solid var(--line);font-size:var(--t-xs);font-stretch:var(--title-width);margin-bottom:6px;padding-bottom:4px}.perm-grid li{color:var(--ink-3);font-size:var(--t-xs);align-items:center;gap:6px;padding:2px 0;display:flex}.perm-grid li.on{color:var(--ink)}.perm-grid li.on svg{color:var(--ok)}.console{border-radius:var(--r-panel);color:#cfe9e2;font-size:var(--t-sm);background:#0b1113;margin:0;padding:20px 24px;line-height:1.7;overflow-x:auto}.mfa-enroll{gap:var(--s-5);flex-wrap:wrap;display:flex}.qr{background:conic-gradient(#172024 25%, #fff 0 50%, #172024 0 75%, #fff 0) 0 0 / 22px 22px, #fff;outline:1px solid var(--line-strong);border:8px solid #fff;flex:none;width:132px;height:132px}.dropzone{border:1px dashed var(--line-strong);border-radius:var(--r-panel);background:var(--surface-2);color:var(--ink-2);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:28px;display:flex}.dropzone:hover{border-color:var(--accent);color:var(--ink)}.dropzone:has(:focus-visible){border-color:var(--accent);color:var(--ink)}.mapping{flex-direction:column;gap:6px;max-width:520px;display:flex}.mapping-row{grid-template-columns:160px 16px minmax(0,1fr);align-items:center;gap:10px;display:grid}.crud-actions{min-height:32px}.comm-filters{gap:var(--s-3);font-size:var(--t-sm);color:var(--ink-2)}.comm-device{width:min(320px,100%)}.comm-port{width:92px;min-height:32px;font-size:var(--t-sm)}.impact-controls{border-bottom:0}.impact-controls .combo{width:100%;max-width:none}.impact-ci{flex:320px;max-width:460px}@media (width<=860px){.impact-ci{flex-basis:100%;max-width:none}}.adm-affected{gap:var(--s-1);max-height:240px;font-size:var(--t-sm);flex-direction:column;display:flex;overflow:auto}.cert-chain{flex-direction:column;gap:10px;display:flex}.cert-chain li{border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);font-size:var(--t-sm);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.cert-chain li:first-child{border-left-color:var(--accent)}.cert-chain svg{color:var(--ink-2);margin-top:2px}.cert-days{font-weight:600}.cert-days.warn{color:var(--warn)}.cert-days.crit{color:var(--crit)}.chg-filters{border-bottom:0}.chg-filters .combo{width:100%;max-width:none}.chg-filters label.row{font-size:var(--t-sm);color:var(--ink-2)}.chg-date{width:196px;min-height:32px;font-size:var(--t-sm)}.chg-day+.chg-day{border-top:1px solid var(--line)}.chg-day>h2{z-index:1;align-items:baseline;gap:var(--s-3);background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--t-sm);padding:10px 16px;display:flex;position:sticky;top:0}.chg-day>h2 .muted{font-weight:400;font-size:var(--t-xs)}.chg-day ol{padding:6px 16px 10px}.chg-day li{grid-template-columns:48px 12px minmax(0,1fr);gap:12px;padding:8px 0;display:grid;position:relative}.chg-day li:before{content:"";background:var(--line-strong);width:1px;position:absolute;top:0;bottom:0;left:65px}.chg-day li:first-child:before{top:14px}.chg-day li:last-child:before{bottom:calc(100% - 14px)}.chg-day time{color:var(--ink-3);font-size:var(--t-xs);padding-top:1px}.chg-dot{border:2px solid var(--surface);background:var(--info);border-radius:50%;width:11px;height:11px;margin-top:4px;position:relative}.chg-dot.kind-relationship_added{background:var(--ok);border-radius:2px}.chg-dot.kind-relationship_ended{background:var(--idle);border-radius:2px}.chg-entry{gap:4px var(--s-4);font-size:var(--t-sm);grid-template-columns:minmax(160px,1.1fr) minmax(0,2fr) minmax(0,1.4fr);align-items:baseline;min-width:0;display:grid}.chg-what{overflow-wrap:anywhere}.chg-old{color:var(--ink-3);text-decoration:line-through}.chg-new{font-weight:600}.chg-source{min-width:0;font-size:var(--t-xs);align-items:center;gap:8px;display:flex}@media (width<=900px){.chg-entry{grid-template-columns:minmax(0,1fr)}.chg-date{width:100%}}.chg-expected{gap:var(--s-2);flex-direction:column;display:flex}.chg-expected-row{gap:var(--s-2);grid-template-columns:minmax(0,1.2fr) 150px minmax(0,1.4fr) 26px;align-items:start;display:grid}@media (width<=640px){.chg-expected-row{grid-template-columns:minmax(0,1fr) 26px}.chg-expected-row>:nth-child(-n+3){grid-column:1}}.chg-drift{border:1px solid var(--line);border-radius:var(--r-panel);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.chg-drift>div{flex-direction:column;gap:4px;padding:12px 16px;display:flex}.chg-drift>div+div{border-left:1px solid var(--line)}.chg-drift-value{font-size:var(--t-xl);font-stretch:var(--figure-width);overflow-wrap:anywhere;font-weight:650}.rack-view{--u:15px;gap:var(--s-3);padding:var(--s-4);flex-direction:column;display:flex}.rack-toolbar{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.rack-legend{font-size:var(--t-xs);color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;display:flex}.rack-legend li{align-items:center;gap:6px;display:inline-flex}.rack-key{border-radius:2px;width:18px;height:10px}.rack-key.item{background:var(--raised);border:1px solid var(--line-strong);box-shadow:inset 3px 0 0 var(--ok)}.rack-key.ghost{border:1px dashed var(--ink-3)}.rack-key.reserved,.rack-reserved{background:repeating-linear-gradient(135deg, var(--mark-soft) 0 5px, transparent 5px 10px);border:1px solid var(--mark)}.rack-stage{gap:var(--s-4);grid-template-columns:minmax(0,1fr) 260px;align-items:start;display:grid}.rack-faces{gap:var(--s-3);padding-bottom:4px;display:flex;overflow-x:auto}.rack-face{flex:250px;min-width:230px;max-width:360px}.rack-face-title{font-size:var(--t-xs);color:var(--ink-2);margin-bottom:4px;font-weight:600;font-stretch:88%}.rack-frame{border:2px solid var(--rail-bg);background-color:var(--surface-2);background-image:linear-gradient(to bottom, transparent calc(var(--u) - 1px), var(--line) calc(var(--u) - 1px));background-size:100% var(--u);border-radius:3px;grid-template-columns:24px minmax(0,1fr) 24px;display:grid;position:relative}.rack-rail{background:var(--rail-bg);color:var(--rail-ink);border-bottom:1px solid #ffffff17;place-items:center;font-size:9px;font-weight:600;font-stretch:78%;line-height:1;display:grid}.rack-rail.left{grid-column:1}.rack-rail.right{grid-column:3}.rack-free{background:0 0;border:0;grid-column:2;padding:0}.rack-free:hover:not(:disabled){background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.rack-free:disabled{cursor:default}.rack-reserved{color:var(--ink);border-radius:2px;grid-column:2;align-items:center;min-width:0;margin:1px;padding:0 6px;font-size:10px;font-weight:600;font-stretch:84%;display:flex}.rack-item{border:1px solid var(--line-strong);background:var(--raised);min-width:0;color:var(--ink);text-align:left;z-index:1;border-radius:2px;grid-column:2;align-items:center;gap:5px;margin:1px;padding:0 6px;font-size:10.5px;font-stretch:86%;line-height:1.1;display:flex}button.rack-item:hover{border-color:var(--accent)}.rack-item.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.rack-item.tall{flex-wrap:wrap;align-content:center;row-gap:1px}.rack-item.tall .rack-item-model{color:var(--ink-3);flex-basis:100%;padding-left:15px;font-size:9.5px}.rack-item-name{flex:1 1 0;font-weight:600}.rack-item.pictured{position:relative;overflow:hidden}.rack-item-image{object-fit:fill;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.rack-item.pictured .glyph{background:var(--raised);box-shadow:0 0 0 2px var(--raised);border-radius:50%}.rack-item.pictured .rack-item-name{background:var(--raised);border-radius:2px;flex:0 auto;padding:0 4px}.rack-item:not(.tall) .rack-item-model{max-width:45%;color:var(--ink-3);flex:0 auto;font-size:9.5px}.rack-item.ghost{border-style:dashed;border-color:var(--ink-3);color:var(--ink-3);pointer-events:none;background:0 0}.rack-item svg{color:var(--ink-2)}.rack-review{background:var(--mark);color:#172024;border-radius:2px;flex:none;place-items:center;width:13px;height:13px;font-size:10px;font-weight:800;display:inline-grid}.rack-channel{flex:none;width:44px}.rack-channel-slots{flex-direction:column;gap:2px;display:flex}.rack-slot{border:1px dashed var(--line-strong);color:var(--ink-3);background:0 0;border-radius:2px;flex:1 1 0;place-items:center;min-height:0;padding:0;font-size:9.5px;display:grid}.rack-slot.filled{border:1px solid var(--line-strong);background:var(--raised);color:var(--ink);align-content:center;gap:2px}.rack-slot.filled span{writing-mode:vertical-rl;max-height:100px;font-weight:600;font-stretch:78%;overflow:hidden}.rack-slot.selected{border-color:var(--accent);background:var(--accent-soft)}.rack-inspector{padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface-2);font-size:var(--t-sm);position:sticky;top:0}.rack-inspector h3{font-size:var(--t-md);overflow-wrap:anywhere}.whatif{gap:var(--s-3);flex-direction:column;display:flex}.whatif li{align-items:flex-start;gap:10px;display:flex}@media (width<=900px){.rack-stage{grid-template-columns:minmax(0,1fr)}.rack-inspector{position:static}}.floor-scroll{padding-bottom:4px;overflow-x:auto}.floor{--tile:46px;width:max-content;display:grid}.floor-axis{color:var(--ink-3);place-items:center;font-size:10px;font-stretch:84%;display:grid}.floor-tiles{border:1px solid var(--line-strong);background-color:var(--surface-2);background-image:linear-gradient(to right, var(--line) 1px, transparent 1px), linear-gradient(to bottom, var(--line) 1px, transparent 1px);background-size:var(--tile) var(--tile)}.floor-object{border:1px dashed var(--ink-3);color:var(--ink-2);text-align:center;z-index:1;border-radius:2px;place-items:center;min-width:0;margin:2px;padding:0 3px;font-size:9.5px;font-stretch:80%;display:grid}.floor-object.kind-crac_unit,.floor-object.kind-ups_cabinet{background:var(--info-soft);border-style:solid}.floor-object.kind-column{background:var(--line-strong);border-style:solid}.floor-object.kind-perforated_tile{background-image:radial-gradient(var(--line-strong) 1.2px, transparent 1.2px);opacity:.8;z-index:0;background-size:8px 8px;border:0;margin:0}.floor-target{z-index:2;background:0 0;border:0;border-radius:2px;margin:3px}.floor-target:hover,.floor-target:focus-visible{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.floor-rack{border:1px solid var(--ink-2);background:var(--tone-soft,var(--raised));color:var(--ink);z-index:3;--tone-soft:var(--raised);border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:2px;padding:2px;font-size:10px;font-stretch:82%;line-height:1.1;display:flex;position:relative}.floor-rack.tone-ok{--tone-soft:var(--ok-soft);--tone:var(--ok)}.floor-rack.tone-warn{--tone-soft:var(--warn-soft);--tone:var(--warn)}.floor-rack.tone-crit{--tone-soft:var(--crit-soft);--tone:var(--crit)}.floor-rack.tone-mark{--tone-soft:var(--mark-soft);--tone:var(--mark)}.floor-rack.tone-idle{--tone-soft:var(--idle-soft);--tone:var(--idle)}.floor-rack.facing-south{border-bottom:4px solid var(--tone,var(--ink-2))}.floor-rack.facing-north{border-top:4px solid var(--tone,var(--ink-2))}.floor-rack.facing-east{border-right:4px solid var(--tone,var(--ink-2))}.floor-rack.facing-west{border-left:4px solid var(--tone,var(--ink-2))}.floor-rack:hover{border-color:var(--accent)}.floor-rack.selected{outline:2px solid var(--accent);outline-offset:1px}.floor-rack-name{font-weight:700}.floor-rack-value{font-weight:600}.floor-rack-bar{background:var(--grid);border-radius:2px;align-items:flex-end;width:4px;display:flex;position:absolute;top:2px;bottom:2px;left:2px}.floor-rack-bar span{background:var(--tone);border-radius:2px;width:100%;display:block}.floor-legend{font-size:var(--t-xs);color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;display:flex}.floor-legend li{align-items:center;gap:6px;display:inline-flex}.floor-key{border:1px solid var(--tone);background:var(--tone-soft);border-bottom-width:3px;border-radius:2px;width:14px;height:10px}.floor-key.tone-mark{--tone:var(--mark);--tone-soft:var(--mark-soft)}.floor-inspector{align-items:center;gap:var(--s-2);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-2);font-size:var(--t-sm);flex-wrap:wrap;padding:10px 12px;display:flex}.room-picker{width:300px;max-width:100%;display:inline-flex}.planned .input{width:84px}.reading-small{font-size:var(--t-md);letter-spacing:0;overflow-wrap:anywhere;font-weight:600;font-stretch:100%}.floor3d-ground{fill:var(--surface-2);stroke:var(--line-strong)}.floor3d-line{fill:none;stroke:var(--line);stroke-width:.8px}.floor3d-object polygon{fill:var(--idle-soft);stroke:var(--ink-3);stroke-width:.8px}.floor3d-rack{cursor:pointer;outline:none}.floor3d-rack polygon{stroke:var(--surface);stroke-width:1px;fill:var(--band)}.floor3d-rack .side-a{fill-opacity:.72}.floor3d-rack .side-b{fill-opacity:.5}.floor3d-rack text{fill:#172024;pointer-events:none;font-size:9px;font-weight:700}.floor3d-rack.band-ok{--band:var(--ok)}.floor3d-rack.band-warn{--band:var(--warn)}.floor3d-rack.band-crit{--band:var(--crit)}.floor3d-rack.band-mark{--band:var(--mark)}.floor3d-rack.band-ok text,.floor3d-rack.band-warn text,.floor3d-rack.band-crit text{fill:#fff}.floor3d-rack:hover polygon,.floor3d-rack:focus-visible polygon{stroke:var(--accent);stroke-width:2px}.capacity-form{gap:var(--s-3);grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:end;display:grid}.capacity-flag{flex-wrap:wrap;align-items:center;gap:4px 6px;display:inline-flex}.capacity-flag svg{color:var(--warn);flex:none}.cable-colour{align-items:center;gap:6px;display:inline-flex}.cable-swatch{border:1px solid var(--line-strong);border-radius:50%;flex:none;width:12px;height:12px}.capacity-skipped summary{cursor:pointer;font-size:var(--t-sm)}.capacity-skipped p{font-size:var(--t-sm);margin-top:6px}@media (width<=900px){.capacity-form{grid-template-columns:minmax(0,1fr)}}.wo-bar{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.wo-filter{width:220px;max-width:100%}.wo-mine{min-height:32px;font-size:var(--t-sm);align-items:center;gap:8px;display:inline-flex}.wo-list{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));display:grid}.wo-card{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);text-align:left;flex-direction:column;gap:6px;width:100%;min-width:0;height:100%;padding:12px 14px;display:flex}.wo-card:hover{border-color:var(--accent)}.wo-card-head{justify-content:space-between;align-items:center;gap:var(--s-2);color:var(--ink-2);display:flex}.wo-card-title{font-size:var(--t-md);overflow-wrap:anywhere;line-height:1.3}.wo-card-meta{color:var(--ink-2);font-size:var(--t-xs);flex-wrap:wrap;gap:2px 12px;display:flex}.wo-card-progress{color:var(--ink-3);font-size:var(--t-xs);align-items:center;gap:8px;margin-top:auto;display:flex}.wo-tasks,.wo-edit{gap:var(--s-2);flex-direction:column;display:flex}.wo-task{align-items:center;gap:var(--s-3);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);flex-wrap:wrap;padding:10px 12px;display:flex}.wo-task.state-done{background:var(--surface-2)}.wo-task.state-skipped{opacity:.6}.wo-task-seq{border:1px solid var(--line-strong);width:24px;height:24px;font-size:var(--t-xs);border-radius:50%;flex:none;place-items:center;font-weight:650;display:grid}.wo-task-body{min-width:0;font-size:var(--t-sm);overflow-wrap:anywhere;flex-direction:column;flex:180px;display:flex}.wo-task-done{min-height:44px;padding:0 16px}.wo-edit li{align-items:center;gap:var(--s-2);display:flex}.wo-edit-fields{gap:var(--s-2);flex:1 1 0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));min-width:0;display:grid}@media (width<=640px){.wo-task-done{flex:100%}.wo-filter{width:100%}}.disc-count{font-size:var(--t-sm);color:var(--ink-2)}.disc-count strong{font-size:var(--t-lg);font-stretch:var(--figure-width);color:var(--ink)}.disc-order{flex-direction:column;gap:4px;max-width:520px;margin-top:6px;display:flex}.disc-order li{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);font-size:var(--t-sm);align-items:center;gap:8px;padding:3px 4px 3px 8px;display:flex}.disc-order .stepper-n{flex:none}.disc-collector-state{align-self:end;min-height:34px}.disc-skipped{flex-direction:column;display:flex}.disc-skipped li{border-bottom:1px solid var(--line);font-size:var(--t-sm);flex-direction:column;gap:1px;padding:8px 0;display:flex}.disc-skipped li:last-child{border-bottom:0}.disc-skipped span{color:var(--ink-2)}.disc-log{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-2);max-height:360px;color:var(--ink);font-size:var(--t-xs);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:12px 14px;line-height:1.6;overflow:auto}.disc-secret{border:1px dashed var(--line-strong);border-radius:var(--r-ctl);background:var(--mark-soft);font-size:var(--t-md);overflow-wrap:anywhere;padding:12px 14px}.disc-secret .copytext .icon-btn{opacity:1}.dnet-supplies{gap:8px var(--s-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.dnet-supplies li{font-size:var(--t-sm);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;display:grid}.dnet-supplies .meter{width:96px}.dnet-slots{border:1px solid var(--line-strong);border-radius:var(--r-panel);background:var(--surface-2);gap:4px;padding:8px;display:grid}.dnet-slot{border:1px dashed var(--line-strong);border-radius:var(--r-tag);min-width:0;min-height:92px;font-size:var(--t-xs);flex-direction:column;gap:2px;padding:6px 7px;font-stretch:86%;display:flex}.dnet-slot.used{background:var(--raised);box-shadow:inset 0 3px 0 var(--accent);border-style:solid}.dnet-slot.conflict{border-color:var(--crit);box-shadow:inset 0 3px 0 var(--crit)}.dnet-slot-n{color:var(--ink-3);font-weight:650}.dnet-slot .tag{align-self:flex-start;margin-top:auto}@media (width<=720px){.dnet-slots{grid-template-columns:repeat(4,minmax(0,1fr))!important}}.dsrv-tree .tree-row{min-height:32px}.dsrv-tree .tree-meta{white-space:nowrap;gap:14px}.dsrv-tree .tree-meta .meter{width:44px}.dsrv-tree-tools .search{width:260px}.dsrv-tree-tools .combo{width:150px}@media (width<=720px){.dsrv-tree .tree-row{flex-wrap:wrap}.dsrv-tree .tree-meta{white-space:normal;flex-wrap:wrap;width:100%;padding:0 0 6px 28px}.dsrv-tree-tools{flex-wrap:wrap}}.enr-days{font-weight:600}.enr-days.soon{color:var(--warn)}.enr-days.past{color:var(--crit)}.enr-candidates{flex-direction:column;display:flex}.enr-candidates li{align-items:center;gap:var(--s-3);border-bottom:1px solid var(--line);font-size:var(--t-sm);padding:8px 0;display:flex}.enr-candidates li:last-child{border-bottom:0}.enr-confidence{text-align:right;width:40px;font-weight:600}.expo-kev{border-radius:var(--r-tag);background:var(--mark);color:#172024;font-size:var(--t-2xs);padding:0 6px;font-weight:700;line-height:18px;display:inline-block}.expo-overdue{color:var(--crit);font-weight:600}.coverage{flex-direction:column;display:flex}.coverage li{align-items:center;gap:var(--s-4);border-bottom:1px solid var(--line);font-size:var(--t-sm);grid-template-columns:minmax(150px,240px) minmax(120px,1fr) minmax(170px,260px);padding:10px 0;display:grid}.coverage li:last-child{border-bottom:0}.coverage-name,.coverage-figures{flex-direction:column;min-width:0;display:flex}.coverage-figures strong{font-size:var(--t-lg);font-stretch:var(--figure-width)}.coverage-bar{gap:2px;height:14px;display:flex}.coverage-bar span{border-radius:2px;min-width:3px}.coverage-bar.empty{border:1px dashed var(--line-strong);border-radius:2px}.coverage-id{background:var(--series-1)}.coverage-gap{background:repeating-linear-gradient(135deg, var(--warn) 0 3px, var(--warn-soft) 3px 6px)}.coverage-legend{margin:0}@media (width<=720px){.coverage li{grid-template-columns:minmax(0,1fr);gap:6px}}.int-map{max-width:640px}.int-map-row{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 28px}.plain-list{padding-left:18px;list-style:outside}.code-block{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-2);font-size:var(--t-xs);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;margin:0;padding:10px 12px;overflow:auto}.rule-editor .section+.section{margin-top:var(--s-2)}.rule-row{align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.rule-row>.combo,.rule-row>.input{flex:180px;width:auto}.rule-actions{padding-left:22px;list-style:decimal}.rule-actions>li::marker{color:var(--ink-3);font-size:var(--t-sm);font-weight:600}.ipgrid{flex-direction:column;gap:3px;max-width:880px;display:flex}.ipgrid-row{grid-template-columns:repeat(16,minmax(0,1fr));gap:3px;display:grid}.ipgrid-row>[role=gridcell]{min-width:0;display:flex}.ipcell{border:1px solid var(--line-strong);border-radius:var(--r-tag);background:var(--surface);min-width:0;height:30px;color:var(--ink-2);font-family:var(--font-mono);flex:auto;padding:0;font-size:11px;font-stretch:80%;line-height:1;position:relative}.ipcell:hover{border-color:var(--ink)}.ipcell:focus-visible{outline:2px solid var(--focus);outline-offset:1px;z-index:1}.ipcell.available{color:var(--ink-3);border-style:dotted}.ipcell.assigned{border-color:var(--ok);background:var(--ok-soft);color:var(--ink);box-shadow:inset 0 -3px 0 var(--ok);font-weight:650}.ipcell.reserved{border:1px dashed var(--info);background:var(--info-soft);color:var(--ink)}.ipcell.reserved:before{content:"";background:var(--info);border-radius:50%;width:5px;height:5px;position:absolute;top:3px;left:3px}.ipcell.dhcp{border-color:var(--accent);background:repeating-linear-gradient(135deg, var(--accent-soft) 0 5px, var(--surface) 5px 9px);color:var(--ink)}.ipcell.deprecated{border-color:var(--idle);background:var(--idle-soft);color:var(--ink-3);text-decoration:line-through}.ipcell.protocol{border-style:solid;border-color:var(--line);background:var(--surface-2);color:var(--ink-3);cursor:default;font-style:italic}.ipcell.protocol:hover{border-color:var(--line)}.ipcell.conflict{border-color:var(--crit);border-style:solid}.ipcell.conflict:after{content:"";border:5px solid #0000;border-top-color:var(--crit);border-right-color:var(--crit);position:absolute;top:0;right:0}.ipcell.swatch{width:22px;height:14px;box-shadow:none;pointer-events:none;flex:none;display:inline-block}.ipcell.swatch.assigned{box-shadow:inset 0 -3px 0 var(--ok)}.ipam-legend{font-size:var(--t-xs);color:var(--ink-2);flex-wrap:wrap;gap:6px 16px;display:flex}.ipam-legend li{align-items:center;gap:6px;display:inline-flex}.ipam-legend strong{color:var(--ink)}.ipam-inspect{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-2);max-width:880px;min-height:40px;font-size:var(--t-sm);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 12px;display:flex}.ipam-inspect-ip{min-width:13ch;font-size:var(--t-md);font-weight:650}.ipam-hint{font-size:var(--t-xs)}.ipam-reading{font-size:var(--t-lg);letter-spacing:0}.ipam-notice:not(:empty){padding:var(--s-4) var(--s-4) 0}.ipam-notice:empty{display:none}.ipam-children{border:1px solid var(--line);border-radius:var(--r-panel);flex-direction:column;display:flex}.ipam-children li{font-size:var(--t-sm);grid-template-columns:17ch minmax(0,1fr) 120px 8ch;align-items:center;gap:12px;padding:7px 12px;display:grid}.ipam-children li+li{border-top:1px solid var(--line)}.ipam-bar{background:var(--grid);border-radius:3px;height:6px;display:block;overflow:hidden}.ipam-bar>span{background:var(--tone);border-radius:3px;height:100%;display:block}.ipam-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:7ch;color:var(--ink)}.ipam-tree{max-height:calc(100dvh - 240px);padding:8px;overflow:auto}.ipam-node{align-items:baseline;gap:12px;min-width:0;display:inline-flex}.ipam-node .mono{color:var(--ink);font-weight:650}.ipam-node .truncate{color:var(--ink-2)}.ipam-node-cat{max-width:22ch}.ipam-free{color:var(--ink-3);font-style:italic}.ipam-check{font-size:var(--t-sm);cursor:pointer;font-weight:400;font-stretch:100%}.ipam-flag{border-radius:var(--r-tag);background:var(--tone-soft);height:20px;box-shadow:inset 2px 0 0 var(--tone);font-size:var(--t-xs);white-space:nowrap;align-items:center;gap:4px;padding:0 6px;font-stretch:88%;display:inline-flex}.ipam-flag svg{color:var(--tone)}@media (width<=720px){.ipgrid-row{grid-template-columns:repeat(8,minmax(0,1fr))}.ipcell{height:34px}.ipam-children li{grid-template-columns:minmax(0,1fr) 7ch}.ipam-children li>.truncate,.ipam-children li>.ipam-bar,.ipam-node-cat{display:none}}.asset-thumb{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-2);color:var(--ink-3);object-fit:cover;vertical-align:middle;flex:none;place-items:center;display:inline-grid}.asset-props{gap:var(--s-5);align-items:flex-start;display:flex}.asset-image{align-items:flex-start;gap:var(--s-2);flex-direction:column;flex:none;width:150px;display:flex}.asset-image>img{object-fit:cover;border:1px solid var(--line);border-radius:var(--r-ctl);width:120px;height:120px}@media (width<=640px){.asset-props{flex-direction:column}}.condition{gap:var(--s-2);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.4fr) 32px;align-items:center;display:grid}.condition.invalid{border-radius:var(--r-ctl);background:var(--crit-soft);margin:-6px;padding:6px}@media (width<=640px){.condition{grid-template-columns:minmax(0,1fr) 32px}.condition>.combo,.condition>.input{grid-column:1}}.label-sheet{flex-wrap:wrap;gap:4mm;display:flex}.label{border:1px solid var(--line-strong);color:#172024;break-inside:avoid;background:#fff;border-radius:1mm;align-items:center;gap:2mm;padding:2mm;display:flex;overflow:hidden}.label-qr{aspect-ratio:1;background:conic-gradient(#172024 25%, #fff 0 50%, #172024 0 75%, #fff 0) 0 0 / 3mm 3mm, #fff;outline-offset:-.6mm;outline:.6mm solid #172024;flex:none;height:100%}.label-text{flex-direction:column;justify-content:space-between;min-width:0;height:100%;font-size:2.6mm;line-height:1.15;display:flex}.label-text strong{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.label-bars{background:repeating-linear-gradient(90deg,#172024 0 .4mm,#fff .4mm .7mm,#172024 .7mm 1.5mm,#fff 1.5mm 1.9mm,#172024 1.9mm 2.1mm,#fff 2.1mm 2.8mm);flex:auto;min-height:3mm;margin:.8mm 0;display:block}@media print{body:has(.label-sheet) *{visibility:hidden}:is(body:has(.label-sheet) .label-sheet,body:has(.label-sheet) .label-sheet *){visibility:visible}body:has(.label-sheet) .label-sheet{gap:2mm;position:absolute;top:0;left:0}}.audit-m{gap:var(--s-4);flex-direction:column;width:100%;min-width:0;max-width:520px;display:flex}.audit-m h2{margin-bottom:var(--s-2);font-size:var(--t-md)}.audit-m-where{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.audit-m .combo-trigger,.audit-m .input{min-height:44px}.audit-m-scan{padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);flex-direction:column;gap:6px;display:flex}.audit-m-scan>label{font-size:var(--t-sm);font-weight:600}.audit-m-scan .input{min-width:0;font-size:var(--t-lg);flex:1 1 0}.audit-m-scan .btn{height:44px}.audit-m-camera,.audit-m-pick{flex-direction:column;gap:6px;display:flex}.audit-m-camera video{border-radius:var(--r-ctl);background:var(--line);object-fit:cover;width:100%;max-height:240px}.audit-m-camera .btn{width:100%}.audit-m-progress{align-items:center;gap:var(--s-3);display:flex}.audit-m-progress .meter{flex:auto;height:8px}.audit-m-list{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.audit-m-list li+li{border-top:1px solid var(--line)}.audit-m-list li>button,.audit-m-list li>div{align-items:center;gap:var(--s-3);text-align:left;width:100%;min-height:60px;font-size:var(--t-sm);background:0 0;border:0;padding:8px 12px;display:flex}.audit-m-list li>button:not(:disabled):active{background:var(--accent-soft)}.audit-m-list li>button.found{background:var(--ok-soft);cursor:default}.audit-m-list .grow{flex-direction:column;min-width:0;display:flex}.audit-m-list .grow>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audit-m-mark{border:1px solid var(--accent);border-radius:var(--r-ctl);color:var(--accent);white-space:nowrap;flex:none;padding:8px 10px;font-weight:600}.audit-m-submit{padding:var(--s-3) 0;background:var(--bg);font-size:var(--t-xs);flex-direction:column;gap:6px;display:flex;position:sticky;bottom:0}.audit-m-submit .btn{width:100%;height:48px}.money-readings .reading-value{font-size:var(--t-xl);white-space:nowrap}.money-readings .readings{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.itam-schedule .table-wrap{border:1px solid var(--line);border-radius:var(--r-md,8px);max-height:340px;overflow-y:auto}.itam-schedule thead th{z-index:1;background:var(--surface);position:sticky;top:0}.itam-period{align-items:center;gap:8px;font-weight:600}.itam-period .input{width:170px}.mig-chart figcaption{font-size:var(--t-sm);margin-bottom:4px;font-weight:600}.mig-window{width:92px}.mig-price{white-space:nowrap;flex-direction:column;display:inline-flex}.mig-price .muted{font-size:var(--t-sm)}.mig-sub{font-size:var(--t-sm);margin-bottom:6px}.wave-plan{padding:8px 0 4px;overflow-x:auto}.wave-axis,.wave-row{align-items:center;gap:var(--s-3);width:100%;min-width:660px;padding:0 var(--s-4);grid-template-columns:minmax(260px,34%) minmax(360px,1fr);display:grid}.wave-axis{height:22px}.wave-row{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;min-height:54px}.wave-row:hover{background:var(--surface-2)}.wave-label{align-items:center;gap:10px;min-width:0;display:flex}.wave-label .grow{min-width:0;font-size:var(--t-sm);flex-direction:column;display:flex}.wave-label .muted{font-size:var(--t-xs)}.wave-seq{border:1px solid var(--line-strong);width:24px;height:24px;font-size:var(--t-xs);border-radius:50%;flex:none;place-items:center;font-weight:650;display:grid}.wave-track{height:100%;min-height:22px;position:relative}.wave-month{border-left:1px solid var(--line);color:var(--ink-3);font-size:var(--t-2xs);white-space:nowrap;padding-left:4px;position:absolute;top:2px}.wave-bar{border-radius:var(--r-tag);background:var(--tone-soft);height:24px;box-shadow:inset 3px 0 0 var(--tone);color:var(--ink);font-size:var(--t-xs);white-space:nowrap;text-overflow:ellipsis;padding:0 8px;font-stretch:86%;line-height:24px;position:absolute;top:50%;overflow:hidden;translate:0 -50%}.wave-bar.violation{outline:2px dashed var(--warn);outline-offset:1px}.wave-today{background:var(--mark);width:2px;position:absolute;top:0;bottom:0}.wave-note{padding:8px var(--s-4);font-size:var(--t-xs)}.planned{gap:var(--s-2)}.pwr-skipped summary{cursor:pointer;font-size:var(--t-sm)}.pwr-skipped[open] summary{margin-bottom:var(--s-2)}.code-block{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-2);font-family:var(--font-mono);font-stretch:88%;font-size:var(--t-xs);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;margin:0;padding:10px 12px;overflow:auto}.rpt-filter{width:260px;max-width:100%}.rpt-days{width:92px;min-height:32px}.rpt-date{width:150px;min-height:32px;font-size:var(--t-sm)}.console-grid{gap:var(--s-4);grid-template-columns:300px minmax(0,1fr);align-items:start;display:grid}.console-side{flex-direction:column;max-height:calc(100dvh - 200px);display:flex;position:sticky;top:0}.console-side>.panel-body{flex-direction:column;min-height:0;display:flex}.console-scroll{padding:6px;overflow-y:auto}.console-search{margin-bottom:6px}.console-view-head{text-align:left;width:100%;font-size:var(--t-sm);background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;padding:6px;display:flex}.console-view-head:hover{background:var(--surface-2)}.console-view-body{font-size:var(--t-xs);flex-direction:column;gap:8px;padding:2px 8px 12px 26px;display:flex}.console-view-body li{border-bottom:1px dotted var(--line);justify-content:space-between;gap:8px;padding:2px 0;display:flex}.console-view-body .btn{align-self:flex-start}.console-topic{color:var(--ink-3);font-size:var(--t-xs);padding:10px 8px 4px;font-stretch:88%}.console-topic:first-letter{text-transform:uppercase}.console-item{text-align:left;width:100%;font-size:var(--t-sm);background:0 0;border:0;border-radius:3px;flex-direction:column;gap:1px;padding:7px 8px;display:flex}.console-item:hover,.console-item:focus-visible{background:var(--accent-soft)}.console-item .muted{font-size:var(--t-xs)}.console-editor{border-radius:var(--r-panel) var(--r-panel) 0 0;background:var(--raised);width:100%;min-height:190px;color:var(--ink);font-size:var(--t-sm);resize:vertical;tab-size:2;border:0;padding:14px 16px;line-height:1.6;display:block}.console-editor:focus-visible{outline-offset:-2px}.console-actions{border-top:1px solid var(--line);border-bottom:0}.rb-filter{gap:var(--s-2);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.4fr) 28px;align-items:center;display:grid}.rb-problems{color:var(--crit);font-size:var(--t-sm);padding-left:18px;list-style:outside}.dash-grid{gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(118px,auto);display:grid}.dash-widget{flex-direction:column;min-width:0;display:flex;overflow:hidden}.dash-widget .panel-body{flex:auto;overflow:auto}.dash-widget .panel-body:has(.table-wrap){padding:0}.dash-meta{font-size:var(--t-2xs);white-space:nowrap}.widget-count{flex-direction:column;gap:2px;display:flex}.dash-map{border:1px dashed var(--line-strong);border-radius:var(--r-panel);background:var(--surface-2);grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:44px;gap:4px;padding:8px;display:grid}.dash-map button{border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--raised);text-align:left;min-width:0;font-size:var(--t-xs);flex-direction:column;justify-content:center;padding:2px 8px;display:flex;overflow:hidden}.dash-map button:hover:not(:disabled){border-color:var(--accent)}.dash-map .muted{font-size:var(--t-2xs)}@media (width<=900px){.console-grid{grid-template-columns:minmax(0,1fr)}.console-side{max-height:320px;position:static}.dash-grid{flex-direction:column;display:flex}.rb-filter{grid-template-columns:minmax(0,1fr) 28px}.rb-filter>:first-child,.rb-filter>:nth-child(2),.rb-filter>:nth-child(3){grid-column:1}}.vault-note{font-size:var(--t-sm);align-items:center;gap:8px;display:flex}.secret-value{align-items:center;gap:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface-2);flex-wrap:wrap;padding:10px 12px;display:flex}.secret-value code{min-width:0;font-size:var(--t-lg);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:200px}.secret-value code.masked{letter-spacing:.2em;color:var(--ink-3);-webkit-user-select:none;user-select:none}.generator{border:1px solid var(--line);border-radius:var(--r-panel);flex-direction:column;gap:8px;margin:0;padding:12px 14px 14px;display:flex}.generator legend{font-size:var(--t-sm);padding:0 6px;font-weight:600}.generator-row{justify-content:space-between;align-items:center;gap:var(--s-3);min-height:34px;font-size:var(--t-sm);display:flex}.generator-row>.input,.generator-min .input{width:84px;min-height:30px}.generator-min{color:var(--ink-2);align-items:center;gap:8px;display:inline-flex}.aws-creds{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.aws-creds dt{font-size:var(--t-xs);color:var(--ink-3);font-weight:550}.aws-creds dd{overflow-wrap:anywhere}.date-range{align-items:flex-end}.date-range .field{width:180px}.date-range .field-error{padding-bottom:8px}
