/* CyberFixer — sign-in, setup, account and admin pages. Same palette as the main interface. */
:root{
  --bg-deep:#060b12; --bg-panel:#0b131f; --bg-panel-2:#0f1a29; --bg-elev:#132238;
  --border:#1c2c42; --blue:#2f8dff; --green:#2fe0a0; --text-hi:#eaf1fb; --text-mid:#9fb0c6;
  --text-low:#5c728c; --danger:#ff5c72; --warn:#ffb547;
  --font-ui:'Segoe UI','Inter',-apple-system,sans-serif; --font-mono:'JetBrains Mono','Consolas',monospace;
}
*{box-sizing:border-box;}
body{margin:0;min-height:100vh;font-family:var(--font-ui);color:var(--text-hi);
  background:radial-gradient(circle at 15% 10%,#0b1c2e 0%,var(--bg-deep) 55%);}
a{color:var(--blue);}
.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;}
.card{width:100%;max-width:420px;background:var(--bg-panel);border:1px solid var(--border);
  border-radius:14px;padding:28px 26px;box-shadow:0 20px 60px #0008;}
.card.wide{max-width:980px;}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:22px;}
.brand .mark{width:34px;height:34px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;
  background:conic-gradient(from 210deg,var(--blue),var(--green));}
.brand .mark svg{width:18px;height:18px;}
.brand .name{font-weight:700;font-size:17px;letter-spacing:.2px;}
.brand .sub{font-size:11px;color:var(--text-low);}
h1{font-size:19px;margin:0 0 6px;}
h2{font-size:15px;margin:22px 0 10px;}
p.lead{color:var(--text-mid);font-size:13px;line-height:1.5;margin:0 0 18px;}
label{display:block;font-size:12px;color:var(--text-mid);margin:12px 0 5px;}
input,select{width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--border);
  background:var(--bg-panel-2);color:var(--text-hi);font-size:14px;font-family:inherit;}
input:focus,select:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:transparent;}
input.code{font-family:var(--font-mono);font-size:22px;letter-spacing:6px;text-align:center;}
button{margin-top:16px;width:100%;padding:11px 14px;border:0;border-radius:9px;cursor:pointer;
  font-weight:700;font-size:14px;color:#04140d;background:linear-gradient(90deg,var(--green),#22c58f);}
button.secondary{background:var(--bg-elev);color:var(--text-hi);border:1px solid var(--border);font-weight:600;}
button.small{width:auto;margin:0;padding:6px 10px;font-size:12px;}
button.danger{background:#3a1119;color:#ffb3bf;border:1px solid #7a2733;}
button:disabled{opacity:.55;cursor:wait;}
.msg{margin-top:14px;padding:10px 12px;border-radius:9px;font-size:13px;line-height:1.45;display:none;}
.msg.show{display:block;}
.msg.error{background:#2a0f14;border:1px solid #7a2733;color:#ffc2cb;}
.msg.ok{background:#0d2a20;border:1px solid #1c9a72;color:#b8f5dc;}
.msg.info{background:#0f1f36;border:1px solid #1c5aad;color:#cfe3ff;}
.hidden{display:none !important;}
.linkbtn{background:none;border:0;color:var(--blue);padding:0;margin-top:12px;width:auto;font-weight:600;font-size:12.5px;}
.qr{display:flex;justify-content:center;margin:12px 0;}
.qr img{width:210px;height:210px;background:#fff;border-radius:10px;padding:8px;}
.secret{font-family:var(--font-mono);font-size:13px;background:var(--bg-panel-2);border:1px solid var(--border);
  padding:8px 10px;border-radius:8px;word-break:break-all;user-select:all;}
.codes{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-family:var(--font-mono);font-size:14px;
  background:var(--bg-panel-2);border:1px solid var(--border);padding:12px;border-radius:9px;margin:10px 0;}
.steps{font-size:12.5px;color:var(--text-mid);line-height:1.6;padding-left:18px;margin:6px 0 0;}
.foot{margin-top:18px;font-size:11px;color:var(--text-low);line-height:1.5;}
.topnav{display:flex;align-items:center;gap:14px;margin-bottom:6px;flex-wrap:wrap;}
.topnav .spacer{flex:1;}
.topnav a{font-size:13px;text-decoration:none;}
table{width:100%;border-collapse:collapse;font-size:12.5px;}
th,td{text-align:left;padding:8px 8px;border-bottom:1px solid var(--border);vertical-align:top;}
th{color:var(--text-low);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;}
td .actions{display:flex;gap:6px;flex-wrap:wrap;}
.pill{display:inline-block;padding:1px 8px;border-radius:99px;font-size:11px;border:1px solid var(--border);}
.pill.active{color:var(--green);border-color:#1c9a72;}
.pill.invited{color:var(--warn);border-color:#7a5a1c;}
.pill.disabled{color:var(--danger);border-color:#7a2733;}
.row{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:10px;align-items:end;}
.row button{margin:0;}
.scroll{overflow-x:auto;}
.mono{font-family:var(--font-mono);font-size:11.5px;}
@media (max-width:700px){.row{grid-template-columns:1fr;}}
