:root{color-scheme:dark;--bg:#090b10;--surface:#11151e;--surface2:#181e2a;--line:#293243;--text:#f0f4fa;--muted:#9aa6b8;--brand:#5eead4;--brand2:#2dd4bf;--danger:#fb7185;--warn:#fbbf24}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#132335 0%,transparent 40%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1160px;margin:auto;padding:24px}.nav{display:flex;justify-content:space-between;align-items:center;padding:4px 0 28px}.brand{font-size:19px;font-weight:800;letter-spacing:.06em;color:var(--text)}.brand i{font-style:normal;color:var(--brand)}.nav-right{display:flex;gap:18px;align-items:center;color:var(--muted);font-size:14px}.auth{max-width:440px;margin:7vh auto}.card{background:linear-gradient(140deg,rgba(24,30,42,.96),rgba(14,18,26,.96));border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 20px 70px #0005}.hero h1,.card h1{margin:0 0 8px;font-size:28px}.sub{color:var(--muted);line-height:1.55;margin:0 0 24px}.field{margin:0 0 17px}.field label{display:block;font-size:13px;font-weight:650;margin-bottom:7px;color:#cbd5e1}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#0c1017;color:var(--text);padding:11px 12px;font:inherit;outline:none}.field input:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2dd4bf18}.field textarea{resize:vertical;min-height:90px}.row{display:grid;grid-template-columns:1fr 130px;gap:14px}.button{cursor:pointer;border:0;border-radius:9px;padding:11px 15px;background:var(--brand);color:#062420;font-weight:750;font:inherit}.button:hover{background:var(--brand2)}.button.secondary{background:#273142;color:#e5edf8}.button.danger{background:#4c1d2a;color:#fecdd3}.button.small{padding:7px 10px;font-size:13px}.button.full{width:100%}.flash{padding:11px 13px;border-radius:9px;margin:0 0 18px;font-size:14px}.flash.error{background:#4c1d2a;color:#fecdd3;border:1px solid #9f2944}.flash.success{background:#123b36;color:#b9f7ec;border:1px solid #227b70}.dashboard-head{display:flex;justify-content:space-between;align-items:end;margin:10px 0 22px}.dashboard-head h1{margin:0;font-size:28px}.dashboard-head p{margin:6px 0 0;color:var(--muted)}.servers{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.server{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:19px}.server-top{display:flex;justify-content:space-between;gap:12px}.server h2{font-size:17px;margin:0 0 6px}.server .host{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--brand);font-size:14px}.server .meta{color:var(--muted);font-size:13px;margin:14px 0}.server-actions{display:flex;gap:8px;flex-wrap:wrap}.empty{border:1px dashed #344157;border-radius:14px;text-align:center;padding:55px 20px;color:var(--muted)}.modal{position:fixed;inset:0;background:#000b;display:none;align-items:center;justify-content:center;padding:18px;z-index:10}.modal.open{display:flex}.modal-box{width:min(540px,100%);max-height:94vh;overflow:auto;background:var(--surface2);border:1px solid #3a465b;border-radius:15px;padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.modal-head h2{margin:0;font-size:20px}.close{background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer}.credential{background:#090d13;border:1px solid var(--line);border-radius:9px;padding:12px;font-family:ui-monospace,monospace;word-break:break-all;display:flex;justify-content:space-between;gap:10px}.copy{background:none;border:0;color:var(--brand);cursor:pointer;font:inherit}.hint{font-size:12px;color:var(--muted);margin-top:11px}.footer{color:#6d7889;font-size:12px;text-align:center;padding:35px 0 10px}@media(max-width:560px){.shell{padding:16px}.nav{padding-bottom:20px}.nav-right span{display:none}.dashboard-head{align-items:start;gap:14px}.row{grid-template-columns:1fr}.card{padding:21px}}
