@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,400;0,700;0,900;1,400&family=DM+Sans:wght@400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box}:root{--bg:#0f1117;--surface:#181b24;--surface2:#1e2230;--surface3:#252a3a;--brand:#d4246a;--brand-dim:rgba(212,36,106,.15);--brand-glow:rgba(212,36,106,.3);--green:#22c55e;--green-dim:rgba(34,197,94,.12);--yellow:#f59e0b;--yellow-dim:rgba(245,158,11,.12);--red:#ef4444;--red-dim:rgba(239,68,68,.12);--blue:#3b82f6;--blue-dim:rgba(59,130,246,.12);--text:#e8eaf0;--text-soft:#8b91a8;--text-muted:#4b5268;--border:hsla(0,0%,100%,.07);--border2:hsla(0,0%,100%,.04)}body,html{margin:0;padding:0;min-height:100%;font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(580px,100%);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px}.auth-brand{margin-bottom:18px;font-family:Fraunces,serif;font-size:28px;font-weight:900}.auth-brand span{color:var(--brand)}.auth-brand em{font-style:normal;color:#ff7b7b}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{border:1px solid var(--border);background:var(--surface3);color:var(--text-soft);border-radius:9px;padding:8px 12px;cursor:pointer;font-weight:600}.tabs button.active{border-color:var(--brand);background:var(--brand-dim);color:var(--brand)}.field{margin-bottom:12px}.field label{display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);background:var(--surface3);color:var(--text);border-radius:10px;padding:10px 12px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.auth-actions{display:flex;gap:10px;margin-top:8px}.btn{border:none;border-radius:10px;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;cursor:pointer}.btn.primary{background:var(--brand);color:#fff;box-shadow:0 4px 16px var(--brand-glow)}.btn.secondary{background:var(--surface3);color:var(--text-soft);border:1px solid var(--border)}.error{color:var(--red)}.error,.ok{font-size:13px;font-weight:600}.ok{color:var(--green)}