:root{color-scheme:dark;--bg:#061019;--card:#0d1c28;--border:#243b49;--text:#f2f7fa;--muted:#9cb3c3;--accent:#10d8c3;--bad:#ff8f9d;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 15%,#0b3035 0,transparent 45%),var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}a{color:var(--accent);text-decoration:none}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border-radius:9px;padding:12px 18px;border:1px solid var(--border);font-weight:600;color:var(--text);background:#122a37;transition:background .15s}button:hover{background:#1b3b49}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.primary{background:var(--accent);color:#02201e;border-color:var(--accent)}.primary:hover{background:#67edde}.secondary{background:#102430}.subtle{background:transparent}.danger{color:#ffc4cd;border-color:#713f4a;background:#361d29}.text-button{border:0;background:transparent;color:var(--accent);padding-left:0}.full{width:100%;margin-top:15px}.icon-button{border:0;background:transparent;font-size:23px;padding:2px 8px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 5vw;border-bottom:1px solid var(--border);background:#061019d9}.brand{display:flex;align-items:center;gap:9px;color:white;font-size:29px;font-weight:750;letter-spacing:-1.5px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--accent);color:#032429;font-size:24px;transform:skew(-12deg);border-radius:6px}.brand small{margin-left:14px;border-left:1px solid var(--border);padding-left:19px;font-size:10px;letter-spacing:2px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:20px;font-size:14px}main{max-width:1440px;margin:auto;padding:40px 5vw 60px}.auth-shell{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center;min-height:650px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:2.3px;color:var(--accent)}.dot{height:7px;width:7px;border-radius:100%;background:var(--accent);box-shadow:0 0 15px #10d8c3}h1{font-size:clamp(32px,4.2vw,58px);line-height:1.13;letter-spacing:-1.8px;margin:24px 0}h1 em{color:var(--accent);font-style:normal}h2{font-size:23px;letter-spacing:-.6px;margin:14px 0}h3{font-size:17px}.auth-intro>p{font-size:18px;color:var(--muted);line-height:1.7;max-width:480px}.assurances{list-style:none;padding:10px 0 25px}.assurances li{display:flex;flex-direction:column;gap:5px;margin:23px 0;padding-left:24px;border-left:2px solid #147d79}.assurances b{font-size:15px}.assurances span,.back-link{font-size:13px;color:var(--muted)}.auth-card{border:1px solid var(--border);background:linear-gradient(140deg,#102635,#0b1723);border-radius:20px;padding:36px;box-shadow:0 30px 80px #0005}.muted{color:var(--muted);line-height:1.6;font-size:14px}label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:600;margin:22px 0 0}input,select{width:100%;padding:13px 14px;border:1px solid #35505f;border-radius:8px;color:var(--text);background:#071622;min-height:46px}input#code{letter-spacing:8px;font-size:22px;text-align:center}input#pair-code{text-transform:uppercase;letter-spacing:3px;font-size:20px}.field-note,.private-note{font-size:12px;color:var(--muted);line-height:1.65}.private-note{border-top:1px solid var(--border);padding-top:20px;margin-top:20px}.footer{padding:22px 5vw;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}#notice{position:sticky;top:12px;z-index:20;margin:0 0 20px;padding:14px 20px;background:#123b3a;border:1px solid #218878;border-radius:8px;white-space:pre-wrap}#notice.error{background:#39202a;border-color:#9f5161}#qr{display:block;max-width:100%;margin:20px auto;border:12px solid white;border-radius:12px}#totp-secret{display:block;margin-top:12px;word-break:break-all;user-select:all;color:var(--accent)}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.dashboard-heading h1{font-size:38px;margin:12px 0}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.manager-grid{display:grid;grid-template-columns:260px 1fr;gap:24px}.computer-panel,.server-panel{background:#0c1b27;border:1px solid var(--border);border-radius:14px;padding:22px}.computer-panel{align-self:start}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title h2{font-size:18px;margin:0}.panel-title p{margin-bottom:0}.computer{width:100%;text-align:left;margin:14px 0 0;display:flex;flex-direction:column;gap:8px;word-break:break-word}.computer.selected{background:#113b41;border-color:var(--accent)}.computer small{font-weight:400;color:var(--muted)}.small{font-size:12px;line-height:1.6}.empty{text-align:center;max-width:460px;margin:60px auto;line-height:1.7;color:var(--muted)}.empty h3{color:var(--text);font-size:23px}.empty-symbol{font-size:46px;color:var(--accent)}.server-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:24px}.server-card{border:1px solid var(--border);background:#102330;border-radius:12px;padding:20px;overflow-wrap:anywhere}.server-card h3{font-size:19px;margin:0 0 4px}.server-card .game{color:var(--muted);font-size:12px;margin:0 0 18px}.state{display:inline-block;border:1px solid #405865;padding:4px 8px;border-radius:5px;font-size:11px;background:#132b37}.state.running{color:#71eed8;border-color:#26685d}.server-metrics{display:flex;justify-content:space-between;margin:20px 0;gap:12px;font-size:12px;color:var(--muted)}.server-metrics strong{display:block;color:var(--text);font-size:16px;margin-top:6px}.server-actions{display:flex;flex-wrap:wrap;gap:7px}.server-actions button{font-size:12px;padding:8px 10px}.activity{padding:0;list-style:none;font-size:13px;color:var(--muted)}.activity li{padding:12px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:16px}.manager-footnote{color:var(--muted);font-size:12px;text-align:center;margin-top:25px}dialog{color:var(--text);background:#102330;border:1px solid #3a5362;border-radius:16px;padding:28px;width:min(540px,calc(100vw - 30px));max-height:90vh;overflow:auto;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog p{color:var(--muted);font-size:14px;line-height:1.6}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-heading h2{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.security-buttons{display:flex;flex-wrap:wrap;gap:10px}.check-label{display:flex;flex-direction:row;align-items:flex-start;line-height:1.5;gap:12px}.check-label input{width:18px;min-height:18px;margin:2px 0 0}hr{border:0;border-top:1px solid var(--border);margin:25px 0}#unpair-button{margin-top:12px}[hidden]{display:none!important}@media(max-width:950px){.auth-shell{gap:5%}.auth-card{padding:25px}.manager-grid{grid-template-columns:210px 1fr}.dashboard-heading{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.topbar{padding:18px 20px}.brand small{font-size:8px;letter-spacing:1px;padding-left:10px;margin-left:5px}.brand{font-size:24px}.top-actions{gap:8px}.top-actions span{display:none}main{padding:25px 20px 40px}.auth-shell{display:block;min-height:0}.auth-intro{padding-bottom:25px}.auth-intro h1{font-size:35px}.auth-intro>p{font-size:15px}.assurances{display:none}.auth-intro .back-link{display:none}.auth-card{padding:25px 22px;border-radius:14px}.manager-grid{grid-template-columns:1fr;gap:16px}.computer-panel{padding:18px}#computers{display:flex;gap:8px;overflow:auto}.computer{min-width:160px;width:auto;margin-top:14px}.computer-panel>.small{display:none}.server-panel{padding:18px}.dashboard-heading h1{font-size:32px}.heading-actions{width:100%}.heading-actions button{flex:1;font-size:12px;padding:12px}.panel-title{align-items:flex-start}.server-grid{grid-template-columns:1fr}.empty{margin:35px auto}.activity li{flex-direction:column;gap:6px}}

.brand-logo{width:110px;height:58px;object-fit:cover;object-position:center}@media(max-width:650px){.brand-logo{width:88px;height:44px}}

.backup-summary{display:grid;gap:.4rem;color:var(--muted,#9ab8c8);font-size:.8rem;margin:1rem 0}.backup-summary strong{color:#ecf6fb;font-size:.9rem;overflow-wrap:anywhere}.backup-summary small{font-weight:400}.migration-note{padding:1rem;background:#102b36;border:1px solid #227381;border-radius:.65rem;line-height:1.6}.migration-note a{color:#38e1db}#restore-dialog{width:min(720px,calc(100vw - 32px))}#backup-options{max-width:100%;white-space:normal}#password-change-dialog{width:min(480px,calc(100vw - 32px))}
