*,::before,::after{box-sizing:border-box;margin:0;padding:0}:root{--brand:#3B5BFF;--brand-2:#7C3AFF;--brand-amber:#F59E0B;--bg:#070B1A;--border:rgba(59,91,255,0.16);--border-hover:rgba(59,91,255,0.55);--text:#E8ECFF;--muted:#4A5280;--label:#7880A8;--input-bg:rgba(255,255,255,0.035)}html,body{height:100%}body{font-family:"Figtree",sans-serif;background:var(--bg);color:var(--text);min-height:100vh}body::before{content:"";position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 80% 60%at 60% 40%,rgba(59,91,255,.07)0,transparent 60%),radial-gradient(ellipse 50% 50%at 20% 80%,rgba(124,58,255,.06)0,transparent 55%);pointer-events:none}.wrap{position:relative;z-index:1;width:100%;max-width:420px;margin:56px auto 60px;padding:24px 20px;animation:fadeUp .65s cubic-bezier(.22,.68,0,1.2) both;animation-delay:.05s;opacity:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.portal-tabs{display:flex;gap:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:4px;margin-bottom:24px}.portal-tab{flex:1;padding:9px 12px;background:0 0;border:0;border-radius:9px;cursor:pointer;font-family:"Figtree",sans-serif;font-size:13px;font-weight:600;color:var(--muted);transition:all .2s}.portal-tab.active{background:rgba(59,91,255,.18);color:#fff;box-shadow:0 2px 8px rgba(59,91,255,.2)}.portal-tab:hover:not(.active){color:var(--label)}.card{background:rgba(14,18,40,.9);border:1px solid var(--border);border-radius:22px;padding:36px 36px 32px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 32px 64px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)}.form-title{font-family:"Outfit",sans-serif;font-size:24px;font-weight:800;color:#fff;letter-spacing:-.4px;margin-bottom:6px}.form-desc{font-size:13.5px;color:var(--muted);margin-bottom:24px;line-height:1.5}.form-divider{height:1px;background:linear-gradient(90deg,var(--border),transparent);margin-bottom:24px}.alert{padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:18px;display:none}.alert-error{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.18);color:#fca5a5}.alert-success{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.18);color:#86efac}.alert-info{background:rgba(59,91,255,.08);border:1px solid rgba(59,91,255,.22);color:#b9c3ff;line-height:1.6}.field{margin-bottom:18px}.field label{display:block;font-size:11px;font-weight:600;color:var(--label);text-transform:uppercase;letter-spacing:.9px;margin-bottom:8px}.iw{position:relative}.iw-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;transition:color .2s}.iw:focus-within .iw-icon{color:var(--brand)}.field input{width:100%;background:var(--input-bg);border:1.5px solid rgba(255,255,255,.06);border-radius:11px;padding:13px 16px 13px 42px;color:var(--text);font-family:"Figtree",sans-serif;font-size:14px;outline:0;transition:border-color .25s,box-shadow .25s,background .25s}.field input::placeholder{color:var(--muted)}.field input:focus{border-color:var(--border-hover);background:rgba(59,91,255,.05);box-shadow:0 0 0 3px rgba(59,91,255,.1)}.btn-submit{width:100%;padding:13px 20px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);color:#fff;border:0;border-radius:11px;font-family:"Outfit",sans-serif;font-size:15px;font-weight:700;letter-spacing:.1px;cursor:pointer;margin-top:6px;box-shadow:0 4px 20px rgba(59,91,255,.3),inset 0 1px 0 rgba(255,255,255,.12);transition:all .22s;position:relative;overflow:hidden}.btn-submit::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1)0,transparent 55%);opacity:0;transition:opacity .2s}.btn-submit:hover::after{opacity:1}.btn-submit:hover{transform:translateY(-1px);box-shadow:0 7px 24px rgba(59,91,255,.4)}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.card-footer{text-align:center;margin-top:20px;font-size:12px;color:var(--muted)}.card-footer a{color:var(--brand);text-decoration:none}.card-footer a:hover{text-decoration:underline}@media (max-width:480px){.card{padding:28px 20px 24px;border-radius:18px}}
