@font-face{font-family:Scheherazade New;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/scheherazade-new-arabic-400-normal.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+898-8E1,U+8E3-8FF,U+FB50-FDFF,U+FE70-FEFF,U+10E60-10E7E,U+1EC70-1ECB4,U+1ED00-1ED4F,U+1EE??}@font-face{font-family:Scheherazade New;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/scheherazade-new-arabic-700-normal.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+898-8E1,U+8E3-8FF,U+FB50-FDFF,U+FE70-FEFF,U+10E60-10E7E,U+1EC70-1ECB4,U+1ED00-1ED4F,U+1EE??}:root{--color-primary:#4a90e2;--color-primary-dark:#3a7bc8;--color-secondary:#27ae60;--color-secondary-dark:#229954;--color-danger:#e74c3c;--color-danger-dark:#c0392b;--color-warning:#f39c12;--color-warning-dark:#e67e22;--color-purple:#8b5cf6;--color-orange:#e67e22;--color-background:#f5f7fa;--color-background-dark:#eef2f6;--color-surface:#fff;--color-surface-dark:#f8f9fa;--color-text-primary:#2c3e50;--color-text-secondary:#7f8c8d;--color-text-tertiary:#95a5a6;--color-text-light:#bdc3c7;--color-text-white:#fff;--color-success:#27ae60;--color-success-bg:#d4edda;--color-success-text:#155724;--color-error:#e74c3c;--color-error-bg:#f8d7da;--color-error-text:#721c24;--color-info:#3498db;--color-border:#e0e0e0;--color-border-light:#eef2f6;--color-toast-bg:#2c3e50;--shadow-light:0 1px 4px #9999990f;--shadow-medium:0 2px 8px #9999991a;--shadow-card:0 1px 2px #0000000a;--font-xs:11px;--font-sm:12px;--font-base:14px;--font-lg:16px;--font-h2:18px;--font-h1:20px;--font-display:28px;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-xxl:24px;--space-xxxl:32px;--space-xxxxl:48px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-xxl:24px;--radius-pill:999px;--bottom-nav-height:60px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;font-family:Scheherazade New,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}#root{flex-direction:column;display:flex}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none}button:disabled{cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--color-primary);text-decoration:none}img{max-width:100%;display:block}*{-webkit-tap-highlight-color:transparent}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.app-container{flex:1;width:100%;max-width:640px;margin:0 auto}.ui-btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-lg);font-size:var(--font-lg);font-weight:var(--weight-semibold);-webkit-user-select:none;user-select:none;white-space:nowrap;line-height:1.2;transition:background-color .15s,opacity .15s,border-color .15s;display:inline-flex}.ui-btn:disabled{opacity:.55}.ui-btn--block{width:100%}.ui-btn--primary{background-color:var(--color-primary);color:var(--color-text-white)}.ui-btn--primary:not(:disabled):active{background-color:var(--color-primary-dark)}.ui-btn--secondary{background-color:var(--color-secondary);color:var(--color-text-white)}.ui-btn--secondary:not(:disabled):active{background-color:var(--color-secondary-dark)}.ui-btn--danger{background-color:var(--color-danger);color:var(--color-text-white)}.ui-btn--danger:not(:disabled):active{background-color:var(--color-danger-dark)}.ui-btn--ghost{color:var(--color-text-secondary);border:1px solid var(--color-border);background-color:#0000}.ui-btn--ghost:not(:disabled):active{background-color:var(--color-surface-dark)}@media (hover:hover){.ui-btn--primary:not(:disabled):hover{background-color:var(--color-primary-dark)}.ui-btn--secondary:not(:disabled):hover{background-color:var(--color-secondary-dark)}.ui-btn--danger:not(:disabled):hover{background-color:var(--color-danger-dark)}.ui-btn--ghost:not(:disabled):hover{background-color:var(--color-surface-dark)}}.ui-field{gap:var(--space-xs);flex-direction:column;width:100%;display:flex}.ui-field__label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.ui-input,.ui-textarea{background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:var(--space-md);color:var(--color-text-primary);outline:none;font-size:16px;transition:border-color .15s}.ui-textarea{resize:vertical;min-height:96px;line-height:1.5}.ui-input:focus,.ui-textarea:focus{border-color:var(--color-primary)}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--color-text-light)}.ui-input--error,.ui-textarea--error{border-color:var(--color-error)}.ui-field__error{color:var(--color-error);font-size:12px}.ui-card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-light);padding:var(--space-lg)}.ui-card--tappable{cursor:pointer;transition:box-shadow .15s,transform 50ms}.ui-card--tappable:active{transform:scale(.995)}@media (hover:hover){.ui-card--tappable:hover{box-shadow:var(--shadow-medium)}}.ui-spinner{border-style:solid;border-color:var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:.7s linear infinite ui-spin;display:inline-block}.ui-spinner--inverse{border-color:#ffffff59;border-top-color:var(--color-text-white)}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-spinner-center{justify-content:center;align-items:center;min-height:200px;display:flex}.ui-modal__overlay{z-index:1000;background-color:#00000073;justify-content:center;align-items:flex-end;animation:.18s ui-fade-in;display:flex;position:fixed;inset:0}@media (width>=540px){.ui-modal__overlay{align-items:center}}.ui-modal__content{background-color:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:640px;max-height:90vh;padding:var(--space-xl);padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));animation:.22s ui-slide-up;overflow-y:auto}@media (width>=540px){.ui-modal__content{border-radius:var(--radius-xl);padding-bottom:var(--space-xl)}}.ui-modal__header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.ui-modal__title{font-size:20px;font-weight:var(--weight-semibold);color:var(--color-text-primary)}.ui-modal__close{border-radius:var(--radius-pill);width:32px;height:32px;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.ui-modal__close:active{background-color:var(--color-surface-dark)}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-slide-up{0%{transform:translateY(24px)}}.ui-toast__wrap{left:50%;bottom:calc(var(--bottom-nav-height) + 16px + env(safe-area-inset-bottom));z-index:2000;gap:var(--space-sm);pointer-events:none;flex-direction:column;width:calc(100% - 32px);max-width:480px;display:flex;position:fixed;transform:translate(-50%)}.ui-toast{background-color:var(--color-toast-bg);color:var(--color-text-white);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-lg);font-size:var(--font-base);box-shadow:var(--shadow-medium);justify-content:space-between;align-items:center;gap:var(--space-md);pointer-events:auto;animation:.2s ui-toast-in;display:flex}.ui-toast__retry{color:var(--color-primary);font-weight:var(--weight-semibold);font-size:var(--font-base);white-space:nowrap}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(12px)}}.ui-tabs{gap:var(--space-xs);border-bottom:1px solid var(--color-border);scrollbar-width:none;display:flex;overflow-x:auto}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{padding:var(--space-md) var(--space-lg);font-size:var(--font-base);color:var(--color-text-secondary);white-space:nowrap;border-bottom:2px solid #0000;font-weight:500;transition:color .15s,border-color .15s}.ui-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--weight-semibold)}.admin-hub__tabs .ui-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.ui-bottomnav{height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background-color:var(--color-surface);border-top:1px solid var(--color-border);z-index:900;display:flex;position:fixed;bottom:0;left:0;right:0}.ui-bottomnav__item{color:var(--color-text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:500;transition:color .15s;display:flex}.ui-bottomnav__item--active{color:var(--color-primary)}.app-layout__main{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.login-page{width:100%;max-width:640px;padding:var(--space-xl) var(--space-lg);flex-direction:column;flex:1;justify-content:center;margin:0 auto;display:flex}.login-inner{width:100%}.login-logo{margin-bottom:var(--space-xl);flex-direction:column;align-items:center;display:flex}.login-logo__img{border-radius:var(--radius-pill);object-fit:cover;width:140px;height:140px}.login-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xxl);box-shadow:var(--shadow-medium);gap:var(--space-lg);flex-direction:column;display:flex}.login-card__title{font-size:22px;font-weight:var(--weight-semibold);text-align:center;color:var(--color-text-primary)}.login-captcha{padding:var(--space-md);background-color:var(--color-surface-dark);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:var(--space-md);flex-direction:column;display:flex}.login-captcha__question{font-size:20px;font-weight:var(--weight-semibold);text-align:center;color:var(--color-text-primary)}.login-error{color:var(--color-error);font-size:var(--font-base);text-align:center}.login-switch{color:var(--color-primary);font-size:var(--font-base);padding:var(--space-xs);align-self:center;font-weight:500}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modules-page__title{color:var(--color-text-primary);margin:var(--space-xl) var(--space-xl);font-size:28px;font-weight:700}.modules-page__list{gap:var(--space-lg);padding:var(--space-lg) var(--space-xl) var(--space-xl);flex-direction:column;display:flex}.module-card__title{font-size:18px;font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-sm)}.module-card__meta{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-direction:column;display:flex}.module-meta-row{align-items:center;gap:var(--space-xs);font-size:13px;font-weight:500;display:inline-flex}.module-meta--success{color:var(--color-success)}.module-meta--warning{color:var(--color-warning)}.module-meta--info{color:var(--color-info)}.module-meta--muted{color:var(--color-text-secondary)}.module-card__section-label{font-size:var(--font-xs);font-weight:var(--weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px;display:block}.module-card__description{margin-bottom:var(--space-xs)}.module-markdown{font-size:var(--font-base);color:var(--color-text-secondary);line-height:1.45}.module-markdown p{margin:4px 0}.module-markdown strong{color:var(--color-text-primary);font-weight:700}.module-markdown a{color:var(--color-primary)}.module-paid-block{background:color-mix(in srgb, var(--color-warning) 8%, transparent);border-radius:var(--radius-sm);padding:var(--space-md);margin:var(--space-xs) 0 var(--space-sm);gap:var(--space-xs);flex-direction:column;display:flex}.module-paid-block__title{font-weight:var(--weight-semibold);color:var(--color-warning)}.module-paid-block__hint{color:var(--color-warning);opacity:.85;font-size:13px;line-height:1.4}.module-progress{margin-bottom:var(--space-xs)}.module-progress__bar-track{background:var(--color-border-light);border-radius:var(--radius-sm);height:4px;margin-bottom:var(--space-xs);overflow:hidden}.module-progress__bar-fill{background:var(--color-primary);border-radius:var(--radius-sm);height:100%}.module-progress__text{color:var(--color-text-secondary);font-size:13px}.module-exam-passed{align-items:center;gap:var(--space-xs);background:color-mix(in srgb, var(--color-success) 8%, transparent);border-radius:var(--radius-xl);padding:var(--space-sm) var(--space-md);margin-top:var(--space-md);font-size:13px;font-weight:var(--weight-semibold);color:var(--color-success);display:inline-flex}.module-exam-block{border-radius:var(--radius-sm);padding:var(--space-md);margin:var(--space-xs) 0 var(--space-sm);gap:var(--space-xs);flex-direction:column;display:flex}.module-exam-block--pending{background:color-mix(in srgb, var(--color-warning) 8%, transparent)}.module-exam-block--approved{background:color-mix(in srgb, var(--color-info) 8%, transparent)}.module-exam-block--rejected{background:color-mix(in srgb, var(--color-error) 8%, transparent)}.module-exam-block__title{font-weight:var(--weight-semibold)}.module-exam-block__title--pending{color:var(--color-warning)}.module-exam-block__title--approved{color:var(--color-info)}.module-exam-block__title--rejected{color:var(--color-error)}.module-exam-block__hint{color:var(--color-text-secondary);font-size:13px;line-height:1.4}.module-exam-btn{margin-top:var(--space-md);align-self:flex-start;gap:var(--space-xs)}.modules-modal__text{font-size:var(--font-base);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.45}.modules-modal__actions{gap:var(--space-sm);justify-content:flex-end;display:flex}.mdetail-page{padding-bottom:var(--space-xxxl);flex-direction:column;display:flex}.mdetail-header{padding-top:var(--space-lg);padding-right:var(--space-lg);padding-left:var(--space-lg)}.mdetail-header__title{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);margin:0 0 var(--space-sm);padding-bottom:12px;font-size:20px;font-weight:700;line-height:1.25}.mdetail-progress{margin-top:var(--space-xl)}.mdetail-progress__label-row{margin-bottom:var(--space-xs);justify-content:space-between;display:flex}.mdetail-progress__label{font-size:13px;font-weight:var(--weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.mdetail-progress__value{color:var(--color-text-secondary);font-size:13px}.mdetail-progress__track{background:var(--color-border);border-radius:var(--radius-sm);height:4px;overflow:hidden}.mdetail-progress__fill{background:var(--color-primary);border-radius:var(--radius-sm);height:100%}.mdetail-subexpired{align-items:flex-start;gap:var(--space-sm);background:color-mix(in srgb, var(--color-warning) 12%, transparent);border-radius:var(--radius-sm);padding:var(--space-md);margin-top:var(--space-md);display:flex}.mdetail-subexpired__text{color:var(--color-warning);flex:1;font-size:13px;line-height:1.4}.mdetail-exam-section{margin:var(--space-lg) var(--space-lg) var(--space-lg)}.mdetail-exam-block{background:var(--color-surface);border:1px solid color-mix(in srgb, var(--color-secondary) 40%, transparent);border-radius:var(--radius-sm);padding:var(--space-lg);box-shadow:var(--shadow-light);flex-direction:column;display:flex}.mdetail-exam-block--pending{border-color:color-mix(in srgb, var(--color-warning) 40%, transparent);background:color-mix(in srgb, var(--color-warning) 8%, transparent)}.mdetail-exam-block--approved{border-color:color-mix(in srgb, var(--color-info) 40%, transparent)}.mdetail-exam-block--passed{border-color:color-mix(in srgb, var(--color-success) 40%, transparent);background:color-mix(in srgb, var(--color-success) 8%, transparent)}.mdetail-exam-block__header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.mdetail-exam-block__title{font-size:15px;font-weight:var(--weight-semibold)}.mdetail-exam-block__title--success{color:var(--color-success)}.mdetail-exam-block__title--secondary{color:var(--color-secondary)}.mdetail-exam-block__title--warning{color:var(--color-warning)}.mdetail-exam-block__title--info{color:var(--color-info)}.mdetail-exam-block__subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-size:13px;line-height:1.4}.mdetail-exam-approved-date{color:var(--color-info);margin-left:31px;font-size:20px;font-weight:700}.mdetail-exam-icon--success{color:var(--color-success)}.mdetail-exam-icon--secondary{color:var(--color-secondary)}.mdetail-exam-icon--warning{color:var(--color-warning)}.mdetail-exam-icon--info{color:var(--color-info)}.mdetail-exam-icon--error{color:var(--color-error)}.mdetail-exam-rejected{background:color-mix(in srgb, var(--color-error) 10%, transparent);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex}.mdetail-exam-status-row{align-items:center;gap:var(--space-xs);display:flex}.mdetail-exam-status-text{font-size:13px;font-weight:500}.mdetail-exam-status-text--error{color:var(--color-error)}.mdetail-exam-notes{color:var(--color-text-secondary);font-size:13px;line-height:1.4}.mdetail-exam-rejected__hint{color:var(--color-error);opacity:.75;font-size:13px}.mdetail-exam-btn{margin-top:var(--space-md);align-self:stretch;gap:var(--space-sm)}.mdetail-section-header{margin:0 var(--space-lg) var(--space-md);align-items:center;display:flex}.mdetail-section-dot{border-radius:var(--radius-xs);background:var(--color-primary);width:8px;height:8px;margin-right:var(--space-sm);flex-shrink:0}.mdetail-section-title{font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.8px}.mdetail-lessons{gap:var(--space-sm);padding:0 var(--space-lg) var(--space-xl);flex-direction:column;display:flex}.mdetail-lesson{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:var(--space-md);box-shadow:var(--shadow-light);cursor:pointer;transition:border-color .15s,transform 50ms;display:block}@media (hover:hover){.mdetail-lesson:hover{border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border))}}.mdetail-lesson:active{transform:scale(.995)}.mdetail-lesson--passed{border-color:color-mix(in srgb, var(--color-text-light) 40%, transparent)}.mdetail-lesson--failed{border-color:color-mix(in srgb, var(--color-warning) 40%, transparent)}.mdetail-lesson--locked{opacity:.55;border-color:var(--color-border)}.mdetail-lesson__header{align-items:center;gap:var(--space-md);display:flex}.mdetail-lesson__number{border-radius:var(--radius-lg);background:var(--color-background-dark,var(--color-border));width:28px;height:28px;color:var(--color-text-white);flex-shrink:0;justify-content:center;align-items:center;display:flex}.mdetail-lesson__number--passed{background:var(--color-success)}.mdetail-lesson__number--failed{background:var(--color-warning)}.mdetail-lesson__number-text{font-size:13px;font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.mdetail-lesson__title-wrap{flex:1;min-width:0}.mdetail-lesson__title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-sm);line-height:1.3;display:block}.mdetail-lesson__status{margin-top:2px;font-size:12px;font-weight:500;display:block}.mdetail-lesson__status--passed{color:var(--color-success)}.mdetail-lesson__status--failed{color:var(--color-warning)}.mdetail-lesson__chevron{color:var(--color-text-tertiary,var(--color-text-secondary));flex-shrink:0}.mdetail-lesson__description{margin-top:var(--space-sm);margin-left:calc(28px + var(--space-md))}.mdetail-lesson__result{align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);margin-left:calc(28px + var(--space-md));display:flex}.mdetail-lesson__result-text{font-size:13px;font-weight:500}.mdetail-lesson__result-text--passed{color:var(--color-success)}.mdetail-lesson__result-text--failed{color:var(--color-warning)}.lesson-page{padding-bottom:var(--space-xxxl);flex-direction:column;display:flex}.lesson-bottom-spacer{height:var(--space-xxxl)}.lesson-header{margin-bottom:var(--space-sm);padding:var(--space-lg) var(--space-lg) var(--space-sm)}.lesson-title{border-bottom:1px solid var(--color-border);font-size:var(--font-h1);font-weight:var(--weight-bold);color:var(--color-text-primary);padding-bottom:var(--space-md);margin:0;line-height:32px}.lesson-divider{background:var(--color-border);height:1px;margin:var(--space-lg)}.lesson-section{padding:0 var(--space-lg)}.lesson-section-label{margin-bottom:var(--space-md);align-items:center;display:flex}.lesson-section-dot{border-radius:var(--radius-xs);width:8px;height:8px;margin-right:var(--space-sm)}.lesson-section-dot--video{background:var(--color-purple)}.lesson-section-dot--primary{background:var(--color-primary)}.lesson-section-dot--secondary{background:var(--color-secondary)}.lesson-section-label-text{font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.8px}.lesson-video-wrap{margin-bottom:var(--space-md)}.lesson-video-label{font-size:var(--font-base);color:var(--color-text-primary);margin:0 0 var(--space-sm);font-weight:500}.lesson-video-container{border-radius:var(--radius-sm);aspect-ratio:16/9;background:#000;width:100%;position:relative;overflow:hidden}.lesson-video-element{background:#000;width:100%;height:100%;display:block}.lesson-video-fullscreen-btn{border-radius:var(--radius-lg);width:34px;height:34px;color:var(--color-text-white);cursor:pointer;z-index:2;background:#00000073;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.lesson-video-overlay{pointer-events:none;background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lesson-video-error{color:var(--color-text-white);font-size:var(--font-base)}.lesson-youtube-wrap{border-radius:var(--radius-sm);aspect-ratio:16/9;background:#000;overflow:hidden}.lesson-youtube-iframe{border:0;width:100%;height:100%;display:block}.lesson-markdown strong{font-weight:var(--weight-semibold);color:var(--color-text-primary)}.lesson-markdown blockquote{margin:0 0 var(--space-md);padding:var(--space-sm) var(--space-md);border-left:3px solid var(--color-primary);border-top:1px solid var(--color-border-light);border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary)}.lesson-markdown blockquote p:last-child{margin-bottom:0}.lesson-markdown tbody th{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));font-weight:var(--weight-semibold);color:var(--color-text-primary);white-space:nowrap}.lesson-markdown tbody tr:nth-child(2n) th{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}.lesson-markdown :lang(ar),.lesson-markdown [dir=rtl]{direction:rtl;unicode-bidi:plaintext}.lesson-markdown p,.lesson-markdown li,.lesson-markdown td,.lesson-markdown th,.lesson-markdown blockquote{unicode-bidi:plaintext}.lesson-markdown{--arabic-scale:1.08}.lesson-markdown table{font-size:calc(var(--font-base) * var(--arabic-scale))}.lesson-material-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:var(--space-lg)}.lesson-material-card .lesson-markdown table{margin-left:calc(var(--space-lg) * -1);margin-right:calc(var(--space-lg) * -1);max-width:calc(100% + var(--space-lg) * 2);width:calc(100% + var(--space-lg) * 2);border-left:0;border-right:0;border-radius:0}.lesson-markdown{font-size:var(--font-lg);color:var(--color-text-primary);word-break:break-word;overflow-wrap:anywhere;line-height:1.75}.lesson-markdown p{margin:0 0 var(--space-md)}.lesson-markdown>:first-child{margin-top:0}.lesson-markdown>:last-child{margin-bottom:0}.lesson-markdown h1,.lesson-markdown h2,.lesson-markdown h3,.lesson-markdown h4,.lesson-markdown h5,.lesson-markdown h6{color:var(--color-text-primary);font-weight:var(--weight-bold);margin:var(--space-xl) 0 var(--space-sm);line-height:1.3}.lesson-markdown h1{font-size:var(--font-h1)}.lesson-markdown h2{font-size:var(--font-h2)}.lesson-markdown h3{font-size:var(--font-lg)}.lesson-markdown h4,.lesson-markdown h5,.lesson-markdown h6{font-size:var(--font-base);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.lesson-markdown em{font-style:italic}.lesson-markdown a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.lesson-markdown ul,.lesson-markdown ol{margin:0 0 var(--space-md);padding-left:var(--space-xl)}.lesson-markdown li{margin-bottom:var(--space-xs)}.lesson-markdown li::marker{color:var(--color-primary)}.lesson-markdown ul ul,.lesson-markdown ul ol,.lesson-markdown ol ul,.lesson-markdown ol ol{margin:var(--space-xs) 0 0}.lesson-markdown code{background:var(--color-surface-dark);border:1px solid var(--color-border);border-radius:var(--radius-xs);padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em}.lesson-markdown pre{margin:0 0 var(--space-md);padding:var(--space-md);background:var(--color-surface-dark);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow-x:auto}.lesson-markdown pre code{background:0 0;border:none;padding:0;font-size:.85em}.lesson-markdown hr{background:var(--color-border);height:1px;margin:var(--space-xl) 0;border:0}.lesson-markdown img{border-radius:var(--radius-sm);max-width:100%;height:auto;margin:var(--space-sm) 0;display:block}.lesson-markdown table{border-collapse:separate;border-spacing:0;width:max-content;max-width:100%;margin:0 0 var(--space-md);font-size:var(--font-base);-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-sm);display:block;overflow-x:auto}.lesson-markdown th,.lesson-markdown td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);text-align:left;vertical-align:top;min-width:120px;line-height:1.6}.lesson-markdown th:last-child,.lesson-markdown td:last-child{border-right:0}.lesson-markdown tr:last-child td{border-bottom:0}.lesson-markdown thead th{background:var(--color-surface-dark);font-weight:var(--weight-semibold);color:var(--color-text-primary);white-space:nowrap}.lesson-markdown tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--color-surface-dark) 45%, transparent)}.lesson-markdown th:first-child,.lesson-markdown td:first-child{z-index:1;background:var(--color-surface);border-right:1px solid var(--color-border);font-weight:var(--weight-semibold);color:var(--color-text-primary);min-width:96px;position:sticky;left:0}.lesson-markdown thead th:first-child{z-index:2;background:var(--color-surface-dark)}.lesson-markdown tbody tr:nth-child(2n) td:first-child{background:color-mix(in srgb, var(--color-surface-dark) 45%, var(--color-surface))}.lesson-markdown p,.lesson-markdown li,.lesson-markdown td,.lesson-markdown th,.lesson-markdown blockquote,.lesson-markdown h1,.lesson-markdown h2,.lesson-markdown h3{unicode-bidi:plaintext}.lesson-mark{background:color-mix(in srgb, var(--color-primary) 12%, transparent);border-radius:var(--radius-xs);padding:5px}.lesson-files{flex-direction:column;display:flex}.lesson-file-card{padding:var(--space-sm) 0;text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--color-border);background:0 0;align-items:center;width:100%;display:flex}.lesson-file-card:last-child{border-bottom:none}.lesson-file-card:disabled{opacity:.6;cursor:default}.lesson-file-icon{border-radius:var(--radius-sm);width:44px;height:44px;margin-right:var(--space-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.lesson-file-icon--image{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary)}.lesson-file-icon--pdf{background:color-mix(in srgb, var(--color-error) 12%, transparent);color:var(--color-error)}.lesson-file-icon--video{background:color-mix(in srgb, var(--color-purple) 12%, transparent);color:var(--color-purple)}.lesson-file-icon--audio{background:color-mix(in srgb, var(--color-secondary) 12%, transparent);color:var(--color-secondary)}.lesson-file-icon--document{background:color-mix(in srgb, var(--color-text-secondary) 12%, transparent);color:var(--color-text-secondary)}.lesson-file-info{margin-right:var(--space-sm);flex:1;min-width:0}.lesson-file-name-row{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);display:flex}.lesson-file-name{font-size:var(--font-base);color:var(--color-text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500;display:-webkit-box;overflow:hidden}.lesson-file-lock{color:var(--color-text-secondary);flex-shrink:0}.lesson-file-size{font-size:var(--font-sm);color:var(--color-text-secondary)}.lesson-file-chevron{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.lesson-file-chevron--image{background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-primary)}.lesson-file-chevron--pdf{background:color-mix(in srgb, var(--color-error) 8%, transparent);color:var(--color-error)}.lesson-file-chevron--video{background:color-mix(in srgb, var(--color-purple) 8%, transparent);color:var(--color-purple)}.lesson-file-chevron--audio{background:color-mix(in srgb, var(--color-secondary) 8%, transparent);color:var(--color-secondary)}.lesson-file-chevron--document{background:color-mix(in srgb, var(--color-text-secondary) 8%, transparent);color:var(--color-text-secondary)}.lesson-test-section{margin:0 var(--space-lg);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-light)}.lesson-test-header{margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);display:flex}.lesson-test-title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);flex:1}.lesson-test-progress{font-size:var(--font-sm);color:var(--color-text-secondary);font-weight:500}.lesson-test-icon--success{color:var(--color-success)}.lesson-test-icon--warning{color:var(--color-warning)}.lesson-test-icon--error{color:var(--color-error)}.lesson-test-icon--primary{color:var(--color-primary)}.lesson-test-passed-subtext{font-size:var(--font-base);color:var(--color-text-secondary);margin:0;line-height:20px}.lesson-attempts-exhausted{padding:var(--space-md) 0;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.lesson-attempts-title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-warning);text-align:center;margin:0}.lesson-attempts-text{font-size:var(--font-base);color:var(--color-text-secondary);text-align:center;margin:0;line-height:22px}.lesson-test-invite{font-size:var(--font-base);color:var(--color-text-secondary);margin:0 0 var(--space-lg);line-height:22px}.lesson-start-test-btn{border:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent);border-radius:var(--radius-sm);padding:var(--space-md);width:100%;color:var(--color-primary);font-size:var(--font-lg);font-weight:var(--weight-medium);cursor:pointer}.lesson-question-block{margin-bottom:var(--space-xl)}.lesson-question-text{font-size:var(--font-lg);color:var(--color-text-primary);margin:0 0 var(--space-md);font-weight:500;line-height:24px}.lesson-answers{gap:var(--space-sm);flex-direction:column;display:flex}.lesson-no-answers{font-size:var(--font-sm);color:var(--color-text-secondary);margin:0;font-style:italic}.lesson-answer{border-radius:var(--radius-sm);padding:var(--space-md);border:1px solid var(--color-border-light);align-items:center;gap:var(--space-md);cursor:pointer;text-align:left;width:100%;display:flex}.lesson-answer--selected{background:color-mix(in srgb, var(--color-primary) 3%, transparent);border-color:var(--color-primary)}.lesson-answer-radio{border-radius:var(--radius-pill);border:1px solid var(--color-border);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.lesson-answer-radio--selected{border-color:var(--color-primary)}.lesson-answer-radio-dot{border-radius:var(--radius-xs);background:var(--color-primary);width:7px;height:7px}.lesson-answer-checkbox{border-radius:var(--radius-pill);border:2px solid var(--color-border);width:20px;height:20px;color:var(--color-text-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.lesson-answer-checkbox--selected{border-color:var(--color-info)}.lesson-answer-text{font-size:var(--font-base);color:var(--color-text-primary);flex:1;line-height:20px}.lesson-answer-text--selected{color:var(--color-primary-dark);font-weight:500}.lesson-test-actions{gap:var(--space-md);margin-top:var(--space-lg);display:flex}.lesson-test-cancel{background:var(--color-surface-dark);border-radius:var(--radius-sm);padding:var(--space-md);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-base);cursor:pointer;flex:1;font-weight:500}.lesson-test-submit{border:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent);border-radius:var(--radius-sm);padding:var(--space-md);width:100%;color:var(--color-primary);font-size:var(--font-lg);font-weight:var(--weight-medium);cursor:pointer;flex:2;justify-content:center;align-items:center;display:flex}.lesson-test-submit:disabled{opacity:.6;cursor:default}.lesson-test-result{padding:var(--space-md) 0;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.lesson-test-score{font-size:var(--font-display);font-weight:var(--weight-bold);color:var(--color-text-primary)}.lesson-test-percentage{font-size:var(--font-h1);color:var(--color-text-secondary)}.lesson-test-badge{border-radius:var(--radius-xl);padding:var(--space-sm) var(--space-xl);font-size:var(--font-base);font-weight:var(--weight-semibold)}.lesson-test-badge--pass{background:var(--color-success-bg);color:var(--color-success-text)}.lesson-test-badge--fail{background:var(--color-error-bg);color:var(--color-error-text)}.lesson-test-congrats{font-size:var(--font-base);color:var(--color-success-text);text-align:center;margin:0;line-height:22px}.lesson-test-hint{font-size:var(--font-base);color:var(--color-text-secondary);text-align:center;margin:0;line-height:22px}.lesson-attempts-left{font-size:var(--font-sm);color:var(--color-warning);text-align:center;margin:0;font-weight:500}.lesson-retry-btn{background:var(--color-warning);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-xxxl);width:100%;color:var(--color-text-white);font-size:var(--font-lg);font-weight:var(--weight-semibold);cursor:pointer;border:none}.lesson-result-back-btn{background:var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-md);width:100%;color:var(--color-text-white);font-size:var(--font-lg);font-weight:var(--weight-semibold);cursor:pointer;border:none}.lesson-back-link{margin-top:var(--space-sm);padding:var(--space-sm);color:var(--color-primary);font-size:var(--font-base);cursor:pointer;background:0 0;border:none;font-weight:500}.lightbox-overlay{z-index:1000;background:#000000f7;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox-header{z-index:10;padding:calc(env(safe-area-inset-top) + var(--space-md)) var(--space-lg) var(--space-md);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.lightbox-close{border-radius:var(--radius-xl);width:40px;height:40px;color:var(--color-text-white);cursor:pointer;background:#fff3;border:none;justify-content:center;align-items:center;display:flex}.lightbox-counter{color:var(--color-text-white);font-size:var(--font-base);font-weight:var(--weight-semibold);opacity:.85}.lightbox-stage{touch-action:pan-y;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.lightbox-image{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:75vh;transition:transform .2s}.lightbox-image--zoomed{cursor:zoom-out;transform:scale(2.5)}.lightbox-watermark{padding:var(--space-xl);pointer-events:none;flex-wrap:wrap;place-content:space-around;display:flex;position:absolute;inset:0}.lightbox-watermark-text{color:#ffffff26;font-size:var(--font-sm);font-weight:var(--weight-semibold);letter-spacing:1px;transform:rotate(-30deg)}.lightbox-footer{bottom:60px;left:var(--space-lg);right:var(--space-lg);justify-content:center;display:flex;position:absolute}.lightbox-filename{color:#ffffffb3;font-size:var(--font-sm);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.lightbox-dots{justify-content:center;gap:var(--space-sm);display:flex;position:absolute;bottom:30px;left:0;right:0}.lightbox-dot{border-radius:var(--radius-xs);cursor:pointer;background:#ffffff59;border:none;width:7px;height:7px;padding:0;transition:width .2s}.lightbox-dot--active{background:var(--color-surface);width:18px}.lightbox-arrow{border-radius:var(--radius-xl);width:40px;height:40px;color:var(--color-text-white);cursor:pointer;background:#ffffff26;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow--left{left:var(--space-md)}.lightbox-arrow--right{right:var(--space-md)}.audioplayer-overlay{z-index:1000;background:#00000080;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.audioplayer-sheet{background:var(--color-surface);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);padding:var(--space-xl) var(--space-xxxl) calc(var(--space-xxxl) + env(safe-area-inset-bottom));flex-direction:column;align-items:center;display:flex}.audioplayer-icon{border-radius:var(--radius-xxl);background:color-mix(in srgb, var(--color-secondary) 12%, transparent);width:72px;height:72px;color:var(--color-secondary);margin-bottom:var(--space-lg);justify-content:center;align-items:center;display:flex}.audioplayer-title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-xl);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:22px;display:-webkit-box;overflow:hidden}.audioplayer-progress{width:100%;margin-bottom:var(--space-xl)}.audioplayer-track{background:var(--color-border);cursor:pointer;touch-action:none;border-radius:2px;width:100%;height:4px;position:relative}.audioplayer-fill{background:var(--color-secondary);border-radius:2px;height:4px;position:absolute;top:0;left:0}.audioplayer-thumb{border-radius:var(--radius-sm);background:var(--color-secondary);width:14px;height:14px;margin-left:-7px;position:absolute;top:-5px}.audioplayer-time-row{margin-top:var(--space-sm);justify-content:space-between;display:flex}.audioplayer-time{font-size:var(--font-sm);color:var(--color-text-secondary)}.audioplayer-controls{align-items:center;gap:var(--space-xxxl);margin-bottom:var(--space-xl);display:flex}.audioplayer-play{border-radius:var(--radius-xxl);background:var(--color-secondary);width:64px;height:64px;color:var(--color-text-white);cursor:pointer;box-shadow:var(--shadow-medium);border:none;justify-content:center;align-items:center;display:flex}.audioplayer-play:disabled{opacity:.7;cursor:default}.audioplayer-skip{color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;display:flex}.audioplayer-skip-label{font-size:var(--font-xs);color:var(--color-text-secondary)}.audioplayer-rates{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap;justify-content:center;display:flex}.audioplayer-rate{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);border:1.5px solid var(--color-border);background:var(--color-surface-dark);color:var(--color-text-secondary);font-size:var(--font-sm);cursor:pointer;font-weight:500}.audioplayer-rate--active{border-color:var(--color-secondary);background:color-mix(in srgb, var(--color-secondary) 12%, transparent);color:var(--color-secondary);font-weight:var(--weight-semibold)}.audioplayer-close{padding:var(--space-sm) var(--space-xl);color:var(--color-text-secondary);font-size:var(--font-base);cursor:pointer;background:0 0;border:none;font-weight:500}.audioplayer-spinner{border:3px solid #fff6;border-top-color:var(--color-text-white);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite audioplayer-spin}@keyframes audioplayer-spin{to{transform:rotate(360deg)}}.progress-page{padding-bottom:var(--space-xxxl)}.progress-header{background:var(--color-primary);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);padding:20px 16px 32px}.progress-header__title{color:var(--color-text-white);margin:0 0 4px;font-size:28px;font-weight:700}.progress-header__subtitle{font-size:var(--font-base);color:color-mix(in srgb, var(--color-text-white) 75%, transparent);margin:0 0 20px}.progress-stats{background:color-mix(in srgb, var(--color-text-white) 15%, transparent);border-radius:var(--radius-lg);padding:12px 0;display:flex}.progress-stat{flex-direction:column;flex:1;align-items:center;display:flex}.progress-stat__divider{background:color-mix(in srgb, var(--color-text-white) 20%, transparent);width:1px;margin:4px 0}.progress-stat__value{color:var(--color-text-white);font-size:22px;font-weight:700}.progress-stat__label{color:color-mix(in srgb, var(--color-text-white) 80%, transparent);text-align:center;margin-top:4px;font-size:11px}.progress-section-header{align-items:center;margin:20px 16px 12px;display:flex}.progress-section-dot{border-radius:var(--radius-xs);background:var(--color-primary);width:8px;height:8px;margin-right:8px}.progress-section-title{font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.progress-list{padding:0 16px}.progress-empty{flex-direction:column;align-items:center;gap:8px;padding:48px 0;display:flex}.progress-empty__icon{color:var(--color-text-tertiary)}.progress-empty__title{font-size:18px;font-weight:var(--weight-semibold);color:var(--color-text-secondary);margin:0}.progress-empty__text{color:var(--color-text-tertiary);text-align:center;margin:0;font-size:15px}.progress-card{text-align:left;background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;width:100%;margin-bottom:8px;padding:12px;display:block}.progress-card:active{opacity:.75}.progress-card__header{align-items:center;margin-bottom:12px;display:flex}.progress-card__name{font-size:15px;font-weight:var(--weight-semibold);color:var(--color-text-primary);flex:1;line-height:1.35}.progress-card__chevron{color:var(--color-text-tertiary);flex-shrink:0}.progress-card__bar-block{margin-bottom:var(--space-md)}.progress-card__bar-labels{justify-content:space-between;margin-bottom:4px;display:flex}.progress-card__bar-label{font-size:11px;font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.progress-card__bar-value{font-size:11px;font-weight:var(--weight-semibold);color:var(--color-primary)}.progress-card__track{background:var(--color-border);border-radius:var(--radius-sm);height:4px;overflow:hidden}.progress-card__fill{background:var(--color-primary);border-radius:var(--radius-sm);height:100%}.progress-card__fill--complete{background:var(--color-secondary)}.progress-card__lessons{margin-bottom:var(--space-md);font-size:var(--font-base);color:var(--color-text-secondary);align-items:center;gap:4px;display:flex}.progress-card__lessons svg{flex-shrink:0}.progress-card__badges{flex-wrap:wrap;gap:8px;display:flex}.progress-badge{border-radius:var(--radius-pill);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.progress-badge--success{background:var(--color-success-bg);color:var(--color-success-text)}.progress-badge--pending{background:var(--color-warning-bg);color:var(--color-warning)}.profile-page{padding-bottom:var(--space-xxxl)}.profile-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:center;margin-bottom:16px;padding:32px 20px 24px;display:flex}.profile-avatar{border-radius:var(--radius-xxl);background:var(--color-primary);justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:16px;display:flex}.profile-avatar__text{font-size:40px;font-weight:var(--weight-semibold);color:var(--color-text-white)}.profile-name{color:var(--color-text-primary);text-align:center;margin:0 0 4px;font-size:28px;font-weight:700}.profile-email{color:var(--color-text-secondary);text-align:center;margin:0 0 16px;font-size:15px}.profile-roles{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.profile-role-badge{border-radius:var(--radius-pill);font-size:var(--font-base);border:1px solid;padding:4px 12px;font-weight:500}.profile-section{margin-bottom:16px;padding:0 16px}.profile-section-header{align-items:center;margin-bottom:12px;display:flex}.profile-section-dot{border-radius:var(--radius-xs);background:var(--color-primary);width:6px;height:6px;margin-right:8px}.profile-section-label{font-size:11px;font-weight:var(--weight-semibold);color:var(--color-text-tertiary);letter-spacing:.8px}.profile-card{background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:16px}.profile-contact-row{border-bottom:1px solid var(--color-border);align-items:center;margin-bottom:8px;padding:8px 0;display:flex}.profile-contact-icon{flex-shrink:0;width:24px;margin-right:12px}.profile-contact-icon--tg{color:var(--color-primary)}.profile-contact-icon--wa{color:var(--color-secondary)}.profile-contact-icon--phone{color:var(--color-warning)}.profile-contact-label{color:var(--color-text-tertiary);margin-bottom:2px;font-size:11px}.profile-contact-value{color:var(--color-text-primary);font-size:15px;font-weight:500}.profile-empty-contacts{flex-direction:column;align-items:center;margin-bottom:12px;padding:16px 0;display:flex}.profile-empty-contacts__icon{color:var(--color-text-tertiary)}.profile-empty-contacts__title{font-size:15px;font-weight:var(--weight-semibold);color:var(--color-text-secondary);margin:8px 0 4px}.profile-empty-contacts__subtitle{font-size:var(--font-base);color:var(--color-text-tertiary);text-align:center;margin:0}.profile-outline-btn{border:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent);border-radius:var(--radius-sm);width:80%;margin-top:var(--space-lg);color:var(--color-primary);cursor:pointer;justify-content:center;align-items:center;gap:8px;margin-left:auto;margin-right:auto;padding:8px 16px;font-size:15px;font-weight:500;display:flex}.profile-signout-btn{border:1px solid color-mix(in srgb, var(--color-error) 40%, transparent);background:color-mix(in srgb, var(--color-error) 8%, transparent);border-radius:var(--radius-sm);width:72%;font-size:15px;font-weight:var(--weight-semibold);color:var(--color-error);cursor:pointer;margin-top:var(--space-lg);justify-content:center;align-items:center;gap:8px;margin-left:auto;margin-right:auto;padding:12px 20px;display:flex}.profile-modal-subtitle{font-size:var(--font-base);color:var(--color-text-secondary);margin:0 0 20px}.profile-input-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-dark);align-items:center;margin-bottom:12px;display:flex;overflow:hidden}.profile-input-icon{border-right:1px solid var(--color-border);flex-shrink:0;justify-content:center;align-items:center;width:44px;padding:12px 0;display:flex}.profile-input-field{color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;padding:12px;font-size:15px}.profile-modal-buttons{gap:12px;margin-top:8px;display:flex}.profile-modal-cancel{border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;flex:1;padding:12px;font-size:15px;font-weight:500}.profile-modal-save{border:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);background:var(--color-primary);border-radius:var(--radius-pill);color:var(--color-text-white);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:15px;font-weight:500;display:flex}.profile-modal-save:disabled,.profile-modal-cancel:disabled{opacity:.6;cursor:default}.profile-modal-danger{border:1px solid color-mix(in srgb, var(--color-error) 40%, transparent);background:var(--color-error);border-radius:var(--radius-sm);font-size:15px;font-weight:var(--weight-semibold);color:var(--color-text-white);cursor:pointer;flex:1;padding:12px}.exam-page{padding:var(--space-lg)}.exam-list{gap:var(--space-md);flex-direction:column;display:flex}.exam-card{text-align:left;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:var(--space-lg);flex-direction:column;display:flex}.exam-card--pending{border-left:3px solid var(--color-warning);cursor:pointer}.exam-card--pending:active{background-color:var(--color-surface-dark)}.exam-card__header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.exam-card__name{min-width:0;font-size:16px;font-weight:var(--weight-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.exam-status{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);flex-shrink:0;font-size:12px;font-weight:500;display:inline-flex}.exam-status--pending{color:var(--color-warning-dark,var(--color-warning));background-color:color-mix(in srgb, var(--color-warning) 12%, transparent)}.exam-status--success{color:var(--color-success-text);background-color:var(--color-success-bg)}.exam-status--error{color:var(--color-error-text);background-color:var(--color-error-bg)}.exam-status--completed{color:var(--color-secondary);background-color:color-mix(in srgb, var(--color-secondary) 12%, transparent)}.exam-status--muted{color:var(--color-text-secondary);background-color:var(--color-surface-dark)}.exam-card__meta{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);font-size:var(--font-base);color:var(--color-text-secondary);display:flex}.exam-card__meta svg{color:var(--color-text-tertiary,var(--color-text-secondary));flex-shrink:0}.exam-card__meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exam-card__notes{margin-top:var(--space-md);padding:var(--space-md);border-left:3px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-dark)}.exam-card__notes-label{margin-bottom:var(--space-xs);font-size:12px;font-weight:var(--weight-semibold);letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-tertiary,var(--color-text-secondary));display:block}.exam-card__notes-text{color:var(--color-text-secondary);font-size:15px;line-height:1.4}.exam-card__hint{justify-content:center;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);color:var(--color-warning);font-size:12px;font-weight:500;display:flex}.exam-empty{align-items:center;gap:var(--space-sm);padding:var(--space-xxxl) var(--space-xl);text-align:center;flex-direction:column;display:flex}.exam-empty__icon{color:var(--color-text-tertiary,var(--color-text-secondary));opacity:.6}.exam-empty__title{font-size:18px;font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.exam-empty__text{color:var(--color-text-tertiary,var(--color-text-secondary));font-size:15px;line-height:1.4}.exam-modal__subtitle{margin-bottom:var(--space-lg);font-size:var(--font-base);color:var(--color-text-secondary);line-height:1.4}.exam-modal__input{width:100%;padding:var(--space-md);margin-bottom:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);background-color:var(--color-surface);font-family:inherit;font-size:16px}.exam-modal__input::placeholder{color:var(--color-text-tertiary,var(--color-text-secondary))}.exam-modal__input:focus{border-color:var(--color-primary);outline:none}.exam-modal__textarea{resize:vertical;min-height:96px;line-height:1.4}.exam-modal__buttons{gap:var(--space-md);margin-top:var(--space-sm);display:flex}.exam-modal__btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-md);border-radius:var(--radius-pill);border:1px solid #0000;flex:1;font-size:16px;font-weight:500;display:inline-flex}.exam-modal__btn:disabled{opacity:.6}.exam-modal__btn--complete{width:100%;margin-bottom:var(--space-md);color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 40%, transparent);background-color:color-mix(in srgb, var(--color-primary) 8%, transparent)}.exam-modal__btn--reject{color:var(--color-error);border-color:color-mix(in srgb, var(--color-error) 40%, transparent);background-color:color-mix(in srgb, var(--color-error) 8%, transparent)}.exam-modal__btn--approve{color:var(--color-secondary);border-color:color-mix(in srgb, var(--color-secondary) 40%, transparent);background-color:color-mix(in srgb, var(--color-secondary) 8%, transparent)}.dash-page{padding:var(--space-lg)}.dash-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);display:flex}.dash-header__left{flex:1;min-width:0}.dash-header__title{color:var(--color-text-primary);font-size:20px;font-weight:700}.dash-header__subtitle{margin-top:var(--space-xs);font-size:var(--font-base);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dash-role-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);font-size:var(--font-base);font-weight:var(--weight-semibold);color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 12%, transparent);flex-shrink:0;display:inline-flex}.dash-role-badge__dot{background-color:var(--color-primary);border-radius:50%;width:6px;height:6px}.dash-section-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.dash-section-header__dot{background-color:var(--color-primary);border-radius:50%;width:8px;height:8px}.dash-section-header__title{font-size:var(--font-base);font-weight:var(--weight-semibold);letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-secondary)}.dash-cards{gap:var(--space-sm);flex-direction:column;display:flex}.dash-card{align-items:center;gap:var(--space-md);text-align:left;width:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);cursor:pointer;display:flex}.dash-card:active{background-color:var(--color-surface-dark)}.dash-card--primary{--dash-accent:var(--color-primary)}.dash-card--warning{--dash-accent:var(--color-warning)}.dash-card--secondary{--dash-accent:var(--color-secondary)}.dash-card--error{--dash-accent:var(--color-error)}.dash-card__icon{border-radius:var(--radius-sm);width:52px;height:52px;color:var(--dash-accent,var(--color-primary));background-color:color-mix(in srgb, var(--dash-accent,var(--color-primary)) 12%, transparent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.dash-card__body{gap:var(--space-xs);flex-direction:column;flex:1;min-width:0;display:flex}.dash-card__title{font-size:16px;font-weight:var(--weight-semibold);color:var(--color-text-primary)}.dash-card__description{font-size:var(--font-base);color:var(--color-text-secondary);line-height:1.35}.dash-card__chevron{width:30px;height:30px;color:var(--dash-accent,var(--color-primary));background-color:color-mix(in srgb, var(--dash-accent,var(--color-primary)) 8%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dash-card__badge{border-radius:var(--radius-pill);border:1.5px solid var(--color-surface);min-width:18px;height:18px;color:var(--color-text-white);background-color:var(--dash-accent,var(--color-primary));justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-4px;right:-4px}.dash-card__badge-loader{display:inline-flex;position:absolute;top:-6px;right:-6px}.modmgr-page{padding-bottom:var(--space-xxxl)}.modmgr-page__add{justify-content:center;align-items:center;gap:var(--space-sm);width:80%;padding:var(--space-md);margin-left:auto;margin-right:auto;margin-top:var(--space-lg);margin-bottom:var(--space-lg);background:var(--color-primary);color:var(--color-text-white);border-radius:var(--radius-sm);font-size:var(--font-base);font-weight:var(--weight-semibold);cursor:pointer;border:none;display:flex}.modmgr-page__list{gap:var(--space-sm);padding:var(--space-lg) var(--space-xl) var(--space-xl);flex-direction:column;display:flex}.modmgr-page__empty{align-items:center;gap:var(--space-sm);color:var(--color-text-tertiary);text-align:center;flex-direction:column;padding:48px 16px;display:flex}.modmgr-page__empty-title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text-secondary);margin:0}.modmgr-page__empty-text{font-size:var(--font-base);color:var(--color-text-tertiary);margin:0}.module-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md)}.module-card__header{align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.module-card__title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:0;margin-bottom:var(--space-sm);flex:1;line-height:1.35}.module-card__badge{border-radius:var(--radius-pill);font-size:var(--font-xs);flex-shrink:0;padding:3px 8px;font-weight:500}.module-card__badge--open{background:var(--color-success-bg);color:var(--color-success-text)}.module-card__badge--paid{background:color-mix(in srgb, var(--color-warning) 20%, transparent);color:var(--color-warning)}.module-card__description{margin:0 0 var(--space-md);font-size:var(--font-sm);color:var(--color-text-secondary);line-height:1.4}.module-card__actions{gap:var(--space-sm);display:flex}.module-card__action{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;background:0 0;flex:1;font-weight:500;display:flex}.module-card__action--edit{border:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-primary)}.module-card__action--delete{border:1px solid color-mix(in srgb, var(--color-error) 40%, transparent);background:color-mix(in srgb, var(--color-error) 8%, transparent);color:var(--color-error)}.module-card__divider{background:var(--color-border-light);height:1px;margin:var(--space-md) 0}.module-card__management{gap:var(--space-sm);display:flex}.module-card__mgmt{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-dark);font-size:var(--font-sm);cursor:pointer;flex:1;font-weight:500;display:flex}.module-card__mgmt--teachers{color:var(--color-warning)}.module-card__mgmt--lessons{color:var(--color-purple)}.module-form__subtitle{margin:0 0 var(--space-lg);font-size:var(--font-sm);color:var(--color-text-secondary)}.module-form__field{margin-bottom:var(--space-md)}.module-form__switch-row{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.module-form__switch-label{font-size:var(--font-base);color:var(--color-text-primary);font-weight:500}.module-form__toggle{padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-base);cursor:pointer;font-weight:500}.module-form__toggle--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-white)}.module-form__toggle--paid{background:var(--color-warning);border-color:var(--color-warning);color:var(--color-text-white)}.module-form__buttons{gap:var(--space-md);margin-top:var(--space-sm);display:flex}.module-form__btn{padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-base);cursor:pointer;flex:1;justify-content:center;align-items:center;font-weight:500;display:flex}.module-form__btn--cancel{border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);background:var(--color-surface);color:var(--color-text-secondary)}.module-form__btn--save{border:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-primary)}.module-form__btn:disabled{opacity:.6;cursor:default}.teachers-modal__subtitle{margin:0 0 var(--space-lg);font-size:var(--font-sm);color:var(--color-text-secondary)}.teachers-modal__section{margin-bottom:var(--space-lg)}.teachers-modal__section-title{margin:0 0 var(--space-md);font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.8px}.teachers-modal__empty{padding:var(--space-lg) 0;font-size:var(--font-base);color:var(--color-text-tertiary);text-align:center;margin:0}.teachers-modal__row{align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);display:flex}.teachers-modal__avatar{background:color-mix(in srgb, var(--color-primary) 15%, transparent);width:36px;height:36px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.teachers-modal__avatar--add{background:var(--color-success-bg);color:var(--color-success)}.teachers-modal__info{flex-direction:column;flex:1;min-width:0;display:flex}.teachers-modal__name{font-size:var(--font-base);color:var(--color-text-primary);font-weight:500}.teachers-modal__email{font-size:var(--font-sm);color:var(--color-text-secondary)}.teachers-modal__btn{min-width:80px;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;border:none;justify-content:center;align-items:center;font-weight:500;display:flex}.teachers-modal__btn--assign{background:var(--color-success);color:var(--color-text-white)}.teachers-modal__btn--assign:disabled{opacity:.7;cursor:default}.teachers-modal__btn--remove{background:var(--color-error-bg);color:var(--color-error-text)}.module-confirm__text{margin:0 0 var(--space-lg);font-size:var(--font-base);color:var(--color-text-primary)}.module-confirm__buttons{gap:var(--space-md);display:flex}.module-confirm__btn{padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-base);cursor:pointer;flex:1;font-weight:500}.module-confirm__btn--cancel{border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);background:var(--color-surface);color:var(--color-text-secondary)}.module-confirm__btn--danger{background:var(--color-error);color:var(--color-text-white);border:none}.lessons-page{padding:var(--space-lg) var(--space-xl) var(--space-md)}.lessons-page__module-title{margin:0 0 var(--space-md);font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.lessons-page__add{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);margin-bottom:var(--space-lg);background:var(--color-primary);color:var(--color-text-white);border-radius:var(--radius-sm);font-size:var(--font-base);font-weight:var(--weight-semibold);cursor:pointer;border:none;display:flex}.lessons-page__list{gap:var(--space-sm);flex-direction:column;display:flex}.lessons-page__empty{align-items:center;gap:var(--space-sm);color:var(--color-text-tertiary);text-align:center;flex-direction:column;padding:48px 16px;display:flex}.lessons-page__empty-title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text-secondary);margin:0}.lessons-page__empty-text{font-size:var(--font-base);color:var(--color-text-tertiary);margin:0}.lesson-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md)}.lesson-card__header{align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.lesson-card__order{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-primary) 15%, transparent);width:28px;height:28px;color:var(--color-primary);font-size:var(--font-sm);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-weight:700;display:flex}.lesson-card__title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);flex:1;margin:0;line-height:1.8}.lesson-card__description{margin:0 0 var(--space-lg);font-size:var(--font-sm);color:var(--color-text-secondary);line-height:1.4}.lesson-card__actions{gap:var(--space-sm);display:flex}.lesson-card__action{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;border:1px solid #0000;flex:1;font-weight:500;display:flex}.lesson-card__action--edit{color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 40%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.lesson-card__action--delete{color:var(--color-error);border-color:color-mix(in srgb, var(--color-error) 40%, transparent);background:color-mix(in srgb, var(--color-error) 8%, transparent)}.lesson-card__divider{background:var(--color-border);height:1px;margin:var(--space-md) 0}.lesson-card__management{gap:var(--space-sm);display:flex}.lesson-card__mgmt{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;background:var(--color-surface-dark);border:1px solid var(--color-border);flex:1;font-weight:500;display:flex}.lesson-card__mgmt--files{color:var(--color-secondary)}.lesson-card__mgmt--test{color:var(--color-purple)}.lesson-form__subtitle{margin:0 0 var(--space-md);font-size:var(--font-sm);color:var(--color-text-secondary)}.lesson-form__field{margin-bottom:var(--space-md)}.lesson-form__mono,.lesson-form__field .lesson-form__mono textarea,.lesson-form__field textarea.lesson-form__mono{font-family:var(--font-mono,ui-monospace, Menlo, Consolas, monospace);font-size:var(--font-sm)}.lesson-form__buttons{gap:var(--space-md);margin-top:var(--space-sm);display:flex}.lesson-form__btn{padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-base);font-weight:var(--weight-semibold);cursor:pointer;flex:1;justify-content:center;align-items:center;display:flex}.lesson-form__btn--cancel{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.lesson-form__btn--save{background:var(--color-primary);color:var(--color-text-white);border:none}.lesson-form__btn--save:disabled{background:color-mix(in srgb, var(--color-primary) 50%, transparent);cursor:default}.lesson-content__subtitle{margin:0 0 var(--space-md);font-size:var(--font-sm);color:var(--color-text-secondary)}.lesson-content__loader{padding:var(--space-xxxl) 0}.lesson-content__section-title{margin:0 0 var(--space-md);font-size:var(--font-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-secondary)}.lesson-content__section-divider{background:var(--color-border);height:1px;margin:var(--space-lg) 0}.lesson-content__empty{align-items:center;gap:var(--space-sm);padding:var(--space-xl) 0;color:var(--color-text-tertiary);flex-direction:column;display:flex}.lesson-content__empty-text{font-size:var(--font-base);color:var(--color-text-tertiary)}.lesson-content__video-row,.lesson-content__file-row{align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);display:flex}.lesson-content__video-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.lesson-content__video-icon--youtube{color:var(--color-error);background:color-mix(in srgb, var(--color-error) 15%, transparent)}.lesson-content__video-icon--local{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 15%, transparent)}.lesson-content__video-info{flex:1;min-width:0}.lesson-content__video-type{font-size:var(--font-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);display:block}.lesson-content__video-url{font-size:var(--font-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;display:block;overflow:hidden}.lesson-content__add-video-row{gap:var(--space-sm);margin-top:var(--space-md);margin-bottom:var(--space-sm);display:flex}.lesson-content__add-btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;border:1px solid #0000;flex:1;font-weight:500;display:flex}.lesson-content__add-btn:disabled{opacity:.6;cursor:default}.lesson-content__add-btn--mp4{color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 40%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.lesson-content__add-btn--youtube{color:var(--color-error);border-color:color-mix(in srgb, var(--color-error) 40%, transparent);background:color-mix(in srgb, var(--color-error) 8%, transparent)}.lesson-content__yt-block{margin-top:var(--space-md);margin-bottom:var(--space-sm)}.lesson-content__yt-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:10px var(--space-md);font-size:var(--font-sm);color:var(--color-text-primary);background:var(--color-surface-dark);margin-bottom:var(--space-sm)}.lesson-content__yt-actions{gap:var(--space-sm);display:flex}.lesson-content__yt-cancel,.lesson-content__yt-confirm{padding:var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:var(--weight-semibold);cursor:pointer;flex:1;justify-content:center;align-items:center;display:flex}.lesson-content__yt-cancel{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.lesson-content__yt-confirm{background:var(--color-error);color:var(--color-text-white);border:none}.lesson-content__yt-confirm:disabled{background:color-mix(in srgb, var(--color-error) 50%, transparent);cursor:default}.lesson-content__upload-row{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.lesson-content__upload-btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;color:var(--color-secondary);border:1px solid color-mix(in srgb, var(--color-secondary) 40%, transparent);background:color-mix(in srgb, var(--color-secondary) 8%, transparent);flex:1;font-weight:500;display:flex}.lesson-content__upload-btn:disabled{opacity:.6;cursor:default}.lesson-content__file-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.lesson-content__file-info{flex:1;min-width:0}.lesson-content__file-name-row{align-items:center;gap:4px;min-width:0;display:flex}.lesson-content__file-name{font-size:var(--font-base);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.lesson-content__file-lock{color:var(--color-text-secondary);flex-shrink:0}.lesson-content__file-size{font-size:var(--font-sm);color:var(--color-text-secondary);margin-top:1px;display:block}.lesson-content__delete-btn{border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;color:var(--color-error);background:color-mix(in srgb, var(--color-error) 10%, transparent);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lesson-confirm__text{margin:0 0 var(--space-lg);font-size:var(--font-base);color:var(--color-text-primary);line-height:1.4}.lesson-confirm__buttons{gap:var(--space-md);display:flex}.lesson-confirm__btn{padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-base);font-weight:var(--weight-semibold);cursor:pointer;flex:1}.lesson-confirm__btn--cancel{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.lesson-confirm__btn--danger{background:var(--color-error);color:var(--color-text-white);border:none}.lesson-confirm__btn--primary{background:var(--color-primary);color:var(--color-text-white);border:none}.questions-page{padding:var(--space-lg)}.questions-page__lesson-title{margin:0 0 var(--space-lg);font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.questions-page__add{justify-content:center;align-items:center;gap:var(--space-sm);width:80%;padding:var(--space-md);margin-left:auto;margin-right:auto;margin-bottom:var(--space-lg);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-text-white);font-size:var(--font-base);font-weight:var(--weight-semibold);cursor:pointer;border:none;display:flex}.questions-page__empty{align-items:center;gap:var(--space-sm);padding:var(--space-xxxl) var(--space-lg);color:var(--color-text-light);text-align:center;flex-direction:column;display:flex}.questions-page__empty-title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text-secondary);margin:0}.questions-page__empty-text{font-size:var(--font-base);color:var(--color-text-tertiary);margin:0}.questions-page__list{gap:var(--space-sm);flex-direction:column;display:flex}.question-card{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.question-card__header{align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.question-card__order{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-purple) 15%, transparent);width:28px;height:28px;font-size:var(--font-sm);color:var(--color-purple);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-weight:700;display:flex}.question-card__text{font-size:var(--font-base);font-weight:var(--weight-semibold);color:var(--color-text-primary);flex:1;margin:0;line-height:1.35}.question-card__type-badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);font-size:var(--font-xs);white-space:nowrap;flex-shrink:0;font-weight:500}.question-card__type-badge--single{background:color-mix(in srgb, var(--color-info) 12%, transparent);color:var(--color-info)}.question-card__type-badge--multiple{background:color-mix(in srgb, var(--color-warning) 12%, transparent);color:var(--color-warning)}.question-card__answers{gap:var(--space-xs);margin-bottom:var(--space-md);padding-left:calc(28px + var(--space-sm));flex-direction:column;display:flex}.question-card__answer-row{align-items:center;gap:var(--space-xs);display:flex}.question-card__answer-icon{color:var(--color-text-light);flex-shrink:0}.question-card__answer-icon--correct{color:var(--color-success)}.question-card__answer-text{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-sm);color:var(--color-text-secondary);flex:1;overflow:hidden}.question-card__answer-text--correct{color:var(--color-success);font-weight:var(--weight-semibold)}.question-card__actions{gap:var(--space-sm);display:flex}.question-card__action{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;flex:1;font-weight:500;display:flex}.question-card__action--edit{border:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-primary)}.question-card__action--delete{border:1px solid color-mix(in srgb, var(--color-error) 40%, transparent);background:color-mix(in srgb, var(--color-error) 8%, transparent);color:var(--color-error)}.question-form{flex-direction:column;display:flex}.question-form__label{margin-bottom:var(--space-xs);font-size:var(--font-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-secondary)}.question-form__label--section{margin-top:var(--space-lg)}.question-form__input{margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-dark);font-size:var(--font-base);color:var(--color-text-primary);font-family:inherit}.question-form__input--error{border-color:color-mix(in srgb, var(--color-error) 60%, transparent)}.question-form__textarea{resize:vertical;min-height:80px}.question-form__type-row{gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.question-form__type-btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-dark);font-size:var(--font-sm);color:var(--color-text-secondary);cursor:pointer;flex:1;font-weight:500;display:flex}.question-form__type-btn--active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-white)}.question-form__answers-empty{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-dark);font-size:var(--font-sm);color:var(--color-text-tertiary);display:flex}.question-form__answer-item{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-dark);display:flex}.question-form__answer-item--correct{border-color:color-mix(in srgb, var(--color-success) 40%, transparent);background:color-mix(in srgb, var(--color-success) 8%, transparent)}.question-form__correct-toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;display:flex}.question-form__correct-icon--on{color:var(--color-success)}.question-form__correct-icon--off{color:var(--color-text-light)}.question-form__answer-text{text-overflow:ellipsis;font-size:var(--font-base);color:var(--color-text-primary);flex:1;overflow:hidden}.question-form__answer-text--correct{color:var(--color-success);font-weight:500}.question-form__remove-answer{color:var(--color-error);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;display:flex}.question-form__add-answer-row{gap:var(--space-sm);margin-top:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.question-form__add-answer-input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-dark);font-size:var(--font-base);color:var(--color-text-primary);flex:1;font-family:inherit}.question-form__add-answer-btn{border-radius:var(--radius-sm);background:var(--color-primary);width:44px;height:44px;color:var(--color-text-white);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.question-form__add-answer-btn--disabled{background:color-mix(in srgb, var(--color-primary) 50%, transparent);cursor:not-allowed}.question-form__validation-hint{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);padding:0 var(--space-sm);color:var(--color-warning);font-size:var(--font-sm);display:flex}.question-form__buttons{gap:var(--space-md);margin-top:var(--space-md);display:flex}.question-form__btn{padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-base);font-weight:var(--weight-semibold);cursor:pointer;flex:1;justify-content:center;align-items:center;display:flex}.question-form__btn--cancel{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.question-form__btn--save{background:var(--color-primary);color:var(--color-text-white);border:none}.question-form__btn--disabled{opacity:.6;cursor:not-allowed}.question-confirm__text{margin:0 0 var(--space-lg);font-size:var(--font-base);color:var(--color-text-primary);line-height:1.4}.question-confirm__buttons{gap:var(--space-md);display:flex}.question-confirm__btn{padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-base);font-weight:var(--weight-semibold);cursor:pointer;flex:1}.question-confirm__btn--cancel{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.question-confirm__btn--danger{background:var(--color-error);color:var(--color-text-white);border:none}.dir-exam__tabs{gap:var(--space-xs);margin-bottom:var(--space-lg);padding:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-pill);background-color:var(--color-surface);display:flex}.dir-exam__tab{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pill);font-size:var(--font-base);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex:1;font-weight:500;display:inline-flex}.dir-exam__tab--active{background-color:var(--color-purple);color:var(--color-text-white);font-weight:var(--weight-semibold)}.dir-exam__tab-badge{border-radius:var(--radius-pill);background-color:var(--color-border);min-width:20px;font-size:12px;font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-align:center;padding:1px 6px}.dir-exam__tab-badge--active{background-color:color-mix(in srgb, var(--color-text-white) 30%, transparent);color:var(--color-text-white)}.dir-exam__section{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.dir-exam__section-dot{background-color:var(--color-purple);border-radius:50%;width:6px;height:6px}.dir-exam__section-title{font-size:12px;font-weight:var(--weight-semibold);letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-secondary)}.dir-exam__contacts{margin-top:var(--space-xs);gap:var(--space-xs);flex-direction:column;display:flex}.dir-exam__contact{align-items:center;gap:var(--space-sm);font-size:var(--font-base);color:var(--color-info);display:flex}.dir-exam__contact svg{color:var(--color-info);flex-shrink:0}.dir-exam__mark{align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);font-size:var(--font-base);color:var(--color-secondary);font-weight:500;display:flex}.dir-exam__mark svg{flex-shrink:0}.dir-exam__notes{align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.dir-exam__notes svg{color:var(--color-text-tertiary,var(--color-text-secondary));flex-shrink:0;margin-top:2px}.dir-exam__notes span{font-size:var(--font-base);color:var(--color-text-secondary);font-style:italic;line-height:1.4}.admin-hub{flex-direction:column;min-height:100%;display:flex}.admin-hub__header{background:var(--color-surface);padding:var(--space-md) var(--space-lg) 0;border-bottom:1px solid var(--color-border)}.admin-hub__header-top{justify-content:space-between;align-items:center;gap:var(--space-md);padding-bottom:var(--space-md);display:flex}.admin-hub__header-left{flex:1;min-width:0}.admin-hub__title{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:700}.admin-hub__subtitle{font-size:var(--font-base);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;overflow:hidden}.admin-hub__tabs{margin-bottom:-1px}.admin-hub__content{padding:var(--space-lg)}.admin-hub__section-head{margin-bottom:var(--space-md);align-items:center;gap:8px;display:flex}.admin-hub__section-dot{background:var(--color-primary);border-radius:50%;width:8px;height:8px}.admin-hub__section-title{font-size:13px;font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.8px}.admin-hub__cards{gap:var(--space-sm);flex-direction:column;display:flex}.admin-hub__card{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .15s,border-color .15s;display:flex}.admin-hub__card:hover{background:var(--color-surface-dark)}.admin-hub__card:active{transform:scale(.995)}.admin-hub__card-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:relative}.admin-hub__card-badge{border-radius:var(--radius-sm);border:1.5px solid var(--color-surface);min-width:18px;height:18px;color:var(--color-text-white);text-align:center;box-sizing:border-box;padding:0 4px;font-size:10px;font-weight:700;line-height:15px;position:absolute;top:-4px;right:-4px}.admin-hub__card-badge-loader{display:flex;position:absolute;top:-6px;right:-6px}.admin-hub__card-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.admin-hub__card-title{font-size:15px;font-weight:var(--weight-semibold);color:var(--color-text-primary)}.admin-hub__card-desc{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.admin-hub__card-chevron{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.admin-hub__dashboard-stub{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-xxxl) var(--space-lg);color:var(--color-text-tertiary);flex-direction:column;display:flex}.admin-hub__stub-icon{color:var(--color-text-light)}.admin-hub__stub-text{font-size:var(--font-base);color:var(--color-text-secondary);margin:0}.dash{padding:var(--space-lg)}.dash-period-row{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.dash-period-row__label{color:var(--color-text-secondary);font-size:.875rem}.dash-period{gap:var(--space-xs);display:flex}.dash-period__btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;padding:4px 14px;font-size:.875rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.dash-period__btn--active{background:var(--color-info);border-color:var(--color-info);color:var(--color-text-white);font-weight:var(--weight-semibold)}.dash-period__btn:disabled{opacity:.6;cursor:default}.dash-section{align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);margin-bottom:var(--space-sm);display:flex}.dash-section__icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.dash-section__title{font-size:.8125rem;font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.6px}.dash-grid{gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.dash-kpi{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;padding:var(--space-md);flex-direction:column;flex:1;align-items:flex-start;display:flex;box-shadow:0 1px 2px #0000000a}.dash-kpi--alert{border-color:color-mix(in srgb, var(--color-error) 40%, transparent);background:var(--color-error-bg)}.dash-kpi__icon{border-radius:var(--radius-sm);width:36px;height:36px;margin-bottom:var(--space-sm);justify-content:center;align-items:center;display:flex}.dash-kpi__value{color:var(--color-text-primary);margin-bottom:2px;font-size:1.5rem;font-weight:700;line-height:1.1}.dash-kpi__label{color:var(--color-text-secondary);font-size:.75rem;line-height:1.25}.dash-kpi__sub{color:var(--color-text-tertiary);margin-top:2px;font-size:.75rem}.dash-kpi__sub--alert{color:var(--color-error)}.dash-chart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md);overflow:hidden;box-shadow:0 1px 2px #0000000a}.dash-chart__label{color:var(--color-text-secondary);margin-bottom:var(--space-sm);font-size:.875rem;font-weight:500}.dash-chart__nodata{color:var(--color-text-tertiary);text-align:center;padding:var(--space-xl) 0;font-size:.875rem}.dash-exam-row{gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.dash-exam-chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);flex-direction:column;flex:1;align-items:center;display:flex;box-shadow:0 1px 2px #0000000a}.dash-exam-chip__val{font-size:1.25rem;font-weight:700}.dash-exam-chip__label{color:var(--color-text-secondary);margin-top:2px;font-size:.75rem}.dash-funnel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-lg);margin-bottom:var(--space-md);box-shadow:0 1px 2px #0000000a}.dash-funnel__title{font-size:1rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-md)}.dash-funnel__row{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.dash-funnel__label{width:140px;color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:.75rem;overflow:hidden}.dash-funnel__bar-wrap{background:var(--color-surface-dark);border-radius:var(--radius-pill);flex:1;height:5px;overflow:hidden}.dash-funnel__bar{border-radius:var(--radius-pill);min-width:4px;height:5px;display:block}.dash-funnel__count{width:32px;font-size:.875rem;font-weight:var(--weight-semibold);text-align:right;flex-shrink:0}.dash-top-row{gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.dash-top{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;padding:var(--space-md);flex:1;box-shadow:0 1px 2px #0000000a}.dash-top__title{font-size:.875rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-md)}.dash-top__empty{color:var(--color-text-tertiary);text-align:center;padding:var(--space-lg) 0;font-size:.875rem}.dash-top__row{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.dash-top__rank{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:flex}.dash-top__body{flex-direction:column;flex:1;min-width:0;display:flex}.dash-top__name{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:.75rem;overflow:hidden}.dash-top__bar-wrap{background:var(--color-surface-dark);border-radius:var(--radius-pill);height:5px;overflow:hidden}.dash-top__bar{border-radius:var(--radius-pill);min-width:4px;height:5px;display:block}.dash-top__val{width:40px;font-size:.875rem;font-weight:var(--weight-semibold);text-align:right;flex-shrink:0}.dash-expired{align-items:center;gap:var(--space-sm);background:color-mix(in srgb, var(--color-warning) 12%, transparent);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md);display:flex}.dash-expired__icon{color:var(--color-warning);flex-shrink:0}.dash-expired__text{color:var(--color-warning-dark,var(--color-warning));font-size:.875rem}.dash-state{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-xxxl) var(--space-xl);text-align:center;flex-direction:column;display:flex}.dash-state__text{color:var(--color-text-secondary);font-size:1rem}.dash-state__error-icon{color:var(--color-error)}.dash-state__error{color:var(--color-error);font-size:1rem}.dash-state__retry{background:var(--color-error);color:var(--color-text-white);border-radius:var(--radius-pill);font-weight:var(--weight-semibold);cursor:pointer;border:none;padding:8px 24px}.admin-users{padding:var(--space-lg)}.admin-users__actions{gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.admin-users__add,.admin-users__export{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-sm);font-size:1rem;font-weight:var(--weight-semibold);cursor:pointer;flex:1;padding:12px;display:flex}.admin-users__add{background:var(--color-primary);color:var(--color-text-white);border:none}.admin-users__export{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);font-weight:500}.admin-users__list{gap:var(--space-sm);flex-direction:column;display:flex}.admin-users__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);cursor:pointer;transition:border-color .15s}.admin-users__card:hover{border-color:var(--color-primary)}.admin-users__card-header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.admin-users__card-name{font-size:1rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-users__card-right{align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.admin-users__card-date{color:var(--color-text-tertiary);font-size:.75rem}.admin-users__card-delete{color:var(--color-error);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.admin-users__card-delete:hover{background:var(--color-error-bg)}.admin-users__card-email{color:var(--color-text-secondary);margin-bottom:var(--space-sm);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.admin-users__card-roles{gap:var(--space-xs);flex-wrap:wrap;display:flex}.admin-users__role-badge{border-radius:var(--radius-pill);color:var(--role-color);background:color-mix(in srgb, var(--role-color) 12%, transparent);padding:3px 10px;font-size:.75rem;font-weight:500}.admin-users__empty{align-items:center;gap:var(--space-sm);padding:var(--space-xxxl) var(--space-lg);text-align:center;flex-direction:column;display:flex}.admin-users__empty-icon{color:var(--color-text-light)}.admin-users__empty-title{font-size:1.125rem;font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.admin-users__empty-text{color:var(--color-text-tertiary);font-size:1rem}.admin-users__modal-subtitle{color:var(--color-text-secondary);margin:0 0 var(--space-lg);font-size:.875rem}.admin-users__field{margin-bottom:var(--space-sm)}.admin-users__roles-label{color:var(--color-text-primary);margin:var(--space-sm) 0;font-size:1rem;font-weight:500}.admin-users__roles{gap:var(--space-sm);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.admin-users__role-btn{align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);background:var(--color-surface-dark);border-radius:var(--radius-sm);cursor:pointer;text-align:left;display:flex}.admin-users__role-btn--active{border-color:var(--role-color);background:color-mix(in srgb, var(--role-color) 10%, transparent)}.admin-users__role-dot{background:var(--color-border);border-radius:50%;flex-shrink:0;width:18px;height:18px}.admin-users__role-btn--active .admin-users__role-dot{background:var(--role-color)}.admin-users__role-btn-text{color:var(--color-text-secondary);font-size:1rem;font-weight:500}.admin-users__role-btn--active .admin-users__role-btn-text{color:var(--role-color)}.admin-users__modal-actions{gap:var(--space-md);margin-top:var(--space-sm);display:flex}.admin-users__btn-cancel,.admin-users__btn-save,.admin-users__btn-danger{border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:12px;font-size:1rem;font-weight:500}.admin-users__btn-cancel{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.admin-users__btn-save{border:1px solid color-mix(in srgb, var(--color-secondary) 40%, transparent);background:color-mix(in srgb, var(--color-secondary) 8%, transparent);color:var(--color-secondary);justify-content:center;align-items:center;display:flex}.admin-users__btn-danger{background:var(--color-error);color:var(--color-text-white);border:none}.admin-users__export-choices{gap:var(--space-md);display:flex}.admin-users__export-choice{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-dark);color:var(--color-text-primary);font-size:1rem;font-weight:var(--weight-semibold);cursor:pointer;flex:1;padding:14px}.admin-users__export-choice:hover{border-color:var(--color-primary);color:var(--color-primary)}.admin-users__confirm-text{color:var(--color-text-secondary);margin:0 0 var(--space-lg);font-size:.9375rem;line-height:1.5}.admin-user-detail{padding:var(--space-lg) var(--space-lg) var(--space-xxxl)}.admin-user-detail__header-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-lg);margin-bottom:var(--space-lg)}.admin-user-detail__avatar-row{margin-bottom:var(--space-md);align-items:center;display:flex}.admin-user-detail__avatar{border-radius:var(--radius-xxl);background:var(--color-primary);width:52px;height:52px;color:var(--color-text-white);margin-right:var(--space-md);flex-shrink:0;justify-content:center;align-items:center;font-size:1.375rem;font-weight:700;display:flex}.admin-user-detail__avatar-info{flex:1;min-width:0}.admin-user-detail__name{color:var(--color-text-primary);word-break:break-word;margin-bottom:2px;font-size:1.25rem;font-weight:700}.admin-user-detail__email{color:var(--color-text-secondary);word-break:break-word;font-size:.9375rem}.admin-user-detail__stats-row{gap:var(--space-sm);flex-wrap:wrap;display:flex}.admin-user-detail__chip{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--color-surface-dark);border:1px solid var(--color-border);align-items:center;gap:4px;font-size:.8125rem;font-weight:500;display:inline-flex}.admin-user-detail__chip--success{color:var(--color-success)}.admin-user-detail__chip--error{color:var(--color-error-text)}.admin-user-detail__chip--primary{color:var(--color-primary)}.admin-user-detail__section{margin-bottom:var(--space-lg)}.admin-user-detail__section-header{margin-bottom:var(--space-md);align-items:center;display:flex}.admin-user-detail__section-dot{border-radius:var(--radius-xs);background:var(--color-primary);width:6px;height:6px;margin-right:var(--space-sm);flex-shrink:0}.admin-user-detail__section-dot--error{background:var(--color-error)}.admin-user-detail__section-dot--purple{background:var(--color-purple)}.admin-user-detail__section-dot--warning{background:var(--color-warning)}.admin-user-detail__section-dot--primary{background:var(--color-primary)}.admin-user-detail__section-dot--tertiary{background:var(--color-text-tertiary)}.admin-user-detail__section-label{font-size:.75rem;font-weight:var(--weight-semibold);color:var(--color-text-tertiary);letter-spacing:.8px;flex:1}.admin-user-detail__section-label--error{color:var(--color-error)}.admin-user-detail__section-action{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-primary);cursor:pointer;align-items:center;gap:4px;font-size:.75rem;font-weight:500;display:inline-flex}.admin-user-detail__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-lg);margin-bottom:var(--space-sm)}.admin-user-detail__card--blocked{border-color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 8%, transparent)}.admin-user-detail__contact-row{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light);align-items:center;display:flex}.admin-user-detail__contact-row:last-child{border-bottom:none}.admin-user-detail__contact-icon{margin-right:var(--space-md);flex-shrink:0;width:20px}.admin-user-detail__contact-label{color:var(--color-text-tertiary);flex-shrink:0;width:72px;font-size:.8125rem}.admin-user-detail__contact-value{color:var(--color-text-primary);word-break:break-word;flex:1;font-size:.9375rem;font-weight:500}.admin-user-detail__role-row{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.admin-user-detail__role-row:last-child{border-bottom:none}.admin-user-detail__role-left{align-items:center;gap:var(--space-md);display:flex}.admin-user-detail__role-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--role-color,var(--color-primary));background:color-mix(in srgb, var(--role-color,var(--color-primary)) 15%, transparent);justify-content:center;align-items:center;display:flex}.admin-user-detail__role-name{font-size:.9375rem;font-weight:500}.admin-user-detail__role-remove{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;padding:0;display:flex}.admin-user-detail__role-remove:hover{color:var(--color-error)}.admin-user-detail__action-btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);width:100%;padding:var(--space-md);font-size:.9375rem;font-weight:var(--weight-semibold);cursor:pointer;display:flex}.admin-user-detail__action-btn--danger{border:1px solid color-mix(in srgb, var(--color-error) 40%, transparent);background:color-mix(in srgb, var(--color-error) 8%, transparent);color:var(--color-error)}.admin-user-detail__action-btn--success{border:1px solid color-mix(in srgb, var(--color-secondary) 40%, transparent);background:color-mix(in srgb, var(--color-secondary) 8%, transparent);color:var(--color-secondary)}.admin-user-detail__progress-title{font-size:.9375rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-lg)}.admin-user-detail__progress-track{background:var(--color-border-light);border-radius:var(--radius-xs);height:4px;margin-bottom:var(--space-sm);overflow:hidden}.admin-user-detail__progress-bar{background:var(--color-primary);border-radius:var(--radius-xs);height:100%}.admin-user-detail__progress-meta{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.admin-user-detail__progress-percent{font-size:.8125rem;font-weight:var(--weight-semibold);color:var(--color-primary)}.admin-user-detail__progress-lessons{color:var(--color-text-secondary);font-size:.8125rem}.admin-user-detail__exam-badge{background:var(--color-success-bg);color:var(--color-success-text);padding:2px var(--space-sm);border-radius:var(--radius-pill);align-items:center;gap:4px;font-size:.75rem;font-weight:500;display:inline-flex}.admin-user-detail__history-item{background:var(--color-surface-dark);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-sm)}.admin-user-detail__history-item--failed{background:var(--color-error-bg);border-color:var(--color-error-bg)}.admin-user-detail__history-row{align-items:center;gap:var(--space-sm);display:flex}.admin-user-detail__history-ip{color:var(--color-text-primary);flex:1;font-size:.9375rem;font-weight:500}.admin-user-detail__history-time{color:var(--color-text-tertiary);font-size:.75rem}.admin-user-detail__empty-text{color:var(--color-text-tertiary);text-align:center;padding:var(--space-md) 0;font-size:.9375rem}.admin-user-detail__empty-state{padding:var(--space-xxl) 0;flex-direction:column;align-items:center;display:flex}.admin-user-detail__empty-icon{color:var(--color-text-light)}.admin-user-detail__empty-title{font-size:.9375rem;font-weight:var(--weight-semibold);color:var(--color-text-secondary);margin-top:var(--space-sm);margin-bottom:var(--space-xs)}.admin-user-detail__empty-subtitle{color:var(--color-text-tertiary);text-align:center;font-size:.8125rem}.admin-user-detail__role-options{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;display:flex}.admin-user-detail__role-option{border:1px solid var(--color-border);background:var(--color-surface-dark);border-radius:var(--radius-sm);padding:var(--space-md);cursor:pointer;color:var(--color-text-primary);justify-content:space-between;align-items:center;display:flex}.admin-user-detail__role-option--active{border-color:var(--role-color,var(--color-primary));background:color-mix(in srgb, var(--role-color,var(--color-primary)) 10%, transparent);color:var(--role-color,var(--color-primary))}.admin-user-detail__role-option-left{align-items:center;gap:var(--space-md);display:flex}.admin-user-detail__role-option-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--role-color,var(--color-primary));background:color-mix(in srgb, var(--role-color,var(--color-primary)) 20%, transparent);justify-content:center;align-items:center;display:flex}.admin-user-detail__role-option-text{font-size:.9375rem;font-weight:500}.admin-settings{padding:var(--space-lg) var(--space-lg) var(--space-xxxl)}.admin-settings__section{margin-bottom:var(--space-lg)}.admin-settings__section-header{margin-bottom:var(--space-md);align-items:center;display:flex}.admin-settings__section-dot{border-radius:var(--radius-xs);background:var(--color-primary);width:6px;height:6px;margin-right:var(--space-sm);flex-shrink:0}.admin-settings__section-dot--warning{background:var(--color-warning)}.admin-settings__section-dot--primary{background:var(--color-primary)}.admin-settings__section-label{font-size:.75rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);letter-spacing:.8px}.admin-settings__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-sm)}.admin-settings__row{align-items:center;gap:var(--space-md);display:flex}.admin-settings__icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.admin-settings__icon--primary{background:color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-primary)}.admin-settings__info{flex:1;min-width:0}.admin-settings__label{font-size:.9375rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-xs);display:block}.admin-settings__desc{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.4;display:block}.admin-settings__toggle{border-radius:var(--radius-pill);background:var(--color-border);cursor:pointer;border:none;flex-shrink:0;width:48px;height:28px;padding:2px;transition:background .2s}.admin-settings__toggle--on{background:var(--color-primary)}.admin-settings__toggle:disabled{opacity:.5;cursor:default}.admin-settings__toggle-knob{background:var(--color-surface);border-radius:50%;width:24px;height:24px;transition:transform .2s;display:block;box-shadow:0 1px 3px #0003}.admin-settings__toggle--on .admin-settings__toggle-knob{transform:translate(20px)}.admin-settings__counter{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.admin-settings__counter-btn{border-radius:var(--radius-xl);background:var(--color-surface-dark);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-primary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-settings__counter-btn:disabled{opacity:.4;cursor:default;color:var(--color-text-light)}.admin-settings__counter-value{flex-direction:column;align-items:center;display:flex}.admin-settings__counter-number{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;line-height:1}.admin-settings__counter-unit{color:var(--color-text-secondary);margin-top:var(--space-xs);font-size:.8125rem}.admin-settings__watermark-input{margin-top:var(--space-md)}.admin-settings__save-btn{margin-top:var(--space-sm);background:var(--color-primary);width:100%;color:var(--color-text-white);border-radius:var(--radius-sm);font-size:.9375rem;font-weight:var(--weight-semibold);cursor:pointer;border:none;padding:10px}.admin-settings__save-btn:disabled{opacity:.6;cursor:default}.admin-settings__regen-btn{margin-top:var(--space-md);background:var(--color-secondary);width:100%;min-height:42px;color:var(--color-text-white);border-radius:var(--radius-sm);font-size:.9375rem;font-weight:var(--weight-semibold);justify-content:center;align-items:center;gap:var(--space-sm);cursor:pointer;border:none;padding:10px;display:inline-flex}.admin-settings__regen-btn:disabled{opacity:.6;cursor:default}.admin-settings__confirm-text{color:var(--color-text-secondary);margin:0 0 var(--space-lg);font-size:.9375rem;line-height:1.5}.admin-settings__confirm-actions{gap:var(--space-sm);display:flex}.admin-logs{padding:var(--space-lg) var(--space-lg) var(--space-xxxl)}.admin-logs__search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-md);margin-bottom:var(--space-md);align-items:center;display:flex}.admin-logs__search-icon{color:var(--color-text-secondary);margin-right:var(--space-sm);flex-shrink:0}.admin-logs__search-input{min-width:0;height:44px;color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.9375rem}.admin-logs__search-clear{padding:var(--space-xs);color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;flex-shrink:0;display:inline-flex}.admin-logs__filters{gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.admin-logs__filter{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);cursor:pointer;flex-direction:column;flex:1;align-items:center;display:flex;position:relative;overflow:hidden}.admin-logs__filter--active-primary{border-color:var(--color-primary)}.admin-logs__filter--active-success{border-color:var(--color-success)}.admin-logs__filter--active-error{border-color:var(--color-error)}.admin-logs__filter-value{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;line-height:1.1}.admin-logs__filter-value--primary{color:var(--color-primary)}.admin-logs__filter-value--success{color:var(--color-success)}.admin-logs__filter-value--error{color:var(--color-error)}.admin-logs__filter-label{color:var(--color-text-secondary);margin-top:2px;font-size:.6875rem}.admin-logs__filter-indicator{height:3px;position:absolute;bottom:0;left:0;right:0}.admin-logs__filter-indicator--primary{background:var(--color-primary)}.admin-logs__filter-indicator--success{background:var(--color-success)}.admin-logs__filter-indicator--error{background:var(--color-error)}.admin-logs__blocked{background:color-mix(in srgb, var(--color-warning) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-warning) 38%, transparent);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md)}.admin-logs__blocked-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);color:var(--color-warning);display:flex}.admin-logs__blocked-title{font-size:.9375rem;font-weight:var(--weight-semibold);color:var(--color-warning);flex:1}.admin-logs__blocked-badge{background:var(--color-warning);color:var(--color-text-white);font-size:.6875rem;font-weight:var(--weight-semibold);padding:2px var(--space-sm);border-radius:var(--radius-pill)}.admin-logs__ip-card{align-items:center;gap:var(--space-sm);background:var(--color-surface);border:1px solid color-mix(in srgb, var(--color-warning) 25%, transparent);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-xs);display:flex}.admin-logs__ip-card:last-child{margin-bottom:0}.admin-logs__ip-icon{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-warning) 15%, transparent);width:36px;height:36px;color:var(--color-warning);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-logs__ip-info{flex:1;min-width:0}.admin-logs__ip-address{font-size:.875rem;font-weight:var(--weight-semibold);color:var(--color-warning);margin-bottom:var(--space-xs);display:block}.admin-logs__ip-attempts{color:var(--color-text-secondary);font-size:.6875rem;display:block}.admin-logs__ip-unblock{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--color-error) 40%, transparent);background:color-mix(in srgb, var(--color-error) 8%, transparent);color:var(--color-error);cursor:pointer;flex-shrink:0;font-size:.6875rem;font-weight:500;display:inline-flex}.admin-logs__list-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.admin-logs__list-title{font-size:.9375rem;font-weight:var(--weight-semibold);color:var(--color-text-primary)}.admin-logs__list-subtitle{color:var(--color-text-secondary);font-size:.8125rem}.admin-logs__item{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-xs)}.admin-logs__item--success{border-left-color:var(--color-success)}.admin-logs__item--failed{background:color-mix(in srgb, var(--color-error) 6%, transparent);border-color:color-mix(in srgb, var(--color-error) 25%, transparent);border-left-color:var(--color-error)}.admin-logs__item-header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.admin-logs__item-email{min-width:0;font-size:.875rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.admin-logs__item-status{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);flex-shrink:0;font-size:.6875rem;font-weight:500;display:inline-flex}.admin-logs__item-status--success{background:color-mix(in srgb, var(--color-success) 15%, transparent);color:var(--color-success)}.admin-logs__item-status--failed{background:color-mix(in srgb, var(--color-error) 15%, transparent);color:var(--color-error-text)}.admin-logs__item-details{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.admin-logs__item-detail{align-items:center;gap:var(--space-xs);min-width:0;color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.6875rem;display:inline-flex;overflow:hidden}.admin-logs__item-detail svg{flex-shrink:0}.admin-logs__empty{text-align:center;padding:var(--space-xxxxl) var(--space-lg);align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.admin-logs__empty-icon{color:var(--color-text-light)}.admin-logs__empty-title{font-size:1.0625rem;font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.admin-logs__empty-text{color:var(--color-text-tertiary);font-size:.9375rem}.admin-logs__footer{padding:var(--space-lg) 0;justify-content:center;display:flex}.admin-logs__load-more{background:var(--color-surface-dark);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-md) var(--space-xl);color:var(--color-text-secondary);cursor:pointer;font-size:.9375rem;font-weight:500}.exam-tabs{gap:var(--space-xs);margin-bottom:var(--space-lg);padding:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-pill);background-color:var(--color-surface);scrollbar-width:none;display:flex;overflow-x:auto}.exam-tabs::-webkit-scrollbar{display:none}.exam-tabs__tab{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pill);font-size:var(--font-base);color:var(--color-text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:none;font-weight:500;display:inline-flex}.exam-tabs__tab--active{background-color:var(--color-purple);color:var(--color-text-white);font-weight:var(--weight-semibold)}.exam-tabs__badge{border-radius:var(--radius-pill);background-color:var(--color-border);min-width:20px;font-size:12px;font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-align:center;padding:1px 6px}.exam-tabs__badge--active{background-color:color-mix(in srgb, var(--color-text-white) 30%, transparent);color:var(--color-text-white)}.exam-modal__status{margin-bottom:var(--space-md);display:inline-flex}.exam-modal__row{margin-bottom:var(--space-md);flex-direction:column;gap:2px;display:flex}.exam-modal__label{font-size:12px;font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.exam-modal__value{color:var(--color-text-primary);white-space:pre-wrap;font-size:15px}.exam-modal__btn--profile{width:100%;margin-top:var(--space-sm);background-color:color-mix(in srgb, var(--color-purple) 12%, transparent);color:var(--color-purple)}.app-header{z-index:900;min-height:52px;padding:var(--space-xs) var(--space-sm);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-light);align-items:center;display:flex;position:sticky;top:0}.app-header__side{flex:0 0 40px;align-self:stretch;align-items:center;display:flex}.app-header__main{flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;display:flex}.app-header__context{font-size:var(--font-xs);font-weight:var(--weight-medium);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;overflow:hidden}.app-header__back{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-text-primary);justify-content:center;align-items:center;transition:background-color .15s;display:flex}.app-header__back:hover{background-color:color-mix(in srgb, var(--color-text-primary) 8%, transparent)}.app-header__title{min-width:0;font-size:var(--font-h2);font-weight:var(--weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;overflow:hidden}.admin-hub__role-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-primary) 15%, transparent);flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:4px 12px;display:inline-flex}.admin-hub__role-dot{background:var(--color-primary);border-radius:50%;width:6px;height:6px}.admin-hub__role-text{font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--color-primary)}.install-prompt{left:0;right:0;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));z-index:850;justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:var(--shadow-medium);display:flex;position:fixed}.install-prompt__body{flex-direction:column;gap:2px;min-width:0;display:flex}.install-prompt__title{font-size:var(--font-base);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.install-prompt__text{color:var(--color-text-secondary);font-size:12px}.install-prompt__inline-icon{vertical-align:-2px;color:var(--color-primary)}.install-prompt__actions{align-items:center;gap:var(--space-sm);flex:none;display:flex}.install-prompt__btn-install{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-text-white);font-size:13px;font-weight:var(--weight-semibold);cursor:pointer;border:none;display:inline-flex}.install-prompt__btn-dismiss{padding:var(--space-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:inline-flex}
