:root{--otp-primary:#667eea;--otp-primary-dark:#5a67d8;--otp-primary-light:#7c3aed;--otp-gradient:linear-gradient(135deg,#667eea 0%,#764ba2 100%);--otp-success:#10b981;--otp-error:#ef4444;--otp-warning:#f59e0b;--otp-text:#1f2937;--otp-text-light:#6b7280;--otp-border:#e5e7eb;--otp-bg:#fff;--otp-bg-light:#f9fafb;--otp-shadow:0 10px 40px rgba(0,0,0,.15);--otp-shadow-sm:0 2px 8px rgba(0,0,0,.08);--otp-radius:12px;--otp-radius-sm:8px;--otp-transition:all .3s cubic-bezier(.4,0,.2,1)}.otp-login-wrapper{max-width:420px;margin:0 auto;padding:30px;background:var(--otp-bg);border-radius:var(--otp-radius);box-shadow:var(--otp-shadow-sm);border:1px solid var(--otp-border)}.otp-login-title{font-size:24px;font-weight:700;color:var(--otp-text);margin:0 0 24px;text-align:center}.otp-form-group{margin-bottom:20px}.otp-form-group label{display:block;font-size:14px;font-weight:600;color:var(--otp-text);margin-bottom:8px}.otp-email-input{width:100%;padding:14px 16px;font-size:16px;border:2px solid var(--otp-border);border-radius:var(--otp-radius-sm);background:var(--otp-bg);color:var(--otp-text);transition:var(--otp-transition);box-sizing:border-box}.otp-email-input:focus{outline:none;border-color:var(--otp-primary);box-shadow:0 0 0 3px rgba(102,126,234,.15)}.otp-email-input::placeholder{color:var(--otp-text-light)}.otp-submit-btn{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:var(--otp-gradient);border:none;border-radius:var(--otp-radius-sm);cursor:pointer;transition:var(--otp-transition);display:flex;align-items:center;justify-content:center;gap:8px}.otp-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.35)}.otp-submit-btn:active{transform:translateY(0)}.otp-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.otp-submit-btn .btn-loader{display:inline-flex}.otp-spinner{animation:otp-spin 1s linear infinite}.otp-spinner circle{animation:otp-dash 1.5s ease-in-out infinite}@keyframes otp-spin{100%{transform:rotate(360deg)}}@keyframes otp-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}100%{stroke-dasharray:89,200;stroke-dashoffset:-124}}.otp-message,.otp-modal-message{padding:12px 16px;border-radius:var(--otp-radius-sm);font-size:14px;margin:16px 0;text-align:center;display:none}.otp-message.success,.otp-modal-message.success{display:block !important;background:rgba(16,185,129,.1);color:var(--otp-success);border:1px solid rgba(16,185,129,.2)}.otp-message.error,.otp-modal-message.error{display:block !important;background:rgba(239,68,68,.1);color:var(--otp-error);border:1px solid rgba(239,68,68,.2)}.otp-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.otp-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);animation:otp-fadeIn .3s ease}.otp-modal-container{position:relative;width:100%;max-width:420px;background:var(--otp-bg);border-radius:var(--otp-radius);box-shadow:var(--otp-shadow);animation:otp-slideUp .4s cubic-bezier(.16,1,.3,1);max-height:95vh;overflow-y:auto;margin:10px}.otp-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:var(--otp-bg-light);border-radius:50%;font-size:24px;color:var(--otp-text-light);cursor:pointer;transition:var(--otp-transition);display:flex;align-items:center;justify-content:center;line-height:1}.otp-modal-close:hover{background:var(--otp-border);color:var(--otp-text)}.otp-modal-content{padding:30px 20px;text-align:center}.otp-modal-icon{width:80px;height:80px;margin:0 auto 24px;background:var(--otp-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.otp-modal-title{font-size:22px;font-weight:700;color:var(--otp-text);margin:0 0 8px}.otp-modal-subtitle{font-size:15px;color:var(--otp-text-light);margin:0 0 28px;line-height:1.5}.otp-modal-email{color:var(--otp-primary)}@keyframes otp-fadeIn{from{opacity:0}to{opacity:1}}@keyframes otp-slideUp{from{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.otp-input-container{display:flex;gap:10px;justify-content:center;margin-bottom:24px}.otp-digit{width:50px;height:60px;text-align:center;font-size:16px;font-weight:700;color:var(--otp-text);border:2px solid var(--otp-border);border-radius:var(--otp-radius-sm);background:var(--otp-bg);transition:var(--otp-transition);caret-color:var(--otp-primary);padding:0}.otp-digit:focus{outline:none;border-color:var(--otp-primary);box-shadow:0 0 0 3px rgba(102,126,234,.15);transform:scale(1.05)}.otp-digit.filled{border-color:var(--otp-primary);background:rgba(102,126,234,.05);padding:9px 18px !important}.otp-digit.error{border-color:var(--otp-error);animation:otp-shake .4s ease}.otp-digit.success{border-color:var(--otp-success);background:rgba(16,185,129,.05)}@keyframes otp-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}.otp-resend-container{margin-top:20px}.otp-timer{font-size:14px;color:var(--otp-text-light);margin:0}.otp-countdown{font-weight:700;color:var(--otp-primary)}.otp-resend-btn{background:0 0;border:none;color:var(--otp-primary);font-size:14px;font-weight:600;cursor:pointer;padding:8px 16px;transition:var(--otp-transition)}.otp-resend-btn:hover{color:var(--otp-primary-dark);text-decoration:underline}.otp-resend-btn:disabled{color:var(--otp-text-light);cursor:not-allowed}.otp-change-email{margin-top:20px;font-size:13px}.otp-change-email-link{color:var(--otp-text-light);text-decoration:none;transition:var(--otp-transition)}.otp-change-email-link:hover{color:var(--otp-primary)}.otp-woo-divider{display:flex;align-items:center;margin:24px 0;color:var(--otp-text-light);font-size:14px}.otp-woo-divider:before,.otp-woo-divider:after{content:'';flex:1;height:1px;background:var(--otp-border)}.otp-woo-divider span{padding:0 16px;text-transform:uppercase;font-weight:500;letter-spacing:.5px}.otp-woo-login-wrapper{margin-top:10px}.otp-woo-login-btn{width:100%;padding:12px 20px;font-size:15px;font-weight:600;color:var(--otp-text);background:var(--otp-bg);border:2px solid var(--otp-border);border-radius:var(--otp-radius-sm);cursor:pointer;transition:var(--otp-transition);display:flex;align-items:center;justify-content:center}.otp-woo-login-btn:hover{border-color:var(--otp-primary);color:var(--otp-primary);background:rgba(102,126,234,.05)}.otp-woo-login-btn svg{flex-shrink:0}.otp-checkout-notice{margin-bottom:20px}.otp-checkout-login-link{color:var(--otp-primary);font-weight:600;cursor:pointer;text-decoration:none}.otp-checkout-login-link:hover{text-decoration:underline}.otp-logged-in{text-align:center;padding:20px;background:var(--otp-bg-light);border-radius:var(--otp-radius-sm);color:var(--otp-text)}.otp-logged-in a{color:var(--otp-primary);font-weight:600}@media (max-width:480px){.otp-modal-content{padding:24px 15px}.otp-modal-title{font-size:18px;margin-bottom:5px}.otp-modal-subtitle{font-size:13px;margin-bottom:16px}.otp-modal-icon{width:48px;height:48px;margin-bottom:12px}.otp-modal-icon svg{width:28px;height:28px}.otp-input-container{gap:4px}.otp-digit{width:35px;height:45px;font-size:16px}}@media (prefers-color-scheme:dark){.otp-modal-overlay{background:rgba(0,0,0,.8)}}.otp-digit:focus-visible,.otp-email-input:focus-visible,.otp-submit-btn:focus-visible{outline:2px solid var(--otp-primary);outline-offset:2px}.otp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}