/* Authentication uses the same palette and compact controls as the console. */
body { min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:24px; }
.login-shell { width:min(380px,100%); display:grid; gap:12px; }
.login-card { min-width:0; padding:26px; border:1px solid var(--border); border-radius:14px; background:white; box-shadow:var(--shadow-md); }
.login-brand { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.login-logo { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; border-radius:11px; background:var(--accent); color:white; }
.login-logo .console-icon { width:24px; height:24px; }
.login-title { margin:0 0 4px; font-size:19px; font-weight:650; letter-spacing:-.4px; }
.login-sub { color:var(--muted); font-size:11px; line-height:1.6; }
.login-grid { display:grid; gap:13px; }
.login-field { display:grid; gap:6px; }
.login-label { color:var(--secondary); font-size:12px; font-weight:500; }
.login-input { width:100%; min-width:0; min-height:38px; padding:8px 10px; border:1px solid var(--border-strong); border-radius:7px; background:white; color:var(--text); font-size:14px; outline:none; }
.login-input:focus { border-color:var(--accent); box-shadow:0 0 0 3px #007aff1a; }
.login-input[readonly] { background:var(--surface2); color:var(--muted); }
.login-input::placeholder { color:#929297; }
.login-input[name=code] { letter-spacing:4px; font-variant-numeric:tabular-nums; }
.login-actions { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; margin-top:20px; }
.login-btn { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:8px 14px; border:1px solid var(--accent); border-radius:7px; background:var(--accent); color:white; font-size:12px; font-weight:500; }
.login-btn.secondary { background:white; color:var(--secondary); border-color:var(--border-strong); }
.login-btn:hover { filter:brightness(.97); }
.login-btn:focus-visible { outline:3px solid #007aff70; outline-offset:2px; }
.login-note { margin-top:18px; color:var(--muted); font-size:11px; line-height:1.7; overflow-wrap:anywhere; }
.login-notice { padding:10px 12px; border:1px solid #cfdef0; border-radius:8px; background:#f0f6ff; color:#255c97; font-size:12px; overflow-wrap:anywhere; }
.login-notice.success { color:var(--green); background:#eef8f0; border-color:#d0e6d5; }
.login-notice.warning { color:var(--orange); background:#fff9e9; border-color:#eee0b9; }
.login-notice.error { color:var(--red); background:#fff2f1; border-color:#f1d1d0; }
@media(max-width:420px){
  body{padding:16px;}.login-card{padding:22px 18px;}.login-shell{margin:auto 0;}
  .login-actions{display:grid;grid-template-columns:1fr;}.login-btn{width:100%;}
}
