:root{--red:#e31937;--red2:#ff3f5c;--bg:#f6f7f9;--surface:#fff;--surface2:#f2f3f5;--text:#141519;--muted:#777c85;--line:#e5e7eb;--shadow:0 28px 90px rgba(16,16,22,.14)}
html[data-theme="dark"]{--bg:#0c0e12;--surface:#14171c;--surface2:#1b1f25;--text:#f7f7f8;--muted:#9ca2ac;--line:#292e36;--shadow:0 30px 100px rgba(0,0,0,.4)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:"Vazir",Tahoma,sans-serif;direction:rtl;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.hidden{display:none!important}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,.85fr) minmax(0,1.15fr)}.auth-panel{background:var(--surface);padding:34px clamp(28px,5vw,78px);display:flex;flex-direction:column;position:relative;z-index:4}.auth-top{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;direction:ltr}.mark{width:44px;height:44px;border-radius:13px;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:-2px;box-shadow:0 12px 30px rgba(227,25,55,.25)}.brand strong{font-size:18px;letter-spacing:-.8px}.brand strong span{color:var(--red)}.theme-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);display:grid;place-items:center}.theme-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.form-wrap{width:min(430px,100%);margin:auto}.kicker{display:inline-flex;align-items:center;gap:7px;color:var(--red);font-size:11px;font-weight:850}.kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(227,25,55,.1)}h1{font-size:clamp(28px,4vw,43px);margin:14px 0 8px;letter-spacing:-1.4px;line-height:1.35}.lead{margin:0 0 28px;color:var(--muted);font-size:13px;line-height:2}.step{animation:stepIn .42s cubic-bezier(.2,.75,.2,1)}@keyframes stepIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.field{display:grid;gap:7px;margin-bottom:13px}.field label{font-size:11px;font-weight:800}.input-wrap{height:54px;border:1px solid var(--line);border-radius:15px;background:var(--surface2);display:flex;align-items:center;padding:0 14px;transition:.2s}.input-wrap:focus-within{border-color:var(--red);box-shadow:0 0 0 4px rgba(227,25,55,.08);background:var(--surface)}.input-wrap svg{width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.7;flex:0 0 auto}.input-wrap input{border:0;outline:0;background:transparent;color:var(--text);width:100%;padding:0 10px;font-size:14px}.phone input{direction:ltr;text-align:left;letter-spacing:.4px}.prefix{direction:ltr;color:var(--muted);font-size:12px;border-right:1px solid var(--line);padding-right:10px}.hint{font-size:11px;color:var(--muted);line-height:1.8}.error{color:#d31736;font-size:11px;min-height:18px;margin-top:3px}
.btn{width:100%;min-height:52px;border:0;border-radius:14px;background:var(--red);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;transition:.2s;box-shadow:0 12px 28px rgba(227,25,55,.18)}.btn:hover{background:#c91531;transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}.btn.secondary{background:var(--surface);border:1px solid var(--line);box-shadow:none;color:var(--text);margin-top:8px}.auth-switch{text-align:center;font-size:11px;color:var(--muted);margin-top:18px}.auth-switch a{color:var(--red);font-weight:800}
.otp-row{display:flex;direction:ltr;gap:8px;justify-content:center;margin:17px 0}.otp-row input{width:55px;height:58px;border:1px solid var(--line);border-radius:14px;background:var(--surface2);color:var(--text);outline:0;text-align:center;font-size:20px;font-weight:850;transition:.2s}.otp-row input:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(227,25,55,.08);transform:translateY(-2px)}.otp-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 18px;font-size:10px;color:var(--muted)}.text-btn{border:0;background:transparent;color:var(--red);font-weight:800;padding:0}.timer{font-variant-numeric:tabular-nums;direction:ltr}.demo-code{border:1px dashed #f0a3af;border-radius:12px;background:rgba(227,25,55,.06);padding:9px 11px;font-size:11px;color:var(--muted);margin-bottom:12px}.demo-code strong{color:var(--red);direction:ltr;display:inline-block}
.progress-steps{display:flex;align-items:center;gap:7px;margin-bottom:26px}.progress-steps span{height:4px;flex:1;border-radius:999px;background:var(--line);transition:.35s}.progress-steps span.active{background:var(--red)}
.visual{position:relative;overflow:hidden;background:#101116;color:#fff;display:flex;align-items:center;justify-content:center;padding:70px}.visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 24%,rgba(227,25,55,.25),transparent 31%),radial-gradient(circle at 25% 74%,rgba(227,25,55,.12),transparent 28%)}.grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);animation:gridMove 12s linear infinite}@keyframes gridMove{to{transform:translateY(44px)}}
.visual-card{width:min(650px,100%);position:relative;z-index:2}.visual-tag{display:inline-flex;gap:7px;align-items:center;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:999px;padding:8px 11px;font-size:10px;color:#c9cbd1}.visual-tag i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 18px var(--red)}.visual h2{font-size:clamp(34px,5vw,68px);margin:22px 0 12px;line-height:1.25;letter-spacing:-2px}.visual h2 span{color:var(--red)}.visual p{max-width:560px;color:#aeb1ba;font-size:13px;line-height:2;margin:0}.code-card{margin-top:35px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);backdrop-filter:blur(12px);border-radius:20px;padding:20px;position:relative;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.24)}.code-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:13px}.dots{display:flex;gap:6px;direction:ltr}.dots i{width:8px;height:8px;border-radius:50%;background:#3b3e47}.dots i:first-child{background:var(--red)}.code-head span{font:10px/1 ui-monospace;color:#737782}.code{direction:ltr;text-align:left;font:13px/2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#e4e6eb;padding:22px 4px 7px}.code .r{color:#ff637c}.code .g{color:#8ed6a5}.code .y{color:#f4cd7b}.cursor{display:inline-block;width:8px;height:16px;background:var(--red);vertical-align:-3px;animation:blink .8s steps(1) infinite}@keyframes blink{50%{opacity:0}}
.orb{position:absolute;border-radius:50%;filter:blur(.2px);border:1px solid rgba(255,255,255,.09);animation:float 7s ease-in-out infinite}.orb.one{width:110px;height:110px;top:10%;left:9%;background:rgba(227,25,55,.06)}.orb.two{width:55px;height:55px;bottom:14%;right:8%;animation-delay:-2s}.orb.three{width:25px;height:25px;top:27%;right:14%;background:var(--red);box-shadow:0 0 50px rgba(227,25,55,.4);animation-delay:-4s}@keyframes float{50%{transform:translateY(-18px) translateX(8px)}}
.footer-note{margin-top:auto;padding-top:22px;color:var(--muted);font-size:9px;line-height:1.8}.success-card{text-align:center}.success-icon{width:72px;height:72px;border-radius:22px;background:var(--red);color:#fff;display:grid;place-items:center;margin:0 auto 18px;animation:pop .4s cubic-bezier(.2,1.7,.4,1)}.success-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.2}@keyframes pop{from{transform:scale(.4) rotate(-12deg);opacity:0}to{transform:none;opacity:1}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.visual{display:none}.auth-panel{min-height:100vh;padding:24px 20px}.form-wrap{margin:70px auto auto}}
@media(max-width:480px){.auth-panel{padding:20px 16px}.form-wrap{margin-top:55px}h1{font-size:29px}.otp-row{gap:6px}.otp-row input{width:48px;height:54px}.lead{font-size:12px}.mark{width:40px;height:40px}.brand strong{font-size:16px}}

.back-site{color:var(--red);font-weight:800;text-decoration:none}.back-site:hover{text-decoration:underline}
.ui-sprite{position:absolute;width:0;height:0;overflow:hidden}.ui-icon{width:20px;height:20px;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.back-site{display:inline-flex;align-items:center;gap:6px}.back-site .ui-icon{width:15px;height:15px}.btn.is-loading{pointer-events:none;opacity:.72}.btn.is-loading:after{content:"";width:15px;height:15px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;animation:authSpin .7s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}:where(a,button,input):focus-visible{outline:3px solid rgba(227,25,55,.14);outline-offset:2px}@media(max-width:380px){.otp-row input{width:43px;height:51px}.otp-row{gap:5px}.auth-panel{padding-inline:13px}}
