.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--page)}.login-card{width:min(380px,100%);display:flex;flex-direction:column;gap:16px;padding:var(--panel-padding);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.login-brand{font-weight:600;font-size:15px;color:var(--ink)}.login-brand span{display:block;font-size:12px;font-weight:400;color:var(--ink-3)}.login-title{margin:0;font-size:22px;font-weight:600;color:var(--ink)}.login-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--ink-2)}.login-card input[type]{height:40px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);font-size:14px;font-family:var(--sans);color:var(--ink)}.login-card input[type]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.login-error{margin:0;font-size:13px;color:var(--critical)}.btn.login-submit{justify-content:center}.topbar-user{margin-right:8px;font-size:13px;color:var(--ink-2)}.topbar-user .muted-role{color:var(--ink-3)}.topbar .btn.topbar-signout{height:32px;color:var(--accent);font-size:13px}.login-page{background:radial-gradient(ellipse at 50% 0%,var(--accent-soft),transparent 60%),var(--page)}.login-card{width:min(400px,100%);gap:20px;padding:36px}.login-brand{color:var(--accent);letter-spacing:-.015em}.login-title{font-size:26px;letter-spacing:-.025em}.login-card input[type]{height:44px;padding-inline:12px}.btn.login-submit{height:44px}@media(max-width:480px){.login-card{padding:26px}}.login-warning{margin:0;font-size:13px;font-weight:500;color:var(--warning)}.login-actions{display:flex;gap:8px}.login-actions .login-submit{flex:1}.enrol{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.qr-box{width:184px;height:184px;flex:none;border-radius:var(--r);background:#fff}.enrol .login-field{flex:1;min-width:120px}.enrol-key{font-family:var(--mono);font-size:15px;color:var(--ink);line-height:1.7;word-spacing:2px;overflow-wrap:anywhere}.recovery-codes{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;font-size:15px;color:var(--ink)}.password-rules{margin:-6px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--ink-2)}.password-rules li:before{content:"○ "}.password-rules li.met{color:var(--good)}.password-rules li.met:before{content:"✓ "}.password-form{display:flex;flex-direction:column;gap:16px;max-width:420px}.password-form input{height:40px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);font-size:14px}.password-form .form-actions{margin-top:0}.topbar-clock{display:flex;gap:12px;margin-right:16px;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.topbar-user strong{font-weight:500;color:var(--ink)}.topbar-org{margin-left:8px;color:var(--ink-2)}.sidebar-footer>a{color:var(--ink-3);font-size:12px}.sidebar-footer>a:hover,.sidebar-footer>a[aria-current=page]{color:var(--accent)}.stamp{display:flex;flex-direction:column;white-space:nowrap;font-size:13px}table.data .sub{display:block;font-size:13px;color:var(--ink-2)}.state-active{color:var(--good)}.state-locked{color:var(--critical);font-weight:500}.user-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px}.user-actions input{width:200px}.when>span{white-space:nowrap}:root,:root[data-theme=dark]{color-scheme:dark;--page: #0c1116;--surface: #141b22;--surface-sunken: #0f151b;--surface-hover: #1d2731;--ink: #f4f4f7;--ink-2: #dcdce6;--ink-3: #b9bcc8;--line: #26323d;--line-strong: #3d4c59;--accent: #86c9c3;--accent-ink: #09090b;--accent-soft: rgba(60, 225, 243, .09);--series-1: #70b7b0;--series-2: #a78bfa;--series-3: #b7ef4a;--neutral-mark: #656574;--on-target: #b7ef4a;--under-target: #92979e;--heavy: #ff5268;--light: #3ce1f3;--good: #b7ef4a;--critical: #ff6b81;--warning: #ffbb56;--grid: #26323d;--axis: #3d4c59;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: var(--sans);--r: 8px}:root[data-theme=light]{color-scheme:light;--page: #f2f5f6;--surface: #ffffff;--surface-sunken: #f7f9fa;--surface-hover: #eef3f1;--ink: #172b35;--ink-2: #425563;--ink-3: #536571;--line: #dfe7eb;--line-strong: #bbcbd1;--accent: #087f75;--accent-ink: #ffffff;--accent-soft: rgba(8, 127, 117, .09);--series-1: #008ca8;--series-2: #8054d9;--series-3: #669c0f;--heavy: #e44343;--good: #16805c;--critical: #d03b3b;--warning: #af6808;--grid: #e3eaee;--axis: #b8c8d0}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.mono{font-family:var(--mono)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:12px;top:12px;z-index:100;background:var(--surface);padding:8px 12px}.app{display:flex;min-height:100%}.sidebar{width:216px;flex:none;background:var(--surface-sunken);color:var(--ink-2);border-right:0;padding:28px 14px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:30}.wordmark{display:flex;align-items:center;gap:10px;padding:0 10px;color:var(--ink);font-size:19px;font-weight:600;letter-spacing:-.02em}.brand-symbol{display:flex;color:var(--accent)}.brand-caption{display:block;font-size:12px;font-weight:400;color:var(--ink-3);letter-spacing:0}.tabs{display:flex;flex-direction:column;gap:2px;margin-top:28px}.tab{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--r)}.tab:hover{background:var(--surface-hover);color:var(--ink)}.tab[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:500;box-shadow:none}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:4px;padding:0 10px;font-size:12px;color:var(--ink-3)}.sidebar-footer>button{background:none;border:0;padding:0;text-align:left;color:var(--ink-3);cursor:pointer;font-size:12px}.sidebar-footer>button:hover{color:var(--accent)}.about-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r);padding:24px;min-width:300px}.about-dialog::backdrop{background:#00000080}.about-dialog dl>div{display:flex;justify-content:space-between;gap:24px;padding:4px 0}.about-dialog dt{color:var(--ink-3)}.about-dialog dd{margin:0}.date-range-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.workspace{margin-left:216px;min-width:0;flex:1}.topbar{height:60px;padding:0 32px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-3)}.breadcrumb strong{color:var(--ink);font-weight:500}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:4px}.topbar .btn{border-color:transparent;background:transparent}.main{padding:32px 40px 64px;max-width:1500px;margin:0 auto;width:100%;min-width:0}.main:focus{outline:none}.page-layout{display:flex;flex-direction:column;gap:32px}.page-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.page-title{font-size:28px;font-weight:600;letter-spacing:-.015em;margin:0}.page-head-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crumb{font-size:14px;color:var(--ink-3);margin-bottom:-12px}.crumb a{color:var(--accent)}.card{background:var(--surface);border:0;border-radius:var(--r);min-width:0}.card-head{display:flex;align-items:center;gap:12px;padding:24px 24px 8px;border-bottom:0}.card-title{font-size:15px;font-weight:600;margin:0}.card-head-right{margin-left:auto;display:flex;gap:8px}.card-body{padding:16px 24px 24px}.chart{width:100%}.empty{padding:28px 20px;color:var(--ink-3)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;margin:0;padding:8px 0 16px}.stats>div{min-width:0}.stats dt{font-size:14px;color:var(--ink-3)}.stats dd{margin:8px 0 0;font-size:clamp(20px,2.4vw,28px);font-weight:500;letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:break-word}.stats .unit{font-size:14px;color:var(--ink-3);margin-left:4px;font-weight:400}.stats .warn dd{color:var(--warning)}.stats .bad dd{color:var(--critical)}.provisional{color:var(--warning)}.flags{color:var(--warning);font-size:13px}.warn-text{color:var(--warning)}.error-line{overflow-wrap:anywhere}.error-line+.error-line{margin-top:6px}.error-text{color:var(--critical);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.status-ok{color:var(--good)}.status-partial,.status-running{color:var(--warning)}.status-rate_limited,.status-error{color:var(--critical)}table.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:auto}table.data th{text-align:left;font-size:13px;font-weight:500;color:var(--ink-3);padding:10px;border-bottom:1px solid var(--line)}table.data td{padding:16px 10px;border-bottom:0;overflow-wrap:break-word}table.data :is(td,th):first-child{padding-left:16px}table.data :is(td,th):last-child{padding-right:16px}table.data .wrap{min-width:12ch;max-width:40ch;overflow-wrap:anywhere}table.data .owner{min-width:16ch}table.data .key{white-space:nowrap}table.data .key>span{display:block;max-width:10ch;overflow:hidden;text-overflow:ellipsis}table.data th.grow{width:60%}table.data .fit{white-space:nowrap}@media(max-width:760px),(min-width:901px)and (max-width:1000px){table.data .fit{white-space:normal}}table.data .clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.marker{font-size:11px;vertical-align:super;margin-left:2px}table.data tr:last-child td{border-bottom:0}table.data .num{text-align:right;white-space:nowrap}table.data .nowrap{white-space:nowrap}table.data .strong{font-weight:600;color:var(--ink)}table.data th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.grid-scroll{max-height:calc(100vh - 230px);min-height:320px;overflow-y:auto;overflow-x:hidden;border-radius:var(--r)}.grid-scroll.short{max-height:440px;min-height:0}table.data td.event{min-width:15ch}.grid-scroll table.data thead th{position:sticky;top:0;z-index:1;background:var(--surface);border-bottom:0;box-shadow:inset 0 -1px var(--line)}table.data .sort{margin-left:4px;color:var(--accent)}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td,table.data tr.clickable:focus-visible td{background:var(--surface-hover)}table.data tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}table.data tr.dim td{color:var(--ink-3)}table.data tr.expanded td{background:var(--surface-sunken)}table.data td a{color:var(--accent)}.stale{opacity:.6}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-2);margin-bottom:8px}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:10px;height:10px;border-radius:2px}.month-nav{display:flex;align-items:center;gap:8px}.month-name{min-width:9.5em;text-align:center;font-size:14px}.chart-pickers{display:flex;gap:8px;flex-wrap:wrap}.chart-pickers select{height:30px;padding:0 8px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);font-size:13px;max-width:200px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 24px;margin:0}.detail-grid dt{font-size:12px;color:var(--ink-3)}.detail-grid dd{margin:2px 0 0;overflow-wrap:anywhere}.detail-grid a{color:var(--accent)}details.more{border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}details.more>summary{padding:12px 20px;cursor:pointer;font-weight:500}details.more[open]>summary{border-bottom:1px solid var(--line)}details.more>dl,details.more>table{padding:16px 20px}.btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);cursor:pointer;font-size:14px}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:500}.btn.primary:hover{filter:brightness(1.1);color:var(--accent-ink)}.btn.small{height:30px;padding:0 10px;font-size:13px}.btn.icon{width:34px;justify-content:center;padding:0}.btn:disabled{opacity:.5;cursor:default}.filters,.pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filters input,.filters select{height:34px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface)}.filters input{width:180px}.pager{justify-content:flex-end;font-size:14px;color:var(--ink-3)}.tank-list{display:flex;flex-direction:column}.tank-row{display:grid;grid-template-columns:minmax(160px,1.4fr) 2fr 70px 110px 170px;align-items:center;gap:16px;padding:14px 20px;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer}.tank-row:last-child{border-bottom:0}.tank-row:hover,.tank-row:focus-visible{background:var(--surface-hover);color:inherit}.tank-name{display:flex;flex-direction:column;font-weight:500}.tank-name .mono{font-size:12px;color:var(--ink-3);font-weight:400}.tank-row .num{text-align:right;font-variant-numeric:tabular-nums}.tank-row .strong{font-weight:600}.level{height:10px;background:var(--surface-sunken);border:1px solid var(--line)}.level>span{display:block;height:100%;background:var(--series-1)}.level>span.low{background:var(--heavy)}.tab>svg,.brand-symbol{display:none}.breadcrumb{display:none}.topbar{border-bottom:0;height:52px}.mono{font-variant-numeric:tabular-nums}table.data tbody tr:nth-child(2n){background:var(--surface-sunken)}:where(a,button,input,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(min-width:1400px){.stats{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:900px){.sidebar{position:static;width:auto;flex-direction:row;align-items:center;padding:20px 24px 12px;gap:16px;flex-wrap:wrap}.app{flex-direction:column}.tabs{flex-direction:row;flex-wrap:wrap;gap:4px;margin:0;width:100%}.tab{padding:8px 12px;font-size:14px}.sidebar-footer{display:none}.workspace{margin-left:0}.main{padding:16px 24px 40px}.tank-row{grid-template-columns:1fr 1fr 60px}.tank-row>:nth-child(n+4){display:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r);padding:24px;width:min(560px,100%)}.modal-body{margin-top:12px;font-size:14px}.modal-body dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0}.modal-body dt{color:var(--ink-3)}.modal-body dd{margin:0;overflow-wrap:anywhere}.btn.primary.danger{background:var(--critical);border-color:var(--critical)}.sev-critical{color:var(--critical)}.sev-warning{color:var(--warning)}.filters select{max-width:240px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.form-grid input,.form-grid select{height:34px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);width:100%;box-sizing:border-box}.form-grid .toggle{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2)}.form-actions{display:flex;gap:8px;margin-top:10px}.alias-pick{flex-wrap:nowrap}.alias-pick select{max-width:160px;min-width:0}@media(max-width:520px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.page-head-right{margin-left:0}.card-head{padding:20px 16px 8px}.card-body{padding:16px}.topbar{padding:0 24px}}
