:root{--font-sans:var(--mek-font-sans);--font-mono:var(--mek-font-mono);--color-bg:var(--mek-color-background);--color-surface:var(--mek-color-surface);--color-surface-soft:var(--mek-color-surface-soft);--color-surface-subtle:var(--mek-color-surface-subtle);--color-text:var(--mek-color-text);--color-text-secondary:var(--mek-color-text-secondary);--color-text-muted:var(--mek-color-muted);--color-muted:var(--mek-color-muted);--color-subtle:var(--mek-color-subtle);--color-border:var(--mek-color-border);--color-border-strong:var(--mek-color-border-strong);--color-border-subtle:var(--mek-color-border-subtle);--color-primary:var(--mek-brand-primary);--color-primary-hover:var(--mek-brand-primary-hover);--color-primary-soft:var(--mek-brand-primary-soft);--color-on-primary:var(--mek-brand-on-primary);--color-brand-dark:var(--mek-brand-primary-deep);--color-brand-mid:var(--mek-brand-primary);--color-success:var(--mek-color-success);--color-success-hover:var(--mek-color-success-hover);--color-success-soft:var(--mek-color-success-soft);--color-success-border:var(--mek-color-success-border);--color-warning:var(--mek-color-warning);--color-warning-hover:var(--mek-color-warning-hover);--color-warning-soft:var(--mek-color-warning-soft);--color-warning-border:var(--mek-color-warning-border);--color-danger:var(--mek-color-danger);--color-danger-hover:var(--mek-color-danger-hover);--color-danger-soft:var(--mek-color-danger-soft);--color-danger-border:var(--mek-color-danger-border);--color-info:var(--mek-color-info);--color-info-hover:var(--mek-color-info-hover);--color-info-soft:var(--mek-color-info-soft);--color-info-border:var(--mek-color-info-border);--shadow-sm:var(--mek-shadow-sm);--shadow-md:var(--mek-shadow-md);--shadow-lg:var(--mek-shadow-lg);--radius-sm:10px;--radius-md:var(--mek-radius);--radius-lg:24px;--radius-xl:32px;--space-1:var(--mek-space-1);--space-2:var(--mek-space-2);--space-3:var(--mek-space-3);--space-4:var(--mek-space-4);--space-5:1.25rem;--space-6:var(--mek-space-5);--space-8:var(--mek-space-6);--space-10:var(--mek-space-7);--space-12:var(--mek-space-8);--container:1180px;--transition:.18s var(--mek-ease-standard)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{min-height:100%;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}svg{width:1em;height:1em;display:block}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:1000;border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-md);padding:.75rem 1rem;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--mek-focus-ring);outline-offset:2px}::selection{background:rgb(var(--mek-brand-primary-rgb) / .18)}.auth-app{grid-template-columns:minmax(380px,44%) minmax(0,1fr);min-height:100vh;display:grid}.brand-panel{isolation:isolate;min-height:100vh;color:var(--color-on-primary);background:linear-gradient(145deg, var(--color-brand-dark) 0%, var(--color-brand-mid) 58%, #2348a8 100%);flex-direction:column;padding:clamp(2rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}.brand-panel:after{content:"";z-index:-2;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}.brand-panel__glow{z-index:-1;filter:blur(4px);opacity:.48;border-radius:999px;position:absolute}.brand-panel__glow--one{background:#60a5fa42;width:360px;height:360px;top:-100px;right:-120px}.brand-panel__glow--two{background:#38bdf824;width:300px;height:300px;bottom:4%;left:-110px}.brand-panel__content{max-width:580px;margin:auto 0}.brand-panel__content h1{letter-spacing:-.045em;max-width:12ch;margin:.8rem 0 1.25rem;font-size:clamp(2.4rem,4.4vw,4.6rem);line-height:1.04}.brand-panel__content>p{color:#ffffffc2;max-width:54ch;font-size:1.08rem}.brand-panel__note{color:#ffffff85;margin:2rem 0 0;font-size:.84rem}.auth-main{justify-content:center;align-items:center;min-width:0;padding:clamp(1.5rem,5vw,5rem);display:flex}.auth-main--wide{align-items:flex-start;padding-top:clamp(1.5rem,4vw,3.2rem)}.auth-footer{color:var(--color-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;margin-top:1.5rem;font-size:.82rem;display:flex}.brand{color:inherit;letter-spacing:-.02em;align-items:center;gap:.85rem;font-weight:750;display:inline-flex}.brand:hover{text-decoration:none}.brand__mark{background:#ffffff1c;border:1px solid #ffffff2b;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.brand__mark svg{width:31px;height:31px}.brand--mobile{color:var(--color-brand-dark);margin-bottom:2rem;display:none}.brand--mobile .brand__mark{background:var(--color-primary-soft);border-color:#0000}.eyebrow{color:var(--color-primary);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:800;display:inline-block}.eyebrow--inverse{color:var(--color-info-border)}.brand-benefits{gap:.95rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.brand-benefits li{color:color-mix(in srgb, var(--color-on-primary) 88%, transparent);align-items:center;gap:.75rem;display:flex}.brand-benefits__icon{background:color-mix(in srgb, var(--color-on-primary) 12%, transparent);width:26px;height:26px;color:var(--color-info-border);border-radius:999px;flex:0 0 26px;place-items:center;font-weight:800;display:grid}.auth-card,.wizard-card,.info-card{border:1px solid color-mix(in srgb, var(--color-border-strong) 78%, transparent);background:color-mix(in srgb, var(--color-surface) 94%, transparent);box-shadow:var(--shadow-md)}.auth-card{border-radius:var(--radius-xl);padding:clamp(1.6rem,4vw,2.65rem)}.auth-card__header h1,.page-heading h1,.wizard-panel h2{letter-spacing:-.035em;margin:.35rem 0 .55rem;line-height:1.12}.auth-card__header h1{font-size:clamp(2rem,4vw,2.75rem)}.auth-card__header p,.page-heading p,.wizard-panel__heading p{color:var(--color-muted);margin:0}.form-stack{gap:1.15rem;margin-top:1.8rem;display:grid}.form-grid{gap:1.15rem;display:grid}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-group{min-width:0}.field-group--full{grid-column:1/-1}.field-group label,.sms-form>label{margin-bottom:.45rem;font-size:.9rem;font-weight:720;display:block}.label-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.input-shell{position:relative}.input-shell__icon{color:var(--color-subtle);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.input-shell__icon svg{width:1.2rem;height:1.2rem}.input-shell input{--ui-control-bg:var(--color-surface);--ui-control-border-color:var(--color-border);--ui-control-color:var(--color-text);--ui-control-error-color:var(--color-danger);--ui-control-error-shadow:0 0 0 3px color-mix(in srgb, var(--color-danger) 10%, transparent);--ui-control-focus-border-color:var(--color-primary);--ui-control-hover-border-color:var(--color-border-strong);--ui-control-min-height:50px;--ui-control-padding:.75rem 3rem .75rem 2.85rem;--ui-control-radius:13px;--ui-transition:var(--transition)}.password-toggle{width:36px;height:36px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.password-toggle svg{width:1.2rem;height:1.2rem}.field-hint,.field-error{margin:.38rem 0 0;font-size:.78rem}.field-hint{color:var(--color-muted)}.field-error{--ui-error-color:var(--color-danger);--ui-error-font-size:.78rem;--ui-error-font-weight:580;min-height:1.1em}.text-link--muted{color:var(--color-muted);font-size:.82rem}.check-row{color:var(--color-text-secondary);cursor:pointer;grid-template-columns:21px 1fr;align-items:start;gap:.72rem;display:grid;position:relative}.check-row input{opacity:0;pointer-events:none;position:absolute}.check-row__box{border:1.5px solid var(--color-border-strong);background:var(--color-surface);width:21px;height:21px;transition:all var(--transition);border-radius:6px}.check-row input:checked+.check-row__box{border-color:var(--color-primary);background:var(--color-primary);box-shadow:inset 0 0 0 4px var(--color-primary)}.check-row input:checked+.check-row__box:after{content:"";border-left:2px solid var(--color-on-primary);border-bottom:2px solid var(--color-on-primary);width:9px;height:5px;margin:5px 0 0 4px;display:block;transform:rotate(-45deg)}.check-row input:focus-visible+.check-row__box{outline:3px solid color-mix(in srgb, var(--color-primary) 18%, transparent);outline-offset:2px}.check-row--compact{font-size:.88rem}.button{--ui-button-disabled-opacity:.62;--ui-button-gap:.6rem;--ui-button-min-height:46px;--ui-button-padding:.7rem 1.15rem;--ui-button-radius:12px;--ui-transition:var(--transition)}.button--primary{--ui-button-bg:var(--color-primary);--ui-button-color:var(--color-on-primary);--ui-button-hover-bg:var(--color-primary-hover);--ui-button-shadow:0 8px 22px rgb(var(--mek-brand-primary-rgb) / .2)}.button--secondary{--ui-button-bg:var(--color-surface);--ui-button-border-color:var(--color-border);--ui-button-color:var(--color-text-secondary);--ui-button-hover-bg:var(--color-surface-soft);--ui-button-hover-border-color:var(--color-border-strong)}.button--block{--ui-button-min-height:52px;width:100%}.button__spinner{--ui-spinner-size:17px}.button__arrow{width:1rem;height:1rem}.auth-separator{color:var(--color-subtle);align-items:center;gap:.8rem;margin:1.45rem 0;font-size:.78rem;display:flex}.auth-separator:before,.auth-separator:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-switch{text-align:center;color:var(--color-muted);margin:0;font-size:.9rem}.verification-timing{border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-muted);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .9rem;font-size:.82rem;display:flex}.verification-timing strong{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:1rem}.verification-timing strong.is-expired{color:var(--color-danger)}.auth-link-button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:center;padding:.2rem .45rem;font-size:.88rem}.auth-link-button:hover{text-decoration:underline}.security-note{background:var(--color-surface-soft);color:var(--color-muted);border-radius:12px;align-items:center;gap:.7rem;margin-top:1.4rem;padding:.9rem 1rem;font-size:.78rem;display:flex}.security-note svg{width:1.15rem;height:1.15rem;color:var(--color-success);flex:none}.inline-notice{--ui-notice-border-color:transparent;--ui-notice-font-size:.84rem;--ui-notice-radius:12px}.inline-notice--info{--ui-notice-bg:var(--color-info-soft);--ui-notice-border-color:var(--color-info-border);--ui-notice-color:var(--color-info)}.inline-notice--error{--ui-notice-bg:var(--color-danger-soft);--ui-notice-border-color:var(--color-danger-border);--ui-notice-color:var(--color-danger)}.inline-notice code{font-size:.78rem}.skeleton-card{--ui-skeleton-min-height:180px;--ui-skeleton-radius:var(--radius-md)}.icon-button{--ui-icon-button-bg:var(--color-surface);--ui-icon-button-border-color:var(--color-border);--ui-icon-button-color:var(--color-muted);--ui-icon-button-font-size:1.4rem;--ui-icon-button-hover-bg:var(--color-surface-soft);--ui-icon-button-hover-color:var(--color-text);--ui-icon-button-size:38px}.page-heading h1{font-size:clamp(2rem,4vw,3rem)}.page-heading--register,.page-heading--split{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.page-heading__login{white-space:nowrap;font-size:.9rem}.stepper{scrollbar-width:thin;margin-bottom:1.4rem;overflow-x:auto}.stepper ol{grid-template-columns:repeat(4,1fr);min-width:700px;margin:0;padding:0;list-style:none;display:grid}.stepper__item{color:var(--color-subtle);align-items:center;gap:.7rem;display:flex;position:relative}.stepper__item:after{content:"";z-index:0;background:var(--color-border);height:2px;position:absolute;top:18px;left:41px;right:12px}.stepper__item:last-child:after{display:none}.stepper__number{z-index:1;border:2px solid var(--color-border);background:var(--color-bg);border-radius:999px;flex:0 0 36px;place-items:center;width:36px;height:36px;font-weight:800;display:grid;position:relative}.stepper__text{display:grid}.stepper__text strong{color:inherit;font-size:.85rem}.stepper__text small{font-size:.7rem}.stepper__item.is-active,.stepper__item.is-complete{color:var(--color-primary)}.stepper__item.is-active .stepper__number{color:var(--color-on-primary);border-color:var(--color-primary);background:var(--color-primary);box-shadow:0 0 0 5px rgb(var(--mek-brand-primary-rgb) / .1)}.stepper__item.is-complete .stepper__number{color:var(--color-on-primary);border-color:var(--color-success);background:var(--color-success)}.stepper__item.is-complete:after{background:var(--color-success)}.wizard-card{border-radius:var(--radius-xl);overflow:hidden}.wizard-panel__heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.6rem;display:flex}.wizard-panel__heading h2{font-size:clamp(1.55rem,3vw,2.1rem)}.required-note{color:var(--color-muted);white-space:nowrap;font-size:.75rem}.required-note span{color:var(--color-danger)}.legal-box{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);padding:1.15rem}.legal-box__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.legal-box__heading h3{margin:0 0 .2rem;font-size:1rem}.legal-box__heading p{color:var(--color-muted);margin:0;font-size:.8rem}.mini-loader{color:var(--color-primary);font-size:.75rem}.legal-list{gap:.75rem;margin-top:1rem;display:grid}.legal-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;grid-template-columns:21px 1fr auto;align-items:start;gap:.75rem;padding:.85rem;display:grid}.legal-item input{width:19px;height:19px;accent-color:var(--color-primary);margin-top:.12rem}.legal-item__copy strong{font-size:.86rem;display:block}.legal-item__copy small{color:var(--color-muted);margin-top:.14rem;font-size:.72rem;display:block}.legal-item__view{color:var(--color-primary);cursor:pointer;background:0 0;border:0;padding:.2rem .35rem;font-size:.76rem;font-weight:760}.wizard-actions{align-items:center;gap:.8rem;margin-top:1.5rem;display:flex}.wizard-actions--end{justify-content:flex-end}.wizard-actions--center{justify-content:center}.password-meter{margin-top:.45rem}.password-meter__bar{background:var(--color-border-subtle);border-radius:999px;height:5px;display:block;overflow:hidden}.password-meter__bar i{border-radius:inherit;background:var(--color-danger);width:0;height:100%;transition:width var(--transition), background var(--transition);display:block}.password-meter small{color:var(--color-muted);margin-top:.32rem;font-size:.72rem;display:block}.verification-layout{text-align:left;align-items:center;gap:1.35rem;max-width:620px;margin:0 auto;display:flex}.verification-icon{width:84px;height:84px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:24px;flex:0 0 84px;place-items:center;display:grid}.verification-icon svg{width:48px;height:48px}.verification-layout h2{margin:.25rem 0 .45rem}.verification-layout p{color:var(--color-muted);margin:0}#sms-test-hint{max-width:620px;margin:1.25rem auto 0}.sms-form{text-align:center;max-width:620px;margin:1.5rem auto 0}.otp-input{border:1px solid var(--color-border);text-align:center;letter-spacing:.35em;border-radius:16px;width:min(100%,340px);min-height:68px;padding:.7rem 1rem;font-size:2rem;font-weight:800}.otp-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 5px rgb(var(--mek-brand-primary-rgb) / .1);outline:0}.countdown{min-height:1.2rem;color:var(--color-muted);font-size:.78rem}.plans-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.plan-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:250px;transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);flex-direction:column;padding:1.2rem;display:flex}.plan-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.plan-card__top{justify-content:space-between;gap:.8rem;display:flex}.plan-card__badge{background:var(--color-primary-soft);color:var(--color-primary);border-radius:999px;align-self:flex-start;padding:.28rem .55rem;font-size:.68rem;font-weight:800}.plan-card h3{margin:.9rem 0 .45rem;font-size:1.15rem}.plan-card p{color:var(--color-muted);margin:0;font-size:.82rem}.plan-card__price{letter-spacing:-.03em;margin:1rem 0;font-size:1.45rem;font-weight:850}.plan-card__meta{color:var(--color-muted);gap:.4rem;margin:0 0 1rem;padding:0;font-size:.76rem;list-style:none;display:grid}.plan-card__meta li:before{content:"✓";color:var(--color-success);margin-right:.4rem;font-weight:800}.plan-card__benefits-title{color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;margin:.15rem 0 .65rem;font-size:.82rem;font-weight:850}.plan-card__benefits{color:var(--color-text-secondary);gap:.65rem;margin:0 0 1rem;padding:0;font-size:.76rem;line-height:1.55;list-style:none;display:grid}.plan-card__benefits li{padding-left:1.2rem;position:relative}.plan-card__benefits li:before{content:"✓";color:var(--color-success);font-weight:850;position:absolute;left:0}.plan-card__benefits .plan-card__eligibility{background:var(--color-primary-soft);color:var(--color-text-secondary);border-radius:10px;padding:.7rem}.plan-card__benefits .plan-card__eligibility:before{content:"*";color:var(--color-primary);margin-right:.25rem;position:static}.plan-card .button{margin-top:auto}.plan-card.is-unavailable{opacity:.72;background:var(--color-surface-soft)}.student-upload{border:1px solid var(--color-info-border);border-radius:var(--radius-md);background:var(--color-info-soft);margin-top:1.2rem;padding:1.2rem}.student-upload__heading{justify-content:space-between;gap:1rem;display:flex}.student-upload__heading h3{margin:.2rem 0 .35rem}.student-upload__heading p{color:var(--color-muted);margin:0;font-size:.82rem}.file-drop{border:1.5px dashed color-mix(in srgb, var(--color-primary) 48%, var(--color-border));background:var(--color-surface);text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:150px;margin:1rem 0;padding:1.2rem;display:flex}.file-drop:hover{border-color:var(--color-primary);background:var(--color-surface-subtle)}.file-drop input{opacity:0;pointer-events:none;position:absolute}.file-drop__icon{width:42px;height:42px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:12px;place-items:center;display:grid}.file-drop__icon svg{width:24px;height:24px}.file-drop small{color:var(--color-muted)}.completion-state{text-align:center;max-width:620px;margin:0 auto;padding:2rem 0}.completion-state__icon{width:92px;height:92px;color:var(--color-success);background:var(--color-success-soft);border-radius:999px;place-items:center;margin:0 auto 1rem;display:grid}.completion-state__icon svg{width:58px;height:58px}.completion-state h2{font-size:clamp(1.8rem,4vw,2.5rem)}.completion-state>p{color:var(--color-muted)}.completion-details{background:var(--color-surface-soft);color:var(--color-muted);border-radius:12px;margin-top:1rem;padding:1rem;font-size:.84rem}.completion-state__actions{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1.4rem;display:flex}.legal-dialog{border-radius:var(--radius-lg);width:min(760px,100vw - 2rem);max-height:min(82vh,760px);box-shadow:var(--shadow-lg);border:0;padding:0}.legal-dialog::backdrop{background:var(--mek-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.legal-dialog__header,.legal-dialog__footer{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.legal-dialog__footer{border-top:1px solid var(--color-border);border-bottom:0;justify-content:flex-end}.legal-dialog__header h2{margin:.2rem 0 0}.legal-dialog__content{max-height:55vh;color:var(--color-text-secondary);padding:1.2rem;overflow:auto}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.info-card{border-radius:var(--radius-lg);padding:1.35rem}.info-card__header{border-bottom:1px solid var(--color-border);align-items:center;gap:.9rem;padding-bottom:1rem;display:flex}.info-card__header h2{margin:.2rem 0 0;font-size:1.1rem}.info-card__icon{width:44px;height:44px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:13px;place-items:center;display:grid}.detail-list{gap:.8rem;margin:1rem 0 0;display:grid}.detail-list div{grid-template-columns:135px 1fr;gap:1rem;display:grid}.detail-list dt{color:var(--color-muted);font-size:.78rem}.detail-list dd{overflow-wrap:anywhere;margin:0;font-weight:650}.empty-panel{background:var(--color-surface-soft);color:var(--color-muted);border-radius:12px;margin-top:1rem;padding:1rem}.state-panel{border-radius:var(--radius-md);text-align:center;padding:1.5rem}.state-panel--error{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border)}.state-panel h2,.state-panel h3{margin-top:0}.paid-billing .form-grid{margin-top:1rem}.paid-billing textarea{resize:vertical;width:100%;min-height:88px}.account-wrap{width:min(1120px,100%);margin:0 auto}.account-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.account-form{gap:1rem;margin-top:1.1rem;display:grid}.account-form--compact{gap:.8rem}.account-form .button{justify-self:start}.contact-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin:1rem 0 .75rem;display:flex}.contact-summary strong{overflow-wrap:anywhere;font-size:.94rem}.status-badge{--ui-badge-bg:var(--color-surface-soft);--ui-badge-color:var(--color-muted);--ui-badge-font-size:.72rem;--ui-badge-font-weight:800;--ui-badge-min-height:28px;--ui-badge-padding:.28rem .65rem}.status-badge--success{color:var(--color-success);background:var(--color-success-soft)}.status-badge--warning{color:var(--color-warning);background:var(--color-warning-soft)}.form-help{color:var(--color-muted);margin:.65rem 0 0;font-size:.78rem}.verification-box{border:1px solid var(--color-info-border);border-radius:var(--radius-md);background:var(--color-info-soft);margin-top:1rem;padding:1rem}.membership-change{border-top:1px solid var(--color-border);margin-top:1.2rem;padding-top:1.2rem}.membership-change__heading h3{margin:.2rem 0 .35rem;font-size:1rem}.membership-change__heading p{color:var(--color-muted);margin:0;font-size:.8rem}.membership-change__options{margin-top:1rem}.membership-change__options .plan-card{min-height:100%}.membership-payment-pending{grid-column:1/-1}.membership-payment-pending__actions{flex-wrap:wrap;gap:.7rem;margin-top:.85rem;display:flex}.button--small{min-height:38px;padding:.55rem .75rem;font-size:.78rem}.skeleton-card{--ui-skeleton-bg:linear-gradient(90deg,var(--color-border-subtle) 20%,var(--color-surface) 45%,var(--color-border-subtle) 70%);--ui-skeleton-min-height:190px}.verification-page{place-items:center;min-height:min(680px,100vh - 4rem);display:grid}.verification-card{text-align:center;width:min(620px,100%);box-shadow:var(--shadow-md);padding:clamp(1.4rem,5vw,2.4rem)}.verification-card h1{margin:.55rem 0 .7rem;font-size:clamp(1.7rem,5vw,2.45rem)}.verification-card>p{color:var(--color-muted)}.verification-card .state-panel{margin:1rem 0}.verification-card .button{margin-top:.65rem}.verification-card .text-link{margin-top:1rem;font-weight:700;display:inline-block}.state-panel--success{color:var(--color-success);background:var(--color-success-soft);border:1px solid var(--color-success-border)}@media (width<=720px){.account-sections{grid-template-columns:1fr}.account-card--wide{grid-column:auto}.account-form .button{width:100%}}@media (width<=980px){.auth-app{grid-template-columns:1fr}.brand-panel{display:none}.auth-main,.auth-main--wide{align-items:flex-start;min-height:100vh;padding:1.25rem}.brand--mobile{display:inline-flex}.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.auth-main,.auth-main--wide{padding:1rem}.auth-card,.wizard-panel{padding:1.2rem}.auth-card,.wizard-card{border-radius:20px}.page-heading--register,.page-heading--split{flex-direction:column;align-items:flex-start;gap:.8rem}.page-heading__login{white-space:normal}.form-grid--two,.account-grid,.plans-grid{grid-template-columns:1fr}.field-group--full{grid-column:auto}.wizard-panel__heading{flex-direction:column;gap:.5rem}.verification-layout{align-items:flex-start}.verification-icon{border-radius:18px;flex-basis:64px;width:64px;height:64px}.verification-icon svg{width:38px;height:38px}.wizard-actions{flex-direction:column-reverse}.wizard-actions .button{width:100%}.legal-item{grid-template-columns:21px 1fr}.legal-item__view{grid-column:2;justify-self:start;padding-left:0}.detail-list div{grid-template-columns:1fr;gap:.2rem}}@media (width<=440px){.auth-main,.auth-main--wide{padding:.75rem}.brand--mobile{margin:.35rem .25rem 1.35rem}.brand__mark{width:42px;height:42px}.auth-card,.wizard-panel{padding:1rem}.page-heading h1{font-size:2rem}.verification-layout{flex-direction:column}.otp-input{letter-spacing:.22em}.completion-state__actions .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.auth-shell{background:radial-gradient(circle at 84% 4%, #60a5fa1f, transparent 25rem), radial-gradient(circle at 52% 100%, #2dd4bf14, transparent 28rem), var(--color-bg)}.auth-app{grid-template-columns:minmax(390px,45%) minmax(0,1fr)}.brand-panel{background:radial-gradient(circle at 90% 10%, #38bdf83d, transparent 22rem), radial-gradient(circle at 4% 90%, #2dd4bf1f, transparent 21rem), linear-gradient(145deg, #0b1c38 0%, var(--color-brand-dark) 48%, var(--color-brand-mid) 120%);padding:clamp(1.7rem,4.5vw,4.3rem)}.brand-panel:after{opacity:.85;background-size:48px 48px}.brand-panel__glow--one{background:#3b82f62e;top:-130px;right:-160px}.brand-panel__glow--two{background:#2dd4bf1a}.brand{gap:.7rem}.brand__logo{background:#fffffff5;border:1px solid #ffffff6b;border-radius:14px;align-items:center;min-height:54px;padding:.45rem .65rem;display:inline-flex;box-shadow:0 12px 35px #02061738}.brand__logo img{width:auto;max-width:min(265px,32vw);height:38px;display:block}.brand__logo--secondary img{max-width:160px;height:32px}.brand__plus{color:#ffffff8c}.brand--mobile{margin:.1rem 0 1.5rem}.brand--mobile .brand__logo{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.brand--mobile .brand__logo img{max-width:min(265px,68vw)}.brand-panel__content{max-width:610px;padding-block:2.5rem}.brand-panel__content h1{letter-spacing:-.06em;max-width:11ch;font-size:clamp(2.55rem,4.55vw,4.8rem);line-height:.99}.brand-panel__content>p{color:#e2e8f0c2;max-width:58ch;font-size:clamp(.98rem,1.4vw,1.08rem);line-height:1.75}.brand-benefits{gap:.65rem;margin-top:1.7rem}.brand-benefits li{color:#f1f5f9e0;background:#ffffff0b;border:1px solid #ffffff12;border-radius:13px;padding:.72rem .8rem}.brand-benefits__icon{color:#6ee7b7;background:#34d39921}.brand-panel__preview{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff12;border:1px solid #ffffff1c;border-radius:17px;gap:.55rem;max-width:500px;margin-top:1rem;padding:.75rem;display:grid}.brand-panel__preview-head{color:var(--color-border);grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:.25rem .35rem .55rem;font-size:.72rem;display:grid}.brand-panel__preview-head>span{background:#34d399;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #34d39921}.brand-panel__preview-head small{color:#86efac;background:#34d3991f;border-radius:999px;padding:.22rem .45rem}.brand-panel__preview-row{background:#ffffff0f;border-radius:12px;align-items:center;gap:.65rem;padding:.65rem;display:flex}.brand-panel__preview-row i{color:#93c5fd;background:#60a5fa26;border-radius:9px;flex:0 0 29px;place-items:center;height:29px;font-size:.7rem;font-style:normal;display:grid}.brand-panel__preview-row strong,.brand-panel__preview-row small{display:block}.brand-panel__preview-row strong{color:var(--color-on-primary);font-size:.72rem}.brand-panel__preview-row small{color:#cbd5e19e;margin-top:.1rem;font-size:.62rem}.brand-panel__note{color:#cbd5e185;font-size:.72rem}.auth-main{padding:clamp(1.4rem,4.5vw,4.5rem)}.auth-main--wide{grid-column:1/-1;width:100%;padding:clamp(1rem,2.5vw,2rem) clamp(1rem,4vw,3rem) 2.5rem}.auth-main__inner{width:min(100%,640px)}.auth-main--wide .auth-main__inner{width:min(100%,1180px)}.auth-wide-header{justify-content:space-between;align-items:center;min-height:62px;margin-bottom:clamp(1.25rem,3vw,2rem);display:flex}.auth-wide-header .brand--mobile{margin:0;display:inline-flex}.auth-wide-header__label{border:1px solid var(--color-border);color:#526077;letter-spacing:.07em;text-transform:uppercase;background:#ffffffc2;border-radius:999px;align-items:center;gap:.55rem;padding:.48rem .72rem;font-size:.72rem;font-weight:800;display:inline-flex}.auth-wide-header__label i{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #22c55e1c}.auth-card,.wizard-card,.info-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-color:#cbd5e1c7}.auth-card{box-shadow:var(--shadow-lg);border-radius:26px;padding:clamp(1.45rem,4vw,2.6rem)}.auth-card__header h1{color:var(--color-text);letter-spacing:-.05em;font-size:clamp(2rem,4vw,2.7rem)}.auth-card__header p,.page-heading p,.wizard-panel__heading p{color:var(--color-muted);line-height:1.7}.eyebrow{color:var(--color-primary);letter-spacing:.12em;font-size:.69rem}.form-stack{gap:1.05rem;margin-top:1.55rem}.field-group label,.sms-form>label,.field>span{color:var(--color-text-secondary);font-size:.82rem;font-weight:780}.field{align-content:start;gap:.38rem;min-width:0;display:grid}.field>small{--ui-error-color:var(--color-danger);--ui-error-font-size:.74rem;min-height:.2rem;display:block}.input-shell input,.input-shell select,.input-shell textarea,.field input,.field select,.field textarea{--ui-control-bg:#fbfcfe;--ui-control-border-color:var(--color-border);--ui-control-color:var(--color-text);--ui-control-focus-bg:var(--color-surface);--ui-control-focus-border-color:var(--color-primary);--ui-control-hover-border-color:var(--color-border-strong);--ui-control-min-height:51px;--ui-control-radius:12px;--ui-control-shadow:inset 0 1px 1px #0f172a06;--ui-transition:.16s ease}.input-shell__icon{color:var(--color-subtle)}.password-toggle{color:var(--color-muted)}.password-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary)}.field-error{--ui-error-color:#b42318;--ui-error-font-size:.74rem;--ui-error-font-weight:680}.button{--ui-button-font-size:.87rem;--ui-button-font-weight:780;--ui-button-hover-shadow:0 12px 27px #0f172a21;--ui-button-min-height:48px;--ui-button-padding:.72rem 1.05rem;--ui-button-radius:12px;--ui-transition:.16s ease}.button--primary{--ui-button-bg:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));--ui-button-hover-bg:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));--ui-button-shadow:0 10px 24px rgb(var(--mek-brand-primary-rgb) / .2)}.button--secondary{--ui-button-bg:var(--color-surface);--ui-button-border-color:var(--color-border);--ui-button-color:var(--color-text-secondary);--ui-button-hover-bg:var(--color-primary-soft);--ui-button-hover-border-color:#c8d8f4;--ui-button-hover-color:var(--color-primary-hover)}.text-link{font-weight:720}.auth-separator:before,.auth-separator:after{background:#e2e8f0}.security-note{background:var(--color-surface-soft);border:1px solid var(--color-border);color:var(--color-muted);border-radius:12px;padding:.7rem .8rem}.inline-notice{--ui-notice-radius:12px}.page-heading{margin-bottom:1.25rem}.page-heading h1{color:var(--color-text);letter-spacing:-.055em;font-size:clamp(2.15rem,4.5vw,3.25rem);line-height:1.04}.page-heading--register,.page-heading--split{align-items:center}.page-heading__login{border:1px solid var(--color-border);background:#ffffffb8;border-radius:999px;padding:.55rem .8rem}.stepper{border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#ffffffbd;border-radius:18px;margin-bottom:1rem;padding:.85rem 1rem}.stepper__number{background:var(--color-surface);box-shadow:0 3px 10px #0f172a0f}.stepper__item:after{background:#e2e8f0}.stepper__item.is-active .stepper__number{box-shadow:0 0 0 5px rgb(var(--mek-brand-primary-rgb) / .1), 0 8px 20px rgb(var(--mek-brand-primary-rgb) / .2)}.wizard-card{box-shadow:var(--shadow-md);border-radius:24px}.wizard-panel{padding:clamp(1.4rem,4vw,2.6rem)}.wizard-panel__heading{border-bottom:1px solid var(--color-border-subtle);margin-bottom:1.5rem;padding-bottom:1.1rem}.legal-box{background:var(--color-surface-soft);border-color:var(--color-border);border-radius:16px;padding:1rem}.legal-item{border-color:#e1e7ef;border-radius:12px;box-shadow:0 2px 8px #0f172a06}.legal-item:hover{border-color:#c8d8f4}.otp-input{border-radius:15px;box-shadow:inset 0 1px 2px #0f172a0a}.verification-icon,.completion-state__icon{background:linear-gradient(145deg, var(--color-primary-soft), var(--color-surface));border-color:var(--color-info-border);box-shadow:0 12px 30px rgb(var(--mek-brand-primary-rgb) / .1)}.plans-grid{gap:.9rem}.plan-card{border-color:var(--color-border);box-shadow:var(--shadow-sm);border-radius:18px;padding:1.25rem;transition:border-color .16s,box-shadow .16s,transform .16s}.plan-card:hover{border-color:#9dbcf6;transform:translateY(-3px);box-shadow:0 18px 40px #0f172a1a}.plan-card.is-selected{box-shadow:0 0 0 3px rgb(var(--mek-brand-primary-rgb) / .1), 0 18px 40px rgb(var(--mek-brand-primary-rgb) / .12)}.student-upload{background:linear-gradient(145deg, var(--color-info-soft), var(--color-surface));border-color:var(--color-info-border);border-radius:18px}.file-drop{background:var(--color-surface);border:1.5px dashed var(--color-border-strong);border-radius:16px}.file-drop:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.legal-dialog{border-radius:20px;box-shadow:0 35px 95px #0f172a57}.legal-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.account-wrap{width:100%;max-width:1180px}.account-sections{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.15rem}.account-card--wide{grid-column:1/-1}.account-card--email,.account-card--phone{grid-column:span 6}.account-card--profile .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.account-card--security .account-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.9rem;display:grid}.account-card--security .account-form .button{min-width:170px;margin-bottom:0}.account-security-block{border-top:1px solid var(--color-border);margin-top:1.15rem;padding-top:1.15rem}.account-security-block__heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.account-security-block__heading h3{margin:0 0 .25rem}.account-security-block__heading p{color:var(--color-text-muted);margin:0}.session-list{gap:.65rem;display:grid}.session-item{background:var(--color-surface-soft,#f8fafc);border:1px solid var(--color-border);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem;display:flex}.session-item__meta{color:var(--color-text-muted);gap:.2rem;font-size:.78rem;display:grid}.session-item__meta strong{color:var(--color-text);font-size:.9rem}.account-card--membership{overflow:visible}.account-card--membership .membership-change__options{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}.info-card{box-shadow:var(--shadow-sm);border-radius:20px;padding:clamp(1.15rem,2.5vw,1.55rem);transition:border-color .16s,box-shadow .16s}.info-card:hover{border-color:#cbd8e9;box-shadow:0 15px 38px #0f172a14}.info-card__header{border-bottom:1px solid var(--color-border-subtle);margin-bottom:1rem;padding-bottom:.9rem}.info-card__header h2{color:#1c2a3e;letter-spacing:-.02em;font-size:1.05rem}.info-card__icon{background:var(--color-primary-soft);border:1px solid var(--color-info-border);color:var(--color-primary);border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.info-card__icon svg{width:22px;height:22px}.contact-summary{background:var(--color-surface-soft);border:1px solid var(--color-border-subtle);border-radius:12px;padding:.7rem .8rem}.phone-verification-timers{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;gap:.3rem;padding:.7rem .8rem;display:grid}.phone-verification-timers p{color:var(--color-muted);margin:0;font-size:.78rem}.phone-verification-timers strong{color:var(--color-primary-hover);font-variant-numeric:tabular-nums}.phone-verification-actions{flex-wrap:wrap;align-items:center;gap:.7rem 1rem;display:flex}.phone-verification-actions .button{margin:0}.phone-verification-actions .text-link{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:.45rem 0;font-size:.8rem}.phone-verification-actions .text-link:hover{color:var(--color-primary-hover);text-decoration:underline}.status-badge{border:1px solid var(--color-border)}.account-form,.membership-change{border-top-color:var(--color-border-subtle)}.membership-change__heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.25rem 2rem;display:flex}.membership-change__heading .eyebrow{flex-basis:100%}.membership-change__heading h3{font-size:1.25rem}.membership-change__heading p{max-width:60ch}.plan-card{min-width:0;padding:1.4rem}.plan-card h3{font-size:1.3rem;line-height:1.18}.plan-card__price{margin:.8rem 0 1rem;font-size:1.65rem}.plan-card__details{border-bottom:1px solid var(--color-border-subtle);border-top:1px solid var(--color-border-subtle);margin:.2rem 0 1rem;padding:.8rem 0}.plan-card__details summary{color:var(--color-primary);cursor:pointer;align-items:center;gap:.55rem;font-size:.82rem;font-weight:800;list-style:none;display:flex}.plan-card__details summary::-webkit-details-marker{display:none}.plan-card__details summary:after{content:"+";margin-left:auto;font-size:1.2rem;line-height:1}.plan-card__details[open] summary:after{content:"−"}.plan-card__details .plan-card__benefits{max-height:300px;margin:.85rem 0 .15rem;padding-right:.35rem;overflow:auto}.plan-card .button{width:100%;margin-top:auto}.empty-panel,.state-panel{border-radius:15px}.verification-card{border-radius:22px}.consent-banner{border-color:#d5deea;border-radius:18px;padding:1.1rem;box-shadow:0 24px 70px #0f172a33}.auth-footer{color:var(--color-muted);font-size:.76rem}@media (width<=1100px){.auth-app{grid-template-columns:minmax(360px,42%) minmax(0,1fr)}.brand-panel__preview{display:none}.brand-benefits li{padding:.6rem .7rem}.account-card--security .account-form{grid-template-columns:repeat(2,minmax(0,1fr))}.account-card--security .account-form .button{justify-self:start}}@media (width<=980px){.auth-app{grid-template-columns:1fr}.brand-panel{display:none}.auth-main,.auth-main--wide{min-height:100vh;padding:1.1rem}.brand--mobile{display:inline-flex}}@media (width<=720px){.auth-main,.auth-main--wide{padding:.7rem}.auth-card,.wizard-card,.info-card{border-radius:18px}.page-heading{padding-inline:.35rem}.page-heading__login{border-radius:12px}.stepper{border-radius:15px;padding:.7rem}.wizard-panel{padding:1rem}.wizard-panel__heading{align-items:flex-start}.auth-wide-header{margin:.2rem .3rem 1.1rem}.auth-wide-header__label{display:none}.account-sections{grid-template-columns:1fr}.account-card--wide,.account-card--email,.account-card--phone{grid-column:auto}.account-card--profile .form-grid,.account-card--security .account-form{grid-template-columns:1fr}.account-card--security .account-form .button{width:100%}}@media (width<=440px){.auth-main,.auth-main--wide{padding:.45rem}.brand--mobile{margin:.35rem .3rem 1.1rem}.brand__logo{min-height:48px}.brand__logo img{height:34px}.auth-card{padding:1.05rem}.auth-card__header h1{font-size:2rem}}
