:root{--bg:#f4f5fb;--card:rgba(255,255,255,.85);--tx:#0f172a;--mu:#64748b;--ac:#4f46e5;--ac2:#7c3aed;--bd:#e2e8f0;--rose:#e11d48}
@media(prefers-color-scheme:dark){:root{--bg:#0b1020;--card:rgba(20,27,52,.8);--tx:#e5e7ef;--mu:#94a3b8;--bd:#273052}}
*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--tx);
background:radial-gradient(900px 500px at 10% -10%,rgba(124,58,237,.25),transparent),radial-gradient(800px 500px at 100% 0,rgba(79,70,229,.25),transparent),var(--bg)}
.auth{min-height:100vh;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) 1rem}
.card{width:100%;max-width:400px;background:var(--card);backdrop-filter:blur(14px);border:1px solid var(--bd);border-radius:22px;padding:2rem;box-shadow:0 20px 50px -20px rgba(79,70,229,.35);display:grid;gap:1rem}
.logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:700;background:linear-gradient(135deg,var(--ac),var(--ac2))}
h1{margin:0;font-size:1.6rem}.muted{margin:0;color:var(--mu);font-size:.95rem}
label{display:grid;gap:.4rem;font-size:.85rem;font-weight:600}
input{font:inherit;padding:.8rem 1rem;border-radius:12px;border:1px solid var(--bd);background:transparent;color:var(--tx);min-height:44px}
input:focus{outline:2px solid var(--ac);outline-offset:1px}
.btn{font:inherit;font-weight:600;color:#fff;border:0;border-radius:12px;min-height:46px;cursor:pointer;background:linear-gradient(135deg,var(--ac),var(--ac2));transition:transform .15s}
.btn:hover{transform:translateY(-1px)}.alert{background:rgba(225,29,72,.1);color:var(--rose);padding:.7rem 1rem;border-radius:12px;font-size:.9rem}
