:root{--blue:#2563eb;--blue-dark:#1d4ed8;--ink:#172033;--muted:#657085;--line:#dfe5ee;--danger:#b42318;--danger-bg:#fff1f0;--success:#15803d}*{box-sizing:border-box;letter-spacing:0}body{margin:0;min-height:100vh;background:#eef4ff;color:var(--ink);font-family:Vazirmatn,Tahoma,sans-serif}.auth-shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:40px 16px;overflow:hidden}.auth-shell:before,.auth-shell:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.auth-shell:before{width:460px;height:460px;top:-230px;right:-170px;background:rgba(37,99,235,.12)}.auth-shell:after{width:380px;height:380px;bottom:-230px;left:-120px;background:rgba(14,165,233,.1)}.auth-card{position:relative;z-index:1;width:min(100%,500px);padding:36px 38px 30px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.85);border-radius:24px;box-shadow:0 24px 70px rgba(30,64,175,.13),0 2px 8px rgba(15,23,42,.04)}.brand{display:flex;justify-content:center;align-items:center;gap:13px;width:max-content;margin:0 auto 30px;color:#172b4d;text-decoration:none;font-size:22px;font-weight:900}.brand img{width:68px;height:68px;border-radius:18px;box-shadow:0 8px 22px rgba(37,99,235,.16)}.brand small{display:block;margin-top:1px;color:var(--blue);font-size:12px;direction:ltr}.steps{direction:rtl;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;margin:0 0 34px;list-style:none}.steps li{position:relative;color:#8a94a6;text-align:center;font-size:11px;line-height:1.6}.steps li:not(:last-child):before{content:"";position:absolute;z-index:0;top:15px;left:calc(-50% + 18px);width:calc(100% - 36px);height:2px;background:#dfe5ee}.steps li.done:not(:last-child):before{background:var(--blue)}.steps span{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;margin:0 auto 7px;border:2px solid #d5dae3;border-radius:50%;background:#fff;font-size:12px;font-weight:800;transition:.2s ease}.steps li.active,.steps li.done{color:var(--blue);font-weight:800}.steps li.active span,.steps li.done span{border-color:var(--blue)}.steps li.active span{box-shadow:0 0 0 5px rgba(37,99,235,.1)}.steps li.done span{color:#fff;background:var(--blue)}header{margin-bottom:24px}h1{margin:0 0 8px;font-size:22px;line-height:1.6;letter-spacing:-.25px}header p{margin:0;color:var(--muted);font-size:13px;line-height:1.9}label{display:flex;justify-content:space-between;margin:0 0 8px;color:#344054;font-size:13px;font-weight:700}label small{color:var(--muted);font-weight:400}input{width:100%;height:52px;margin-bottom:18px;padding:0 15px;border:1px solid var(--line);border-radius:12px;outline:0;background:#fbfdff;color:var(--ink);font:500 15px Vazirmatn,Tahoma,sans-serif;transition:border-color .18s,box-shadow .18s,background .18s}input:hover{border-color:#c8d3e3}input:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.11)}.ltr{direction:ltr;text-align:left}.otp{text-align:center;font-size:24px;font-weight:800;letter-spacing:8px!important}.primary{width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 9px 20px rgba(37,99,235,.2);color:#fff;font:700 14px Vazirmatn,Tahoma,sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s}.primary:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(37,99,235,.27)}.primary:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.62}.spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{margin-bottom:18px;padding:12px 14px;border:1px solid #f5c2bd;border-radius:12px;background:var(--danger-bg);color:var(--danger);font-size:13px;line-height:1.8}.alert.success{border-color:#bbebca;background:#effcf3;color:var(--success)}.secondary-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.secondary-actions button,.toggle-password{padding:0;border:0;background:transparent;color:var(--blue);font:600 12px Vazirmatn,Tahoma,sans-serif;cursor:pointer}.secondary-actions button:disabled{color:var(--muted)}.password-wrap{position:relative}.password-wrap input{padding-left:62px}.toggle-password{position:absolute;left:14px;top:17px}.login-link{margin:28px 0 0;padding-top:20px;border-top:1px solid #edf0f5;text-align:center;color:var(--muted);font-size:13px}.login-link a{color:var(--blue);font-weight:800;text-decoration:none}.login-link a:hover{text-decoration:underline}@media(max-width:540px){.auth-shell{padding:18px 12px}.auth-card{padding:28px 20px 24px;border-radius:20px}.brand{margin-bottom:26px;font-size:20px}.brand img{width:60px;height:60px;border-radius:16px}h1{font-size:20px}.steps li{font-size:10px}}@media(max-width:380px){.auth-shell{padding:0}.auth-card{min-height:100vh;padding:24px 16px;border:0;border-radius:0;box-shadow:none}.steps li:not(:last-child):before{left:calc(-50% + 16px);width:calc(100% - 32px)}}
