:root{--brand-primary:#6366f1;--brand-accent:#22d3ee;--bg:#0b0e14;--panel:#131824;--panel-2:#1a2131;--border:#263048;--text:#e6e9f2;--text-dim:#8b94ab;--ok:#34d399;--warn:#fbbf24;--err:#f87171;--info:#60a5fa;--font:ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;--font-size:15px;--radius:12px;--density:1;--sp-1:calc(4px * var(--density));--sp-2:calc(8px * var(--density));--sp-3:calc(12px * var(--density));--sp-4:calc(18px * var(--density));--sp-5:calc(28px * var(--density));--radius-sm:min(var(--radius), 8px)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--font-size);min-height:100vh}a{color:var(--brand-accent);text-decoration:none}.nav{align-items:center;gap:var(--sp-5);padding:var(--sp-3) var(--sp-5);background:var(--panel);border-bottom:1px solid var(--border);display:flex}.nav .logo{color:var(--text);align-items:center;gap:var(--sp-2);font-size:1.2em;font-weight:700;display:flex}.nav .logo img{height:28px}.nav .logo .dot{background:var(--brand-primary);border-radius:50%;width:10px;height:10px}.nav a.link{color:var(--text-dim);font-size:.93em}.nav a.link:hover{color:var(--text)}.nav .spacer{flex:1}.container{max-width:1100px;padding:var(--sp-5);margin:0 auto}h1{margin-bottom:var(--sp-4);font-size:1.6em}h2{margin:var(--sp-4) 0 var(--sp-3);color:var(--text);font-size:1.13em}p.dim,span.dim{color:var(--text-dim);font-size:.87em}.grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);margin-bottom:var(--sp-3)}.card h3{margin-bottom:var(--sp-1);font-size:1.07em}.row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.between{justify-content:space-between}.status{align-items:center;gap:var(--sp-1);color:var(--text-dim);font-size:.87em;display:inline-flex}.status:before{content:"";background:var(--text-dim);border-radius:50%;width:9px;height:9px}.status.live:before{background:var(--ok);box-shadow:0 0 8px var(--ok)}.status.degraded:before{background:var(--warn)}.status.error:before{background:var(--err)}.status.starting:before{background:var(--info)}button,.btn{background:var(--brand-primary);color:#fff;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-sm);cursor:pointer;border:0;font-family:inherit;font-size:.93em;font-weight:600}button:hover,.btn:hover{filter:brightness(1.12)}button.secondary{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}button.danger{border:1px solid var(--err);color:var(--err);background:0 0}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}input,select,textarea{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);width:100%;font-family:inherit;font-size:.93em}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-primary);border-color:#0000}label{color:var(--text-dim);margin:var(--sp-3) 0 var(--sp-1);font-size:.87em;display:block}table{border-collapse:collapse;width:100%;font-size:.93em}th{text-align:left;color:var(--text-dim);padding:var(--sp-2);border-bottom:1px solid var(--border);font-size:.8em;font-weight:500}td{padding:var(--sp-2);border-bottom:1px solid var(--border)}.form-grid{gap:0 var(--sp-4);grid-template-columns:1fr 1fr;display:grid}@media (max-width:640px){.form-grid{grid-template-columns:1fr}}.error-box{background:color-mix(in srgb, var(--err) 12%, transparent);border:1px solid var(--err);color:var(--err);padding:var(--sp-3);border-radius:var(--radius-sm);margin:var(--sp-3) 0;font-size:.93em}.ok-box{background:color-mix(in srgb, var(--ok) 12%, transparent);border:1px solid var(--ok);color:var(--ok);padding:var(--sp-3);border-radius:var(--radius-sm);margin:var(--sp-3) 0;font-size:.93em}.login-wrap{justify-content:center;align-items:center;min-height:80vh;display:flex}.login-card{width:380px;max-width:100%}.badge{padding:2px var(--sp-2);background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;font-size:.73em}
