.auth-modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999;background:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;display:flex;position:fixed;top:0;left:0}.auth-modal-container{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:550px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.auth-close-btn{color:#888;cursor:pointer;z-index:10;background:0 0;border:none;font-size:28px;transition:color .3s;position:absolute;top:15px;right:20px}.auth-close-btn:hover{color:#2d2d2d}.auth-logo{text-align:center;color:#2d2d2d;background-color:#f8f8f8;border-bottom:1px solid #eaeaea;padding:2rem 1rem 1.5rem;font-size:2rem;font-weight:800}.auth-logo span{font-weight:300}.auth-tabs{background-color:#f8f8f8;display:flex}.auth-tab{color:#888;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:1rem;font-size:1.1rem;font-weight:600;transition:all .3s}.auth-tab.active{color:#2d2d2d;background-color:#fff;border-bottom:2px solid #2d2d2d}.auth-content{padding:2rem;overflow-y:auto}.auth-form{flex-direction:column;gap:1.2rem;display:flex}.auth-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:.85rem 1rem;font-size:.9rem;line-height:1.45}.form-row{gap:1rem;display:flex}.form-row .form-group{flex:1}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#444;font-size:.85rem;font-weight:700}.form-group label span{color:#ff4d4d}.password-input-container{width:100%;position:relative}.password-input-container input{padding-right:3rem}.password-toggle-btn{cursor:pointer;color:#555;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.05rem;display:inline-flex;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.password-toggle-btn:focus{outline:none}.form-group input,.form-group select{background:#fbfbfb;border:1px solid #ddd;border-radius:8px;width:100%;padding:.8rem 1rem;font-size:.95rem;transition:all .3s}.form-group.invalid input,.form-group.invalid select{background:#fff1f2;border-color:#dc2626}.form-group.invalid input:focus,.form-group.invalid select:focus{background:#fff1f2;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261f}.form-group:not(.invalid) input:hover,.form-group:not(.invalid) select:hover{border-color:#16a34a}.form-group:not(.invalid) input:focus,.form-group:not(.invalid) select:focus{background:#f7fdf5;border-color:#16a34a;outline:none;box-shadow:0 0 0 3px #16a34a1f}.field-error{color:#b91c1c;margin-top:.35rem;font-size:.85rem}.auth-options{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.checkbox-label{color:#666;cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-label a,.forgot-link{color:#2d2d2d;font-weight:600;text-decoration:none}.auth-submit-btn{color:#fff;cursor:pointer;background:#2d2d2d;border:none;border-radius:8px;width:100%;margin-top:1rem;padding:1rem;font-size:1rem;font-weight:700;transition:all .3s}.auth-submit-btn:hover{background:#000;transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.65;box-shadow:none;transform:none}.auth-switch{text-align:center;color:#666;margin-top:.5rem;font-size:.9rem}.auth-switch button{color:#2d2d2d;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:700;text-decoration:underline}@media (max-width:600px){.form-row{flex-direction:column;gap:1.2rem}}
.otp-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#0f172a66;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.otp-modal-container{background:#fff;border-radius:24px;flex-direction:column;width:100%;max-width:420px;padding:3rem 2.5rem;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.otp-close-btn{color:#64748b;cursor:pointer;z-index:10;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:all .2s;display:flex;position:absolute;top:20px;right:24px}.otp-close-btn:hover{color:#0f172a;background:#e2e8f0;transform:rotate(90deg)}.otp-header{text-align:center;margin-bottom:2.5rem}.otp-icon-wrapper{background:#f0fdf4;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1.5rem;display:flex}.otp-icon{font-size:2.5rem}.otp-header h2{color:#0f172a;letter-spacing:-.025em;margin-bottom:.75rem;font-size:1.75rem;font-weight:800}.otp-header p{color:#64748b;font-size:.95rem;line-height:1.6}.otp-header strong{color:#0f172a;font-weight:600}.otp-form{flex-direction:column;gap:1.75rem;display:flex}.otp-error{color:#991b1b;background:#fef2f2;border-left:4px solid #ef4444;border-radius:12px;align-items:center;gap:.5rem;padding:.875rem 1.25rem;font-size:.875rem;font-weight:500;animation:.4s shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.otp-input-group{justify-content:center;display:flex}.otp-input{letter-spacing:.75rem;text-align:center;color:#0f172a;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;width:100%;padding:1.25rem;font-size:2.5rem;font-weight:800;transition:all .3s cubic-bezier(.4,0,.2,1)}.otp-input:focus{background:#fff;border-color:#22c55e;outline:none;transform:translateY(-2px);box-shadow:0 0 0 4px #22c55e26}.otp-timer-section{flex-direction:column;gap:.75rem;display:flex}.timer-progress-bg{background:#f1f5f9;border-radius:999px;width:100%;height:6px;overflow:hidden}.timer-progress-fill{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px;height:100%;transition:width 1s linear}.timer-text{text-align:center;color:#64748b;font-size:.875rem;font-weight:500}.timer-countdown{color:#16a34a;font-variant-numeric:tabular-nums;font-weight:700}.timer-expired{color:#ef4444;font-weight:600}.otp-verify-btn{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:14px;justify-content:center;align-items:center;width:100%;padding:1.125rem;font-size:1.125rem;font-weight:700;transition:all .3s;display:flex}.otp-verify-btn:hover:not(:disabled){background:#1e293b;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.otp-verify-btn:active:not(:disabled){transform:translateY(0)}.otp-verify-btn:disabled{cursor:not-allowed;opacity:.8;background:#94a3b8}.otp-resend-section{flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.resend-text{color:#64748b;font-size:.875rem}.otp-resend-btn{color:#22c55e;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.25rem .5rem;font-size:.95rem;font-weight:700;transition:all .2s}.otp-resend-btn:hover:not(:disabled){color:#16a34a;background:#f0fdf4}.otp-resend-btn:disabled{color:#cbd5e1;cursor:not-allowed}.loader-small{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;margin-right:10px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:480px){.otp-modal-container{border-radius:0;justify-content:center;max-width:100%;height:100%;padding:2.5rem 1.5rem}.otp-input{padding:1rem;font-size:2rem}}
