*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080C10;--bg2: #0D1219;--surface: #111820;--surface2: #161E28;--border: rgba(255,255,255,.07);--accent: #3ECFCF;--accent2: #2BB8B8;--accent-glow: rgba(62, 207, 207, .15);--success: #4ADE80;--success-glow: rgba(74, 222, 128, .12);--error: #F87171;--error-glow: rgba(248, 113, 113, .12);--text: #F0F4F8;--text2: #8A9BB0;--text3: #4A5B6E;--font-display: "Syne", sans-serif;--font-body: "DM Sans", sans-serif;--radius: 16px;--radius-sm: 10px}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(62,207,207,.08) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 90% 90%,rgba(62,207,207,.04) 0%,transparent 50%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.page{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:48px 40px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.5}.logo{display:flex;align-items:center;gap:10px;margin-bottom:40px}.logo-mark{width:36px;height:36px;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 0 20px var(--accent-glow)}.logo-name{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.3px;color:var(--text)}.status-icon{width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:24px}.status-icon.loading{background:#ffffff0a;border:1px solid var(--border)}.status-icon.success{background:var(--success-glow);border:1px solid rgba(74,222,128,.2);box-shadow:0 0 30px var(--success-glow)}.status-icon.error{background:var(--error-glow);border:1px solid rgba(248,113,113,.2);box-shadow:0 0 30px var(--error-glow)}h1{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.5px;margin-bottom:10px;color:var(--text)}.subtitle{color:var(--text2);font-size:14px;font-weight:300;line-height:1.7;margin-bottom:32px}.btn{width:100%;padding:14px 24px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease;letter-spacing:.2px;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--accent);color:#080c10;font-weight:600}.btn-primary:hover:not(:disabled){background:#50d8d8;transform:translateY(-1px);box-shadow:0 8px 24px #3ecfcf40}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border);margin-top:10px}.btn-ghost:hover{background:var(--surface2);color:var(--text);border-color:#ffffff1f}.btn-app{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:14px 24px;font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;margin-bottom:10px}.btn-app:hover{background:#3ecfcf0f;border-color:#3ecfcf4d;color:var(--accent)}.form-group{margin-bottom:16px}label{display:block;font-size:12px;font-weight:500;color:var(--text2);letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px}input[type=password],input[type=text],input[type=email]{width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 16px;color:var(--text);font-family:var(--font-body);font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder{color:var(--text3)}.divider{height:1px;background:var(--border);margin:28px 0}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:20px;display:flex;align-items:flex-start;gap:10px}.alert-error{background:var(--error-glow);border:1px solid rgba(248,113,113,.2);color:#fca5a5}.alert-success{background:var(--success-glow);border:1px solid rgba(74,222,128,.2);color:#86efac}.mobile-hint{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-bottom:24px;display:flex;gap:12px;align-items:flex-start}.mobile-hint-icon{font-size:20px;line-height:1;margin-top:1px}.mobile-hint-text{font-size:13px;color:var(--text2);line-height:1.6}.mobile-hint-text strong{color:var(--text);font-weight:500}.strength-bar{height:3px;background:var(--bg2);border-radius:2px;margin-top:8px;overflow:hidden}.strength-fill{height:100%;border-radius:2px;transition:width .3s ease,background .3s ease}.strength-label{font-size:11px;margin-top:5px;color:var(--text3)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card{animation:fadeUp .4s ease both}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.pulsing{animation:pulse 1.5s ease infinite}a.link{color:var(--accent);text-decoration:none;font-size:13px}a.link:hover{text-decoration:underline}.text-center{text-align:center}.mt-4{margin-top:16px}.mt-2{margin-top:8px}
