.auth-gate { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:radial-gradient(circle at 50% 0,#1d2918 0,transparent 42%),#080a0d; }
.auth-gate.hidden { display:none; }
.login-card { width:min(420px,100%); padding:34px; border:1px solid #303740; background:linear-gradient(145deg,#14181e,#0e1115); box-shadow:0 30px 90px #0009; }
.login-card .brand-mark { margin-bottom:28px; }
.login-card h1 { margin-bottom:9px; font-size:27px; }
.login-copy { margin-bottom:26px; color:var(--muted); font-size:11px; line-height:1.7; }
.login-card label { display:block; margin-top:16px; color:#979eaa; font-size:11px; }
.login-card input { width:100%; margin-top:7px; padding:12px; border:1px solid var(--line); background:#090c10; color:var(--text); outline:none; }
.login-card input:focus { border-color:#68794b; }
.login-card .primary { width:100%; margin-top:17px; }
.login-error { min-height:18px; margin:12px 0 0; color:var(--red); font-size:10px; line-height:1.5; }
.setup-hint { display:block; margin-top:16px; color:var(--amber); font-size:9px; line-height:1.6; }
.user-chip { padding:7px 9px; border:1px solid #29302d; color:#aab6a3; font:9px 'DM Mono'; }
button:disabled { opacity:.4; cursor:not-allowed; }
