:root{--bg:#f3f5f8;--panel:#fff;--panel-2:#f8fafc;--text:#142033;--muted:#5f6b7c;--line:#e3e8ef;--accent:#0b6e4f;--accent-hover:#095c42;--accent-soft:#e6f4ee;--nav-bg:#0f1d2e;--nav-text:#c7d1de;--nav-muted:#7d8a9c;--nav-active:#fff;--nav-hover:#18293d;--danger:#b42318;--focus:#2e90fa;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--r1:6px;--r2:10px;--r3:14px;--shadow-1:0 1px 2px #1018280d;--shadow-2:0 4px 12px #10182814;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:28px}@media (prefers-color-scheme:dark){:root{--bg:#0e1319;--panel:#161d26;--panel-2:#1b232e;--text:#e6eaf0;--muted:#98a3b3;--line:#273140;--accent:#3ccf91;--accent-hover:#5bdba4;--accent-soft:#10291f;--danger:#ff6b5e;--nav-bg:#0a121c;--nav-hover:#132131}}*{box-sizing:border-box}body{font:var(--fs-md)/1.5 var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}h2{font-size:var(--fs-2xl);letter-spacing:-.01em;margin:0 0 var(--s2);font-weight:650}h3{font-size:var(--fs-lg);margin:var(--s5) 0 var(--s3);font-weight:600}h2+p.muted{max-width:820px;margin-top:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.layout{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}aside{background:var(--nav-bg);height:100vh;color:var(--nav-text);padding:var(--s5) var(--s4);gap:var(--s4);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}aside h1{font-size:var(--fs-lg);color:var(--nav-active);align-items:center;gap:var(--s3);letter-spacing:-.01em;margin:0;display:flex}.brand-mark{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#12a073,#0b6e4f);border-radius:9px;flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.env-badge{font-size:var(--fs-xs);color:#3d2600;background:#fdb022;border-radius:999px;align-self:flex-start;padding:2px 8px;font-weight:600}nav{flex-direction:column;gap:2px;display:flex}nav a{color:var(--nav-text);border-radius:var(--r1);font-size:var(--fs-md);border-left:3px solid #0000;align-items:center;gap:10px;padding:7px 10px 7px 12px;text-decoration:none;display:flex}nav a .icon{opacity:.75;flex:none}nav a.active .icon,nav a:hover .icon{opacity:1}nav a:hover{background:var(--nav-hover);color:var(--nav-active)}nav a.active{background:var(--nav-hover);color:var(--nav-active);border-left-color:#12a073;font-weight:600}.user{gap:var(--s2);color:var(--nav-muted);border-top:1px solid var(--nav-hover);padding-top:var(--s4);flex-direction:column;margin-top:auto;display:flex}.user b{color:var(--nav-active);font-weight:600}.user button.ghost{color:var(--nav-text);border-color:var(--nav-hover);background:0 0}main{padding:var(--s6) var(--s6) var(--s6);min-width:0;max-width:1480px}.cards{gap:var(--s4);margin:var(--s4) 0;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s4) var(--s5);gap:var(--s1);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.card span{color:var(--muted);font-size:var(--fs-sm);font-weight:500}.card strong{font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.card small{color:var(--muted);font-size:var(--fs-xs)}.card.debt strong{color:var(--danger)}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);max-width:100%;box-shadow:var(--shadow-1);font-size:var(--fs-md);display:block;overflow-x:auto}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:10px 14px}thead th{background:var(--panel-2);color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--panel-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.filters{gap:var(--s2);margin:var(--s4) 0;flex-wrap:wrap;align-items:center;display:flex}button,.button{background:var(--accent);color:#fff;border-radius:var(--r1);cursor:pointer;font:inherit;align-items:center;gap:var(--s2);border:1px solid #0000;padding:8px 14px;font-weight:500;line-height:1.3;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}button:hover:not(:disabled),.button:hover{background:var(--accent-hover)}button:disabled{opacity:.5;cursor:default}input,select,textarea{border:1px solid var(--line);border-radius:var(--r1);background:var(--panel);color:var(--text);font:inherit;padding:8px 10px;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 18%, transparent);outline:none}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.login{background:var(--panel);max-width:380px;padding:var(--s6);border-radius:var(--r3);gap:var(--s3);border:1px solid var(--line);box-shadow:var(--shadow-2);flex-direction:column;margin:12vh auto;display:flex}.login h1{font-size:var(--fs-xl);margin:0 0 var(--s1)}.login label{gap:var(--s1);color:var(--muted);font-size:var(--fs-sm);flex-direction:column;display:flex}.login button{justify-content:center;padding:10px 14px}.error{color:var(--danger)}.center{text-align:center;color:var(--muted);margin-top:20vh}.brand-row{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.nav-toggle{display:none}@media (width<=760px){.layout{grid-template-columns:minmax(0,1fr)}aside{height:auto;padding:var(--s3) var(--s4);gap:var(--s3);position:static}aside:not(.nav-open)>:not(.brand-row):not(.env-badge){display:none}.nav-toggle{display:inline-flex}aside button.nav-toggle{color:var(--nav-active);background:var(--nav-hover);border-color:var(--nav-hover)}main{padding:var(--s4)}h2{font-size:var(--fs-xl)}}:root{--ok:#067647;--ok-bg:#dcfae6;--bad-bg:#fee4e2;--warn-bg:#fef0c7}@media (prefers-color-scheme:dark){:root{--ok:#75e0a7;--ok-bg:#053321;--bad-bg:#55160c;--warn-bg:#4e1d09}}.nav-title{margin-top:var(--s3);text-transform:uppercase;letter-spacing:.08em;color:var(--nav-muted);padding:4px 10px;font-size:11px;font-weight:600}button.nav-title{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;font-size:12px;display:flex}button.nav-title:hover:not(:disabled){background:var(--nav-hover);color:var(--nav-active)}button.nav-title:disabled{cursor:default;opacity:1}.user small{color:var(--nav-muted)}button.ghost{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:6px 12px}button.ghost:hover:not(:disabled){background:var(--panel-2);border-color:color-mix(in srgb, var(--text) 25%, var(--line))}select{border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;border-radius:6px;padding:8px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s4) var(--s5);margin:var(--s4) 0;box-shadow:var(--shadow-1)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag{font-size:var(--fs-xs);background:var(--warn-bg);color:#93370d;border-radius:999px;margin-right:4px;padding:2px 8px;font-weight:600;display:inline-block}.tag.ok{background:var(--ok-bg);color:var(--ok)}.tag.bad{background:var(--bad-bg);color:var(--danger)}.actions{gap:6px;display:flex}td.debt{color:var(--danger);font-weight:600}td.data{white-space:normal;word-break:break-all;max-width:360px;color:var(--muted);font-size:12px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--accent-soft)}.check{align-items:center;gap:6px;display:flex}.muted{color:var(--muted)}.success{color:var(--ok)}.warn{background:var(--warn-bg);color:#7a2e0e;padding:var(--s2) var(--s3);border-radius:var(--r1)}.card.alert{border-color:var(--danger)}.panel.alert{border:1px solid var(--danger)}.card{cursor:default}table.kv th{width:280px;color:var(--muted);font-weight:400}.modal-backdrop{z-index:10;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border-radius:12px;flex-direction:column;gap:10px;width:100%;max-width:460px;max-height:90vh;padding:24px;display:flex;overflow:auto}.modal.wide{max-width:980px}.modal>*{flex-shrink:0}.modal dl{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;display:grid}.modal dt{color:var(--muted)}.modal dd{margin:0}code{background:var(--bg);border-radius:4px;padding:2px 6px}.org-badge{font-size:var(--fs-sm);color:var(--nav-text);padding:var(--s2) var(--s3);background:var(--nav-hover);border-radius:var(--r1);line-height:1.35}aside select{width:100%}.modal.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.modal.form label.check{flex-direction:row}.statement{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid}.statement div{background:var(--bg);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.statement span{color:var(--muted);font-size:13px}.statement b{font-variant-numeric:tabular-nums}.statement .debt b{color:var(--danger)}.statement .strong{outline:2px solid var(--danger)}dl.extra{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 16px;margin:0;display:grid}dl.extra dt{color:var(--muted);font-size:12px}dl.extra dd{margin:0}label.small{color:var(--muted);margin-left:12px;font-size:13px;font-weight:400}tr.muted td{color:var(--muted)}details.panel summary{cursor:pointer;font-weight:600}.payme-screen{border:1px solid var(--line);background:var(--panel);border-radius:12px;max-width:420px;overflow:hidden}.payme-head{color:#fff;background:#00baba;padding:10px 14px;font-weight:600}.payme-line{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 14px;display:flex}.payme-line span{color:var(--muted)}.payme-line b{font-variant-numeric:tabular-nums;white-space:nowrap}.payme-foot{padding:10px 14px}.keys{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow:auto}.key{text-align:left;background:var(--panel);color:inherit;border:1px solid var(--line);cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.key small{color:var(--muted)}.key.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent)}.key.expired{opacity:.55}.nav-group{flex-direction:column;gap:2px;display:flex}.zones{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 16px;display:grid}.zones .muted{opacity:.5}.user small{color:var(--muted);display:block}td.wrap{white-space:normal;min-width:280px;max-width:520px;color:var(--muted);font-size:13px}.center-page{flex-direction:column;align-items:center;gap:8px;display:flex}.center-page .login{margin-bottom:0}.temp-password{letter-spacing:1px;background:var(--bg);border:1px dashed var(--line);-webkit-user-select:all;user-select:all;border-radius:8px;padding:10px 14px;font:600 20px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}textarea{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);box-sizing:border-box;resize:vertical;border-radius:8px;width:100%;padding:8px 10px}.thread{flex-direction:column;gap:8px;max-height:45vh;display:flex;overflow:auto}.msg{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:8px 12px}.msg.support{background:var(--ok-bg)}.msg.internal{background:var(--warn-bg);border-style:dashed}.msg p{white-space:pre-wrap;margin:4px 0 0}td.small{white-space:normal;min-width:260px;font-size:12px}p.small{font-size:12px}button.big{font-size:var(--fs-lg);box-shadow:var(--shadow-1);padding:11px 20px;font-weight:600}.empty{border:1px dashed var(--line);border-radius:var(--r2);padding:var(--s6) var(--s5);text-align:center;color:var(--muted);background:var(--panel);margin:var(--s4) 0;align-items:center;gap:var(--s2);flex-direction:column;display:flex}.empty b{color:var(--text);font-weight:600}.empty span{font-size:var(--fs-sm);max-width:460px}.empty svg{opacity:.55}.tag.info{background:color-mix(in srgb, var(--focus) 14%, transparent);color:var(--focus)}.findings{gap:var(--s2);flex-direction:column;display:flex}.finding{gap:var(--s3);background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--r2);padding:var(--s3) var(--s4);box-shadow:var(--shadow-1);align-items:flex-start;display:flex}.finding p{margin:0}.finding .tag{flex:none;margin-top:2px}.finding.critical{border-left-color:var(--danger)}.finding.warning{border-left-color:#f79009}.finding.info{border-left-color:var(--focus)}.finding.ok{border-left-color:var(--ok)}.grid-2{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(380px,1fr));display:grid}.grid-2 .panel{margin:var(--s4) 0 0}.grid-2 h3,.panel>h3:first-child{margin-top:0}.bar-row{gap:2px var(--s3);margin:var(--s3) 0;grid-template-columns:130px 1fr 56px;align-items:center;display:grid}.bar-row small{grid-column:2/4}.meter{background:var(--panel-2);border:1px solid var(--line);vertical-align:middle;border-radius:999px;width:90px;height:8px;display:inline-block;overflow:hidden}.meter.wide{width:100%;height:10px}.meter i{background:var(--accent);border-radius:999px;height:100%;display:block}.meter.bad i{background:var(--danger)}svg.trend{width:100%;height:auto;display:block}svg.trend rect{fill:var(--accent)}svg.trend text{fill:var(--muted);font-size:10px}small.muted,h3 small{font-weight:400;font-size:var(--fs-sm)}@media (width<=760px){.grid-2{grid-template-columns:minmax(0,1fr)}}th.sortable{padding:0}th.sortable button{all:unset;box-sizing:border-box;cursor:pointer;width:100%;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;align-items:center;gap:6px;padding:10px 14px;display:flex}th.sortable.num button{justify-content:flex-end}th.sortable button span{opacity:.45;font-size:11px}th.sortable.sorted{color:var(--text)}th.sortable.sorted button span{opacity:1;color:var(--accent)}th.sortable button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}aside button.ghost:hover:not(:disabled),aside button.nav-toggle:hover:not(:disabled){background:var(--nav-hover);color:var(--nav-active);border-color:color-mix(in srgb, var(--nav-active) 30%, transparent)}
