:root{color-scheme:dark;--bg:#070b11;--card:#0e1520;--line:#213047;--text:#eaf2ff;--muted:#7f91a9;--accent:#34c5ff;--green:#31dda4;--red:#ff667f}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 0,#0b2231,transparent 35%),var(--bg);color:var(--text);font:14px Inter,system-ui,sans-serif}main{max-width:1500px;margin:auto;padding:30px}.card{padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#111a27,#0a1019);box-shadow:0 18px 70px #0006;margin-bottom:16px}.login{width:min(420px,100%);margin:12vh auto;text-align:center}.logo{display:grid;place-items:center;width:70px;height:70px;margin:auto;border-radius:20px;background:linear-gradient(145deg,#34c5ff,#5147ff);font-size:42px;font-weight:800}h1{margin:10px 0 4px}h2{margin:0 0 18px;font-size:17px}p,small{display:block;color:var(--muted)}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}header small{letter-spacing:.2em}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin-bottom:16px}.metric{padding:16px;border:1px solid var(--line);border-radius:14px;background:#0d1520}.metric b{display:block;margin-top:6px;color:var(--green);font-size:24px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.wide{grid-column:1/-1}.data-grid{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:7px;margin:11px 0;color:#afbdd0}input,textarea,button{border:1px solid var(--line);border-radius:10px;background:#09101a;color:var(--text);font:inherit}input{height:42px;padding:0 12px}textarea{width:100%;min-height:100px;padding:12px;resize:vertical}button{min-height:42px;padding:0 18px;border-color:#21688c;background:#0f3144;color:#bdefff;font-weight:700;cursor:pointer}button:hover{background:#15445d}.check{display:flex;align-items:center;gap:8px}.check input{width:18px;height:18px}pre{min-height:48px;padding:12px;border:1px dashed #2e7398;border-radius:10px;color:#7fffd0;white-space:pre-wrap}progress{width:100%;height:12px;margin-top:12px}.release-form{display:grid;grid-template-columns:1fr 1fr 2fr 1fr;gap:12px}.bar{display:grid;grid-template-columns:110px 1fr 42px;align-items:center;gap:8px;margin:10px 0;color:var(--muted)}.bar i{height:8px;border-radius:9px;background:#111c29;overflow:hidden}.bar i:after{display:block;width:var(--w);height:100%;content:"";background:linear-gradient(90deg,#35bfff,#39e2a2)}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:11px;border-bottom:1px solid #1c2a3c;vertical-align:top}.table-wrap{overflow:auto}.danger{border-color:#6b2431;background:#33131a;color:#ff9bad}.crash{margin:8px 0;padding:12px;border-left:3px solid var(--red);background:#0a111a}.crash b{color:#ff9bad}.crash pre{border:0;color:#8091a8}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title h2{margin-bottom:4px}.section-title input{width:min(420px,45vw)}.devices-table{min-width:1180px}.devices-table td:first-child{min-width:250px}.devices-table code{display:inline-block;margin:7px 5px 0 0;color:#80dfff;font-size:11px}.status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em}.status.good{background:#123a2e;color:#63e8b5}.status.bad,.bad{color:#ff8799}.status.bad{background:#421923}.status.muted{background:#192330;color:#8da0b7}.device-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:250px}.device-actions button,.tiny{min-height:30px;padding:0 9px;font-size:11px}.tiny{margin-top:4px}#toast{position:fixed;right:22px;bottom:22px;max-width:420px;padding:13px 18px;border:1px solid #2b7093;border-radius:12px;background:#0d1b27;opacity:0;transform:translateY(20px);transition:.2s}#toast.show{opacity:1;transform:none}@media(max-width:850px){main{padding:14px}.metrics{grid-template-columns:repeat(2,1fr)}.grid,.data-grid{grid-template-columns:1fr}.wide{grid-column:auto}.release-form{grid-template-columns:1fr}.section-title{align-items:stretch;flex-direction:column}.section-title input{width:100%}}
