.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr;background:var(--color-bg-white,#fff)}@media (min-width:1024px){.auth-shell{grid-template-columns:1.05fr 1fr}}.auth-visual{display:none;position:relative;overflow:hidden;background:radial-gradient(ellipse 120% 70% at 30% 0,#d4edf8 0,transparent 55%),radial-gradient(ellipse 80% 60% at 80% 10%,#ddeef8 0,transparent 50%),#f2f8fc;padding:56px;flex-direction:column;justify-content:space-between}@media (min-width:1024px){.auth-visual{display:flex}}.auth-visual:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#2b2b3d 1px,transparent 0);background-size:24px 24px;opacity:.04;pointer-events:none}.auth-visual-stack{position:relative;display:flex;align-items:center;justify-content:center;flex:1;padding:32px 0}.auth-visual-stack img{width:100%;max-width:540px;height:auto;border-radius:20px;box-shadow:0 30px 80px -24px rgba(91,94,238,.35)}.auth-quote{position:relative;color:#2b2b2b;max-width:480px}.auth-quote h2{font-family:Space Grotesk,sans-serif;font-size:26px;line-height:1.25;letter-spacing:-.02em;margin:0 0 12px;font-weight:700}.auth-quote p{font-size:15px;color:#4a4a4a;margin:0;line-height:1.65}.auth-pane{display:flex;flex-direction:column;padding:24px;background:#fff;min-height:100vh}@media (min-width:768px){.auth-pane{padding:40px 48px}}.auth-pane-top{justify-content:space-between;margin-bottom:32px}.auth-pane-body,.auth-pane-top{display:flex;align-items:center}.auth-pane-body{flex:1;flex-direction:column;justify-content:center;padding:16px 0 32px}.auth-card{width:100%;max-width:460px}.auth-card h1{font-family:Space Grotesk,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;color:#2b2b2b}.auth-card .auth-sub{font-size:14.5px;color:#8a8a8a;margin:0 0 28px}.auth-switch-tabs{display:inline-flex;padding:4px;background:#f8f9fa;border:1px solid #d8d1c7;border-radius:999px;margin-bottom:28px}.auth-switch-tabs a{padding:8px 18px;font-size:13px;font-weight:600;border-radius:999px;text-decoration:none;color:#8a8a8a;transition:all .15s}.auth-switch-tabs a.active{background:#fff;color:#2b2b2b;box-shadow:0 1px 3px rgba(0,0,0,.1)}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#8a8a8a;text-decoration:none;padding:8px 12px;border-radius:8px;transition:all .15s}.back-link:hover{color:#2b2b2b;background:#f8f9fa}.auth-form-label{display:block;font-size:13.5px;font-weight:500;color:#4a4a4a;margin-bottom:6px}.auth-form-input{width:100%;padding:11px 14px;border:1.5px solid #d8d1c7;border-radius:10px;font-size:14px;font-family:Inter,sans-serif;color:#2b2b2b;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.auth-form-input:focus{border-color:#2c2a72;box-shadow:0 0 0 3px rgba(44,42,114,.12)}.auth-form-input::-moz-placeholder{color:#8a8a8a}.auth-form-input::placeholder{color:#8a8a8a}.auth-form-input.error{border-color:#c75b5b}.auth-form-error{font-size:12px;color:#c75b5b;margin-top:5px}.auth-btn-primary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:46px;background:#2c2a72;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:background .15s;margin-top:8px}.auth-btn-primary:hover{background:#3d3b8e}.auth-btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-btn-ghost{background:none;border:none;color:#2c2a72;font-size:13px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px}.auth-btn-ghost:hover{opacity:.8}.auth-alert-error{background:rgba(199,91,91,.08);border:1px solid rgba(199,91,91,.25);border-radius:10px;padding:10px 14px;font-size:13.5px;color:#c75b5b;margin-bottom:12px}.auth-text-link{color:#2c2a72;font-weight:500;text-decoration:none}.auth-text-link:hover{text-decoration:underline}.auth-otp-grid{display:flex;gap:10px;justify-content:center}.auth-otp-input{width:48px;height:56px;text-align:center;font-size:22px;font-weight:700;font-family:Space Grotesk,sans-serif;border:2px solid #d8d1c7;border-radius:14px;background:#fff;color:#2b2b2b;outline:none;transition:all .15s;caret-color:#2c2a72}.auth-otp-input:focus{border-color:#2c2a72;box-shadow:0 0 0 3px rgba(44,42,114,.12)}.auth-otp-input.filled{border-color:rgba(44,42,114,.6);background:rgba(44,42,114,.04)}.auth-otp-input.error{border-color:#c75b5b}.auth-steps{margin-bottom:28px}.auth-step,.auth-steps{display:flex;align-items:center}.auth-step{flex-direction:column;flex:1;position:relative}.auth-step:not(:last-child):after{content:"";position:absolute;top:14px;left:50%;width:100%;height:2px;background:#d8d1c7}.auth-step.active:after,.auth-step.done:after{background:#2c2a72}.auth-step-dot{width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid #d8d1c7;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#8a8a8a;position:relative;z-index:1;transition:all .2s}.auth-step.active .auth-step-dot{background:#2c2a72;border-color:#2c2a72;color:#fff}.auth-step.done .auth-step-dot{background:#3d8b6e;border-color:#3d8b6e;color:#fff}.auth-step-label{font-size:11px;color:#8a8a8a;margin-top:6px;text-align:center}.auth-step.active .auth-step-label{color:#2c2a72;font-weight:600}.auth-strength-bar{display:flex;gap:4px;margin-top:8px}.auth-strength-seg{height:3px;flex:1;border-radius:99px;background:#d8d1c7;transition:background .3s}.auth-strength-seg.weak{background:#c75b5b}.auth-strength-seg.medium{background:#c9a227}.auth-strength-seg.strong{background:#3d8b6e}.auth-space-y>*+*{margin-top:16px}.auth-sub{font-size:14.5px;color:var(--muted,#8a8a8a);margin:0 0 28px}.form-label{display:block;font-size:13.5px;font-weight:500;color:#4a4a4a;margin-bottom:6px}.form-input{width:100%;padding:11px 14px;border:1.5px solid #d8d1c7;border-radius:10px;font-size:14px;font-family:Inter,sans-serif;color:#2b2b2b;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.form-input:focus{border-color:#2c2a72;box-shadow:0 0 0 3px rgba(44,42,114,.12)}.form-input::-moz-placeholder{color:#8a8a8a}.form-input::placeholder{color:#8a8a8a}.form-input.error{border-color:#c75b5b}.form-error{font-size:12px;color:#c75b5b;margin-top:5px}.btn-primary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:46px;background:#2c2a72;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#3d3b8e}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:none;border:none;color:#2c2a72;font-size:13px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px}.btn-ghost:hover{opacity:.8}.text-link{color:#2c2a72;font-weight:500;text-decoration:none}.text-link:hover{text-decoration:underline}.alert-error{background:rgba(199,91,91,.08);border:1px solid rgba(199,91,91,.25);border-radius:10px;padding:10px 14px;font-size:13.5px;color:#c75b5b}.otp-grid{display:flex;gap:10px;justify-content:center}.otp-input{width:48px;height:56px;text-align:center;font-size:22px;font-weight:700;font-family:Space Grotesk,sans-serif;border:2px solid #d8d1c7;border-radius:14px;background:#fff;color:#2b2b2b;outline:none;transition:all .15s;caret-color:#2c2a72}.otp-input:focus{border-color:#2c2a72;box-shadow:0 0 0 3px rgba(44,42,114,.12)}.otp-input.filled{border-color:rgba(44,42,114,.6);background:rgba(44,42,114,.04)}.otp-input.error{border-color:#c75b5b}.strength-bar{display:flex;gap:4px;margin-top:8px}.strength-segment{height:3px;flex:1;border-radius:99px;background:#d8d1c7;transition:background .3s}.strength-segment.weak{background:#c75b5b}.strength-segment.medium{background:#c9a227}.strength-segment.strong{background:#3d8b6e}.space-y-3>*+*{margin-top:12px}.space-y-4>*+*{margin-top:16px}.auth-carousel{position:relative;flex:1;min-height:0;margin:20px 0;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px -24px rgba(59,130,246,.35);background:#f1f5f9}.auth-carousel img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 6s ease}.auth-carousel img.is-active{opacity:1;transform:scale(1)}.auth-carousel-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35));pointer-events:none}.auth-dots{display:flex;gap:6px}.auth-dots button{width:22px;height:4px;border-radius:2px;border:none;background:rgba(100,116,139,.3);cursor:pointer;padding:0;transition:background .2s ease,width .2s ease}.auth-dots button.is-active{background:var(--brand,#3b82f6);width:32px}