:root{--bg-main: #0d0d0d;--bg-soft: #1a1a2e;--surface: rgba(26, 26, 26, .92);--surface-border: rgba(255, 255, 255, .07);--surface-inner: rgba(255, 255, 255, .02);--text-main: #f0f0f0;--text-muted: #a0a0a0;--text-faint: #606060;--brand: #ff6b35;--brand-soft: #ff8c61;--brand-dark: #e84545;--danger: #ff8f8f;--success: #48d38a;--shell-shadow: 0 35px 80px rgba(0, 0, 0, .55)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Manrope,sans-serif;color:var(--text-main);background:radial-gradient(circle at 50% 105%,rgba(255,107,53,.32),transparent 45%),radial-gradient(circle at 50% 90%,rgba(232,69,69,.18),transparent 60%),linear-gradient(180deg,#0d0d0d 0%,var(--bg-main) 42%,var(--bg-soft) 100%)}.login-page{min-height:100vh;display:grid;place-items:center;padding:22px 16px}.login-shell{position:relative;width:min(520px,100%);border-radius:26px;border:1px solid var(--surface-border);background:radial-gradient(circle at 50% -35%,rgba(255,107,53,.2),transparent 60%),linear-gradient(180deg,#141b2ceb,#06090ff0);box-shadow:var(--shell-shadow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:22px 26px;animation:shellIn .48s cubic-bezier(.18,.9,.25,1) both}.login-shell:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px #ffffff1f;pointer-events:none}@keyframes shellIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.back-link{width:fit-content;display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;text-decoration:none;color:var(--text-muted);font-size:.84rem}.back-link:hover{color:var(--text-main)}.login-hero{text-align:center;margin-bottom:16px}.hero-logo{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.16);margin-bottom:10px}h1{margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,4.2vw,2.45rem);font-weight:600;letter-spacing:-.02em}.hero-subtext{margin:10px auto 0;max-width:390px;color:var(--text-muted);font-size:.95rem;line-height:1.6}.step-pill-row{width:min(220px,100%);margin:0 auto 16px;padding:5px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.step-pill{border-radius:999px;padding:5px 10px;font-size:.72rem;text-align:center;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--text-faint)}.step-pill.is-active{color:var(--text-main);background:#ff6b354d;box-shadow:inset 0 0 0 1px #ff6b3573}.auth-stage{border-radius:18px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,#06090fb3,#080c146b);padding:18px}.auth-step{display:grid;gap:10px}.auth-step[hidden]{display:none}.step-title{margin:0;font-size:1rem;font-weight:700;color:var(--text-main);letter-spacing:.01em}.login-subtext,.otp-sent-info{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.55}.otp-sent-info strong{color:var(--brand-soft)}.phone-form{margin-top:6px;display:grid;gap:10px}.phone-form label{font-size:.78rem;color:#d6d6d6;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.phone-input-wrap{height:52px;display:flex;align-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:var(--surface-inner);transition:border-color .18s ease,box-shadow .18s ease}.phone-input-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #ff6b3540}.country-code{min-width:62px;height:52px;display:inline-flex;align-items:center;justify-content:center;color:var(--brand-soft);font-weight:800;border-right:1px solid rgba(255,255,255,.1);background:transparent;border-top:0;border-left:0;border-bottom:0;padding:0 10px;outline:0;font-family:inherit;cursor:pointer;appearance:none;-webkit-appearance:none}#phoneNumber,#otpInput{width:100%;height:52px;border:0;outline:0;background:transparent;color:var(--text-main);font-family:inherit}#phoneNumber{padding:0 14px;letter-spacing:.04em;font-size:.95rem}#phoneNumber::placeholder,#otpInput::placeholder{color:var(--text-faint)}#otpInput{border-radius:999px;border:1px solid rgba(255,255,255,.1);background:var(--surface-inner);text-align:center;font-size:1.35rem;letter-spacing:.26em;transition:border-color .18s ease,box-shadow .18s ease}#otpInput:focus{border-color:var(--brand);box-shadow:0 0 0 3px #ff6b3540}.field-hint{margin:0;color:var(--text-faint);font-size:.76rem}.field-error{margin:0;min-height:16px;color:var(--danger);font-size:.78rem}.primary-btn{margin-top:8px;height:50px;border:0;border-radius:999px;width:100%;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#0d0d0d;font-size:1.02rem;font-weight:700;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 1px #ffffff24,0 8px 24px #ff6b3552;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease}.primary-btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff2e,0 10px 26px #ff6b3566}.primary-btn:active{transform:translateY(0)}.primary-btn svg{opacity:.88}.back-step-btn{width:fit-content;background:none;border:0;padding:0;font-family:inherit;font-size:.84rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:5px;cursor:pointer}.back-step-btn:hover{color:var(--text-main)}.resend-link{width:fit-content;background:none;border:0;padding:0;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;font-size:.81rem;font-family:inherit;cursor:pointer}.resend-link:hover{color:var(--text-main)}.primary-btn.loading,.resend-link:disabled{opacity:.55;pointer-events:none;cursor:not-allowed}.policy-consent{margin:10px 0 0;text-align:center;font-size:.78rem;color:var(--text-muted);line-height:1.5}.policy-consent a{color:var(--primary-light, #FF8C61);text-decoration:none}.policy-consent a:hover{text-decoration:underline}.security-note{margin-top:14px;display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.78rem}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%) translateY(140%);border-radius:999px;border:1px solid rgba(72,211,138,.42);background:#0a0e18f2;color:var(--success);font-size:.84rem;padding:10px 16px;transition:transform .22s ease}.toast.show{transform:translate(-50%) translateY(0)}.toast.toast--error{color:var(--danger);border-color:#ff8f8f6b}@media(max-width:560px){.login-shell{border-radius:22px;padding:16px}h1{font-size:1.9rem}.hero-subtext{font-size:.86rem}.auth-stage{padding:14px}#otpInput{font-size:1.18rem;letter-spacing:.2em}}
