body.ec-auth-modal-open{overflow:hidden}
.ec-auth-modal-shell{position:fixed;inset:0;z-index:999999;display:none}
.ec-auth-modal-shell.is-open{display:block}
.ec-auth-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42)}
.ec-auth-modal{position:relative;z-index:1;width:min(100% - 32px,440px);max-height:min(92vh,820px);overflow:auto;margin:4vh auto;background:#fff;border-radius:24px;padding:26px 26px 22px;box-shadow:0 24px 80px rgba(15,23,42,.18);font-family:Arial,sans-serif;color:#172033}
.ec-auth-modal-back{position:absolute;top:16px;left:16px;display:none;align-items:center;justify-content:center;width:34px;height:34px;border:0;background:transparent;color:#667085;font-size:24px;line-height:1;cursor:pointer}
.ec-auth-modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border:0;background:transparent;color:#667085;font-size:28px;line-height:1;cursor:pointer}
.ec-auth-modal-brand{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ec-auth-modal-logo{width:46px;height:auto;display:block}
.ec-auth-modal-brand-title{font-size:30px;line-height:1.05;font-weight:800;color:#182134}
.ec-auth-modal-brand-subtitle{font-size:15px;line-height:1.3;color:#5c667c}
.ec-auth-modal-rating{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:14px;color:#4f5a70}
.ec-auth-modal-rating-star{color:#10b981;font-size:16px;line-height:1}
.ec-auth-modal-tabs{display:flex;gap:24px;border-bottom:1px solid #e6eaf1;margin-bottom:18px}
.ec-auth-modal-tab{position:relative;padding:0 0 12px;background:transparent;border:0;color:#4f5a70;font-size:14px;font-weight:700;cursor:pointer}
.ec-auth-modal-tab.is-active{color:#175cd3}
.ec-auth-modal-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#175cd3;border-radius:999px}
.ec-auth-panel{display:none}
.ec-auth-panel.is-active{display:block}
.ec-auth-form label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;color:#344054}
.ec-auth-form input[type=email],.ec-auth-form input[type=password],.ec-auth-form input[type=text]{width:100%;box-sizing:border-box;border:1px solid #d0d7e2;border-radius:10px;padding:13px 14px;font-size:15px;background:#fff;color:#101828;margin-bottom:14px}
.ec-auth-form input:focus{border-color:#175cd3;outline:2px solid rgba(23,92,211,.12)}
.ec-auth-form .ec-password-wrap{position:relative;display:block;margin-bottom:14px}
.ec-auth-form .ec-password-wrap input[type=password],.ec-auth-form .ec-password-wrap input[type=text]{margin-bottom:0;padding-right:52px}
.ec-auth-form .ec-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0!important;padding:0!important;background:transparent!important;color:#50575e!important;border:0!important;border-radius:50%;box-shadow:none!important;line-height:1!important;cursor:pointer}
.ec-auth-form .ec-password-toggle:hover,.ec-auth-form .ec-password-toggle:focus{color:#2271b1!important;background:#f0f6fc!important;outline:none}
.ec-auth-form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 6px}
.ec-auth-text-link{border:0;background:transparent;padding:0;color:#175cd3;font-size:12px;font-weight:700;cursor:pointer}
.ec-auth-forgot-link{display:inline-flex;margin-top:12px}
.ec-auth-primary-button{display:block;width:100%;border:0;border-radius:10px;padding:13px 18px;background:linear-gradient(90deg,#4f46e5,#2f7cf6);color:#fff;font-size:15px;font-weight:700;cursor:pointer}
.ec-auth-primary-button:hover{filter:brightness(.98)}
.ec-auth-primary-button.is-loading{opacity:.82;cursor:wait}
.ec-auth-helper{margin:0 28px 16px 0;font-size:14px;line-height:1.6;color:#475467}
.ec-auth-modal-messages .ec-account-message{margin-bottom:16px}
.ec-auth-form-status{display:none;margin-top:12px;font-size:13px;line-height:1.5}
.ec-auth-form-status[data-status-type="error"]{color:#b42318}
.ec-auth-form-status[data-status-type="success"]{color:#027a48}
.ec-auth-modal-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid #eef2f6;font-size:13px;line-height:1.4;color:#4f5a70;text-align:center}
.ec-auth-modal-learners-icon{font-size:16px;line-height:1;color:#1f2937}
.ec-auth-panel-success{padding:8px 0 4px}
.ec-auth-success-copy{font-size:14px;line-height:1.6;color:#475467}
.ec-auth-form .ec-checkbox{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:500;color:#475467}
.ec-auth-form .ec-checkbox input{margin:0}
.ec-auth-form .ec-account-message{font-size:13px}
.ec-auth-modal-shell .ec-reset-code-input{letter-spacing:.14em;text-align:center;font-size:18px!important;font-weight:700}
.ec-auth-modal-shell[data-panel^="reset"] .ec-auth-modal-brand,.ec-auth-modal-shell[data-panel^="reset"] .ec-auth-modal-rating,.ec-auth-modal-shell[data-panel^="reset"] .ec-auth-modal-tabs,.ec-auth-modal-shell[data-panel^="reset"] .ec-auth-reset-progress,.ec-auth-modal-shell[data-panel="success"] .ec-auth-modal-tabs{display:none}
.ec-auth-modal-shell[data-panel^="reset"] .ec-auth-modal{padding-top:56px}
.ec-auth-modal-shell[data-panel^="reset"] .ec-auth-modal-messages{margin-top:20px}
.ec-auth-modal-shell[data-panel^="reset"] .ec-auth-helper{margin-top:0;padding-left:0;padding-right:0}
@media(max-width:640px){.ec-auth-modal{width:min(100% - 20px,440px);margin:2vh auto;padding:22px 18px 18px;border-radius:20px}.ec-auth-modal-brand-title{font-size:26px}.ec-auth-modal-brand-subtitle{font-size:14px}.ec-auth-modal-tabs{gap:18px}}
