@import"https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800&display=swap";@import"https://fonts.googleapis.com/css2?family=Amiri:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;600;700&display=swap";:root{font-family:Lexend,Inter,system-ui,-apple-system,sans-serif;background-color:#0f172a;color:#0f172a;--surface: #ffffff;--surface-muted: #f6f6f8;--accent: #135bec;--muted: #475569;--danger: #dc2626;--success: #047857;--border: #e2e8f0}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--surface-muted);color:#0f172a;overflow-x:hidden}#root{min-height:100vh}button,input,select,textarea{font-family:inherit}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px;background:linear-gradient(180deg,#0f172a,#0f172a 60%,#f6f6f8 60%)}.login-card{width:min(460px,100%);background:var(--surface);border-radius:28px;padding:40px;box-shadow:0 30px 60px #0f172a59;display:flex;flex-direction:column;gap:24px}.login-card h1{margin:0;font-size:32px}.login-card p{margin:0;color:var(--muted)}.login-form{display:flex;flex-direction:column;gap:16px}.form-label{font-size:13px;font-weight:600;color:#0f172a;margin-bottom:6px;display:block}.form-field{display:flex;flex-direction:column;gap:6px}.form-field--compact{gap:4px}.form-description{margin:0;font-size:12px;color:var(--muted)}.file-upload{display:flex;flex-direction:column;gap:8px}.file-upload__actions{display:flex;align-items:center;gap:12px}.file-upload__button{border-radius:16px;padding:10px 18px;gap:6px;display:inline-flex;align-items:center}.file-upload__link{font-size:14px;color:var(--accent);text-decoration:none;font-weight:600}.file-upload__link:hover{text-decoration:underline}.file-upload__description{margin:0;font-size:13px;color:var(--muted)}.file-upload__input{display:none}.file-upload__status{margin:0;font-size:13px;color:var(--muted)}.form-input{border:1px solid var(--border);border-radius:14px;padding:12px 16px;font-size:16px;background:#f9fafb;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #135bec33}.form-error{color:var(--danger);margin:0;font-size:13px}.btn{border:none;border-radius:999px;padding:10px 18px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px #135bec59}.btn--ghost{background:#f4f4f6;color:#0f172a}.panel{background:var(--surface);border-radius:24px;padding:32px;box-shadow:0 18px 50px #0f172a1f;margin-bottom:24px}.panel__header{margin-bottom:24px}.panel__header--split{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.panel__header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.panel__subtitle{margin:4px 0 0;color:var(--muted)}.panel--placeholder{text-align:center}.panel--alert{border-left:4px solid var(--danger)}.profile-panel{display:flex;flex-direction:column;gap:24px}.profile-panel__header{display:flex;align-items:center;gap:16px}.profile-panel__avatar{width:88px;height:88px;border-radius:999px;background:#e0e7ff;border:2px solid rgba(19,91,236,.25);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-weight:700;color:#0f172a;position:relative}.profile-panel__body{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:24px;align-items:start}.profile-panel__summary{background:var(--surface-muted);border:1px solid var(--border);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px}.profile-panel__summary-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.profile-panel__summary-value{margin:0;font-size:18px;font-weight:700}.profile-panel__summary-row{display:flex;flex-direction:column;gap:6px}.profile-panel__form{display:flex;flex-direction:column;gap:18px}.profile-panel__field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.profile-panel__form-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.profile-panel__form-footer .btn--ghost{padding:10px 20px;color:var(--accent)}.security-panel{display:flex;flex-direction:column;gap:20px}.security-panel__header{display:flex;flex-direction:column;gap:6px}.security-panel__form{display:flex;flex-direction:column;gap:18px}.security-panel__actions{display:flex;justify-content:flex-start;gap:12px}.status-text{color:var(--muted);text-align:center;margin:12px 0}.status-text--error{color:var(--danger)}.status-text--muted{color:#667085}.teacher-dashboard__cta,.student-dashboard__cta{margin-top:20px}.teacher-sessions-shell,.student-sessions-shell{display:flex;flex-direction:column;gap:20px;max-width:1100px;margin:0 auto;padding-bottom:40px}.teacher-sessions__hero{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:32px;display:flex;justify-content:space-between;gap:32px;align-items:center;flex-wrap:wrap;box-shadow:0 20px 45px #0f172a14}.teacher-sessions__hero-meta{max-width:280px;color:var(--muted);font-size:14px;line-height:1.4}.teacher-sessions__hero-meta-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.teacher-sessions__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.teacher-sessions__metrics article{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 16px 35px #0f172a14}.teacher-sessions__metrics article strong{display:block;font-size:28px;margin-top:8px}.teacher-sessions__list{display:flex;flex-direction:column;gap:16px}.session-card{background:var(--surface);border-radius:22px;border:1px solid var(--border);padding:24px;box-shadow:0 20px 45px #0f172a14}.session-card__header{display:flex;justify-content:space-between;gap:16px;align-items:center}.session-card__header h3{margin:6px 0 0;font-size:20px}.session-card__meta{margin:16px 0;display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted)}.session-card__actions{display:flex;gap:12px;flex-wrap:wrap}.session-card__button{min-width:140px;font-weight:600}.session-pill{border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.session-pill--scheduled{background:#135bec26;color:var(--accent)}.session-pill--live{background:#10b9812e;color:#047857}.session-pill--ended{background:#eab30833;color:#78350f}.session-pill--cancelled{background:#ef444426;color:#b91c1c}.student-sessions__hero{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;box-shadow:0 16px 40px #0f172a14}.student-sessions__hero-actions{display:flex;gap:8px;flex-wrap:wrap}.student-sessions__chip{background:var(--surface-muted);border-radius:999px;padding:6px 14px;font-size:12px;color:var(--muted);font-weight:600}.student-sessions__list{display:flex;flex-direction:column;gap:14px}.student-session-card{border-radius:20px;border:1px solid var(--border);padding:20px;background:var(--surface);box-shadow:0 18px 40px #0f172a14}.student-session-card__body{display:flex;justify-content:space-between;gap:16px;align-items:center}.student-session-card__subject{margin:0;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.student-session-card__body h3{margin:4px 0;font-size:18px}.student-session-card__teacher{margin:0;font-size:12px;color:var(--muted)}.student-session-card__status{padding:6px 14px;border-radius:999px;background:#0f172a0f;font-size:12px;font-weight:600}.student-session-card__info{margin-top:12px;display:flex;justify-content:space-between;font-size:13px;color:var(--muted);flex-wrap:wrap;gap:12px}.student-session-card__link{color:var(--accent);font-weight:600}.student-session-card__actions{margin-top:16px;display:flex}.student-session-card__badge{background:#10b98124;border-radius:14px;padding:4px 12px;font-size:11px;color:#047857;margin-left:12px;align-self:center}.student-session-card__feedback{margin-left:12px}.feedback-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a4d;display:flex;align-items:flex-start;justify-content:center;padding:clamp(16px,4vh,32px);overflow-y:auto;z-index:200}.feedback-modal__content{background:var(--surface);border-radius:28px;padding:32px;width:min(520px,100%);box-shadow:0 18px 50px #0f172a33;margin:auto}.feedback-modal__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.feedback-modal__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.feedback-rating{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin:16px 0}.feedback-rating__option{border:1px solid var(--border);border-radius:18px;padding:12px;background:#fff;cursor:pointer;text-align:center;display:flex;flex-direction:column;gap:4px;transition:border-color .2s ease,box-shadow .2s ease}.feedback-rating__option--active{border-color:var(--accent);box-shadow:0 12px 30px #135bec33}.feedback-rating__value{font-size:20px;font-weight:700}.feedback-rating__label{font-size:12px;color:var(--muted)}.feedback-form__textarea{min-height:120px}.app-shell{min-height:100vh;width:100%;overflow-x:hidden;background:linear-gradient(180deg,#f6f6f8,#f6f6f8)}.app-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:24px 48px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 5px 30px #0f172a14}.app-header__brand{display:flex;align-items:center;gap:16px;min-width:0}.app-header__brand>div{min-width:0}.annajah-brand{display:inline-flex;align-items:center;gap:14px;min-width:0}.annajah-brand__logo-frame{width:72px;height:72px;padding:8px;border-radius:20px;background:#fffffff5;border:1px solid rgba(148,163,184,.18);box-shadow:0 12px 30px #0f172a1f;flex-shrink:0}.annajah-brand__logo{width:100%;height:100%;display:block;object-fit:contain;border-radius:14px}.annajah-brand__copy{display:flex;flex-direction:column;gap:4px;min-width:0}.annajah-brand__name,.annajah-brand__tagline{margin:0}.annajah-brand__name{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--platform-accent, #0f172a)}.annajah-brand__tagline{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);line-height:1.4}.annajah-brand--hero .annajah-brand__logo-frame{width:112px;height:112px;padding:10px;border-radius:28px}.annajah-brand--hero .annajah-brand__name{font-size:18px}.annajah-brand--hero .annajah-brand__tagline{font-size:12px}.brand-icon{font-size:32px;color:var(--accent);background:#135bec1a;padding:8px;border-radius:14px;flex-shrink:0}.app-header__brand h1{margin:0;font-size:22px;overflow-wrap:anywhere}.app-header__pretitle{margin:0;text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--muted)}.app-header__actions{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap;justify-content:flex-end}.app-header__user{position:relative}.app-header__user-button{border:none;background:#0f172a0a;border-radius:16px;padding:8px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;color:#0f172a;transition:background .2s ease,box-shadow .2s ease;min-width:0;max-width:100%}.app-header__user-button:hover{background:#135bec14;box-shadow:0 5px 15px #0f172a26}.app-header__user-data{display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0}.app-header__user-name{font-weight:700;font-size:14px}.app-header__user-role{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.app-header__user-arrow{font-size:18px;color:var(--muted)}.app-header__menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 45px #0f172a2e;display:flex;flex-direction:column;overflow:hidden;min-width:180px;z-index:10}.app-header__menu-item{padding:12px 16px;color:#0f172a;text-decoration:none;font-weight:600;display:block}.app-header__menu-item:first-child{border-bottom:1px solid var(--border)}.app-header__menu-item:hover{background:var(--surface-muted);color:var(--accent)}.icon-button{border:none;background:#0f172a0a;width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.icon-button__badge{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#ef4444}.pill-button{background:#135bec26;border-radius:999px;border:none;padding:8px 16px;font-weight:600;color:var(--accent)}.avatar{width:44px;height:44px;border-radius:999px;background:#e0e7ff;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:#0f172a;font-weight:600;text-transform:uppercase;overflow:hidden}.avatar__initials{font-size:14px;letter-spacing:.12em}.app-body{display:flex;gap:24px;padding:24px 48px 88px;align-items:flex-start;width:100%;max-width:100%}.app-sidebar{width:240px;background:var(--surface);border-radius:24px;padding:24px;box-shadow:0 20px 40px #0f172a14;flex-shrink:0;transition:width .2s ease,padding .2s ease}.app-sidebar--collapsed{width:96px;padding:20px 14px}.app-sidebar__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.app-sidebar__toggle{width:36px;height:36px;border-radius:12px;border:1px solid var(--border);background:#fff;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.app-sidebar--collapsed .app-sidebar__header{justify-content:center}.sidebar-label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:block}.app-sidebar--collapsed .sidebar-label{display:none}.sidebar-nav{display:flex;flex-direction:column;gap:10px}.sidebar-section{display:flex;flex-direction:column;gap:8px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;color:#0f172a;text-decoration:none;font-weight:600}.sidebar-section__toggle{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:16px;background:transparent;color:#0f172a;font:inherit;font-weight:600;cursor:pointer;text-align:left}.app-sidebar--collapsed .sidebar-link,.app-sidebar--collapsed .sidebar-section__toggle{justify-content:center;padding:12px 0}.sidebar-link--active,.sidebar-section__toggle--active{background:#135bec14;color:var(--accent)}.sidebar-link__icon{font-size:24px;flex-shrink:0}.sidebar-section__children{display:flex;flex-direction:column;gap:8px;padding-left:16px}.sidebar-section__chevron{margin-left:auto;font-size:20px}.app-sidebar--collapsed .sidebar-link__label{display:none}.app-sidebar--collapsed .sidebar-section__children{padding-left:0}.app-sidebar--collapsed .sidebar-section__chevron{display:none}.app-main{flex:1;min-width:0;max-width:100%}.app-footer{display:none;background:var(--surface);padding:16px 48px;border-top:1px solid var(--border);justify-content:space-between;align-items:center}.footer-tabs{display:flex;gap:16px}.footer-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;min-height:52px;font-size:10px;color:var(--muted);text-decoration:none;gap:4px;background:transparent;border:0;cursor:pointer;font:inherit;padding:0}.footer-tab span:first-child{font-size:22px}.footer-tab--active{color:var(--accent)}.footer-help{color:var(--muted);font-size:13px}.dashboard-alert{background:#fff1f0;border-radius:18px;border:1px solid rgba(251,191,36,.5);padding:24px;display:flex;justify-content:space-between;gap:16px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.section{margin-top:32px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 12px 25px #0f172a14}.metric-card__value{font-size:30px;margin:8px 0}.metric-card__trend{font-size:12px;color:var(--muted)}.feedback-summary-grid{gap:20px}.feedback-summary__range{margin-top:16px;color:var(--muted);font-size:13px}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.quick-actions__item{border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:600;background:var(--surface);cursor:pointer;transition:transform .2s ease}.quick-actions__item:hover{transform:translateY(-2px)}.dashboard-menu-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.dashboard-menu-card{display:flex;gap:14px;align-items:flex-start;min-height:132px;padding:18px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:#0f172a;text-decoration:none;font-weight:600;box-shadow:0 12px 25px #0f172a14;transition:transform .2s ease,border-color .2s ease}.dashboard-menu-card:hover{transform:translateY(-2px);border-color:#135bec47}.dashboard-menu-card__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#135bec14;color:var(--accent)}.dashboard-menu-card__content{display:flex;flex-direction:column;gap:6px}.dashboard-menu-card__content strong{display:block;font-size:16px}.dashboard-menu-card__content p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}@media(min-width:640px){.dashboard-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.dashboard-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.activity-feed{display:flex;flex-direction:column;gap:12px}.activity-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface);border-radius:14px;border:1px solid var(--border);box-shadow:0 10px 20px #0f172a0f}.activity-card__icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.activity-card__icon span{font-size:24px}.activity-card__icon--success{background:#10b98126;color:#059669}.activity-card__icon--warning{background:#fbbf2426;color:#bb8500}.activity-card__content strong{display:block;font-size:15px}.activity-card__content p{margin:0;color:var(--muted);font-size:12px}.activity-card__value{margin-left:auto;font-weight:700}.panel{background:var(--surface);border-radius:24px;padding:32px;margin-bottom:24px;box-shadow:0 16px 45px #0f172a1f}.admin-reports__filters{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;margin-bottom:16px}.report-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px}.report-tab{border:1px solid var(--border);border-radius:999px;padding:8px 18px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;background:transparent;color:var(--muted);cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.report-tab--active{background:var(--accent);border-color:var(--accent);color:#fff}.report-tab__subtitle{font-size:12px;color:var(--muted);margin-left:auto}.report-content{margin-top:16px}.report-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.report-metric-card{border:1px solid var(--border);border-radius:20px;padding:18px;background:var(--surface);box-shadow:0 10px 30px #0f172a14}.report-metric-card__label{margin:0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.report-metric-card__value{margin:8px 0 0;font-size:26px;font-weight:700}.attendance-shell__progress{margin-bottom:20px}.attendance-shell__progress-track{width:100%;height:10px;border-radius:999px;background:#ebebf0;overflow:hidden}.attendance-shell__progress-bar{height:100%;background:var(--accent)}.attendance-shell__rate{margin:12px 0 0;font-size:18px;font-weight:600}.report-actions{display:flex;align-items:center;gap:8px}.audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.audit-filters__actions{display:flex;align-items:flex-end;gap:8px}.audit-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.settings-grid{display:flex;flex-direction:column;gap:16px;margin-top:16px}.settings-row{border:1px solid var(--border);border-radius:20px;padding:18px;gap:12px;background:var(--surface);display:flex;flex-direction:column}.settings-row__meta{display:flex;flex-direction:column;gap:4px}.settings-row__key{margin:0;font-weight:700}.settings-row__updated{margin:0;color:var(--muted);font-size:12px}.settings-row__actions{display:flex;justify-content:flex-end}.settings-row__actions--spread{justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.health-card{border:1px solid var(--border);border-radius:16px;padding:16px;text-align:center}.health-card__value{font-size:24px;font-weight:700}.health-card__value--success{color:#059669}.health-card__value--warning{color:#c2410c}.table-wrapper{display:flex;flex-direction:column;gap:12px}.table-wrapper__toolbar{display:flex;justify-content:flex-end}.table-wrapper__content{overflow-x:auto}.table-wrapper__refresh{width:40px;height:40px}.table-wrapper__refresh:disabled{cursor:wait;opacity:.7}.table-wrapper__refresh-icon--spinning{animation:table-refresh-spin .8s linear infinite}@keyframes table-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-table{width:100%;border-collapse:collapse}.table-card-list{display:none}.app-table th,.app-table td{padding:14px 10px;border-bottom:1px solid #f0f0f0;text-align:left}.app-table__empty{text-align:center;color:var(--muted);padding:32px}.table-card-list__empty{border:1px dashed var(--border);border-radius:18px;padding:24px;text-align:center;color:var(--muted);background:#fff}.table-card-item{display:grid;gap:14px;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 12px 25px #0f172a14}.table-card-item__row{display:grid;grid-template-columns:minmax(96px,124px) minmax(0,1fr);gap:12px;align-items:start}.table-card-item__label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}.table-card-item__value{color:#0f172a;min-width:0}.table-card-item__value .btn,.table-card-item__value button,.table-card-item__value a{min-height:44px}.table-card-item+.table-card-item{margin-top:14px}.feedback-table th{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.feedback-filters{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.feedback-table__time{display:block;font-size:12px;color:#475569;margin-top:4px}.feedback-table__comment{white-space:pre-line}.rating-pill{border-radius:999px;padding:6px 14px;background:#135bec2e;color:var(--accent);font-weight:700;display:inline-flex}.attendance-table td{vertical-align:middle}.attendance-table .form-input{width:100%}.attendance-table .btn{min-width:90px}.roles-row{display:flex;flex-wrap:wrap;gap:6px}.role-chip{padding:6px 12px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:600}.status-pill{padding:4px 10px;border-radius:12px;background:#e0f2fe;color:#0c4a6e;font-size:11px;display:inline-flex;text-transform:capitalize}.teachers-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.teachers-panel__header-actions{display:flex;gap:8px}.teachers-panel{display:flex;flex-direction:column;gap:20px}.teacher-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.teacher-stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px}.teacher-stat-card__label{margin:0;font-size:12px;color:var(--muted);text-transform:uppercase}.teacher-stat-card__value{margin:8px 0 0;font-size:28px;font-weight:700}.teachers-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.teachers-search{flex:1;min-width:220px;max-width:360px;display:flex;align-items:center;gap:8px;background:#f4f6fb;border-radius:16px;padding:6px 12px}.teachers-search__icon{color:#64748b}.teachers-search input{border:none;background:transparent;outline:none}.teachers-meta{display:flex;align-items:center;gap:16px}.teachers-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;white-space:nowrap}.teachers-row-actions .icon-button{border-radius:999px;width:36px;height:36px}.teachers-empty{text-align:center;color:var(--muted);padding:32px;border-radius:18px;border:1px dashed #cbd5f5}.teachers-modal__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.teacher-details-panel{display:flex;flex-direction:column;gap:24px}.teacher-details__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.teacher-details__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.bulk-upload-card{display:flex;flex-direction:column;gap:20px}.bulk-upload-card__header{display:flex;align-items:center;gap:16px}.bulk-upload-card__badge{width:52px;height:52px;border-radius:18px;background:#e0e7ff;display:flex;align-items:center;justify-content:center;color:#4338ca;font-size:28px}.bulk-upload-card__details{flex:1}.bulk-upload-card__label{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;color:#475569;letter-spacing:.08em}.bulk-upload-card__description{margin:4px 0 0;font-size:14px;color:#475569}.bulk-upload-dropzone{border:2px dashed #cbd5f5;border-radius:22px;padding:32px;text-align:center;cursor:pointer;background:#f8fafc;transition:border-color .2s ease,background .2s ease}.bulk-upload-dropzone:hover{border-color:#4338ca}.bulk-upload-dropzone--selected{border-color:#4338ca;background:#eef2ff}.bulk-upload-dropzone__icon{font-size:32px;color:#4338ca}.bulk-upload-dropzone__text{margin:12px 0 4px;font-weight:600;color:#0f172a}.bulk-upload-dropzone__hint{margin:0;font-size:13px;color:#64748b}.bulk-upload-dropzone__input{display:none}.bulk-upload-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.bulk-upload-summary__item{border:1px solid #e2e8f0;border-radius:14px;padding:12px;text-align:center;background:#fff}.bulk-upload-summary__label{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.bulk-upload-summary__value{margin:6px 0 0;font-size:24px;font-weight:700;color:#0f172a}.bulk-upload-failures{margin-top:12px;border-top:1px solid #e2e8f0;padding-top:12px}.bulk-upload-failures__title{margin:0 0 8px;font-size:14px;font-weight:600}.bulk-upload-failures ul{margin:0;padding:0;list-style:none}.bulk-upload-failures li{font-size:13px;color:#0f172a;margin-bottom:4px}.bulk-upload-failures__more{margin:8px 0 0;font-size:12px;color:#475569}.bulk-upload-modal__footer{display:flex;justify-content:flex-end;gap:8px}.teacher-details__card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:6px}.teacher-details__card--expand{grid-column:span 2}.teacher-details__card-label{font-size:12px;text-transform:uppercase;color:var(--muted);margin:0}.teacher-details__card-value{font-size:16px;font-weight:600;margin:0}.teacher-tabs{display:flex;gap:12px;border-bottom:1px solid #e2e8f0;padding-bottom:6px}.teacher-tab{background:transparent;border:none;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;border-radius:12px;color:var(--muted)}.teacher-tab--active{background:var(--surface);color:#1f2937;box-shadow:0 10px 20px #0000000d}.teacher-overview{background:#fff;border-radius:18px;padding:20px;border:1px solid #e2e8f0}.teacher-overview__intro{margin:0 0 16px;color:var(--muted)}.teacher-overview__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.teacher-overview__details strong{display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;color:var(--muted)}.teacher-overview__details p{margin:0;font-size:15px}.teacher-assignments{background:#fff;border-radius:22px;border:1px solid #e2e8f0;padding:24px;display:flex;flex-direction:column;gap:16px}.teacher-assignments__header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.teacher-assignments__subtitle{margin:0;font-size:14px;color:var(--muted)}.teacher-assignments__grid{display:flex;flex-direction:column;gap:12px}.teacher-assignments__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;align-items:center}.teacher-assignments__row .icon-button{width:36px;height:36px}.teacher-assignments__empty{margin:0;color:var(--muted)}.teacher-assignments__footer{display:flex;justify-content:flex-end}.teacher-timetable{display:flex;flex-direction:column;gap:20px}.teacher-timetable__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.teacher-timetable__card{display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:20px;background:#fff;border:1px solid #e2e8f0}.teacher-timetable__card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:flex-start;justify-content:center;padding:clamp(16px,4vh,32px);overflow-y:auto;z-index:100}.modal-card{background:var(--surface);border-radius:20px;width:min(860px,92vw);padding:24px;box-shadow:0 25px 50px #0f172a4d;display:flex;flex-direction:column;max-height:calc(100vh - clamp(32px,8vh,64px));max-height:calc(100dvh - clamp(32px,8dvh,64px));overflow:hidden;margin:auto}.modal-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex:0 0 auto}.modal-card__close{background:transparent;border:none;font-size:22px;cursor:pointer}.modal-card__body{margin-bottom:12px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.modal-card__footer{display:flex;justify-content:flex-end;gap:12px;flex:0 0 auto}.confirm-dialog__footer{display:flex;gap:12px}.confirm-dialog__description{margin:0;color:var(--muted)}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}.permission-card{display:flex;align-items:flex-start;gap:12px;background:var(--surface);border-radius:16px;padding:14px 18px;border:1px solid var(--border);box-shadow:0 10px 25px #0f172a14}.permission-card input{margin-top:2px;width:18px;height:18px}.permission-card strong{display:block;margin-bottom:4px;font-size:14px}.students-panel{display:flex;flex-direction:column;gap:20px}.students-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.students-panel__header-actions{display:flex;gap:8px}.students-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.students-search{flex:1;min-width:230px;max-width:420px;display:flex;align-items:center;gap:8px;background:#f4f6fb;border-radius:16px;padding:6px 12px}.students-search__icon{color:#64748b}.students-search input{border:none;background:transparent;outline:none;width:100%}.parents-panel{display:flex;flex-direction:column;gap:20px}.parents-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.parents-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.parents-search{flex:1;min-width:230px;max-width:420px;display:flex;align-items:center;gap:8px;background:#f4f6fb;border-radius:16px;padding:6px 12px}.parents-search__icon{color:#64748b}.parents-search input{border:none;background:transparent;outline:none;width:100%}.parents-meta{display:flex;gap:12px;align-items:center}.parents-row-name{display:flex;flex-direction:column;gap:4px}.parents-row-name__link{font-weight:600;color:#0f172a;text-decoration:none}.parents-row-name__email{margin:0;font-size:12px;color:#64748b}.parents-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;white-space:nowrap}.parents-row-actions .icon-button{border-radius:999px;width:36px;height:36px}.parents-empty{text-align:center;color:var(--muted);padding:32px;border-radius:18px;border:1px dashed #cbd5f5}.parents-modal__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.parents-modal__footer{display:flex;justify-content:flex-end;gap:8px}.parents-table-footer{padding-top:12px}.students-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;color:var(--muted)}.students-row-name{display:flex;flex-direction:column;gap:4px}.students-row-name__link{font-weight:600;color:#0f172a;text-decoration:none}.students-row-name__email{margin:0;font-size:12px;color:#64748b}.students-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;white-space:nowrap}.students-row-actions .icon-button{border-radius:999px;width:36px;height:36px}.students-empty{text-align:center;color:var(--muted);padding:32px;border-radius:18px;border:1px dashed #cbd5f5}.students-modal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.students-modal__footer{display:flex;justify-content:flex-end;gap:8px}.students-table-footer{padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border);margin-top:8px}.students-table-footer__page-size{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.students-table-footer__page-size .form-input{min-width:130px}.pagination-controls{display:flex;align-items:center;gap:12px;justify-content:flex-end;font-size:14px;color:var(--muted)}.pagination-controls button{border:1px solid var(--border);background:#fff;padding:8px 16px;border-radius:999px;cursor:pointer;transition:background .2s ease}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.student-details-panel{display:flex;flex-direction:column;gap:24px}.student-details__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.student-details__header-actions{display:inline-flex;align-items:center;gap:10px}.student-details__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.student-details__card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:6px}.student-details__card--expand{grid-column:span 2}.student-details__card-label{font-size:12px;text-transform:uppercase;color:var(--muted);margin:0}.student-details__card-value{font-size:16px;font-weight:600;margin:0}.student-dashboard__identity{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(2,minmax(180px,1fr));gap:16px}.student-dashboard__identity-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:10px;min-height:160px}.student-dashboard__identity-card--primary{background:linear-gradient(135deg,#135bec14,#fff 72%)}.student-dashboard__identity-card h3,.student-dashboard__identity-card strong{margin:0;font-size:1.15rem;color:#0f172a}.student-dashboard__identity-label{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.student-dashboard__identity-copy{margin:0;color:#475569;line-height:1.5}.dashboard-inline-pills{display:flex;flex-wrap:wrap;gap:8px}.dashboard-inline-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#135bec14;border:1px solid rgba(19,91,236,.16);color:#0f172a;font-size:13px;font-weight:500}.dashboard-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.dashboard-metric-card{border:1px solid var(--border);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px;min-height:148px;background:#fff}.dashboard-metric-card--accent{background:linear-gradient(135deg,#135bec14,#fff 78%)}.dashboard-metric-card--success{background:linear-gradient(135deg,#04785714,#fff 78%)}.dashboard-metric-card--danger{background:linear-gradient(135deg,#dc262614,#fff 78%)}.dashboard-metric-card__label{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.dashboard-metric-card__value{font-size:1.45rem;font-weight:700;color:#0f172a}.dashboard-metric-card__helper{margin:0;color:#475569;line-height:1.5;font-size:13px}.student-enrollment-panel{display:flex;flex-direction:column;gap:16px}.student-enrollment-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.student-enrollment-panel__description{margin:0;color:var(--muted);max-width:360px}.student-enrollment-panel__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.student-enrollment__actions{display:flex;justify-content:flex-end}.student-enrollments,.student-enrollments__list{display:flex;flex-direction:column;gap:12px}.student-enrollments__item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:center}.student-enrollments__label{margin:0;font-size:12px;text-transform:uppercase;color:var(--muted)}.student-enrollments__value{margin:2px 0 0;font-weight:600}.student-enrollments__empty{margin:0;color:var(--muted)}.student-details__tabs{display:flex;gap:12px;flex-wrap:wrap}.student-details__tab{padding:8px 20px;border-radius:999px;border:1px solid transparent;background:#f4f6fb;font-weight:600;cursor:pointer;transition:border-color .2s ease,background .2s ease}.student-details__tab--active{border-color:#135bec66;background:#135bec1f;color:#0f172a;box-shadow:0 8px 20px #0f172a1f}.student-parents-panel{display:flex;flex-direction:column;gap:16px}.student-parents-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.student-parents-panel__actions{display:flex;gap:8px;flex-wrap:wrap}.student-parents__grid{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:20px}.student-parents__selection,.student-parents__list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:16px}.student-parents__items{display:flex;flex-direction:column;gap:12px}.student-parents__item{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border-radius:14px;padding:12px 16px;border:1px solid #e2e8f0}.student-parents__link{font-weight:600;color:#0f172a;text-decoration:none}.student-parents__meta{margin:0;font-size:12px;color:#64748b}.student-parents__actions{display:flex;align-items:center;gap:8px}.student-parents__date{font-size:12px;color:var(--muted)}.parent-autocomplete{display:flex;flex-direction:column;gap:10px}.parent-autocomplete__selected{display:flex;flex-wrap:wrap;gap:8px}.parent-autocomplete__chip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(19,91,236,.15);background:#135bec14;color:#0f172a;padding:8px 12px;border-radius:999px;cursor:pointer}.parent-autocomplete__chip .material-symbols-outlined{font-size:16px}.parent-autocomplete__results{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:16px;background:#fff;padding:8px;box-shadow:0 16px 36px #0f172a14}.parent-autocomplete__option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px 14px;cursor:pointer;text-align:left}.parent-autocomplete__option strong{display:block}.parent-autocomplete__option p{margin:4px 0 0;font-size:12px;color:var(--muted)}.parent-autocomplete__option--selected{border-color:#135bec66;background:#135bec0f}@media(max-width:768px){.students-modal__grid{grid-template-columns:1fr}}.parent-children-panel{display:flex;flex-direction:column;gap:14px}.parent-children__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.parent-children__list{display:flex;flex-direction:column;gap:12px}.parent-children__item{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border-radius:16px;border:1px solid #e2e8f0;padding:14px 18px}.parent-children__name{margin:0;font-weight:600;color:#0f172a}.parent-children__meta{margin:0;font-size:12px;color:#64748b}.parent-children__date{font-size:12px;color:var(--muted)}.dashboard-section-panel{display:flex;flex-direction:column;gap:18px}.dashboard-section-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.dashboard-section-panel__header h3{margin:0}.dashboard-section-panel__helper{margin:0;color:var(--muted);max-width:420px;line-height:1.5}.dashboard-empty-state{border:1px dashed #cbd5e1;border-radius:18px;padding:24px;background:#f8fafc;color:var(--muted);text-align:center}.dashboard-table-subtle{margin:4px 0 0;color:#64748b;font-size:12px}.dashboard-session-id{font-family:ui-monospace,SFMono-Regular,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;color:#475569}.student-attendance-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-attendance-history-card{border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:16px;display:flex;flex-direction:column;gap:12px}.student-attendance-history-card__date{margin:0;font-size:16px;font-weight:700;color:inherit}.student-attendance-history-card__slots{display:flex;flex-direction:column;gap:10px}.student-attendance-history-slot{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-attendance-history-slot__label{font-size:13px;font-weight:600;color:var(--muted)}.student-attendance-history-slot__status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.student-attendance-history-slot__status--present{background:#0478571f;color:var(--success)}.student-attendance-history-slot__status--absent{background:#dc26261f;color:var(--danger)}.student-attendance-history-slot__status--neutral{background:var(--surface-muted);color:var(--muted)}.student-attendance-history-slot__icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}.student-attendance-history-slot__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.student-exam-results{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:18px}.student-exam-results__list,.student-exam-results__detail{border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc;padding:16px}.student-exam-results__list{display:flex;flex-direction:column;gap:12px}.student-exam-results__list-item{width:100%;border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:14px 16px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;text-align:left;cursor:pointer}.student-exam-results__list-item--active{border-color:#135bec5c;background:#135bec14}.student-exam-results__list-item p,.student-exam-results__list-meta{margin:4px 0 0;color:#64748b;font-size:12px}.student-exam-results__list-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.student-exam-results__detail{display:flex;flex-direction:column;gap:16px}.student-exam-results__detail-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.student-exam-results__detail-header h3{margin:0}.student-exam-results__detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.student-exam-results__detail-grid article{border-radius:14px;background:#fff;border:1px solid #e2e8f0;padding:14px}.student-exam-results__detail-grid span{display:block;font-size:12px;text-transform:uppercase;color:var(--muted)}.student-exam-results__detail-grid strong{display:block;margin-top:8px}.student-exam-results__table{overflow-x:auto}.parent-dashboard__student-name,.parent-dashboard__attendance{display:flex;flex-direction:column;gap:4px}.parent-dashboard__attendance strong{color:#0f172a}@media(max-width:900px){.student-dashboard__identity{grid-template-columns:1fr}.student-details__header{align-items:flex-start;flex-wrap:wrap}.student-exam-results{grid-template-columns:1fr}}@media(max-width:460px){.student-attendance-history-grid{grid-template-columns:1fr}}@media(min-width:768px){.student-attendance-history-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}.permission-card p{margin:0;color:var(--muted);font-size:13px}.toast-portal{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:110}.toast{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:200px;padding:12px 16px;border-radius:14px;color:#fff;box-shadow:0 10px 25px #00000026}.toast button{background:transparent;border:none;color:inherit;font-size:18px;cursor:pointer}.toast--info{background:#0ea5e9}.toast--success{background:#059669}.toast--warning{background:#f97316}.toast--error{background:#dc2626}.notifications-dropdown{position:relative}.notification-badge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#dc2626;color:#fff;font-size:11px;font-weight:700}.notifications-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 32px));background:var(--surface);border-radius:20px;border:1px solid var(--border);box-shadow:0 20px 50px #0f172a40;padding:18px;z-index:20}.notifications-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:14px;font-weight:600}.notifications-panel__link{font-size:13px;color:var(--accent);text-decoration:none;font-weight:600}.notifications-panel__list{display:flex;flex-direction:column;gap:12px;max-height:320px;overflow:auto}.notifications-panel__empty{margin:0;text-align:center;color:var(--muted)}.notifications-panel__item{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border-radius:16px;border:1px solid transparent;background:var(--surface-muted);cursor:pointer;text-align:left}.notifications-panel__item:hover{border-color:var(--border)}.notifications-panel__icon{width:42px;height:42px;border-radius:14px;background:var(--surface);display:flex;align-items:center;justify-content:center}.notifications-panel__content{flex:1;min-width:0}.notifications-panel__title{margin:0;font-weight:600;font-size:14px}.notifications-panel__message{margin:4px 0 0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notifications-panel__time{font-size:11px;color:var(--muted)}.notifications-panel__status{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.notifications-builder{display:grid;gap:24px}.notifications-section{background:var(--surface);border-radius:24px;border:1px solid var(--border);padding:24px}.notifications-section__header h3{margin:0}.notifications-audience{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.notifications-audience-option{border-radius:14px;border:1px solid var(--border);padding:10px 16px;background:var(--surface-muted);color:var(--muted);font-weight:600;cursor:pointer;transition:border-color .2s ease,color .2s ease}.notifications-audience-option--active{border-color:var(--accent);color:var(--accent);background:#135bec14}.channel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:12px}.channel-option{border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px;cursor:pointer;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease}.channel-option--active{border-color:var(--accent);color:var(--accent);box-shadow:0 10px 20px #135bec33}.notifications-schedule{margin-top:16px}.notifications-schedule__toggle{display:inline-flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}.notifications-schedule__toggle input{width:16px;height:16px}.notifications-send{margin-top:18px;width:100%;justify-content:center}.notifications-history-panel{margin-top:32px}.notifications-history{display:flex;flex-direction:column;gap:12px}.notification-card{border-radius:20px;border:1px solid var(--border);background:var(--surface);padding:18px;display:flex;flex-direction:column;gap:12px}.notification-card__meta{display:flex;gap:12px;align-items:center}.notification-card__icon{width:44px;height:44px;border-radius:14px;background:var(--surface-muted);display:flex;align-items:center;justify-content:center}.notification-card__title{margin:0;font-weight:600}.notification-card__details{margin:0;color:var(--muted);font-size:13px}.notification-card__footer{display:flex;justify-content:space-between;gap:8px;align-items:center}.notification-card__time{font-size:12px;color:var(--muted)}.notifications-inbox{display:flex;flex-direction:column;gap:16px}.notifications-inbox__header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.notifications-inbox__list{display:flex;flex-direction:column;gap:12px}.notification-inbox__item{display:flex;gap:12px;align-items:center;padding:16px;border-radius:18px;border:1px solid var(--border);background:var(--surface)}.notification-inbox__item--unread{border-color:var(--accent);box-shadow:0 15px 35px #135bec26}.notification-inbox__icon{width:42px;height:42px;border-radius:12px;background:var(--surface-muted);display:flex;align-items:center;justify-content:center}.notification-inbox__content{flex:1;display:flex;flex-direction:column;gap:6px}.notification-inbox__row{display:flex;justify-content:space-between;align-items:center;gap:12px}.notification-inbox__title{margin:0;font-weight:600}.notification-inbox__status{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.notification-inbox__message{margin:0;color:var(--muted);font-size:14px}.notification-inbox__time{font-size:12px;color:var(--muted)}.notification-inbox__action{white-space:nowrap}.panel__subtitle,.eyebrow,.status-text,.footer-help{font-family:Lexend,Inter,system-ui}@media(min-width:901px){.app-sidebar{display:block}.app-footer{display:none}.app-table{display:table}.table-card-list{display:none}}@media(max-width:900px){.annajah-brand__logo-frame{width:64px;height:64px}.annajah-brand--hero .annajah-brand__logo-frame{width:96px;height:96px}.panel{padding:24px 20px;border-radius:20px}.app-table{display:none}.table-card-list{display:block}.app-body{padding:20px 24px calc(132px + env(safe-area-inset-bottom))}.app-sidebar{display:none}.app-header,.app-footer{padding:16px 24px}.app-header{flex-wrap:wrap;align-items:flex-start;gap:12px}.app-header__brand{width:100%}.app-header__brand h1{font-size:18px}.app-header__pretitle{font-size:10px}.app-header__actions{width:100%;justify-content:flex-end;gap:8px}.app-header__user-button{padding:4px;border-radius:999px}.app-header__user-data,.app-header__user-arrow{display:none}.pill-button{padding:8px 14px}.app-footer{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;min-height:76px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -12px 30px #0f172a14}.footer-tabs{width:100%;justify-content:space-between;align-items:stretch;gap:8px}.footer-help{display:none}.table-card-item{padding:16px}.table-card-item__row{grid-template-columns:minmax(88px,108px) minmax(0,1fr);gap:10px}.profile-panel__body{grid-template-columns:1fr}.profile-panel__header{flex-direction:column;align-items:flex-start}.profile-panel__summary{width:100%}.security-panel__form{gap:12px}.students-panel__header{flex-wrap:wrap}.students-panel__header-actions{width:100%;flex-wrap:wrap}.students-panel__header-actions .btn{flex:1 1 140px}.students-toolbar{align-items:stretch}.students-search{min-width:0;max-width:none;width:100%}.students-meta{width:100%;flex-direction:column;align-items:flex-start;gap:8px}.students-meta .form-input{width:100%}.pagination-controls{justify-content:center;flex-wrap:wrap}.students-table-footer{justify-content:center}.students-table-footer__page-size{width:100%;justify-content:center;flex-wrap:wrap}}.mobile-nav-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0f172a59;display:flex;align-items:flex-end}.mobile-nav-sheet__panel{width:100%;background:var(--surface);border-radius:28px 28px 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -18px 40px #0f172a24}.mobile-nav-sheet__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.mobile-nav-sheet__header strong{display:block}.mobile-nav-sheet__nav{display:flex;flex-direction:column;gap:12px}.mobile-nav-sheet__link{display:flex;align-items:center;gap:10px;min-height:52px;padding:14px;border-radius:16px;border:1px solid var(--border);color:#0f172a;text-decoration:none;font-weight:600;background:#fff}.mobile-nav-sheet__link--active{border-color:#135bec47;color:var(--accent)}.mobile-nav-sheet__section{display:flex;flex-direction:column;gap:12px}.mobile-nav-sheet__section-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:14px;border-radius:16px;border:1px solid var(--border);background:#fff;color:#0f172a;font:inherit;font-weight:600;cursor:pointer}.mobile-nav-sheet__section-toggle--active{border-color:#135bec47;color:var(--accent)}.mobile-nav-sheet__section-chevron{margin-left:auto}.mobile-nav-sheet__section-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auth-shell{min-height:100vh;padding:40px 20px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 12% 18%,var(--platform-accent-glow, rgba(19, 91, 236, .34)),transparent 32%),radial-gradient(circle at 88% 14%,var(--platform-accent-soft, rgba(19, 91, 236, .16)),transparent 26%),linear-gradient(145deg,var(--platform-accent-strong, #123f8a),#0b1122 58%,#111827 100%)}.auth-shell--plain{background:linear-gradient(180deg,#0f172a,#111827)}.auth-card{width:min(960px,100%);background:#fffffff2;border-radius:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));overflow:hidden;box-shadow:0 40px 60px #0f172a59;border:1px solid rgba(255,255,255,.1);gap:0}.auth-card--narrow{width:min(560px,100%)}.auth-hero{background:radial-gradient(circle at top right,rgba(255,255,255,.22),transparent 30%),linear-gradient(160deg,var(--platform-accent-strong, #123f8a),var(--platform-accent, #135bec));color:#fff;padding:40px;display:flex;flex-direction:column;gap:18px}.auth-hero--compact{padding:28px}.auth-hero .annajah-brand__name,.auth-hero .annajah-brand__tagline{color:#fff}.auth-hero__platform-pill{width:fit-content;display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.auth-hero__kicker{margin:0;letter-spacing:.24em;font-size:12px;text-transform:uppercase;color:#ffffffd1}.auth-hero__title{margin:0;font-size:32px}.auth-hero__body{margin:0;color:#ffffffd9;font-size:15px;line-height:1.6}.auth-hero__highlights{display:flex;flex-wrap:wrap;gap:10px}.auth-hero__highlight{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:600;color:#ffffffeb}.auth-form-panel{padding:40px;background:linear-gradient(180deg,#fff,#f8fafc);display:flex;flex-direction:column;gap:18px}.auth-form-header__eyebrow{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--platform-accent, var(--accent))}.auth-form-header h2{margin:0;font-size:26px}.auth-form-header p{margin:6px 0 0;color:var(--muted);font-size:14px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form input{border:1px solid var(--border);border-radius:14px;padding:12px 16px;font-size:15px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.auth-form input:focus{border-color:var(--platform-accent, var(--accent));box-shadow:0 0 0 4px var(--platform-accent-soft, rgba(19, 91, 236, .16));outline:none}.auth-form__password-wrap{position:relative;display:flex;align-items:center}.auth-form__password-wrap input{flex:1;padding-right:44px}.auth-form__password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;color:var(--muted);transition:color .15s ease}.auth-form__password-toggle:hover{color:var(--platform-accent, var(--accent))}.auth-form__password-toggle .material-symbols-outlined{font-size:20px;-webkit-user-select:none;user-select:none}.auth-form__links{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.auth-form__links a{color:var(--platform-accent, var(--accent));font-weight:600;text-decoration:none}.auth-form__links a:hover{text-decoration:underline}.auth-form__link{background:transparent;border:none;color:var(--platform-accent, var(--accent));font-weight:600;cursor:pointer}.auth-form__help{margin:0;font-size:13px;color:var(--muted)}.form-success{margin:0;color:var(--success);font-size:13px}.student-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.auth-shell--plain .auth-card{background:#0f172af2;color:#fff}.auth-shell--plain .auth-form-panel{background:#0f172a66;color:#fff}.auth-shell--plain .auth-form input{background:#ffffff0d;color:#fff}.academic-year-panel{display:flex;flex-direction:column;gap:18px}.academic-year-panel__actions{display:flex;align-items:center}.academic-year-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.academic-year-search{position:relative;flex:1;min-width:220px}.academic-year-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.academic-year-search input{padding-left:40px;width:100%}.academic-year-meta{display:flex;gap:8px;flex-wrap:wrap}.academic-year-chip{padding:6px 14px;border-radius:999px;background:#eef2ff;color:#1d4ed8;font-size:12px;font-weight:600}.academic-year-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.academic-year-card{background:var(--surface);border-radius:18px;border:1px solid var(--border);padding:24px;box-shadow:0 15px 40px #0f172a14;display:flex;flex-direction:column;gap:10px}.academic-year-card__head{display:flex;justify-content:space-between;align-items:center;gap:12px}.academic-year-card__dates{margin:0;color:var(--muted);font-size:13px}.academic-year-card__meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}.academic-year-card__actions{display:flex;gap:8px;flex-wrap:wrap}.academic-year-empty{padding:40px;border:1px dashed var(--border);border-radius:18px;text-align:center;color:var(--muted)}.academic-year-details{display:flex;flex-direction:column;gap:20px}.academic-year-status{display:flex;gap:8px}.academic-year-details__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.academic-year-details__item{background:var(--surface-muted);border-radius:16px;border:1px solid var(--border);padding:18px}.academic-year-details__item strong{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:8px;color:var(--muted)}.academic-calendar-workspace{gap:24px}.academic-calendar-workspace__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.academic-calendar-workspace__header-actions{display:flex;gap:10px;flex-wrap:wrap}.academic-calendar-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.academic-calendar-summary article{border:1px solid var(--border);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#f8fafc);display:flex;flex-direction:column;gap:8px}.academic-calendar-summary span{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.academic-calendar-summary strong{font-size:30px}.academic-calendar-section{display:flex;flex-direction:column;gap:16px;border:1px solid var(--border);border-radius:22px;padding:22px;background:#fcfcfd}.academic-calendar-section--readonly{background:linear-gradient(180deg,#fffffffa,#f8fafcfa)}.academic-calendar-section__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.academic-calendar-section__header h3{margin:0}.academic-calendar-section__kicker{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.academic-calendar-section__header p{margin:6px 0 0;color:var(--muted)}.academic-calendar-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.academic-calendar-settings__footer{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:13px}.academic-calendar-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.academic-calendar-toggle{display:flex;gap:8px;flex-wrap:wrap}.academic-calendar-legend{display:flex;gap:12px;flex-wrap:wrap}.academic-calendar-legend__item{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:12px;font-weight:600}.academic-calendar-legend__swatch{width:10px;height:10px;border-radius:999px}.academic-calendar-legend__swatch--weekly{background:#0f766e}.academic-calendar-legend__swatch--custom{background:#ea580c}.academic-calendar-legend__swatch--general{background:#2563eb}.academic-calendar-legend__swatch--exam{background:#dc2626}.academic-calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.academic-calendar-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:24px;align-items:start}.academic-calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.academic-calendar-month{border:1px solid var(--border);border-radius:20px;background:#fff;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 16px 38px #0f172a0f}.academic-calendar-month__header h3{margin:0;font-size:20px}.academic-calendar-month__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.academic-calendar-month__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.academic-calendar-day{min-height:118px;border-radius:16px;border:1px solid #e7ebf3;background:linear-gradient(180deg,#fff,#f8fafc);padding:10px;display:flex;flex-direction:column;gap:10px}.academic-calendar-day--pad{min-height:118px;border-style:dashed;background:transparent}.academic-calendar-day--today{border-color:#135bec73;box-shadow:0 0 0 2px #135bec1f}.academic-calendar-day--outside{background:#f8fafc;color:#94a3b8}.academic-calendar-day__head{display:flex;justify-content:space-between;align-items:center;font-weight:700}.academic-calendar-day__head small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#94a3b8}.academic-calendar-day__items{display:flex;flex-direction:column;gap:6px}.academic-calendar-chip{border-radius:12px;padding:5px 8px;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.academic-calendar-chip--weekly{background:#0f766e24;color:#0f766e}.academic-calendar-chip--custom{background:#ea580c24;color:#c2410c}.academic-calendar-chip--general{background:#2563eb1f;color:#1d4ed8}.academic-calendar-chip--exam{background:#dc26261f;color:#b91c1c}.academic-calendar-chip--more{background:#eef2ff;color:#4338ca}.academic-calendar-sidebar{display:flex;flex-direction:column;gap:18px}.academic-calendar-list{border:1px solid var(--border);border-radius:20px;background:#fff;padding:18px;display:flex;flex-direction:column;gap:12px}.academic-calendar-list__header{display:flex;justify-content:space-between;gap:12px;align-items:center}.academic-calendar-list__header h4{margin:0}.academic-calendar-list__card{border:1px solid #eef2f7;border-radius:16px;padding:14px;background:#fbfdff;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.academic-calendar-list__group{display:flex;flex-direction:column;gap:10px}.academic-calendar-list__day{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.academic-calendar-list__card p,.academic-calendar-list__card small{margin:4px 0 0;color:var(--muted)}.academic-calendar-list__meta{display:flex;flex-direction:column;gap:8px;align-items:flex-end;text-align:right}.academic-calendar-list__empty{padding:22px 12px}.academic-calendar-list__actions{display:flex;gap:8px}.academic-calendar-form{display:flex;flex-direction:column;gap:16px}.academic-calendar-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.status-pill--success{background:#d1fae5;color:#047857}.status-pill--inactive{background:#f4f4f5;color:#475569}.classes-panel{display:flex;flex-direction:column;gap:20px}.classes-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.classes-search{position:relative;flex:1;min-width:220px}.classes-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.classes-search input{padding-left:38px;width:100%}.classes-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.classes-row-actions,.roles-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}.table-cell__subtle{margin-top:4px;font-size:12px;color:var(--muted)}.classes-empty{padding:36px;border:1px dashed var(--border);border-radius:18px;text-align:center;color:var(--muted)}.classes-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px}.classes-pagination__actions{display:flex;gap:8px}.subjects-panel{display:flex;flex-direction:column;gap:20px}.subjects-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.subjects-search{position:relative;flex:1;min-width:220px}.subjects-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.subjects-search input{padding-left:38px;width:100%}.subjects-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.subjects-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}.subjects-empty{padding:36px;border:1px dashed var(--border);border-radius:18px;text-align:center;color:var(--muted)}.subjects-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px}.subjects-pagination__actions{display:flex;gap:8px}.exams-panel{display:flex;flex-direction:column;gap:20px}.exams-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.exams-search{position:relative;flex:1;min-width:220px}.exams-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.exams-search input{padding-left:40px}.exams-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exams-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.exams-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 16px 40px #0f172a14}.exams-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.exams-card__subtitle{margin:4px 0 0;color:var(--muted);font-size:13px}.exams-card__status{padding:6px 14px;border-radius:999px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}.exams-card__status--upcoming{background:#3b82f61f;color:#1d4ed8;border:1px solid rgba(59,130,246,.35)}.exams-card__status--running{background:#0ea5e91f;color:#0ea5e9;border:1px solid rgba(14,165,233,.35)}.exams-card__status--completed{background:#10b9811f;color:#047857;border:1px solid rgba(16,185,129,.35)}.exams-card__body{display:flex;flex-direction:column;gap:10px}.exams-card__row{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.exams-card__row strong{color:#0f172a}.exams-card__row .material-symbols-outlined{font-size:16px}.exams-card__row--subjects{justify-content:space-between;font-size:13px;letter-spacing:.2em;text-transform:uppercase}.exams-card__count-label{color:var(--muted);font-size:11px}.exams-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.exams-card__actions .icon-button{width:40px;height:40px;border-radius:14px}.exams-empty{padding:48px;border-radius:18px;border:1px dashed var(--border);text-align:center;color:var(--muted)}.exams-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px}.exams-pagination__actions{display:flex;gap:8px}.exams-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.exam-details-panel{display:flex;flex-direction:column;gap:20px}.exam-details-summary{background:var(--surface-muted);border:1px solid var(--border);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:16px}.exam-details-summary__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.exam-details-summary__description{margin:4px 0 0;color:var(--muted)}.exam-details-summary__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.exam-details-summary__grid article{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px}.exam-details-summary__grid article strong{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.exam-details-summary__grid article p{margin:0;font-size:16px;font-weight:600}.exam-subjects-panel{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:16px}.exam-subjects-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.exam-subjects-header__meta{margin:4px 0 0;color:var(--muted);font-size:13px}.exam-subjects-header__count{font-size:13px;font-weight:600;color:var(--muted)}.exam-subjects-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.exam-subjects-search{position:relative;flex:1;min-width:220px}.exam-subjects-search .material-symbols-outlined{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.exam-subjects-search input{padding-left:40px}.exam-subjects-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.exam-subjects-actions__group{display:flex;gap:8px;flex-wrap:wrap}.exam-subjects-progress{display:flex;flex-direction:column;gap:6px}.exam-subjects-progress__bar{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.exam-subjects-progress__fill{height:100%;background:var(--accent)}.exam-subjects-progress__meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.exam-subjects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.exam-subject-card{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-muted);cursor:pointer;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.exam-subject-card:hover{border-color:var(--accent);box-shadow:0 10px 30px #0f172a14}.exam-subject-card input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--accent);border-radius:6px}.exam-subject-card strong{display:block;font-size:16px;color:#0f172a}.exam-subject-card span{font-size:13px;color:var(--muted)}.exam-subject-card p{margin:6px 0 0;font-size:13px;color:var(--muted)}.exam-detail-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.exam-subject-card--editable{flex-direction:column;align-items:stretch;cursor:default}.exam-subject-card__toggle{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.exam-subject-card__marks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.exam-subject-card__marks label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.exam-result-upload,.exam-publish-dialog{display:flex;flex-direction:column;gap:16px}.class-details-panel{display:flex;flex-direction:column;gap:20px}.class-details-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.class-details-panel__actions{display:flex;gap:10px;flex-wrap:wrap}.class-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.class-details-grid div{background:var(--surface-muted);border:1px solid var(--border);border-radius:16px;padding:16px}.class-details-grid strong{display:block;margin-bottom:6px;letter-spacing:.2em;text-transform:uppercase;font-size:11px;color:var(--muted)}.class-details-subjects{background:var(--surface-muted);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}.class-details-subjects__header{display:flex;justify-content:space-between;align-items:center}.class-details-subjects__list{display:flex;flex-wrap:wrap;gap:10px}.class-details-subjects__chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid var(--border);padding:6px 14px;background:var(--surface)}.class-details-subjects__chip strong{font-size:14px}.class-details-subjects__chip span{font-size:12px;letter-spacing:.1em;color:var(--muted)}.class-details-batches{background:var(--surface-muted);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px}.class-details-batches__header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px}.class-details-batches__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.class-details-batches__subtitle{margin:4px 0 0;color:var(--muted);font-size:13px}.class-details-batches__table{overflow-x:auto}.batch-row-actions{display:flex;gap:8px;flex-wrap:nowrap;white-space:nowrap}.batch-form__shift-toggle{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));border:1px solid var(--border);border-radius:12px;overflow:hidden}.batch-form__shift-toggle-item{background:transparent;border:none;padding:10px 0;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--muted);transition:background .2s ease,color .2s ease}.batch-form__shift-toggle-item--active{background:var(--surface);color:var(--accent)}.batch-form__active-toggle{display:inline-flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.batch-form__active-toggle input{width:18px;height:18px}.teacher-autocomplete{display:flex;flex-direction:column;gap:10px}.teacher-autocomplete__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.teacher-autocomplete__clear{padding:8px 14px}.status-pill--active{background:#dcfce7;color:#166534}.status-pill--inactive{background:#f1f5f9;color:var(--muted)}.subjects-mapping-panel{display:flex;flex-direction:column;gap:16px}.subjects-mapping-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.subjects-mapping-actions__group{display:flex;gap:8px;flex-wrap:wrap}.subjects-mapping-list{display:grid;gap:12px}.subjects-mapping-item{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:16px;border:1px solid var(--border);background:var(--surface-muted)}.subjects-mapping-item__content{flex:1;display:flex;flex-direction:column;gap:4px}.subjects-mapping-item__title{display:flex;align-items:center;gap:12px}.subjects-mapping-item__title span{color:var(--muted);letter-spacing:.2em;font-size:11px;text-transform:uppercase}.subjects-mapping-item__content p{margin:0;color:var(--muted);font-size:14px}.subjects-mapping-empty{padding:24px;border:1px dashed var(--border);border-radius:18px;text-align:center;color:var(--muted)}.subjects-mapping-list input[type=checkbox]{width:18px;height:18px;margin-top:2px}.timetable-page{display:flex;flex-direction:column;gap:16px}.timetable-page__header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px}.teacher-timetable-page__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-timetable-page__tab{border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);padding:16px 18px;text-align:left;display:flex;flex-direction:column;gap:6px;color:#334155;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.teacher-timetable-page__tab span{font-weight:700;color:#0f172a}.teacher-timetable-page__tab small{color:var(--muted)}.teacher-timetable-page__tab--active{border-color:#135bec;box-shadow:0 18px 36px #135bec1f;transform:translateY(-1px)}.teacher-timetable-page__panel{display:flex;flex-direction:column;gap:16px}.timetable-actions{display:flex;gap:8px;flex-wrap:wrap}.timetable-actions .btn{display:inline-flex;align-items:center;gap:6px}.timetable-view-toggle{display:inline-flex;align-items:center;padding:4px;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted)}.timetable-view-toggle__option{border:none;background:transparent;color:var(--muted);font-weight:600;padding:10px 16px;border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.timetable-view-toggle__option--active{background:#fff;color:#0f172a;box-shadow:0 10px 24px #0f172a14}.timetable-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.timetable-date-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border-radius:18px;background:var(--surface-muted);border:1px solid var(--border)}.timetable-date-summary p{margin:0;color:var(--muted);font-size:13px}.timetable-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch}.timetable-day{background:var(--surface);border-radius:20px;border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 30px #0f172a0f}.timetable-day--active{border-color:var(--accent);box-shadow:0 0 0 3px #135bec1f}.timetable-day__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.timetable-day__header-main{display:flex;flex-direction:column;gap:4px;font-weight:600;text-transform:capitalize;font-size:13px;letter-spacing:.1em;color:var(--muted)}.timetable-day__header-main p{margin:0}.timetable-day__add{flex-shrink:0}.timetable-day__slots{display:flex;flex-direction:column;gap:12px}.timetable-day__count{font-size:12px;color:var(--muted)}.timetable-slot-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;position:relative}.timetable-slot-card--clash{border-color:#f87171;background:#fff5f5}.timetable-slot-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.timetable-slot-card__subject{margin:0;font-weight:700;font-size:14px}.timetable-slot-card__teacher{margin:0;font-size:12px;color:var(--muted)}.timetable-slot-card__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timetable-slot-card__meta-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:600}.timetable-slot-card__meet{display:flex;flex-direction:column;gap:6px;padding-top:6px;border-top:1px solid var(--border)}.timetable-slot-card__meet-info{display:flex;flex-direction:column;gap:2px}.timetable-slot-card__meet-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.timetable-slot-card__meet-link{margin:0;font-size:12px;color:var(--accent);word-break:break-all;white-space:normal}.timetable-slot-card__meet-actions{display:flex;gap:10px;flex-wrap:wrap}.timetable-slot-card__meet-action{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--border);padding:6px 12px;font-size:12px;background:transparent;color:#0f172a;cursor:pointer;transition:background .2s ease,border-color .2s ease}.timetable-slot-card__meet-action--primary{border-color:#135bec59;color:var(--accent);background:#135bec14}.timetable-slot-card__meet-action .material-symbols-outlined{font-size:16px}.timetable-slot-card__meet-action:disabled{cursor:not-allowed;opacity:.6}.timetable-slot-card__meet-empty{padding-top:6px;border-top:1px dashed var(--border)}.timetable-slot-card__meet-generate{width:100%;background:none;border:1px dashed var(--border);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;color:var(--muted);transition:border-color .2s ease,color .2s ease}.timetable-slot-card__meet-generate:disabled{opacity:.6;cursor:not-allowed}.timetable-slot-card__time{font-size:12px;color:var(--muted)}.timetable-slot-card__status{font-size:12px;font-weight:600;letter-spacing:normal;text-transform:none;padding:2px 8px;border-radius:999px;background:#0f172a14}.timetable-slot-card__status--draft{background:#3b82f61f;color:#1d4ed8}.timetable-slot-card__status--published{background:#10b98129;color:#047857}.timetable-slot-card__badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#135bec14;color:#1f2937;font-size:11px;text-decoration:none}.timetable-slot-card__notes{margin-top:6px;font-size:12px;color:#475569}.timetable-slot-card__badge .material-symbols-outlined{font-size:16px}.timetable-slot-card__clash{margin:0;font-size:11px;color:#b91c1c}.timetable-slot-card__actions{margin-top:4px;display:flex;gap:8px}.timetable-slot-card__actions .icon-button{width:36px;height:36px;padding:0}.timetable-slot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px dashed var(--border);border-radius:14px;padding:16px;text-align:center;font-size:12px;color:var(--muted)}.timetable-modal{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.timetable-teacher-view{display:flex;flex-direction:column;gap:18px}.timetable-teacher-group{display:flex;flex-direction:column;gap:14px}.timetable-teacher-group__count{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:600;background:var(--surface)}.timetable-slot-modal{width:min(760px,92vw)}.timetable-modal__row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.timetable-form__error{margin:6px 0 0;font-size:12px;color:#b91c1c}.timetable-section__header,.timetable-resolved__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.timetable-resolved{display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid var(--border);border-radius:20px;background:#f8fafc}.timetable-resolved__summary{margin:0;color:var(--muted)}.timetable-resolved__list,.teacher-timetable__list{display:grid;gap:12px}.timetable-resolved__card,.teacher-timetable__list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border-radius:18px;border:1px solid #dbe4f0;background:#fff;flex-wrap:wrap}.teacher-timetable__list-item{background:#f8fafc}.timetable-resolved__title,.teacher-timetable__list-title{margin:0;font-size:15px;font-weight:700}.timetable-resolved__subtitle,.teacher-timetable__list-subtitle{margin:6px 0 0;color:var(--muted);font-size:13px}.timetable-resolved__meta,.teacher-timetable__list-meta{display:flex;flex-wrap:wrap;gap:8px}.timetable-resolved__meta span,.teacher-timetable__list-meta span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eaf1ff;color:#1d4ed8;font-size:12px;font-weight:600}.confirm-dialog__footer{display:flex;justify-content:flex-end;gap:10px}.attendance-page{display:flex;flex-direction:column;gap:24px}.attendance-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.attendance-filters{padding:28px}.attendance-filter-grid{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.attendance-filter-actions{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap}.attendance-summary-grid{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.attendance-summary-card{border:1px solid var(--border);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:140px;background:var(--surface)}.attendance-summary-card__date{font-size:12px;color:var(--muted);margin:0}.attendance-summary-card__values{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;font-size:12px;color:var(--muted)}.attendance-summary-card__values strong{display:block;font-size:18px;color:#0f172a}.attendance-summary-card__total{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.attendance-table-panel{padding:28px;display:flex;flex-direction:column;gap:16px}.attendance-table__source{background:#e0f2fe;color:#0c4a6e}.attendance-table__session{display:flex;flex-direction:column;gap:4px}.attendance-table__session-id{font-size:12px;color:var(--muted)}.attendance-table__session-link{font-size:12px;color:var(--accent)}.attendance-pager{margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.attendance-pager__controls{display:flex;gap:8px;align-items:center}.attendance-detail-shell{display:flex;flex-direction:column;gap:24px}.attendance-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.attendance-detail-meta .panel__header{margin-bottom:16px}.attendance-detail-meta__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.attendance-detail-meta__grid article{padding:12px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface-muted)}.attendance-detail-stats{padding:24px}.attendance-detail-stats__grid{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.attendance-detail-stats__grid div{padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:center}.attendance-detail-table-shell{padding:24px}.attendance-detail-table th,.attendance-detail-table td{vertical-align:middle}.attendance-detail-table td strong{display:block}.attendance-workspace{display:flex;flex-direction:column;gap:24px}.attendance-workspace__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.attendance-workspace__header-summary{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:12px}.attendance-workspace__header-summary article,.attendance-daily__stat{padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:var(--surface);box-shadow:0 14px 32px #0f172a0f}.attendance-workspace__header-summary span,.attendance-daily__stat span{display:block;font-size:12px;color:var(--muted)}.attendance-workspace__header-summary strong,.attendance-daily__stat strong{display:block;margin-top:6px;color:#0f172a}.attendance-workspace__filters{padding:28px}.attendance-workspace__filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.attendance-workspace__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.attendance-workspace__tab{border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);padding:16px 18px;text-align:left;display:flex;flex-direction:column;gap:6px;color:#334155;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.attendance-workspace__tab span{font-weight:700;color:#0f172a}.attendance-workspace__tab small{color:var(--muted)}.attendance-workspace__tab--active{border-color:#16a34a;box-shadow:0 18px 36px #16a34a1f;transform:translateY(-1px)}.attendance-daily,.attendance-history{padding:24px;display:flex;flex-direction:column;gap:18px}.attendance-daily__header,.attendance-history__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.attendance-daily__header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.attendance-chip{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.attendance-chip--create{background:#dbeafe;color:#1d4ed8}.attendance-chip--edit{background:#dcfce7;color:#166534}.attendance-chip--partial{background:#fef3c7;color:#92400e}.attendance-daily__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.attendance-daily__table-wrapper{overflow:auto;border:1px solid var(--border);border-radius:20px}.attendance-daily__table{width:100%}.attendance-daily__table th,.attendance-daily__table td{vertical-align:middle}.attendance-checkbox{display:inline-flex;align-items:center;gap:10px;font-weight:600}.attendance-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.attendance-status--present{background:#dcfce7;color:#166534}.attendance-status--absent{background:#fee2e2;color:#991b1b}.attendance-status--late{background:#fff7ed;color:#9a3412}.attendance-status--excused{background:#f0f9ff;color:#0369a1}.attendance-status--joint-not-attend{background:#fef9c3;color:#713f12}.attendance-status--no-response{background:#f1f5f9;color:#475569}.attendance-status--left-meet{background:#fff4e6;color:#7c3aed}.attendance-daily__status-cell{display:flex;align-items:center;gap:10px}.attendance-daily__status-select{min-width:160px}.attendance-history__status-select{width:100%;min-width:130px;font-size:12px}.attendance-history__scroll{overflow:auto;max-height:70vh;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.attendance-history__table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.attendance-history__table thead th{position:sticky;top:0;z-index:3;background:#f8fafc;border-bottom:1px solid var(--border)}.attendance-history__table th,.attendance-history__table td{padding:12px;text-align:center;border-right:1px solid rgba(148,163,184,.18);border-bottom:1px solid rgba(148,163,184,.18);min-width:118px}.attendance-history__sticky-col{position:sticky;left:0;z-index:4;min-width:240px!important;max-width:240px;text-align:left!important;background:#fff;box-shadow:6px 0 12px #0f172a0a}.attendance-history__student-head{background:#f8fafc}.attendance-history__student-cell{display:flex;flex-direction:column;gap:4px}.attendance-history__student-cell span{color:var(--muted);font-size:12px}.attendance-history__date-head--editing,.attendance-history__cell--editing{background:#f0fdf4}.attendance-history__date-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.attendance-history__date-meta{display:block;margin-top:6px;font-size:11px;color:var(--muted)}.attendance-history__date-actions{display:flex;justify-content:center;gap:8px;margin-top:10px}.attendance-history__edit-button{width:28px;height:28px;border-radius:999px;border:1px solid var(--border);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#334155}.attendance-history__edit-button svg{width:14px;height:14px;fill:currentColor}.attendance-history__checkbox{display:inline-flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:600}.attendance-history__cell{background:#fff}.attendance-mark{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.attendance-mark svg{width:15px;height:15px;fill:currentColor}.attendance-mark--present{background:#dcfce7;color:#166534}.attendance-mark--absent{background:#fee2e2;color:#991b1b}.attendance-mark--late{background:#fff7ed;color:#9a3412}.attendance-mark--excused{background:#f0f9ff;color:#0369a1}.attendance-mark--joint-not-attend{background:#fef9c3;color:#713f12}.attendance-mark--no-response{background:#f1f5f9;color:#475569}.attendance-mark--left-meet{background:#f5f3ff;color:#7c3aed}.attendance-mark--empty{color:#94a3b8;font-weight:700}.exam-result-workspace,.exam-publish-workspace{display:flex;flex-direction:column;gap:18px}.exam-result-workspace__header,.exam-publish-workspace__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.exam-result-workspace__actions,.exam-result-workspace__matrix-actions,.exam-publish-workspace__actions,.exam-publish-workspace__status-actions{display:flex;gap:8px;flex-wrap:wrap}.exam-result-workspace__summary-grid,.exam-result-workspace__filter-grid,.exam-publish-workspace__summary-grid,.exam-publish-workspace__status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.exam-result-workspace__summary-grid article,.exam-publish-workspace__summary-grid article,.exam-publish-workspace__status-grid article{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:16px}.exam-result-workspace__summary-grid span,.exam-publish-workspace__summary-grid span,.exam-publish-workspace__status-grid span{display:block;font-size:12px;text-transform:uppercase;color:var(--muted)}.exam-result-workspace__summary-grid strong,.exam-publish-workspace__summary-grid strong,.exam-publish-workspace__status-grid strong{display:block;margin-top:8px}.exam-result-workspace__matrix{display:flex;flex-direction:column;gap:16px}.exam-result-workspace__matrix-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.exam-publish-workspace__status-panel,.exam-publish-workspace__preview{display:flex;flex-direction:column;gap:16px}.exam-publish-workspace__status{border:1px solid #e2e8f0;border-radius:20px;padding:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.exam-publish-workspace__status h3{margin:4px 0 0}.exam-publish-workspace__status--ready{background:#ecfdf5;border-color:#86efac}.exam-publish-workspace__status--warning{background:#fffbeb;border-color:#fcd34d}.exam-publish-workspace__status--blocked{background:#fef2f2;border-color:#fca5a5}.exam-publish-workspace__section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.exam-publish-workspace__preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.exam-result-matrix__scroll{overflow:auto;border:1px solid #e2e8f0;border-radius:18px}.exam-result-matrix__table{width:100%;min-width:960px;border-collapse:separate;border-spacing:0}.exam-result-matrix__table th,.exam-result-matrix__table td{border-bottom:1px solid #e2e8f0;padding:12px;vertical-align:top;background:#fff}.exam-result-matrix__table thead th{position:sticky;top:0;z-index:3;background:#f8fafc}.exam-result-matrix__sticky{position:sticky;left:0;z-index:2;background:#fff;min-width:220px}.exam-result-matrix__sticky--secondary{left:220px;min-width:120px}.exam-result-matrix__sticky--tertiary{left:340px;min-width:140px}.exam-result-matrix__table thead .exam-result-matrix__sticky,.exam-result-matrix__table thead .exam-result-matrix__sticky--secondary,.exam-result-matrix__table thead .exam-result-matrix__sticky--tertiary{background:#f8fafc;z-index:4}.exam-result-matrix__student strong,.exam-result-matrix__subject-head strong{display:block}.exam-result-matrix__subject-head span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.exam-result-cell{display:flex;flex-direction:column;gap:4px;min-width:120px}.exam-result-cell--editing .form-input{min-width:100px}.exam-result-cell__meta,.exam-result-cell__audit{font-size:12px;color:#64748b}.exam-result-cell__error{color:#b91c1c;font-size:12px}@media(max-width:900px){.attendance-daily__table{display:table!important}.attendance-workspace__header-summary,.attendance-workspace__tabs{grid-template-columns:1fr}.attendance-history__sticky-col{min-width:180px!important;max-width:180px}.attendance-history__table th,.attendance-history__table td{min-width:104px;padding:10px}.exam-result-workspace__summary-grid,.exam-result-workspace__filter-grid,.exam-publish-workspace__summary-grid,.exam-publish-workspace__status-grid,.exam-publish-workspace__preview-grid{grid-template-columns:1fr}}.materials-shell{display:flex;flex-direction:column;gap:24px;max-width:1200px;margin:0 auto}.materials-hero{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;box-shadow:0 18px 50px #0f172a14}.materials-hero__actions{display:flex;gap:12px;flex-wrap:wrap}.materials-filters{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 16px 40px #0f172a14}.materials-search{width:100%}.materials-filter-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.materials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.material-card{background:var(--surface);border-radius:18px;border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;min-height:320px;box-shadow:0 20px 40px #0f172a14}.material-card__media{aspect-ratio:16 / 6;display:flex;align-items:center;justify-content:center}.material-card__media-icon{font-size:40px;color:#0f172a}.material-card__body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.material-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.material-card__type{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:0}.material-card__badge{padding:4px 12px;border-radius:999px;font-size:11px;font-weight:700}.material-card__badge--published{background:#10b9812e;color:#047857}.material-card__badge--draft{background:#3b82f626;color:#1d4ed8}.material-card__meta{margin:0;font-size:12px;color:var(--muted)}.material-card__description{margin:0;color:var(--muted);font-size:14px;min-height:40px}.material-card__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.material-card__actions .btn{flex:1 1 120px}.material-card__danger{color:var(--danger)}.materials-form{display:flex;flex-direction:column;gap:20px}.materials-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.materials-form__actions{display:flex;gap:12px;flex-wrap:wrap}.calendar-page{display:flex;flex-direction:column;gap:18px}.calendar-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.calendar-page__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.calendar-page__grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,2fr);gap:24px;align-items:start}.calendar-page__preview,.calendar-page__list{display:flex;flex-direction:column;gap:12px}.calendar-page--readonly .calendar-event-card{border-style:dashed}.calendar-event-card{border:1px solid var(--border);border-radius:18px;padding:18px;background:var(--surface);display:flex;flex-direction:column;gap:8px;box-shadow:0 10px 30px #0f172a0d}.calendar-event-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.calendar-event-card__type{margin:0;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.calendar-event-card__header h3{margin:4px 0 0;font-size:18px}.calendar-event-card__dates{margin:0;color:var(--muted);font-size:13px}.calendar-event-card__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.calendar-event-card__badge,.calendar-event-card__tag{border-radius:999px;padding:4px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--border)}.calendar-event-card__badge{background:#135bec14;color:var(--accent)}.calendar-event-card__tag{background:#94a3b81a;color:#0f172a}.calendar-event-card__description{margin:0;color:var(--muted);font-size:14px}.calendar-event-card__actions{display:flex;gap:8px}.calendar-modal{display:flex;flex-direction:column;gap:16px}.calendar-modal__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.calendar-preview{border:1px solid var(--border);border-radius:20px;padding:20px;background:var(--surface);display:flex;flex-direction:column;gap:10px}.calendar-preview__header h3{margin:0;font-size:20px}.calendar-preview__pretitle{margin:0;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.calendar-preview__weekdays{display:grid;grid-template-columns:repeat(7,1fr);font-size:12px;letter-spacing:.2em;color:var(--muted)}.calendar-preview__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-preview__cell{min-height:70px;border-radius:12px;border:1px solid var(--border);padding:8px;background:var(--surface-muted);display:flex;flex-direction:column;gap:6px;justify-content:space-between}.calendar-preview__cell--pad{border-style:dashed;background:transparent}.calendar-preview__cell--today{border-color:var(--accent);box-shadow:0 0 0 2px #135bec33}.calendar-preview__cell-label{font-weight:700}.calendar-preview__dots{display:flex;gap:4px;flex-wrap:wrap}.calendar-preview__dot{width:6px;height:6px;border-radius:50%}@media(max-width:1100px){.calendar-page__grid{grid-template-columns:1fr}.calendar-preview__grid{gap:6px}.academic-calendar-layout{grid-template-columns:1fr}}@media(max-width:768px){.academic-calendar-section{padding:18px;border-radius:24px}.academic-calendar-grid{grid-template-columns:1fr;gap:14px}.academic-calendar-month{padding:14px;border-radius:18px}.academic-calendar-month__weekdays{gap:4px;font-size:10px;letter-spacing:.12em}.academic-calendar-month__grid{gap:4px}.academic-calendar-day,.academic-calendar-day--pad{min-height:82px;padding:8px 6px;border-radius:12px;gap:6px}.academic-calendar-day__head{font-size:13px}.academic-calendar-day__head small{font-size:9px}.academic-calendar-chip{border-radius:10px;padding:4px 6px;font-size:10px;line-height:1.25}.academic-calendar-list{padding:14px;border-radius:18px}.academic-calendar-list__header,.academic-calendar-list__card{flex-direction:column;align-items:flex-start}.academic-calendar-list__meta{width:100%;align-items:flex-start;text-align:left}.calendar-preview{padding:16px;border-radius:18px}.calendar-preview__weekdays{font-size:10px;letter-spacing:.12em}.calendar-preview__grid{gap:4px}.calendar-preview__cell{min-height:52px;padding:6px;border-radius:10px}.calendar-preview__cell-label{font-size:12px}}.teacher-performance-shell{display:flex;flex-direction:column;gap:20px;max-width:1200px;margin:0 auto}.teacher-performance__meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:13px}.teacher-performance__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.teacher-performance__stats{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;color:var(--muted);border-top:1px solid var(--border);padding-top:12px}.teacher-performance__table-wrapper{margin-top:12px}.performance-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.student-performance-shell{display:flex;flex-direction:column;gap:24px;max-width:1200px;margin:0 auto}.student-performance__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.student-performance__stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.performance-stat-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:var(--surface);text-align:center}.performance-stat-card__label{margin:0;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;font-weight:600}.performance-stat-card__value{margin:8px 0 0;font-size:24px;font-weight:700}.student-performance__exam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.student-performance-card{border:1px solid var(--border);border-radius:20px;padding:18px;background:var(--surface);box-shadow:0 20px 40px #0f172a14}.student-performance-card__type{margin:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.student-performance-card__meta{margin:10px 0 0;color:var(--muted);font-size:13px}.student-performance__scores{margin-top:12px}.sparkline{width:100%;display:block}.sparkline--empty{border:1px dashed var(--border);border-radius:16px;padding:14px;text-align:center;color:var(--muted);font-size:13px;background:var(--surface-muted)}.student-performance__trend-card{border:1px solid var(--border);border-radius:20px;padding:20px;background:var(--surface);box-shadow:0 25px 50px #0f172a14;margin-top:12px}.student-performance__trend-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.student-performance__trend-card__subtitle{color:var(--muted);font-size:13px}.student-performance__trend-card__footer{margin-top:12px;font-size:13px;color:var(--muted)}.student-performance__subject-trends{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px}.subject-trend-card{border:1px solid var(--border);border-radius:18px;padding:14px;background:var(--surface)}.subject-trend-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.subject-trend-card__name{margin:0;font-weight:600}.subject-trend-card__value{margin:0;font-weight:700;color:var(--accent)}.admin-performance-shell{display:flex;flex-direction:column;gap:20px;max-width:1200px;margin:0 auto}.admin-performance__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.admin-performance__stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.admin-performance__visuals{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.admin-performance__chart{border:1px solid var(--border);border-radius:20px;padding:20px;background:var(--surface);box-shadow:0 18px 40px #0f172a0f}.admin-performance__chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.admin-performance__chart-header small{color:var(--muted)}.admin-performance__last-updated{margin-top:12px;font-size:13px;color:var(--muted)}.admin-performance__avg-row{margin-top:4px;font-size:13px;color:var(--muted)}.admin-performance__leaders{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px}.admin-performance__leader-panel{border:1px solid var(--border);border-radius:18px;padding:16px;background:var(--surface)}.admin-performance__leader-panel h3{margin:0 0 12px;font-size:16px}.admin-performance__leader-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.admin-performance__leader-panel li{display:flex;flex-direction:column;gap:4px;font-size:14px;border-bottom:1px solid var(--border);padding-bottom:12px}.admin-performance__leader-panel li:last-child{border-bottom:none;padding-bottom:0}.admin-performance__leader-panel strong{display:block;font-size:15px}.admin-performance__leader-panel span{font-size:12px;color:var(--muted)}.admin-performance__subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}.admin-performance-subject-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:var(--surface);display:flex;flex-direction:column;gap:10px}.admin-performance-subject-card__header{display:flex;justify-content:space-between;align-items:center}.admin-performance-subject-card__name{margin:0;font-weight:600}.admin-performance-subject-card__value{margin:0;font-weight:700;color:var(--accent)}.admin-performance-subject-card__progress{height:8px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.admin-performance-subject-card__progress-bar{height:100%;background:linear-gradient(90deg,#135bec,#1fb6ff);border-radius:999px}.admin-performance-subject-card__meta{margin:0;font-size:13px;color:var(--muted)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover{background:#b91c1c}.status-pill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-pill--due{background-color:#fef3c7;color:#a16207}.status-pill--paid{background-color:#d1fae5;color:#065f46}.status-pill--partial{background-color:#e0f2fe;color:#0f172a}.status-pill--cancelled{background-color:#fee2e2;color:#991b1b}.status-chip{border-radius:999px;border:1px solid var(--border);background-color:#fff;color:var(--muted);padding:6px 16px;font-size:13px;cursor:pointer}.status-chip--active{border-color:var(--accent);background-color:var(--accent);color:#fff}.invoices-page__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px}.invoices-page__pagination{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-footer{display:flex;justify-content:flex-end;gap:10px}.student-invoices-page{display:flex;flex-direction:column;gap:24px}.student-invoices-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.student-invoices-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-invoice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.student-invoice-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:16px}.student-invoice-card__header,.student-invoice-card__amounts{display:flex;justify-content:space-between;gap:12px}.student-invoice-card__amounts span{font-size:12px;color:var(--muted)}.student-invoice-card__body{display:flex;flex-direction:column;gap:12px}.student-invoice-card__meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.student-invoice-card__actions{display:flex;flex-direction:column;gap:10px}.student-invoice-card__actions-cta{display:flex;gap:10px;flex-wrap:wrap}.finance-summary-banner{margin-bottom:1rem;padding:.875rem 1rem;border-radius:16px;background:#eef6ff;color:#173b73}.finance-detail-panel,.finance-linked-panel{margin-top:1rem}.finance-detail-panel__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.finance-allocation-editor{margin-top:1.5rem}.finance-allocation-list,.finance-linked-list{display:grid;gap:.75rem}.finance-allocation-row,.finance-linked-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#fff}.finance-allocation-row .form-input{width:160px}.finance-linked-item__actions{display:flex;align-items:center;gap:.75rem}.finance-table-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:nowrap;white-space:nowrap}.finance-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.875rem;margin-bottom:1rem}.finance-summary-card{padding:.875rem 1rem;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#fff}.finance-summary-card__label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.finance-summary-card strong{display:block;font-size:1.1rem;color:var(--text)}.finance-summary-card p{margin:.35rem 0 0;color:var(--muted);font-size:13px}.finance-run-summary{display:grid;gap:.875rem;margin-top:1rem}.finance-run-summary__title{margin:0 0 .35rem;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.finance-run-summary__list{margin:0;padding-left:1.1rem;color:var(--muted)}.finance-summary-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}.finance-linked-item__actions .form-input{width:120px}.panel__empty{text-align:center;color:var(--muted);padding:30px 0}@media(max-width:1200px){.timetable-grid{grid-template-columns:repeat(5,minmax(190px,1fr));overflow-x:auto;padding-bottom:4px}}@media(max-width:900px){.timetable-grid{grid-template-columns:1fr;overflow-x:visible}.teacher-details__card--expand{grid-column:auto}}.platform-message-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top left,rgba(19,91,236,.18),transparent 34%),linear-gradient(180deg,#f8fafc,#eef3ff)}.platform-message-card{width:min(540px,100%);background:#fffffff5;border:1px solid rgba(148,163,184,.2);border-radius:28px;padding:32px;box-shadow:0 24px 60px #0f172a1f}.platform-message-card__brand{margin-bottom:20px}.platform-message-card__icon{font-size:40px;color:var(--platform-accent, var(--accent))}.platform-message-card__kicker{margin:16px 0 6px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0f766e}.platform-message-card h1{margin:0 0 12px;font-size:30px}.platform-message-card p{margin:0;color:var(--muted);line-height:1.6}.platform-message-card__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.student-shell{--st-teal: #1A6B5C;--st-teal-dark: #0F4A3F;--st-teal-deep: #073229;--st-teal-soft: rgba(26,107,92,.08);--st-gold: #C9A84C;--st-gold-light: #E0C476;--st-gold-deep: #A88A30;--st-cream: #FAF7F2;--st-cream-warm: #F4EFE5;--st-card: #FFFFFF;--st-ink: #1C1C1E;--st-muted: #6B7280;--st-muted-soft: #9CA3AF;--st-divider: rgba(26,107,92,.1);--st-red: #C44545;--st-amber: #D97A2A;--st-green: #3F8E5A;--st-card-border: 1px solid rgba(26,107,92,.1);--st-card-shadow: 0 2px 12px rgba(26,107,92,.06);--st-shadow-soft: 0 4px 24px rgba(26,107,92,.1);--st-radius-card: 16px;--st-radius-pill: 100px;min-height:100vh;padding:64px 0 100px;background-color:var(--st-cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='none' stroke='%231A6B5C' stroke-width='0.8' stroke-opacity='0.04'%3E%3Cpath d='M60 10 L110 60 L60 110 L10 60 Z'/%3E%3Cpath d='M60 28 L92 60 L60 92 L28 60 Z'/%3E%3Ccircle cx='60' cy='60' r='8'/%3E%3Cpath d='M60 40 L80 60 L60 80 L40 60 Z'/%3E%3C/g%3E%3C/svg%3E");background-size:120px 120px;font-family:Plus Jakarta Sans,Lexend,sans-serif}.student-arabic{font-family:Amiri,serif;direction:rtl;text-align:right}.student-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:64px;background:var(--st-card, #FFFFFF);border-bottom:1px solid var(--st-divider);box-shadow:0 1px 8px #1a6b5c0f}.student-brand-mark{display:flex;align-items:center;gap:10px;text-decoration:none}.student-brand-mark__icon{flex-shrink:0;display:flex;align-items:center}.student-brand-mark__text{display:flex;flex-direction:column;gap:1px}.student-brand-mark__name{font-size:16px;font-weight:800;color:var(--st-teal-deep, #073229);letter-spacing:-.02em;line-height:1}.student-brand-mark__sub{font-size:9px;font-weight:600;color:var(--st-muted, #6B7280);text-transform:uppercase;letter-spacing:.12em;line-height:1}.student-header__actions{display:flex;align-items:center;gap:8px}.student-icon-btn{position:relative;width:38px;height:38px;border:none;border-radius:50%;background:var(--st-teal-soft, rgba(26,107,92,.08));color:var(--st-teal, #1A6B5C);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;padding:0}.student-icon-btn:hover{background:#1a6b5c24}.student-icon-btn .material-symbols-outlined{font-size:20px}.student-header__bell-dot{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--st-red, #C44545);border:1.5px solid white;pointer-events:none}.student-main{width:100%;max-width:680px;margin:0 auto;padding:20px 16px}.student-page-stack{display:grid;gap:16px}.student-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.student-section-head__left{display:flex;align-items:center;gap:8px}.student-section-head__bar{width:4px;height:18px;border-radius:2px;background:var(--st-gold, #C9A84C);flex-shrink:0}.student-section-head__title{font-size:17px;font-weight:700;color:var(--st-teal-deep, #073229);letter-spacing:-.02em;margin:0}.student-section-head__link{font-size:12px;font-weight:600;color:var(--st-teal, #1A6B5C);text-decoration:none}.student-prayer-banner{background:linear-gradient(135deg,var(--st-teal-dark, #0F4A3F),var(--st-teal-deep, #073229));border-radius:var(--st-radius-card, 16px);padding:18px 16px;color:#fff;position:relative;overflow:hidden}.student-prayer-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cg fill='none' stroke='%23C9A84C' stroke-width='0.6' opacity='0.35'%3E%3Cpath d='M30 5 L55 30 L30 55 L5 30 Z'/%3E%3Ccircle cx='30' cy='30' r='10'/%3E%3C/g%3E%3C/svg%3E");background-size:60px 60px;opacity:.5;pointer-events:none}.student-prayer-banner__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;position:relative}.student-prayer-banner__hijri{font-family:Amiri,serif;font-size:14px;color:var(--st-gold-light, #E0C476);margin:0 0 2px;direction:rtl;text-align:right}.student-prayer-banner__label{font-size:11px;font-weight:600;color:#fff9;margin:0;text-transform:uppercase;letter-spacing:.08em}.student-prayer-banner__next-chip{background:var(--st-gold, #C9A84C);color:var(--st-teal-deep, #073229);font-size:11px;font-weight:700;padding:4px 12px;border-radius:var(--st-radius-pill, 100px);letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.student-prayer-banner__times{display:flex;justify-content:space-between;gap:4px;position:relative}.student-prayer-time{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:8px 4px;border-radius:10px;background:#ffffff0f;border:.5px solid rgba(255,255,255,.1)}.student-prayer-time--next{background:linear-gradient(180deg,var(--st-gold, #C9A84C),var(--st-gold-deep, #A88A30));border-color:transparent;box-shadow:0 0 12px #c9a84c66}.student-prayer-time__name{font-size:9px;font-weight:700;color:#ffffff8c;text-transform:uppercase;letter-spacing:.06em}.student-prayer-time--next .student-prayer-time__name{color:var(--st-teal-deep, #073229)}.student-prayer-time__value{font-size:13px;font-weight:600;color:#ffffffe6;font-variant-numeric:tabular-nums}.student-prayer-time--next .student-prayer-time__value{color:var(--st-teal-deep, #073229)}.student-ayah-strip{display:flex;gap:14px;align-items:flex-start;background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-left:4px solid var(--st-gold, #C9A84C);border-radius:var(--st-radius-card, 16px);padding:16px 18px;box-shadow:var(--st-card-shadow)}.student-ayah-strip__icon{color:var(--st-gold, #C9A84C);font-size:22px;flex-shrink:0;margin-top:2px}.student-ayah-strip__arabic{font-family:Amiri,serif;font-size:18px;line-height:1.8;color:var(--st-ink, #1C1C1E);margin:0 0 6px;direction:rtl;text-align:right}.student-ayah-strip__translation{font-size:12px;color:var(--st-muted, #6B7280);margin:0;line-height:1.5;font-style:italic}.student-card{background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);padding:20px;box-shadow:var(--st-card-shadow);position:relative;overflow:hidden}.student-card:before{content:"✦";position:absolute;right:-10px;top:-10px;font-size:110px;color:var(--st-teal-soft, rgba(26,107,92,.08));pointer-events:none;line-height:1;-webkit-user-select:none;user-select:none}.student-card__greeting{font-size:11px;font-weight:700;color:var(--st-gold, #C9A84C);text-transform:uppercase;letter-spacing:.12em;margin:0 0 4px}.student-card__name{font-size:22px;font-weight:700;color:var(--st-teal-deep, #073229);letter-spacing:-.03em;margin:0 0 16px}.student-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;position:relative}.student-card__cell{background:var(--st-cream-warm, #F4EFE5);border-radius:10px;padding:10px 12px}.student-card__cell-label{font-size:10px;font-weight:600;color:var(--st-muted, #6B7280);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:2px}.student-card__cell-value{font-size:13px;font-weight:700;color:var(--st-ink, #1C1C1E);display:block}.student-card__mentor{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px dashed var(--st-divider);position:relative;gap:12px}.student-card__mentor-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.student-card__mentor-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--st-teal, #1A6B5C),var(--st-teal-deep, #073229));color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-card__mentor-details{min-width:0}.student-card__mentor-label{font-size:10px;font-weight:600;color:var(--st-muted, #6B7280);text-transform:uppercase;letter-spacing:.08em;display:block}.student-card__mentor-name{font-size:13px;font-weight:600;color:var(--st-ink, #1C1C1E);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-card__message-pill{font-size:11px;font-weight:700;color:var(--st-teal, #1A6B5C);border:1.5px solid var(--st-teal, #1A6B5C);border-radius:var(--st-radius-pill, 100px);padding:5px 14px;background:transparent;cursor:not-allowed;opacity:.55;letter-spacing:.06em;flex-shrink:0;white-space:nowrap}.student-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.student-stat-card{background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);padding:14px 12px;box-shadow:var(--st-card-shadow)}.student-stat-card__icon-wrap{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.student-stat-card__icon-wrap .material-symbols-outlined{font-size:15px}.student-stat-card__value-row{display:flex;align-items:baseline;gap:2px;line-height:1;margin-bottom:4px}.student-stat-card__value{font-size:22px;font-weight:700;color:var(--st-teal-deep, #073229);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.student-stat-card__unit{font-size:11px;font-weight:600;color:var(--st-muted, #6B7280)}.student-stat-card__label{font-size:10px;font-weight:600;color:var(--st-muted, #6B7280);text-transform:uppercase;letter-spacing:.08em}.student-schedule-strip{background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);padding:18px 18px 14px;box-shadow:var(--st-card-shadow)}.student-tab-toggle{display:flex;background:var(--st-teal-soft, rgba(26,107,92,.08));border-radius:var(--st-radius-pill, 100px);padding:3px}.student-tab-toggle__btn{flex:1;padding:5px 12px;border:none;border-radius:var(--st-radius-pill, 100px);background:transparent;font-size:11px;font-weight:700;color:var(--st-muted, #6B7280);cursor:pointer;transition:all .15s ease;font-family:inherit;text-transform:capitalize}.student-tab-toggle__btn--active{background:var(--st-card, #FFFFFF);color:var(--st-teal-deep, #073229);box-shadow:0 1px 3px #00000014}.student-timetable-scroll{display:flex;gap:12px;overflow-x:auto;padding:14px 0 4px;-ms-overflow-style:none;scrollbar-width:none}.student-timetable-scroll::-webkit-scrollbar{display:none}.student-timetable-card{flex-shrink:0;width:200px;background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:14px;border-left:3px solid var(--st-teal, #1A6B5C);padding:14px;box-shadow:var(--st-card-shadow);position:relative}.student-timetable-card__time{font-size:10px;font-weight:700;color:var(--st-muted, #6B7280);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;display:block}.student-timetable-card__subject{font-size:15px;font-weight:700;color:var(--st-teal-deep, #073229);letter-spacing:-.02em;margin:0 0 4px}.student-timetable-card__teacher{font-size:11px;color:var(--st-muted, #6B7280);margin:0 0 12px}.student-timetable-card__actions{display:flex;gap:8px;align-items:center}.student-timetable-card__meet-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border-radius:8px;border:none;background:var(--st-teal-soft, rgba(26,107,92,.08));color:var(--st-teal, #1A6B5C);font-size:11px;font-weight:700;cursor:pointer;transition:background .15s ease;font-family:inherit}.student-timetable-card__meet-btn:disabled{opacity:.45;cursor:not-allowed}.student-timetable-card__meet-btn:not(:disabled):hover{background:#1a6b5c24}.student-timetable-card__meet-btn--join{background:var(--st-teal-deep, #073229);color:#fff}.student-timetable-card__meet-btn--join:not(:disabled):hover{background:var(--st-teal-dark, #0F4A3F)}.student-timetable-card__copy-btn{width:34px;height:34px;border-radius:8px;border:none;background:var(--st-cream-warm, #F4EFE5);color:var(--st-muted, #6B7280);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease}.student-timetable-card__copy-btn:disabled{opacity:.4;cursor:not-allowed}.student-timetable-card__copy-btn .material-symbols-outlined{font-size:16px}.student-timetable-card__live-badge{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--st-radius-pill, 100px);background:#c445451f;color:var(--st-red, #C44545);font-size:9px;font-weight:700;letter-spacing:.06em}.student-timetable-card__live-dot{width:5px;height:5px;border-radius:50%;background:var(--st-red, #C44545)}.student-empty-state{text-align:center;color:var(--st-muted, #6B7280);padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:8px}.student-empty-state .material-symbols-outlined{font-size:36px;color:var(--st-muted-soft, #9CA3AF)}.student-empty-state p{margin:0;font-size:13px}.student-week-picker{display:flex;gap:8px;overflow-x:auto;padding:0 0 4px;-ms-overflow-style:none;scrollbar-width:none}.student-week-picker::-webkit-scrollbar{display:none}.student-day-chip{flex-shrink:0;width:50px;padding:10px 0;border-radius:12px;background:var(--st-card, #FFFFFF);border:var(--st-card-border);text-align:center;cursor:pointer;position:relative;transition:all .15s ease;-webkit-user-select:none;user-select:none}.student-day-chip--active{background:var(--st-teal-deep, #073229);border-color:var(--st-teal-deep, #073229)}.student-day-chip--jumua{background:#c9a84c1a;border-color:#c9a84c66}.student-day-chip__day{font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--st-muted, #6B7280);display:block;margin-bottom:4px}.student-day-chip--active .student-day-chip__day{color:var(--st-gold-light, #E0C476)}.student-day-chip--jumua .student-day-chip__day{color:var(--st-gold-deep, #A88A30)}.student-day-chip__date{font-size:17px;font-weight:700;color:var(--st-teal-deep, #073229);display:block;font-variant-numeric:tabular-nums}.student-day-chip--active .student-day-chip__date{color:#fff}.student-day-chip__sub{font-size:7.5px;font-weight:700;color:var(--st-gold-deep, #A88A30);letter-spacing:.04em;display:block;margin-top:2px}.student-timeline{display:flex;flex-direction:column;gap:10px}.student-timeline__slot{display:flex;gap:10px;align-items:flex-start}.student-timeline__gutter{width:50px;flex-shrink:0;padding-top:10px}.student-timeline__gutter-start{font-size:12px;font-weight:700;color:var(--st-teal-deep, #073229);display:block;font-variant-numeric:tabular-nums}.student-timeline__gutter-end{font-size:10px;color:var(--st-muted, #6B7280);display:block;margin-top:2px;font-variant-numeric:tabular-nums}.student-timeline__card{flex:1;background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:12px;border-left:3px solid var(--st-teal, #1A6B5C);padding:12px 14px;position:relative}.student-timeline__prayer-break{flex:1;padding:8px 14px;border-radius:10px;background:#c9a84c14;border:1px dashed rgba(201,168,76,.5);display:flex;align-items:center;gap:8px;color:var(--st-gold-deep, #A88A30);font-size:11px;font-weight:600;letter-spacing:.04em}.student-timeline__prayer-break .material-symbols-outlined{font-size:14px}.student-page-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.student-page-header__back{width:38px;height:38px;border-radius:12px;background:var(--st-card, #FFFFFF);border:var(--st-card-border);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.student-page-header__back .material-symbols-outlined{font-size:18px;color:var(--st-teal-deep, #073229)}.student-page-header__title{flex:1}.student-page-header__title h2{font-size:18px;font-weight:700;color:var(--st-teal-deep, #073229);letter-spacing:-.03em;margin:0}.student-page-header__title p{font-size:11px;color:var(--st-muted, #6B7280);margin:2px 0 0}.student-page-header__action{width:38px;height:38px;border-radius:12px;background:var(--st-card, #FFFFFF);border:var(--st-card-border);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:var(--st-teal-deep, #073229)}.student-work-grid-v2{display:flex;flex-direction:column;gap:12px}.student-work-card-v2{display:flex;align-items:center;gap:14px;background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-left:4px solid var(--st-teal, #1A6B5C);border-radius:var(--st-radius-card, 16px);padding:18px;text-decoration:none;color:inherit;box-shadow:var(--st-card-shadow);transition:box-shadow .15s ease,transform .15s ease}.student-work-card-v2:hover{box-shadow:var(--st-shadow-soft);transform:translateY(-1px)}.student-work-card-v2--gold{border-left-color:var(--st-gold, #C9A84C)}.student-work-card-v2__icon-wrap{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--st-teal-soft, rgba(26,107,92,.08))}.student-work-card-v2--gold .student-work-card-v2__icon-wrap{background:#c9a84c1f}.student-work-card-v2__icon-wrap .material-symbols-outlined{font-size:26px;color:var(--st-teal, #1A6B5C)}.student-work-card-v2--gold .student-work-card-v2__icon-wrap .material-symbols-outlined{color:var(--st-gold-deep, #A88A30)}.student-work-card-v2__text{flex:1;min-width:0}.student-work-card-v2__title{font-size:15px;font-weight:700;color:var(--st-teal-deep, #073229);display:block;margin-bottom:3px}.student-work-card-v2__desc{font-size:12px;color:var(--st-muted, #6B7280);line-height:1.5;display:block}.student-work-card-v2__arrow{color:var(--st-muted-soft, #9CA3AF);font-size:18px;flex-shrink:0}.student-exam-card{background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);padding:18px;box-shadow:var(--st-card-shadow)}.student-exam-card__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.student-exam-card__eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--st-teal, #1A6B5C);margin:0 0 4px}.student-exam-card h3{font-size:16px;font-weight:700;color:var(--st-teal-deep, #073229);margin:0;letter-spacing:-.02em}.student-exam-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.student-exam-card__meta-chip{padding:4px 10px;border-radius:var(--st-radius-pill, 100px);background:var(--st-cream-warm, #F4EFE5);font-size:11px;font-weight:500;color:var(--st-ink, #1C1C1E)}.student-exam-card__footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.student-exam-card__pending{font-size:12px;color:var(--st-muted, #6B7280);margin:0;font-style:italic}.student-exam-summary{display:flex;align-items:center;gap:20px;background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);padding:20px;box-shadow:var(--st-card-shadow)}.student-exam-summary__chart{flex-shrink:0}.student-exam-summary__info{flex:1;min-width:0}.student-exam-pass-badge{display:inline-block;padding:4px 10px;border-radius:var(--st-radius-pill, 100px);font-size:10px;font-weight:700;letter-spacing:.06em;margin-bottom:8px}.student-exam-pass-badge--pass{background:#3f8e5a1f;color:var(--st-green, #3F8E5A)}.student-exam-pass-badge--fail{background:#c445451f;color:var(--st-red, #C44545)}.student-exam-summary__score{font-size:20px;font-weight:700;color:var(--st-teal-deep, #073229);letter-spacing:-.03em;margin:0 0 4px;font-variant-numeric:tabular-nums}.student-exam-summary__meta{font-size:12px;color:var(--st-muted, #6B7280);margin:0}.student-exam-subjects-table{background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);overflow:hidden;box-shadow:var(--st-card-shadow)}.student-exam-subjects-table__header{display:grid;grid-template-columns:1.6fr .7fr .7fr .6fr;padding:10px 16px;background:var(--st-cream-warm, #F4EFE5);font-size:10px;font-weight:700;color:var(--st-muted, #6B7280);letter-spacing:.06em;text-transform:uppercase}.student-exam-subject-row{padding:12px 16px;border-top:1px solid var(--st-divider)}.student-exam-subject-row__grid{display:grid;grid-template-columns:1.6fr .7fr .7fr .6fr;align-items:center;margin-bottom:8px}.student-exam-subject-row__name{font-size:13px;font-weight:600;color:var(--st-ink, #1C1C1E);display:flex;align-items:center;gap:6px}.student-exam-subject-row__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.student-exam-subject-row__dot--pass{background:var(--st-green, #3F8E5A)}.student-exam-subject-row__dot--fail{background:var(--st-red, #C44545)}.student-exam-subject-row__score{font-size:13px;font-weight:700;color:var(--st-teal-deep, #073229);text-align:right;font-variant-numeric:tabular-nums}.student-exam-subject-row__max,.student-exam-subject-row__pass{font-size:11px;color:var(--st-muted, #6B7280);text-align:right;font-variant-numeric:tabular-nums}.student-exam-subject-bar{height:4px;border-radius:2px;background:var(--st-cream-warm, #F4EFE5);overflow:hidden}.student-exam-subject-bar__fill{height:100%;border-radius:2px}.student-exam-subject-bar__fill--pass{background:var(--st-teal, #1A6B5C)}.student-exam-subject-bar__fill--fail{background:var(--st-red, #C44545)}.student-mark-list{display:grid;gap:12px}.student-mark-card{background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);padding:16px 18px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;box-shadow:var(--st-card-shadow)}.student-mark-card h3{margin:0;font-size:15px;color:var(--st-teal-deep, #073229);font-weight:700}.student-mark-card__code{margin:0 0 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--st-teal, #1A6B5C)}.student-mark-card__range{margin:6px 0 0;color:var(--st-muted, #6B7280);font-size:13px;line-height:1.5}.student-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 12px;border-radius:var(--st-radius-pill, 100px);background:var(--st-cream-warm, #F4EFE5);color:var(--st-muted, #6B7280);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.student-status-pill--success{background:#3f8e5a1f;color:var(--st-green, #3F8E5A)}.student-status-pill--danger{background:#c445451f;color:var(--st-red, #C44545)}.student-status-pill--outline{background:transparent;border:1px solid rgba(148,163,184,.3)}.student-status-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);padding:32px 24px;box-shadow:var(--st-card-shadow)}.student-status-card__icon-wrap{width:56px;height:56px;border-radius:16px;background:var(--st-teal-soft, rgba(26,107,92,.08));display:flex;align-items:center;justify-content:center}.student-status-card__icon{font-size:28px;color:var(--st-teal, #1A6B5C)}.student-status-card--error .student-status-card__icon-wrap{background:#c445451a}.student-status-card--error .student-status-card__icon{color:var(--st-red, #C44545)}.student-status-card h2{margin:0;font-size:16px;font-weight:700;color:var(--st-teal-deep, #073229)}.student-status-card p{margin:4px 0 0;font-size:13px;color:var(--st-muted, #6B7280);line-height:1.5}.student-profile-card{background:linear-gradient(135deg,var(--st-teal-dark, #0F4A3F),var(--st-teal-deep, #073229));border-radius:var(--st-radius-card, 16px);padding:20px;color:#fff;position:relative;overflow:hidden}.student-profile-card:before{content:"✦";position:absolute;top:-30px;right:-20px;font-size:160px;color:var(--st-gold, #C9A84C);opacity:.12;pointer-events:none;line-height:1;-webkit-user-select:none;user-select:none}.student-profile-card__row{display:flex;align-items:center;gap:14px;position:relative;margin-bottom:16px}.student-profile-card__avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--st-gold, #C9A84C),var(--st-gold-deep, #A88A30));color:var(--st-teal-deep, #073229);font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--st-gold-light, #E0C476);flex-shrink:0}.student-profile-card__name{font-size:17px;font-weight:700;margin:0 0 2px}.student-profile-card__email{font-size:11px;color:var(--st-gold-light, #E0C476);margin:0 0 2px;word-break:break-all}.student-profile-card__phone{font-size:11px;color:#ffffff8c;margin:0}.student-profile-card__info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative}.student-profile-card__info-cell{padding:10px;border-radius:10px;background:#ffffff14}.student-profile-card__info-label{font-size:9px;font-weight:700;color:var(--st-gold-light, #E0C476);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:2px}.student-profile-card__info-value{font-size:12px;font-weight:600;color:#fff;display:block}.student-mini-calendar{background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);padding:16px;box-shadow:var(--st-card-shadow)}.student-mini-calendar__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.student-mini-calendar__month{font-size:13px;font-weight:700;color:var(--st-teal-deep, #073229)}.student-mini-calendar__legend{display:flex;gap:10px}.student-mini-calendar__legend-item{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--st-muted, #6B7280)}.student-mini-calendar__legend-dot{width:6px;height:6px;border-radius:50%}.student-mini-calendar__days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.student-mini-calendar__day-label{text-align:center;font-size:9px;font-weight:700;color:var(--st-muted, #6B7280);letter-spacing:.04em}.student-mini-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.student-mini-calendar__day{aspect-ratio:1;border-radius:8px;background:transparent;display:flex;align-items:center;justify-content:center;position:relative;font-size:11px;font-weight:500;color:var(--st-ink, #1C1C1E);font-variant-numeric:tabular-nums}.student-mini-calendar__day--today{background:var(--st-teal-deep, #073229);color:#fff;font-weight:700}.student-mini-calendar__day--empty{color:transparent}.student-mini-calendar__dot{position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%}.student-quick-links{background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);overflow:hidden;box-shadow:var(--st-card-shadow)}.student-quick-link-row{display:flex;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;color:inherit;background:none;border:none;width:100%;text-align:left;font-family:inherit;cursor:pointer;border-bottom:1px solid var(--st-divider);transition:background .1s ease}.student-quick-link-row:last-child{border-bottom:none}.student-quick-link-row:hover{background:var(--st-teal-soft, rgba(26,107,92,.05))}.student-quick-link-row--disabled{opacity:.45;cursor:not-allowed}.student-quick-link-row--disabled:hover{background:none}.student-quick-link-row__icon{width:36px;height:36px;border-radius:10px;background:var(--st-teal-soft, rgba(26,107,92,.08));display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--st-teal, #1A6B5C);font-size:18px}.student-quick-link-row__text{flex:1;min-width:0}.student-quick-link-row__title{font-size:13px;font-weight:600;color:var(--st-ink, #1C1C1E);display:block}.student-quick-link-row__sub{font-size:11px;color:var(--st-muted, #6B7280);display:block;margin-top:1px}.student-quick-link-row__badge{padding:2px 8px;border-radius:var(--st-radius-pill, 100px);background:var(--st-red, #C44545);color:#fff;font-size:10px;font-weight:700}.student-quick-link-row__arrow{color:var(--st-muted-soft, #9CA3AF);font-size:16px;flex-shrink:0}.student-signout-btn{width:100%;padding:13px 16px;border-radius:var(--st-radius-card, 16px);border:1.5px solid rgba(196,69,69,.35);color:var(--st-red, #C44545);background:var(--st-card, #FFFFFF);font-size:12px;font-weight:700;text-align:center;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s ease;font-family:inherit}.student-signout-btn:hover{background:#c445450a}.student-footer{text-align:center;padding:8px 0 4px}.student-footer__bismillah{font-family:Amiri,serif;font-size:16px;color:var(--st-gold, #C9A84C);display:block;margin-bottom:4px}.student-footer__version{font-size:10px;color:var(--st-muted-soft, #9CA3AF)}.student-calendar-controls{display:flex;gap:10px;flex-wrap:wrap}.student-calendar-day{background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);padding:20px;box-shadow:var(--st-card-shadow);display:grid;gap:14px}.student-calendar-day h3{margin:0;font-size:16px;color:var(--st-teal-deep, #073229);font-weight:700}.student-calendar-item{display:flex;gap:12px;align-items:flex-start}.student-calendar-item__type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--st-teal, #1A6B5C);margin:0 0 4px}.student-calendar-item p{margin:4px 0 0;color:var(--st-muted, #6B7280);font-size:13px;line-height:1.5}.student-calendar-day__items{display:grid;gap:12px}.student-filter-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-ms-overflow-style:none;scrollbar-width:none;margin-bottom:4px}.student-filter-chips::-webkit-scrollbar{display:none}.student-filter-chip{flex-shrink:0;padding:6px 14px;border-radius:var(--st-radius-pill, 100px);background:var(--st-card, #FFFFFF);border:var(--st-card-border);color:var(--st-muted, #6B7280);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.student-filter-chip--active{background:var(--st-teal-deep, #073229);border-color:var(--st-teal-deep, #073229);color:#fff}.student-featured-event{background:var(--st-card, #FFFFFF);border:var(--st-card-border);border-radius:var(--st-radius-card, 16px);overflow:hidden;box-shadow:var(--st-shadow-soft)}.student-featured-event__img{height:140px;background:linear-gradient(135deg,var(--st-teal-dark, #0F4A3F),var(--st-teal, #1A6B5C));position:relative;overflow:hidden;display:flex;align-items:flex-end}.student-featured-event__img:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M20 2 L38 20 L20 38 L2 20 Z' fill='none' stroke='%23C9A84C' stroke-width='0.6' opacity='0.4'/%3E%3C/svg%3E");background-size:40px 40px}.student-featured-event__badge{position:absolute;top:10px;left:10px;padding:4px 9px;border-radius:4px;background:var(--st-gold, #C9A84C);color:var(--st-teal-deep, #073229);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.student-featured-event__overlay{position:relative;padding:12px 14px;color:#fff;width:100%}.student-featured-event__title{font-size:16px;font-weight:700;margin:0 0 2px}.student-featured-event__date{font-size:11px;color:var(--st-gold-light, #E0C476);margin:0}.student-featured-event__body{padding:12px 14px;font-size:12px;color:var(--st-muted, #6B7280);line-height:1.5}.student-event-row{display:flex;border-radius:14px;overflow:hidden;background:var(--st-card, #FFFFFF);border:var(--st-card-border);box-shadow:var(--st-card-shadow)}.student-event-row__date-block{width:90px;flex-shrink:0;background:linear-gradient(135deg,var(--st-teal-dark, #0F4A3F),var(--st-teal, #1A6B5C));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 6px;color:#fff;position:relative;overflow:hidden}.student-event-row__date-block:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M15 2 L28 15 L15 28 L2 15 Z' fill='none' stroke='%23C9A84C' stroke-width='0.5' opacity='0.3'/%3E%3C/svg%3E");background-size:30px 30px}.student-event-row__date-day-num{font-size:28px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;position:relative}.student-event-row__date-month{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--st-gold-light, #E0C476);text-transform:uppercase;position:relative;margin-bottom:4px}.student-event-row__date-hijri{font-size:9px;color:#fff9;position:relative;text-align:center}.student-event-row__content{flex:1;padding:12px 14px;min-width:0}.student-event-tag{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--st-teal-soft, rgba(26,107,92,.08));color:var(--st-teal, #1A6B5C);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.student-event-row__title{font-size:13px;font-weight:700;color:var(--st-teal-deep, #073229);letter-spacing:-.02em;margin:0 0 4px;line-height:1.25}.student-event-row__desc{font-size:11px;color:var(--st-muted, #6B7280);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.student-quiet-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#c9a84c14;border-radius:10px;border:1px solid rgba(201,168,76,.25)}.student-quiet-banner__icon{font-size:18px;color:var(--st-gold-deep, #A88A30);flex-shrink:0}.student-quiet-banner__text{flex:1;font-size:11px;font-weight:600;color:var(--st-gold-deep, #A88A30);line-height:1.4}.student-quiet-banner__on{font-size:10px;font-weight:700;color:var(--st-gold-deep, #A88A30);flex-shrink:0}.student-notif-group-label{font-size:11px;font-weight:700;color:var(--st-muted, #6B7280);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.student-notif-list{display:flex;flex-direction:column;gap:6px}.student-notif-row{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;background:transparent;border:1px solid transparent;position:relative}.student-notif-row--unread{background:var(--st-card, #FFFFFF);border-color:var(--st-divider);box-shadow:var(--st-card-shadow)}.student-notif-row__icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}.student-notif-row__content{flex:1;min-width:0}.student-notif-row__title{font-size:13px;font-weight:600;color:var(--st-ink, #1C1C1E);margin:0 0 2px;display:block}.student-notif-row--unread .student-notif-row__title{font-weight:700;color:var(--st-teal-deep, #073229)}.student-notif-row__body{font-size:11px;color:var(--st-muted, #6B7280);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.student-notif-row__meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.student-notif-row__time{font-size:10px;color:var(--st-muted, #6B7280);font-variant-numeric:tabular-nums}.student-notif-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--st-gold, #C9A84C)}.btn-primary-v2{display:inline-flex;align-items:center;justify-content:center;padding:9px 20px;border-radius:8px;border:none;background:var(--st-teal, #1A6B5C);color:#fff;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;font-family:inherit;transition:background .15s ease}.btn-primary-v2:hover{background:var(--st-teal-dark, #0F4A3F)}.student-bottom-nav{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(680px,100vw);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px 20px;background:var(--st-card, #FFFFFF);border-top:1px solid var(--st-divider);box-shadow:0 -4px 20px #1a6b5c14}.student-bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;text-decoration:none;color:var(--st-muted-soft, #9CA3AF);font-size:10px;font-weight:600;position:relative;transition:color .15s ease}.student-bottom-nav__item--active{color:var(--st-teal, #1A6B5C)}.student-bottom-nav__item--active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--st-gold, #C9A84C);box-shadow:0 0 6px #c9a84c80}.student-bottom-nav__item .material-symbols-outlined{font-size:22px}.student-inline-button{width:fit-content}.student-mark-read-pill{padding:6px 12px;border-radius:var(--st-radius-pill, 100px);background:var(--st-teal-soft, rgba(26,107,92,.08));color:var(--st-teal, #1A6B5C);font-size:11px;font-weight:700;letter-spacing:.04em;border:none;cursor:pointer;font-family:inherit;transition:background .15s ease}.student-mark-read-pill:hover{background:#1a6b5c24}@media(max-width:768px){.annajah-brand{gap:12px}.annajah-brand__copy{gap:2px}.annajah-brand__name{font-size:13px}.annajah-brand__tagline{font-size:10px;letter-spacing:.16em}.student-shell{padding:64px 0 88px}.student-stats-row{grid-template-columns:repeat(3,1fr)}.student-card__grid{grid-template-columns:1fr 1fr}.student-exam-card__header{flex-direction:column}.student-exam-summary{flex-direction:column;align-items:flex-start}.student-profile-card__info-grid{grid-template-columns:1fr 1fr}.platform-message-card{padding:24px}}.parent-shell{min-height:100dvh;background:#faf7f2;position:relative}.parent-header{position:sticky;top:0;z-index:20;padding:10px 16px;background:#faf7f2eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(26,107,92,.08);display:flex;align-items:center;gap:12px}.parent-header__logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#1a6b5c,#0f4a3f);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #1a6b5c0d,0 8px 24px #1a6b5c0f;flex-shrink:0}.parent-header__wordmark{flex:1;min-width:0}.parent-header__arabic{font-family:Amiri,Noto Naskh Arabic,serif;font-size:18px;color:#1a6b5c;line-height:1;font-weight:700}.parent-header__latin{font-size:11px;font-weight:700;color:#1c1c1e;letter-spacing:1.5px;margin-top:1px}.parent-header__greeting{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.parent-header__salaam{font-size:10px;font-weight:500;color:#6b7280;display:flex;align-items:center;gap:4px}.parent-header__name{font-size:13px;font-weight:700;color:#1c1c1e;letter-spacing:-.1px}.parent-header__bell{position:relative;width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid rgba(26,107,92,.1);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:#3a3a3c;transition:opacity .15s ease}.parent-header__bell:hover{opacity:.8}.parent-header__bell-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:4px;background:#e05252;border:1.5px solid #FAF7F2}.parent-main{padding-bottom:86px;min-height:calc(100dvh - 57px)}.parent-page-stack{display:grid;gap:16px;padding:16px 16px 8px}.parent-card{background:#fff;border:1px solid rgba(26,107,92,.1);border-radius:16px;box-shadow:0 1px 3px #1a6b5c0d,0 8px 24px #1a6b5c0f}.parent-hero-card,.parent-panel,.parent-student-hero,.parent-fee-card{background:#fff;border:1px solid rgba(26,107,92,.1);border-radius:16px;padding:16px;box-shadow:0 1px 3px #1a6b5c0d,0 8px 24px #1a6b5c0f}.parent-hero-card,.parent-hero-card--subtle{border-left:3px solid #1A6B5C}.parent-hero-card h2,.parent-panel h3,.parent-student-hero h2,.parent-fee-card h3{margin:0;color:#1c1c1e}.parent-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.parent-panel__eyebrow,.parent-hero-card__kicker,.parent-student-card__eyebrow,.parent-header__kicker{margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#1a6b5c}.parent-header__subtitle,.parent-hero-card__subtitle,.parent-student-card__subtle,.parent-fee-student-row p{margin:4px 0 0;color:#6b7280;line-height:1.5;font-size:12px}.parent-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.parent-summary-card{background:#fff;border:1px solid rgba(26,107,92,.1);border-radius:14px;padding:12px;box-shadow:0 1px 3px #1a6b5c0d,0 8px 24px #1a6b5c0f}.parent-summary-card span{display:block;font-size:9.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#6b7280;margin-bottom:6px}.parent-summary-card strong{display:block;font-family:JetBrains Mono,ui-monospace,monospace;font-size:16px;font-weight:700;color:#1c1c1e;font-variant-numeric:tabular-nums}.parent-support-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.parent-support-card{background:#fff;border:1px solid rgba(26,107,92,.1);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;box-shadow:0 1px 3px #1a6b5c0d,0 8px 24px #1a6b5c0f;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}.parent-support-card:hover:not(.parent-support-card--muted){transform:translateY(-1px);box-shadow:0 6px 20px #1a6b5c1f}.parent-support-card--muted{opacity:.6;cursor:default}.parent-student-grid{display:grid;gap:12px}.parent-student-card{background:#fff;border:1px solid rgba(26,107,92,.1);border-radius:16px;padding:14px;display:grid;gap:12px;text-decoration:none;color:inherit;box-shadow:0 1px 3px #1a6b5c0d,0 8px 24px #1a6b5c0f;transition:transform .15s ease,box-shadow .15s ease}.parent-student-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1a6b5c1f}.parent-student-card__header,.parent-student-card__footer{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.parent-student-card__identity{display:flex;gap:12px;align-items:center}.parent-student-card__avatar{width:48px;height:48px;border-radius:50%;background:#1a6b5c24;color:#1a6b5c;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;background-size:cover;background-position:center;flex-shrink:0;box-shadow:inset 0 0 0 1px #fff9}.parent-student-card h3{margin:0;font-size:15px;font-weight:700;color:#1c1c1e;letter-spacing:-.2px}.parent-student-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;background:#faf7f2;border-radius:10px}.parent-student-card__grid span{display:block;font-size:10px;color:#6b7280;text-transform:uppercase;letter-spacing:.4px;font-weight:700}.parent-student-card__grid strong,.parent-student-card__footer strong{display:block;margin-top:3px;font-size:13px;color:#1c1c1e;font-weight:600}.parent-student-card__open{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:#1a6b5c;font-size:13px;white-space:nowrap}.parent-status-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:600;letter-spacing:.2px;white-space:nowrap;background:#1a6b5c1a;color:#1a6b5c}.parent-status-pill--paid{background:#2d7a5f;color:#fff}.parent-status-pill--partially_paid{background:#c68a2b;color:#fff}.parent-status-pill--unpaid{background:#e05252;color:#fff}.parent-back-link{display:inline-flex;align-items:center;gap:8px;color:#1a6b5c;font-weight:700;text-decoration:none;font-size:13px;padding:8px 12px 8px 8px;border-radius:10px;background:#fff;border:1px solid rgba(26,107,92,.1);transition:opacity .15s ease;width:fit-content}.parent-back-link:hover{opacity:.8}.parent-student-hero{display:grid;gap:14px}.parent-student-hero__identity{display:flex;gap:14px;align-items:center}.parent-student-hero__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.parent-tab-nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px 0}.parent-tab-nav::-webkit-scrollbar{display:none}.parent-tab-nav__item{padding:8px 14px;border-radius:100px;text-decoration:none;color:#3a3a3c;background:transparent;border:none;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit;white-space:nowrap;flex-shrink:0;transition:background .15s ease,color .15s ease}.parent-tab-nav__item:hover:not(.parent-tab-nav__item--active){background:#1a6b5c0f}.parent-tab-nav__item--active{background:#1a6b5c;color:#fff}.parent-exam-list,.parent-fee-list{display:grid;gap:12px}.parent-exam-list__item{background:#fff;border:1px solid rgba(26,107,92,.1);border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;text-align:left;cursor:pointer;font:inherit;box-shadow:0 1px 3px #1a6b5c0d,0 8px 24px #1a6b5c0f;transition:border-color .15s ease}.parent-exam-list__item--active{border-color:#1a6b5c;box-shadow:0 4px 16px #1a6b5c1f}.parent-fee-card__totals{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;color:#6b7280;font-weight:600;font-size:12px}.parent-fee-card__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.parent-fee-card__students{display:grid;gap:10px;margin-top:12px}.parent-fee-student-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:#fff;border:1px solid rgba(26,107,92,.1);border-radius:14px;padding:14px;box-shadow:0 1px 3px #1a6b5c0d,0 8px 24px #1a6b5c0f}.parent-load-more{width:fit-content;margin:0 auto;display:block}.parent-signout-card{width:100%;background:#fff;border:1px solid rgba(224,82,82,.12);border-radius:14px;padding:14px 16px;text-align:left;cursor:pointer;font:inherit;display:flex;align-items:center;gap:12px;box-shadow:0 1px 3px #1a6b5c0d,0 8px 24px #1a6b5c0f;transition:background .15s ease,border-color .15s ease}.parent-signout-card:hover{border-color:#e052523d;background:#e0525205}.parent-bottom-nav{position:fixed;left:0;right:0;bottom:0;padding-bottom:env(safe-area-inset-bottom,0);padding-top:8px;padding-left:0;padding-right:0;background:#fff;border-top:1px solid rgba(26,107,92,.1);display:grid;grid-template-columns:repeat(5,1fr);z-index:30}.parent-bottom-nav__gold-bar{position:absolute;top:-1px;left:0;right:0;height:3px;background:repeating-linear-gradient(90deg,#C9A84C 0 6px,transparent 6px 12px);opacity:.5}.parent-bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;padding:6px 4px 10px;text-decoration:none;color:#9ca3af;font-size:10px;font-weight:600;position:relative;transition:color .15s ease;letter-spacing:.1px}.parent-bottom-nav__item--active{color:#1a6b5c}.parent-bottom-nav__item--active:before{content:"";position:absolute;top:-4px;width:24px;height:3px;border-radius:2px;background:#c9a84c;box-shadow:0 0 8px #c9a84c99}.parent-bottom-nav__item .material-symbols-outlined{font-size:22px;line-height:1}.parent-shell .student-mark-card{background:#fff;border-color:#1a6b5c1a}.parent-shell .student-mark-card__code,.parent-shell .student-status-card__icon{color:#1a6b5c}.parent-khatam-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;overflow:hidden}.teacher-platform-shell__identity{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:999px;background:#0f172a0f;color:#0f172a;font-weight:600}.teacher-dashboard__hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.9fr);gap:1rem;padding:1.35rem;border:1px solid rgba(15,23,42,.08);border-radius:1.5rem;background:radial-gradient(circle at top right,rgba(19,91,236,.12),transparent 32%),linear-gradient(135deg,#fffffffa,#f8fafcfa);box-shadow:0 20px 40px #0f172a14}.teacher-dashboard__hero-copy h2{margin:0;color:#0f172a}.teacher-dashboard__hero-text{margin:.6rem 0 0;max-width:42rem;color:#475569;line-height:1.65}.teacher-dashboard__hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.teacher-dashboard__hero-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-content:start}.teacher-dashboard__hero-summary div{padding:.9rem 1rem;border:1px solid rgba(15,23,42,.08);border-radius:1rem;background:#ffffffe0}.teacher-dashboard__hero-summary span{display:block;color:#64748b;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.teacher-dashboard__hero-summary strong{display:block;margin-top:.35rem;color:#0f172a;font-size:1.4rem}.teacher-students-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.teacher-student-grid,.teacher-subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.teacher-module-grid,.teacher-session-list,.teacher-class-browser{display:grid;gap:1rem}.teacher-module-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.teacher-module-card,.teacher-session-card,.teacher-class-browser__level{border:1px solid rgba(15,23,42,.08);border-radius:1rem;background:#fff;padding:1rem;box-shadow:0 18px 40px #0f172a0f}.teacher-module-card{text-decoration:none;color:inherit}.teacher-module-card strong{display:block;color:#0f172a}.teacher-module-card p,.teacher-session-card__time,.teacher-session-card__meet,.teacher-class-browser__description{margin:.65rem 0 0;color:#475569}.teacher-session-card__header,.teacher-class-browser__level-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.teacher-session-card__eyebrow,.teacher-class-browser__eyebrow{margin:0 0 .35rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.teacher-session-card__time{font-weight:600}.teacher-session-card__meet{overflow-wrap:anywhere;min-height:40px}.teacher-session-card__actions,.teacher-class-browser__tags,.teacher-class-browser__batches{display:flex;flex-wrap:wrap;gap:.65rem}.teacher-class-browser__tags span{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;background:#f8fafc;color:#334155;font-size:.85rem}.teacher-class-browser__level h3{margin:0;color:#0f172a}.teacher-class-browser__batches{margin-top:1rem}.teacher-class-browser__batch{min-width:140px;border:1px solid rgba(15,23,42,.08);border-radius:.9rem;background:#f8fafc;padding:.75rem .85rem;text-align:left;color:inherit;text-decoration:none;cursor:pointer;font:inherit}.teacher-class-browser__batch strong,.teacher-class-browser__batch span,.teacher-class-browser__batch em{display:block}.teacher-class-browser__batch span,.teacher-class-browser__batch em{margin-top:.3rem;font-size:.82rem;color:#475569}.teacher-class-browser__batch em{font-style:normal;color:#0f766e}.teacher-class-browser__batch--active{border-color:#135bec4d;background:#135bec14;box-shadow:0 14px 24px #135bec1f}.teacher-meet-modal{display:flex;flex-direction:column;gap:1rem}.teacher-student-card,.teacher-subject-card{border:1px solid rgba(15,23,42,.08);border-radius:1.15rem;background:linear-gradient(180deg,#fff,#f8fafc);padding:1.05rem;box-shadow:0 18px 40px #0f172a0f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.teacher-student-card:hover{transform:translateY(-2px);border-color:#135bec29;box-shadow:0 22px 46px #0f172a1a}.teacher-student-card__header,.teacher-subject-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.teacher-student-card__kicker,.teacher-subject-card__code{margin:0 0 .35rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.teacher-student-card h3,.teacher-subject-card h3{margin:0;color:#0f172a}.teacher-student-card__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.teacher-student-card__meta span,.teacher-subject-card__count{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;background:#f8fafc;color:#334155;font-size:.85rem}.teacher-student-card__footer{margin-top:1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;color:#475569}.teacher-student-card__footer p{margin:0;overflow-wrap:anywhere}.teacher-student-card__action{flex-shrink:0}.teacher-subject-card__marks,.teacher-subject-card__description{margin:.85rem 0 0;color:#475569}.teacher-subject-card__levels{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.study-material-chat-workspace{display:flex;flex-direction:column;gap:1rem}.study-material-chat-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.study-material-chat-tabs__tab{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;border:1px solid rgba(148,163,184,.18);border-radius:1.25rem;background:linear-gradient(180deg,#fff,#f8fafc);color:#334155;text-decoration:none;box-shadow:0 14px 30px #0f172a0d;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.study-material-chat-tabs__tab:hover{transform:translateY(-1px);box-shadow:0 18px 36px #0f172a14}.study-material-chat-tabs__tab .material-symbols-outlined{font-size:1.45rem;color:#0f766e}.study-material-chat-tabs__tab strong,.study-material-chat-tabs__tab small{display:block}.study-material-chat-tabs__tab strong{color:#0f172a}.study-material-chat-tabs__tab small{margin-top:.3rem;color:#64748b}.study-material-chat-tabs__tab--active{border-color:#0f766e47;background:linear-gradient(135deg,#dcfce7e6,#f0fdfaf5);box-shadow:0 20px 38px #0f766e1f}@media(max-width:900px){.teacher-platform-shell__identity{display:none}.teacher-timetable-page__tabs{grid-template-columns:1fr}.teacher-class-browser__level-header,.teacher-session-card__header,.teacher-student-card__footer,.teacher-students-toolbar{align-items:stretch;flex-direction:column}.teacher-dashboard__hero,.teacher-dashboard__hero-summary{grid-template-columns:1fr}}.study-material-chat{--study-chat-surface: #fffaf2;--study-chat-panel: rgba(255, 255, 255, .92);--study-chat-border: rgba(148, 163, 184, .18);--study-chat-text: #132238;--study-chat-muted: #5f7187;--study-chat-accent: #0f766e;--study-chat-own: linear-gradient(135deg, #dff6ee 0%, #f3fffb 100%);--study-chat-other: rgba(255, 255, 255, .94);display:flex;flex-direction:column;gap:1rem;min-height:calc(100vh - 11rem);color:var(--study-chat-text)}.study-material-chat__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem;border:1px solid var(--study-chat-border);border-radius:1.5rem;background:radial-gradient(circle at top right,rgba(16,185,129,.12),transparent 32%),linear-gradient(140deg,#f6fbff,#fff7ea);box-shadow:0 18px 36px #0f172a14}.study-material-chat__header-main{display:flex;align-items:center;gap:1rem}.study-material-chat__group-badge{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:1.2rem;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;box-shadow:0 12px 24px #0f766e42}.study-material-chat__group-badge .material-symbols-outlined{font-size:1.7rem}.study-material-chat__eyebrow{margin:0 0 .15rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0f766e}.study-material-chat__header h1{margin:0;font-size:1.55rem}.study-material-chat__subtitle{margin:.2rem 0 0;max-width:44rem;color:var(--study-chat-muted)}.study-material-chat__header-actions{display:flex;align-items:center;gap:.75rem}.study-material-chat__reload{display:inline-flex;align-items:center;gap:.4rem}.study-material-chat__context-strip{display:flex;flex-wrap:wrap;gap:.65rem}.study-material-chat__context-pill,.study-material-chat__audience-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border:1px solid rgba(15,118,110,.14);border-radius:999px;background:#ffffffdb;color:var(--study-chat-muted)}.study-material-chat__messages{flex:1;padding:1.1rem;border:1px solid var(--study-chat-border);border-radius:1.7rem;background:linear-gradient(180deg,#ffffffbd,#fffaf2fa),repeating-linear-gradient(0deg,rgba(15,118,110,.03) 0,rgba(15,118,110,.03) 1px,transparent 1px,transparent 28px);overflow:auto}.study-material-chat__message-row{display:flex;margin-bottom:1rem}.study-material-chat__message-row--own{justify-content:flex-end}.study-material-chat__bubble{width:min(46rem,88%);padding:1rem 1rem .8rem;border:1px solid rgba(148,163,184,.18);border-radius:1.4rem;background:var(--study-chat-other);box-shadow:0 10px 22px #0f172a14}.study-material-chat__message-row--own .study-material-chat__bubble{background:var(--study-chat-own)}.study-material-chat__bubble-header,.study-material-chat__bubble-footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.study-material-chat__bubble-actions{display:inline-flex;align-items:center;gap:.45rem}.study-material-chat__bubble-header time,.study-material-chat__bubble-footer{color:var(--study-chat-muted);font-size:.82rem}.study-material-chat__sender{display:flex;align-items:center;gap:.7rem}.study-material-chat__sender strong{display:block;line-height:1.15}.study-material-chat__sender span:last-child{font-size:.78rem;text-transform:capitalize;color:var(--study-chat-muted)}.study-material-chat__sender-icon{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.8rem;color:#fff}.study-material-chat__sender-icon--teacher{background:linear-gradient(135deg,#1d4ed8,#38bdf8)}.study-material-chat__sender-icon--student{background:linear-gradient(135deg,#f97316,#fbbf24)}.study-material-chat__sender-icon--admin{background:linear-gradient(135deg,#7c3aed,#22c55e)}.study-material-chat__bubble-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem}.study-material-chat__tag{display:inline-flex;align-items:center;padding:.32rem .65rem;border-radius:999px;background:#0f766e1a;color:#0f766e;font-size:.76rem;font-weight:700}.study-material-chat__tag--priority{background:#f472b624;color:#be185d}.study-material-chat__message-text{margin:.85rem 0 0;white-space:pre-wrap;line-height:1.65}.study-material-chat__attachment-stack{display:grid;gap:.75rem;margin-top:.9rem}.study-material-chat__media-card,.study-material-chat__asset-card{display:flex;flex-direction:column;gap:.65rem;padding:.85rem;border-radius:1rem;background:#ffffffd1;border:1px solid rgba(148,163,184,.16);text-decoration:none;color:inherit}.study-material-chat__media-card img,.study-material-chat__media-card video{width:100%;max-height:20rem;border-radius:.95rem;object-fit:cover;background:#0f172a}.study-material-chat__media-card figcaption,.study-material-chat__media-card span,.study-material-chat__asset-card span{color:var(--study-chat-muted);font-size:.86rem}.study-material-chat__asset-head{display:flex;align-items:center;gap:.6rem}.study-material-chat__asset-card--link{background:#eff6ffd1}.study-material-chat__asset-card audio{width:100%}.study-material-chat__download-btn{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;padding:.3rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--study-chat-muted);background:#0f172a0d;text-decoration:none;transition:background .15s,color .15s}.study-material-chat__download-btn:hover{background:#0f172a1a;color:#0f172a}.study-material-chat__download-btn .material-symbols-outlined{font-size:1rem}.study-material-chat__bubble-footer{margin-top:.9rem}.study-material-chat__pending-state{font-weight:700;color:#0f766e}.study-material-chat__message-action{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:0;border-radius:999px;background:#0f172a0f;color:var(--study-chat-muted);cursor:pointer}.study-material-chat__message-action:hover:not(:disabled){background:#dc26261f;color:#b91c1c}.study-material-chat__message-action:disabled{cursor:wait;opacity:.72}.study-material-chat__composer-shell{position:sticky;bottom:0;display:flex;flex-direction:column;gap:.85rem;padding:1rem;border:1px solid var(--study-chat-border);border-radius:1.6rem;background:var(--study-chat-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -10px 32px #0f172a14}.study-material-chat__composer-notice{display:flex;align-items:flex-start;gap:.75rem;padding:.95rem 1rem;border-radius:1rem;background:#fef2f2f2;border:1px solid rgba(248,113,113,.2);color:#991b1b}.study-material-chat__composer-notice strong,.study-material-chat__composer-notice p{margin:0}.study-material-chat__composer-notice p{margin-top:.15rem;color:#7f1d1d}.study-material-chat__composer-meta,.study-material-chat__composer-actions,.study-material-chat__composer-tools,.study-material-chat__link-actions{display:flex;flex-wrap:wrap;gap:.75rem}.study-material-chat__target-grid,.study-material-chat__draft-grid{display:flex;flex-wrap:wrap;gap:.6rem}.study-material-chat__target-chip{padding:.55rem .8rem;border:1px solid rgba(15,118,110,.16);border-radius:999px;background:#fff;color:var(--study-chat-muted)}.study-material-chat__target-chip--selected{border-color:#0f766e47;background:#0f766e1f;color:#0f766e}.study-material-chat__target-chip:disabled{opacity:.6;cursor:not-allowed}.study-material-chat__draft-card{display:flex;align-items:center;gap:.85rem;justify-content:space-between;min-width:15rem;padding:.75rem .9rem;border-radius:1rem;background:#f8fafcf2;border:1px solid rgba(148,163,184,.18)}.study-material-chat__draft-card strong,.study-material-chat__draft-card span{display:block}.study-material-chat__draft-card span{color:var(--study-chat-muted);font-size:.8rem}.study-material-chat__draft-card button{border:0;background:transparent;color:var(--study-chat-muted);cursor:pointer}.study-material-chat__link-composer{display:grid;gap:.75rem;padding:.95rem;border-radius:1.1rem;background:#f8fafceb;border:1px solid rgba(148,163,184,.16)}.study-material-chat__link-composer input,.study-material-chat__composer textarea{width:100%;border:1px solid rgba(148,163,184,.22);border-radius:1rem;padding:.85rem 1rem;font:inherit;color:var(--study-chat-text);background:#fff}.study-material-chat__composer textarea{min-height:6.5rem;resize:vertical}.study-material-chat__composer{display:grid;gap:.9rem}.study-material-chat__tool-button{display:inline-flex;align-items:center;gap:.45rem;padding:.72rem .95rem;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#fff;color:var(--study-chat-text)}.study-material-chat__tool-button--recording{border-color:#dc262640;background:#fee2e2eb;color:#b91c1c}.study-material-chat__send{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto}.study-material-chat__file-input{display:none}.study-material-chat__empty-state{display:grid;place-items:center;gap:.45rem;min-height:14rem;padding:2rem 1.2rem;text-align:center;color:var(--study-chat-muted)}.study-material-chat__empty-state .material-symbols-outlined{font-size:2.2rem;color:#0f766e}.study-material-chat--loading{display:grid;place-items:center}@media(max-width:900px){.study-material-chat-tabs{grid-template-columns:1fr}.study-material-chat__header,.study-material-chat__composer-shell{padding:1rem}.study-material-chat__header{flex-direction:column}.study-material-chat__header-actions{width:100%;flex-direction:column;align-items:stretch}.study-material-chat__bubble{width:100%}}@media(max-width:640px){.study-material-chat{min-height:calc(100vh - 9rem)}.study-material-chat__header-main{align-items:flex-start}.study-material-chat__group-badge{width:3rem;height:3rem}.study-material-chat__messages{padding:.8rem}.study-material-chat__composer-actions{flex-direction:column;align-items:stretch}.study-material-chat__composer-tools{justify-content:space-between}.study-material-chat__tool-button,.study-material-chat__send{justify-content:center}}.teacher-students-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:1rem;margin-top:1rem}.teacher-students-table{width:100%;border-collapse:collapse;font-size:.9rem}.teacher-students-table th,.teacher-students-table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border);white-space:nowrap}.teacher-students-table th{background:var(--surface-muted);font-weight:600;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.teacher-students-table tbody tr:last-child td{border-bottom:none}.teacher-students-table tbody tr:hover{background:var(--surface-muted)}.study-material-chat__options-panel{display:flex;flex-direction:column;gap:.75rem;padding:.85rem 1rem;border-radius:1.1rem;background:#f8fafce6;border:1px solid rgba(148,163,184,.14);animation:chat-options-in .15s ease}@keyframes chat-options-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.study-material-chat__input-row{display:flex;align-items:flex-end;gap:.5rem}.study-material-chat__input-textarea{flex:1;border:1px solid rgba(148,163,184,.22);border-radius:1.4rem;padding:.65rem 1rem;font:inherit;color:var(--study-chat-text);background:#fff;resize:none;min-height:2.6rem;max-height:8rem;overflow-y:auto;line-height:1.45}.study-material-chat__expand-btn,.study-material-chat__send-btn{display:flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:50%;border:none;cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.study-material-chat__expand-btn{background:#94a3b824;color:var(--muted)}.study-material-chat__expand-btn--active{background:#0f766e1f;color:#0f766e}.study-material-chat__expand-btn:disabled{opacity:.5;cursor:not-allowed}.study-material-chat__send-btn{background:var(--accent);color:#fff}.study-material-chat__send-btn:disabled{opacity:.6;cursor:not-allowed}.footer-tab{min-height:44px;font-size:0}.footer-tab .material-symbols-outlined{font-size:24px}.platform-chooser-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 10% 20%,rgba(31,94,214,.2),transparent 40%),radial-gradient(circle at 90% 80%,rgba(13,107,78,.12),transparent 38%),linear-gradient(160deg,#0b1020,#0f172a 55%,#111827);color:#f8fafc}.platform-chooser-header{display:flex;align-items:center;justify-content:center;padding:40px 32px 0}.platform-chooser-header .annajah-brand__name,.platform-chooser-header .annajah-brand__tagline{color:#fff}.platform-chooser-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:40px 24px 60px;gap:32px}.platform-chooser-intro{text-align:center;max-width:480px}.platform-chooser-intro h1{margin:0 0 10px;font-size:36px;font-weight:700;color:#f8fafc}.platform-chooser-intro p{margin:0;color:#f8fafc99;font-size:15px}.platform-chooser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;width:min(1040px,100%)}.platform-chooser-card{position:relative;background:#ffffff0d;border:1px solid rgba(255,255,255,.11);border-radius:24px;padding:28px 24px;display:flex;flex-direction:column;gap:16px;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;color:#f8fafc}.platform-chooser-card:hover{transform:translateY(-3px);background:#ffffff17;border-color:var(--platform-accent, rgba(255, 255, 255, .24));box-shadow:0 20px 50px #0006,0 0 0 1px var(--platform-accent-soft, transparent)}.platform-chooser-card:focus-visible{outline:2px solid var(--platform-accent, #135bec);outline-offset:3px}.platform-chooser-card--active{background:#ffffff12;border-color:var(--platform-accent, rgba(255, 255, 255, .18))}.platform-chooser-card__icon-wrap{width:52px;height:52px;border-radius:16px;background:var(--platform-accent-soft, rgba(255, 255, 255, .1));display:flex;align-items:center;justify-content:center}.platform-chooser-card__icon-wrap .material-symbols-outlined{font-size:28px;color:var(--platform-accent, white);font-variation-settings:"FILL" 1}.platform-chooser-card__body{flex:1;display:flex;flex-direction:column;gap:6px}.platform-chooser-card__kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--platform-accent, rgba(255, 255, 255, .55))}.platform-chooser-card__name{margin:0;font-size:20px;font-weight:700;color:#f8fafc}.platform-chooser-card__highlights{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.platform-chooser-card__highlight{font-size:13px;color:#f8fafc8c;display:flex;align-items:center;gap:8px}.platform-chooser-card__highlight:before{content:"";display:block;width:4px;height:4px;border-radius:50%;background:var(--platform-accent, rgba(255, 255, 255, .35));flex-shrink:0}.platform-chooser-card__badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--platform-accent-soft, rgba(255, 255, 255, .08));border:1px solid var(--platform-accent, rgba(255, 255, 255, .14));font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--platform-accent, rgba(255, 255, 255, .65));width:fit-content}.platform-chooser-card__arrow{font-size:20px;color:#ffffff4d;transition:color .15s ease,transform .15s ease;align-self:flex-end}.platform-chooser-card:hover .platform-chooser-card__arrow{color:var(--platform-accent, rgba(255, 255, 255, .65));transform:translate(4px)}@media(max-width:600px){.platform-chooser-grid{grid-template-columns:1fr}.platform-chooser-intro h1{font-size:28px}.platform-chooser-header{padding-top:28px}}.event-audience-checkboxes{display:flex;flex-wrap:wrap;gap:12px;padding:4px 0}.event-audience-checkbox{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.event-audience-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.event-media-section{display:flex;flex-direction:column;gap:12px;margin-top:4px}.event-media-section__header{display:flex;align-items:center;justify-content:space-between}.event-media-empty{font-size:13px;color:var(--muted);padding:12px 0}.event-media-builder{display:flex;flex-direction:column;gap:12px}.event-media-item{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface-muted)}.event-media-item__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border)}.event-media-item__label{font-size:13px;font-weight:600;color:var(--muted)}.event-media-item__remove{color:var(--danger);border-color:transparent;padding:4px 8px}.event-media-item__body{padding:14px;display:flex;flex-direction:column;gap:12px}.event-type-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize;background:var(--surface-muted);color:var(--muted);border:1px solid var(--border)}.event-type-pill--meeting{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.event-type-pill--news{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.event-type-pill--notification{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.event-type-pill--information{background:#faf5ff;color:#7e22ce;border-color:#e9d5ff}.event-type-pill--image{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.event-type-pill--video{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.event-type-pill--rich_text{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.event-type-pill--link{background:#faf5ff;color:#7e22ce;border-color:#e9d5ff}.event-audience-pills{display:flex;flex-wrap:wrap;gap:6px}.event-audience-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize;background:var(--surface-muted);border:1px solid var(--border);color:var(--muted)}.event-audience-pill--teachers{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.event-audience-pill--parents{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.event-audience-pill--students{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.event-detail-panel{padding:24px;display:flex;flex-direction:column;gap:32px}.event-detail-meta{display:flex;flex-direction:column;gap:16px}.event-detail-row{display:flex;align-items:flex-start;gap:16px}.event-detail-label{min-width:120px;font-size:13px;font-weight:600;color:var(--muted);flex-shrink:0}.event-detail-media__title{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px}.event-detail-media__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--accent);color:#fff;font-size:12px;font-weight:700}.event-detail-media__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.event-detail-media-card{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.event-detail-media-card__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-muted)}.event-detail-media-card__index{font-size:12px;font-weight:600;color:var(--muted)}.event-detail-media-card__body{padding:14px}.event-detail-media-card__file-link{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--accent);text-decoration:none;font-weight:500}.event-detail-media-card__file-link:hover{text-decoration:underline}.event-detail-media-card__richtext{font-size:14px;line-height:1.6;color:#374151;white-space:pre-wrap}.event-detail-media-card__link-title{font-size:14px;font-weight:600;color:#111827;margin-bottom:6px}.event-detail-media-card__url{font-size:13px;color:var(--accent);word-break:break-all}.form-error{font-size:12px;color:var(--danger);margin-top:4px}.btn--danger{color:var(--danger)!important}.btn--danger:hover{background:#fef2f2!important;border-color:#fecaca!important}.page-back-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--muted);text-decoration:none;margin-bottom:8px}.page-back-link:hover{color:var(--accent)}.table-link{color:var(--accent);text-decoration:none;font-weight:500}.table-link:hover{text-decoration:underline}.table-actions{display:flex;align-items:center;gap:6px}.table-meta{font-size:13px;color:var(--muted)}.panel__toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.panel__search{flex:1;max-width:320px}.panel__loading,.panel__error{padding:24px;text-align:center;color:var(--muted);font-size:14px}.panel__error{color:var(--danger)}.panel__pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 0 4px}.panel__pagination-label{font-size:13px;color:var(--muted)}.event-form{display:flex;flex-direction:column;gap:16px}@media(max-width:600px){.event-detail-media__grid{grid-template-columns:1fr}.event-detail-row{flex-direction:column;gap:4px}.event-detail-label{min-width:unset}}.admin-leave-platform-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid var(--border);padding-bottom:0}.admin-leave-platform-tab{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-muted, #888);border-bottom:3px solid transparent;margin-bottom:-2px;border-radius:6px 6px 0 0;transition:color .15s,border-color .15s}.admin-leave-platform-tab:hover{color:var(--text, #111);background:var(--surface-hover, rgba(0,0,0,.04))}.admin-leave-platform-tab--active{color:var(--primary, #2563eb);border-bottom-color:var(--primary, #2563eb)}.admin-leave-tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--surface, #f8f8f8);border-radius:10px;padding:4px;width:fit-content}.admin-leave-tab{padding:7px 16px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-muted, #888);border-radius:7px;transition:color .15s,background .15s}.admin-leave-tab:hover{color:var(--text, #111);background:var(--surface-hover, rgba(0,0,0,.05))}.admin-leave-tab--active{background:var(--bg, #fff);color:var(--text, #111);box-shadow:0 1px 4px #0000001a}.leave-detail{display:flex;flex-direction:column;gap:20px}.leave-detail__section{display:flex;flex-direction:column;gap:8px}.leave-detail__teacher-name{font-size:16px;font-weight:700;margin:0}.leave-detail__meta{font-size:13px;color:var(--text-muted, #666);margin:0}.leave-detail__row{display:flex;gap:12px;font-size:14px;align-items:flex-start}.leave-detail__label{font-weight:600;min-width:90px;color:var(--text-muted, #666)}.leave-detail__actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}.leave-detail__reassign{border-top:1px solid var(--border);padding-top:16px}.leave-detail__reassign-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}
