:root{color-scheme:dark;--bg:#111315;--panel:#1d2124;--line:#343b40;--text:#f5f5f2;--muted:#aeb7ba;--gold:#e2be64;--gold2:#fff0b3;--danger:#e89989}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 100% 0%,#252b2d 0,#111315 45%);font:15px/1.5 "Segoe UI",Arial,sans-serif;color:var(--text)}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--gold);border-radius:7px;padding:9px 13px;background:var(--gold);color:#151515;font-weight:700}button:hover{background:var(--gold2)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}a{color:var(--gold2)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 4vw;border-bottom:1px solid var(--line);background:#15191b}.brand{display:flex;align-items:center;gap:20px;font-size:20px;font-weight:700}.brand img{width:145px;max-height:32px;object-fit:contain}.topbar nav{display:flex;gap:18px;align-items:center}.topbar nav button,.secondary-button{display:inline-block;border:1px solid var(--line);background:#292e31;color:var(--text);border-radius:7px;padding:8px 12px;text-decoration:none;font-weight:600}.topbar nav button:hover,.secondary-button:hover{background:#384043}.eyebrow{letter-spacing:.19em;text-transform:uppercase;color:var(--gold);font-size:11px;font-weight:800}main{max-width:1450px;margin:auto;padding:35px 28px 60px}.heading,.panel-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.heading h1{font-size:clamp(30px,4vw,49px);line-height:1.1;margin:7px 0}.heading p,.panel-head p,.hint{color:var(--muted);margin:3px 0 0}.status-pill{border:1px solid #426c57;background:#1e352a;border-radius:100px;padding:7px 12px;white-space:nowrap;color:#9ee5b8}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.metrics article,.panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 6px 25px #0002}.metrics article{padding:21px 24px;display:flex;flex-direction:column}.metrics strong{font-size:32px;color:var(--gold2)}.metrics span{color:var(--muted)}.panel{padding:24px;margin:18px 0}.panel h2{margin:4px 0;font-size:23px}.panel-head{margin-bottom:19px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse;min-width:870px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px 12px;vertical-align:middle}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#24292c}tbody tr:last-child td{border-bottom:0}td code{color:var(--gold2);font-size:12px}td input[type=text]{width:150px;padding:7px;border:1px solid #555d61;border-radius:5px;background:#121517;color:var(--text)}td .token-button{margin:2px 3px 2px 0;white-space:nowrap;padding:6px 9px}td .save-button{padding:6px 9px}.port{font-weight:800;color:var(--gold2)}.upload-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.upload-row input{max-width:100%;padding:9px;border:1px dashed #697075;border-radius:6px}.warning{color:#f4d18d}#message{min-height:25px;color:var(--gold2)}.tag-ok{color:#8dddab}.tag-wait{color:#f0c36e}.tag-unknown{color:#ec9b90}dialog{border:1px solid var(--gold);border-radius:12px;background:#1d2124;color:var(--text);padding:25px;max-width:min(600px,90vw);box-shadow:0 12px 70px #000b}dialog::backdrop{background:#000b}dialog code{display:block;padding:14px;background:#0f1112;border:1px solid var(--line);overflow-wrap:anywhere;color:var(--gold2)}.dialog-actions{display:flex;gap:10px;margin-top:17px}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(460px,100%);border:1px solid var(--line);border-radius:15px;background:var(--panel);padding:38px;box-shadow:0 18px 65px #0008}.brand-logo{display:block;width:235px;max-height:65px;object-fit:contain;margin-bottom:35px}.login-card h1{margin:8px 0;font-size:35px}.login-card p{color:var(--muted);margin-bottom:28px}.login-card label{display:block;margin-bottom:8px}.login-card input{width:100%;border:1px solid #647075;border-radius:7px;background:#121517;color:var(--text);padding:11px}.login-card form button{width:100%;margin-top:17px}.back{display:inline-block;margin-top:22px;text-decoration:none}@media(max-width:800px){.metrics{grid-template-columns:1fr}.heading,.panel-head{display:block}.status-pill{display:inline-block;margin-top:15px}.panel{padding:18px}.topbar{padding:12px 18px}.brand img{width:100px}.brand span{font-size:16px}main{padding:25px 15px}}
:where(.upload-row) input[type=password]{border:1px solid #647075;background:#121517;color:var(--text);min-width:220px}
.routing-table{min-width:1320px}.routing-table td input[type=text]{width:150px}.routing-table td input[type=number]{width:100px}.routing-table td select,.routing-table td input[type=number]{padding:7px;border:1px solid #555d61;border-radius:5px;background:#121517;color:var(--text)}.routing-table td select{min-width:165px}.routing-table td input:focus-visible,.routing-table td select:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.routing-table .token-button:disabled{cursor:not-allowed;opacity:.45}
.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.download-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:9px;padding:19px;background:#181c1f}.download-card strong{font-size:20px}.download-card span{color:var(--muted)}.download-button{display:inline-block;margin-top:7px;padding:9px 14px;border-radius:7px;background:var(--gold);color:#151515;text-decoration:none;font-weight:700}.download-button:hover{background:var(--gold2)}@media(max-width:700px){.download-grid{grid-template-columns:1fr}}
.installer-card{margin-bottom:16px;border-color:var(--gold)}
