/* SPDX-License-Identifier: Apache-2.0 */
:root{
  --bg:#0d1118;--card:#151b25;--card2:#1b2330;--ink:#eef3fb;--muted:#9aa9be;
  --line:#2a3546;--accent:#6ea8fe;--accent2:#8ce0c6;--danger:#ffb4ab;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI","Noto Sans SC",sans-serif;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body.auth-body{margin:0;background:
  radial-gradient(1100px 680px at 8% -10%,#1b3352 0%,transparent 55%),
  radial-gradient(900px 560px at 110% 10%,#17352f 0%,transparent 52%),var(--bg);
  color:var(--ink);display:flex;align-items:center;justify-content:center;padding:24px}
.auth-shell{width:min(460px,100%);background:rgba(21,27,37,.94);border:1px solid var(--line);
  border-radius:18px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.38)}
.auth-head{display:flex;flex-direction:column;gap:10px}
.auth-brand{display:flex;align-items:center;gap:12px}
.auth-mark{width:38px;height:38px;border-radius:12px;display:inline-block;
  background:conic-gradient(from 210deg,var(--accent),var(--accent2),#c3b5ff,var(--accent));
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset}
.auth-brand h1{margin:0;font-size:1.25rem;letter-spacing:.02em}
.auth-brand p{margin:2px 0 0;color:var(--muted);font-size:.82rem}
.auth-sub{color:var(--muted);font-size:.9rem;margin:2px 0 0;line-height:1.55}
.auth-tabs{display:flex;gap:8px;margin:20px 0 16px}
.auth-tab{flex:1;border:1px solid var(--line);background:var(--card2);color:var(--muted);
  border-radius:10px;padding:10px 12px;font:inherit;font-size:.95rem;cursor:pointer}
.auth-tab.is-active{color:var(--ink);border-color:var(--accent);background:#1d2a3d}
.auth-form{display:flex;flex-direction:column;gap:14px}
.auth-field{display:flex;flex-direction:column;gap:6px}
.auth-field label{font-size:.88rem;color:var(--muted)}
.auth-field input{width:100%;background:#0f141d;border:1px solid var(--line);color:var(--ink);
  border-radius:10px;padding:11px 12px;font:inherit;font-size:1rem;outline:none}
.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(110,168,254,.16)}
.auth-field input:user-invalid{border-color:var(--danger)}
.auth-submit{border:0;border-radius:10px;padding:12px 14px;font:inherit;font-weight:700;font-size:1rem;
  color:#07111f;background:linear-gradient(120deg,var(--accent),var(--accent2));cursor:pointer}
.auth-submit:disabled{opacity:.55;cursor:progress}
.auth-message{min-height:1.4em;margin:0;color:var(--danger);font-size:.88rem;line-height:1.45}
.auth-message[data-kind="ok"]{color:var(--accent2)}
.auth-foot{margin-top:20px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:.8rem;line-height:1.6}
.auth-foot p{margin:0 0 6px}.auth-foot a{color:var(--accent);text-decoration:none}
@media (prefers-color-scheme:light){
  :root{--bg:#f3f6fb;--card:#fff;--card2:#f1f5fb;--ink:#152033;--muted:#5b6c83;--line:#d6e0ec}
  body.auth-body{background:radial-gradient(900px 560px at 8% -10%,#dce9ff 0%,transparent 55%),var(--bg)}
  .auth-shell{background:rgba(255,255,255,.96);box-shadow:0 24px 60px rgba(24,45,80,.12)}
  .auth-field input{background:#fff}
}
