.modal{background:#fff;border-radius:12px;outline:none;width:90%;max-width:500px;max-height:90vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}.overlay{z-index:1000;background:#000000b3;position:fixed;inset:0}.modal-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{color:#fff;margin:0;font-size:20px;font-weight:600}.modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:28px;transition:background .2s;display:flex}.modal-close:hover{background:#ffffff4d}.modal-body{padding:24px}.modal-description{color:#6b7280;margin-bottom:24px;line-height:1.6}.reset-form,.new-password-form{margin-top:16px}.form-group{margin-bottom:20px}.form-label{color:#374151;margin-bottom:8px;font-weight:500;display:block}.form-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:12px 16px;font-size:16px;transition:all .2s}.form-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-input.error{border-color:#ef4444}.form-input:disabled{cursor:not-allowed;background-color:#f9fafb}.input-hint{color:#6b7280;margin-top:6px;font-size:13px;line-height:1.4}.input-hint.error{color:#ef4444}.input-hint.valid{color:#10b981}.password-input-wrapper{position:relative}.password-toggle{color:#6b7280;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.password-toggle:hover{color:#374151}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.password-strength{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:16px}.strength-title{color:#374151;margin-bottom:8px;font-weight:500}.strength-list{margin:0;padding:0;list-style:none}.strength-list li{color:#6b7280;align-items:center;margin-bottom:6px;font-size:14px;display:flex}.strength-list li:before{content:"";width:18px;height:18px;margin-left:8px;display:inline-block}.strength-list li.valid{color:#10b981}.strength-list li.valid:before{content:"✓"}.strength-list li:not(.valid):before{content:"○"}.verification-info{text-align:center;margin-bottom:32px}.verification-text{color:#6b7280;margin-bottom:8px}.contact-info-display{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;padding:12px;font-size:18px}.verification-hint{color:#6b7280;font-size:14px}.verification-tips{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:24px;padding:16px}.tip-title{color:#0369a1;margin-bottom:8px;font-weight:500}.tip-list{margin:0;padding:0;list-style:none}.tip-list li{color:#0c4a6e;margin-bottom:6px;padding-right:24px;font-size:14px;position:relative}.tip-list li:before{content:"•";color:#0ea5e9;position:absolute;right:8px}.form-navigation{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.btn{cursor:pointer;text-align:center;border:none;border-radius:8px;flex:1;padding:12px 24px;font-size:16px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-secondary{color:#374151;background:#f3f4f6}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.btn-success:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.otp-section{margin:32px 0}@media (max-width:640px){.modal{width:95%;max-height:85vh}.modal-header{padding:16px 20px}.modal-body{padding:20px}.form-navigation{flex-direction:column}.btn{width:100%}}
