@font-face{font-family:Geologica;src:url(/fonts/geologica-cyrillic.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geologica;src:url(/fonts/geologica-latin-ext.woff2)format("woff2");font-weight:100 900;font-display:swap;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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geologica;src:url(/fonts/geologica-latin.woff2)format("woff2");font-weight:100 900;font-display:swap;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:JetBrains Mono;src:url(/fonts/jbmono-cyrillic.woff2)format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;src:url(/fonts/jbmono-latin-ext.woff2)format("woff2");font-weight:100 800;font-display:swap;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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;src:url(/fonts/jbmono-latin.woff2)format("woff2");font-weight:100 800;font-display:swap;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{--bg:#0a0a0a;--surface:#171717;--surface-2:#1f1f1f;--border:#262626;--text:#ebeff2;--muted:#97a0a6;--accent:#6cd3c2;--accent-2:#63c467;--on-accent:#0a0a0a;--accent-line:#52b5a5;--danger:#e5577a;--warn:#e6c84f;--tier-nano:#6cd3c2;--tier-micro:#63c467;--tier-milli:#e6c84f;--tier-kilo:#f08a4b;--tier-mega:#e5577a;--on-tier:#0a0a0a;--radius:2px;--font-sans:Geologica, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--container:1200px;--gutter:24px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#fafafa;--surface:#fff;--surface-2:#f3f3f3;--border:#e3e3e3;--text:#121619;--muted:#5d676d;--accent:#0b8273;--accent-2:#2f8a3a;--on-accent:#fff;--accent-line:#096b5f;--danger:#c22d5a;--warn:#9a7200;--tier-nano:#0b8273;--tier-micro:#2f8a3a;--tier-milli:#9a7200;--tier-kilo:#c2550f;--tier-mega:#c22d5a;--on-tier:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,p{margin:0}h1{letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.15}h2{letter-spacing:-.01em;font-size:18px;font-weight:700}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.mono{font-family:var(--font-mono)}.muted{color:var(--muted)}.accent{color:var(--accent)}.danger-text{color:var(--danger)}.small{font-size:13px}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spread{justify-content:space-between}.grow{flex:1}.btn{border:1px solid var(--border);border-radius:var(--radius);white-space:nowrap;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;line-height:1.4;transition:background .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-line);border-color:var(--accent-line)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:var(--on-tier);border-color:var(--danger)}.btn-sm{padding:6px 12px;font-size:13px}.btn-block{width:100%}.btn .arrow{transition:transform .15s}.btn:hover .arrow{transform:translate(3px)}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}.link:hover{text-decoration:underline}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:13px}.field small{color:var(--muted);font-size:12px}.input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s}.input:hover{border-color:var(--muted)}.input:focus{border-color:var(--accent);outline:none}textarea.input{resize:vertical;min-height:90px;font-family:var(--font-mono);font-size:13px}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 3.5 5 7l3.5-3.5' fill='none' stroke='%2397a0a6' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.form-error{border:1px solid var(--danger);border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger);padding:10px 12px;font-size:13px}.form-note{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface);color:var(--muted);padding:10px 12px;font-size:13px}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:inline-flex;position:relative}.switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex:none;width:34px;height:20px;transition:background .15s,border-color .15s;position:relative}.switch-track:after{content:"";background:var(--muted);border-radius:50%;width:12px;height:12px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--accent);border-color:var(--accent)}.switch input:checked+.switch-track:after{background:var(--on-accent);transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.5}.tabs{border:1px solid var(--border);border-radius:var(--radius);max-width:100%;display:inline-flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:8px 14px;font-size:13px;transition:color .15s,background .15s;position:relative}.tabs.mono button{font-family:var(--font-mono)}.tabs button+button{border-left:1px solid var(--border)}.tabs button:hover{color:var(--text)}.tabs button[aria-pressed=true]{background:var(--surface);color:var(--accent)}.tabs .tab-badge{border-radius:var(--radius);background:color-mix(in srgb, var(--accent-2) 18%, transparent);color:var(--accent-2);margin-left:6px;padding:1px 5px;font-size:11px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;position:relative}.card-accent{--tier:var(--accent);overflow:hidden}.card-accent:before{content:"";background:var(--tier);height:3px;position:absolute;inset:0 0 auto}.card h2+*{margin-top:16px}.badge{border-radius:var(--radius);font-family:var(--font-mono);white-space:nowrap;border:1px solid;align-items:center;gap:6px;padding:2px 8px;font-size:11px;line-height:1.6;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-active{color:var(--accent-2)}.badge-provisioning{color:var(--accent)}.badge-suspended{color:var(--warn)}.badge-failed,.badge-deleted{color:var(--danger)}.badge-muted{color:var(--muted)}.empty{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);padding:48px 24px}.empty h2{color:var(--text);margin-bottom:8px}.kv{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.kv div{background:var(--surface);padding:12px 14px}.kv dt{color:var(--muted);font-size:12px}.kv dd{font-family:var(--font-mono);margin:2px 0 0;font-size:14px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}th{background:var(--surface);color:var(--muted);font-size:12px;font-weight:500}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface)}td.num,th.num{text-align:right;font-family:var(--font-mono)}.plus{color:var(--accent-2)}.minus{color:var(--text)}.unit{border:1.5px solid var(--tier);border-radius:var(--radius);background:color-mix(in srgb, var(--tier) 12%, transparent);width:44px;height:44px;color:var(--tier);flex:none;place-items:center;display:grid;position:relative}.unit-symbol{font-size:22px;font-weight:700;line-height:1}.unit-exp{font-family:var(--font-mono);font-size:9px;line-height:1;position:absolute;top:3px;right:4px}.meter{grid-template-columns:repeat(16,1fr);gap:2px;display:grid}.meter span{background:var(--border);height:6px}.meter span.on{background:var(--tier)}.modal-backdrop{z-index:50;background:#0009;place-items:center;padding:16px;animation:.12s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius);width:100%;max-width:560px;max-height:calc(100vh - 32px);padding:24px;overflow-y:auto}.modal-wide{max-width:820px}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.icon-btn{border:1px solid var(--border);border-radius:var(--radius);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;place-items:center;padding:0;transition:border-color .15s;display:grid}.icon-btn:hover{border-color:var(--muted)}@keyframes fade{0%{opacity:0}}.toasts{z-index:60;flex-direction:column;gap:8px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:12px 14px;font-size:14px;animation:.15s ease-out fade;box-shadow:0 8px 24px #00000059}.toast-error{border-left-color:var(--danger)}.theme-toggle .moon,:root[data-theme=light] .theme-toggle .sun{display:none}:root[data-theme=light] .theme-toggle .moon{display:block}.logo{--logo-top:#6cd3c2;--logo-left:#4aa597;--logo-right:#3a857a;--logo-slot:#24564f;--logo-led:#63c467;width:auto;height:28px;display:block}:root[data-theme=light] .logo{--logo-top:#14a28e;--logo-left:#096b5f;--logo-right:#07564c;--logo-slot:#043b34;--logo-led:#8be196}.logo-top{fill:var(--logo-top)}.logo-left{fill:var(--logo-left)}.logo-right{fill:var(--logo-right)}.logo-slots{stroke:var(--logo-slot)}.logo-led{fill:var(--logo-led);animation:1.4s steps(2,end) infinite logo-blink}.logo-led-2{animation-delay:-.6s}.logo-bitch{fill:var(--text)}.logo-host{fill:var(--accent)}@keyframes logo-blink{50%{opacity:.3}}.secret{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);word-break:break-all;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.secret span{flex:1}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head p{color:var(--muted);margin-top:6px}.loading-page{min-height:40vh;color:var(--muted);place-items:center;display:grid}@media (max-width:640px){:root{--gutter:16px}h1{font-size:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.admin{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.side{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:4px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.side .logo{height:24px;margin:0 10px 8px}.side-tag{font-family:var(--font-mono);color:var(--danger);margin:0 10px 16px;font-size:11px}.side a{border-radius:var(--radius);color:var(--muted);justify-content:space-between;align-items:center;padding:8px 10px;font-size:14px;transition:color .15s,background .15s;display:flex}.side a:hover{color:var(--text)}.side a.active{color:var(--text);background:var(--border)}.side .count{background:var(--danger);min-width:20px;color:var(--on-tier);font-family:var(--font-mono);text-align:center;border-radius:10px;padding:0 6px;font-size:11px}.side-foot{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:auto;padding:12px 10px 0;display:flex}.side-foot a{padding:0;font-size:13px}.admin-main{min-width:0;padding:28px 32px 64px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .input{width:auto;min-width:220px}.kpis{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.kpi span{color:var(--muted);font-size:12px}.kpi strong{font-family:var(--font-mono);letter-spacing:-.02em;margin-top:4px;font-size:24px;font-weight:500;display:block}.kpi small{color:var(--muted);font-size:12px}a.kpi:hover{border-color:var(--muted)}.kpi-alert{border-color:var(--danger)}.kpi-alert strong{color:var(--danger)}.chart{width:100%;height:200px;display:block}.chart rect{fill:var(--accent)}.chart rect.topup{fill:var(--border)}.chart text{fill:var(--muted);font-family:var(--font-mono);font-size:10px}.chart .grid{stroke:var(--border);stroke-width:1px}.legend{color:var(--muted);gap:16px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:1px;width:10px;height:10px;margin-right:6px;display:inline-block}.form-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.form-grid .wide{grid-column:1/-1}.checks{flex-wrap:wrap;gap:8px;display:flex}.check{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:inline-flex}.check:has(input:checked){border-color:var(--accent);color:var(--accent)}.check input{accent-color:var(--accent)}td .row{flex-wrap:nowrap;gap:6px}tr.dim td{opacity:.5}.tier-dot{background:var(--tier);border-radius:1px;width:8px;height:8px;margin-right:8px;display:inline-block}.error-cell{text-overflow:ellipsis;max-width:280px;color:var(--danger);overflow:hidden}@media (max-width:860px){.admin{grid-template-columns:1fr}.side{flex-flow:wrap;height:auto;padding:12px;position:static}.side-tag,.side-foot{display:none}.admin-main{padding:20px 16px 48px}}.side-logo{margin:0 10px 8px;background:0 0!important;padding:0!important}.side-section{font-size:11px;font-family:var(--font-mono);color:var(--muted);text-transform:lowercase;margin:16px 10px 4px}.side-user{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-top:auto;padding:0 10px 8px;overflow:hidden}.side-user+.side-foot{margin-top:0}.side-foot .link{margin-left:auto}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{flex-direction:column;gap:20px;width:100%;max-width:400px;padding:28px;display:flex}.login-card h1{font-family:var(--font-mono)}.login-card p{margin-top:6px}tr.clickable{cursor:pointer}td.wrap{white-space:normal;min-width:200px}.content-cell{white-space:normal;word-break:break-all;max-width:520px}.ns-list{gap:6px;max-width:420px;margin-top:8px;display:grid}.rule{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.rule-head{align-items:center;gap:12px;padding:10px 12px;display:flex}.rule-head .icon-btn{width:28px;height:28px}.rule-head .icon-btn:disabled{opacity:.3;cursor:default}.rule-n{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 16%, transparent);width:22px;height:22px;color:var(--accent);flex:none;place-items:center;font-size:12px;display:grid}.rule-edit{border-top:1px solid var(--border);padding:12px}.members{gap:8px}.member-row{grid-template-columns:minmax(160px,2fr) 90px minmax(120px,2fr) auto auto;align-items:center;gap:8px;display:grid}.pool-card{flex-direction:column;gap:12px;display:flex}.pool-card h2+*{margin-top:4px}.node-dot{border-radius:var(--radius);font-family:var(--font-mono);border:1px solid var(--border);align-items:center;gap:4px;padding:1px 6px;font-size:11px;display:inline-flex}.node-dot:before{content:"";background:var(--muted);border-radius:50%;width:6px;height:6px}.node-dot.up:before{background:var(--accent-2)}.node-dot.down{border-color:var(--danger);color:var(--danger)}.node-dot.down:before{background:var(--danger)}.node-dot.stale{opacity:.5}.chip{border:1px solid var(--border);border-radius:var(--radius);white-space:nowrap;margin:2px 4px 2px 0;padding:1px 6px;font-size:12px;display:inline-block}.grid-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.bars{flex-direction:column;gap:6px;display:flex}.bar-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 56px;align-items:center;gap:10px;font-size:13px;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:var(--border);height:6px}.bar-fill{background:var(--accent);height:100%;display:block}.bar-row .mono{text-align:right}pre.code{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);margin:0;padding:12px 14px;font-size:12px;line-height:1.6;overflow-x:auto}.modal-wide h2{margin-top:4px}@media (max-width:640px){.member-row{grid-template-columns:1fr 70px auto auto}.member-row input:nth-child(3){display:none}.rule-head{flex-wrap:wrap}}
