:root{--bg0: #070A12;--bg1: #0B1022;--glass: rgba(255, 255, 255, .08);--glass2: rgba(255, 255, 255, .12);--border: rgba(255, 255, 255, .14);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .64);--danger: rgba(255, 89, 89, .22);--dangerBorder: rgba(255, 89, 89, .35);--btn: rgba(255, 255, 255, .14);--btnBorder: rgba(255, 255, 255, .18);--btnHover: rgba(255, 255, 255, .18)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--text);background:var(--bg0)}.page{min-height:100vh;display:grid;place-items:center;padding:32px 16px;position:relative;overflow:hidden}.bg{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(1200px 900px at 15% 10%,rgba(99,102,241,.55),transparent 60%),radial-gradient(900px 700px at 85% 25%,rgba(56,189,248,.45),transparent 55%),radial-gradient(1000px 900px at 50% 90%,rgba(16,185,129,.35),transparent 60%),linear-gradient(180deg,#060812,#03050c);filter:saturate(1.25) contrast(1.1)}.card{width:100%;max-width:520px;position:relative;border-radius:24px;background:linear-gradient(180deg,#ffffff2e,#ffffff0a);backdrop-filter:blur(26px) saturate(1.35);-webkit-backdrop-filter:blur(26px) saturate(1.35);border:1px solid rgba(255,255,255,.22);box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff40;padding:24px 22px}.card-success{border-color:#22c55e8c;box-shadow:0 30px 80px #0000008c,0 0 0 1px #22c55e59,0 0 30px #22c55e40,inset 0 1px #ffffff40}.card-error{border-color:#ef44448c;box-shadow:0 30px 80px #0000008c,0 0 0 1px #ef444459,0 0 30px #ef444440,inset 0 1px #ffffff40}.header .brand{letter-spacing:.18em;text-transform:uppercase;font-size:12px;color:var(--muted);margin-bottom:10px}h1{margin:0;font-size:22px;font-weight:650}.sub{margin:10px 0 0;color:var(--muted);line-height:1.45}.content{margin-top:18px}.form{display:grid;gap:14px}.label{display:grid;gap:8px;color:var(--muted);font-size:13px}.input{width:100%;padding:12px;border-radius:14px;border:1px solid var(--btnBorder);background:#00000040;color:var(--text);outline:none}.input:focus{border-color:#ffffff47;background:#0000004d}.buttonRow{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:13px 16px;border-radius:14px;background:linear-gradient(180deg,#ffffff38,#ffffff14);border:1px solid rgba(255,255,255,.22);color:var(--text);text-decoration:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.button:hover{background:linear-gradient(180deg,#ffffff47,#ffffff1f);transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:disabled{opacity:.55;cursor:not-allowed}.button.secondary{background:#0003}.muted{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.45}.errorBox{padding:12px;border-radius:14px;background:var(--danger);border:1px solid var(--dangerBorder);color:var(--text);line-height:1.45}.spinnerRow{display:flex;align-items:center;gap:10px;padding:10px 0}.spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(255,255,255,.22);border-top-color:#ffffffc7;animation:spin .9s linear infinite}.spinnerLabel{color:var(--muted);font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){.card{animation:cardIn .42s cubic-bezier(.2,.8,.2,1)}}@keyframes cardIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
