@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";: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:center;justify-content:center;padding:32px;z-index:20}.feedback-modal__content{background:var(--surface);border-radius:28px;padding:32px;width:min(520px,100%);box-shadow:0 18px 50px #0f172a33}.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:center;justify-content:center;z-index:100}.modal-card{background:var(--surface);border-radius:20px;width:min(860px,92vw);padding:24px;box-shadow:0 25px 50px #0f172a4d}.modal-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-card__close{background:transparent;border:none;font-size:22px;cursor:pointer}.modal-card__body{margin-bottom:12px}.modal-card__footer{display:flex;justify-content:flex-end;gap:12px}.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__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-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--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{min-height:100vh;padding:24px 20px 108px;background:radial-gradient(ellipse at 18% -5%,rgba(13,107,78,.1),transparent 42%),radial-gradient(ellipse at 82% 8%,rgba(181,134,13,.05),transparent 38%),linear-gradient(180deg,#f8f5ef,#f4efe6,#ede8dc)}.student-header{width:min(1100px,100%);margin:0 auto 24px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:relative;overflow:hidden}.student-header__brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.student-header__kicker{margin:0 0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#0d6b4e}.student-header h1{margin:0;font-size:clamp(24px,4vw,36px);color:#1a1209;line-height:1.2}.student-header__subtitle{margin:8px 0 0;max-width:580px;color:#5c5040;font-size:15px;line-height:1.6}.student-header__badge{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:#fffcf6f0;border:1px solid rgba(13,107,78,.14);color:#1a1209;font-weight:600;font-size:14px;box-shadow:0 8px 24px #0f172a0f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0}.student-header__badge .material-symbols-outlined{color:#0d6b4e;font-size:20px}.student-main{width:min(1100px,100%);margin:0 auto}.student-page-stack{display:grid;gap:20px}.student-hero-card,.student-status-card,.student-section,.student-calendar-day{background:#fffcf6f7;border:1px solid rgba(13,107,78,.09);border-radius:24px;padding:24px;box-shadow:0 4px 24px #0f172a0d,0 1px 3px #0f172a0a;transition:box-shadow .2s ease}.student-hero-card{display:grid;gap:20px;background:radial-gradient(ellipse at top right,rgba(13,107,78,.07),transparent 50%),linear-gradient(135deg,#fdfaf5,#f6f1e7);border-left:4px solid #0d6b4e}.student-hero-card--subtle{background:#fffcf6f7;border-left:4px solid #0d6b4e}.student-hero-card__kicker,.student-exam-card__eyebrow,.student-schedule-card__eyebrow,.student-calendar-item__type,.student-mark-card__code{margin:0 0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#0d6b4e}.student-hero-card h2,.student-section__title,.student-exam-card h3,.student-mark-card h3,.student-calendar-day h3{margin:0;color:#1a1209}.student-hero-card__subtitle,.student-work-card p,.student-link-card p,.student-exam-card__pending,.student-mark-card__range,.student-schedule-card__notes,.student-status-card p,.student-calendar-item p{margin:8px 0 0;color:#5c5040;line-height:1.6;font-size:14px}.student-highlight-grid,.student-info-grid,.student-work-grid,.student-action-row{display:grid;gap:14px}.student-highlight-grid,.student-info-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.student-highlight-card,.student-info-card,.student-work-card,.student-link-card,.student-exam-card,.student-mark-card,.student-calendar-item{background:#fffcf6fc;border:1px solid rgba(13,107,78,.09);border-radius:18px;padding:18px;transition:transform .15s ease,box-shadow .15s ease}.student-highlight-card{background:linear-gradient(135deg,#0d6b4e12,#b5860d0a);border:1px solid rgba(13,107,78,.12);position:relative;overflow:hidden}.student-highlight-card:before{content:"";position:absolute;top:-8px;right:-8px;width:48px;height:48px;border-radius:50%;background:#b5860d0f}.student-highlight-card__label,.student-info-card span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#5c5040;font-weight:600}.student-highlight-card strong,.student-info-card strong{display:block;margin-top:8px;font-size:20px;color:#1a1209}.student-highlight-card p,.student-info-card p{margin:6px 0 0;color:#5c5040;font-size:13px}.student-info-card{border-top:3px solid rgba(13,107,78,.1)}.student-section__title{margin-bottom:16px;font-size:17px;color:#1a1209}.student-schedule-list,.student-mark-list,.student-calendar-day__items{display:grid;gap:12px}.student-schedule-list--compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.student-schedule-card__header,.student-exam-card__header,.student-calendar-item,.student-mark-card,.student-exam-card__footer{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.student-schedule-card__time{font-size:12px;font-weight:700;color:#0d6b4e;background:#0d6b4e14;padding:4px 10px;border-radius:999px}.student-schedule-card__meta,.student-exam-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;color:#5c5040;font-size:13px}.student-schedule-card__meta span,.student-exam-card__meta span{padding:5px 10px;border-radius:999px;background:#ede8dc;font-weight:500}.student-schedule-card__actions{display:flex;margin-top:14px}.student-schedule-card__actions .btn:disabled{cursor:not-allowed;opacity:.58}.student-empty-state{text-align:center;color:#a09070;padding:24px 16px}.student-empty-state span{font-size:36px;color:#c8b896}.student-empty-state p{margin-top:8px;font-size:14px}.student-link-card,.student-work-card{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:inherit;box-shadow:0 2px 12px #0f172a0a}.student-link-card:hover,.student-work-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0d6b4e1f;border-color:#0d6b4e2e}.student-link-card .material-symbols-outlined,.student-work-card .material-symbols-outlined{font-size:26px;color:#0d6b4e;flex-shrink:0}.student-link-card--button{width:100%;border:1px solid rgba(13,107,78,.09);text-align:left;cursor:pointer;font:inherit}.student-link-card--button:last-child{border-color:#dc26261a}.student-link-card--button:last-child .material-symbols-outlined{color:#dc2626}.student-link-card--button:last-child:hover{border-color:#dc262633;background:#dc262605}.student-exam-card__footer{margin-top:14px}.student-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 12px;border-radius:999px;background:#ede8dc;color:#5c5040;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.student-status-pill--success{background:#0596691f;color:#047857}.student-status-pill--danger{background:#dc26261f;color:#b91c1c}.student-status-pill--outline{background:transparent;border:1px solid rgba(148,163,184,.3)}.student-status-card{display:flex;align-items:flex-start;gap:16px}.student-status-card__icon{font-size:32px;color:#0d6b4e}.student-status-card--error .student-status-card__icon{color:#b91c1c}.student-status-card h2{margin:0 0 8px}.student-calendar-controls{display:flex;gap:10px;flex-wrap:wrap}.student-calendar-day{display:grid;gap:14px}.student-bottom-nav{position:fixed;left:50%;bottom:18px;transform:translate(-50%);width:min(680px,calc(100vw - 20px));display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;background:linear-gradient(135deg,#063826f7,#0d6b4ef2);border-radius:22px;box-shadow:0 12px 40px #0d6b4e52,0 2px 8px #0000001f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08)}.student-bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 8px;border-radius:16px;text-decoration:none;color:#ffffffa6;font-size:11px;font-weight:600;transition:all .2s ease}.student-bottom-nav__item--active{background:#ffffff2e;color:#fff;box-shadow:0 2px 8px #0000001f}.student-bottom-nav__item .material-symbols-outlined{font-size:22px}.student-inline-button{width:fit-content}.student-header__greeting-row{display:flex;flex-direction:column;gap:2px}.student-header__greeting-arabic{display:block;font-size:clamp(14px,2.5vw,18px);font-weight:500;color:#b5860d;letter-spacing:.03em;line-height:1.5;direction:rtl}.student-header__greeting-name{display:block;font-size:clamp(26px,4.5vw,40px);font-weight:700;color:#1a1209;line-height:1.15}.student-header__arabesque{position:absolute;top:-10px;right:-10px;width:140px;height:140px;pointer-events:none;opacity:.07;background-image:repeating-conic-gradient(rgba(13,107,78,1) 0deg 20deg,transparent 20deg 40deg);border-radius:0 0 0 80%}.student-highlight-card__icon{display:block;font-size:20px;color:#0d6b4e;margin-bottom:4px;font-variation-settings:"FILL" 0,"wght" 300}@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:18px 14px 104px}.student-header{flex-direction:column}.student-highlight-grid,.student-info-grid,.student-work-grid,.student-action-row{grid-template-columns:1fr}.student-schedule-card__header,.student-exam-card__header,.student-mark-card,.student-exam-card__footer,.student-calendar-item{flex-direction:column}.platform-message-card{padding:24px}.student-header__arabesque{width:90px;height:90px}.student-header__greeting-arabic{font-size:13px}.student-header__greeting-name{font-size:26px}}.parent-shell{min-height:100vh;padding:24px 20px 108px;background:radial-gradient(ellipse at 20% -8%,rgba(26,75,140,.08),transparent 44%),radial-gradient(ellipse at 80% 10%,rgba(26,75,140,.04),transparent 36%),linear-gradient(180deg,#f5f7fa,#eef2f8,#e8edf5)}.parent-header{width:min(1100px,100%);margin:0 auto 24px;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.parent-header__brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.parent-header__kicker,.parent-panel__eyebrow,.parent-hero-card__kicker,.parent-student-card__eyebrow{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#1a4b8c}.parent-header h1{margin:0;font-size:clamp(24px,4vw,36px);color:#0f172a;line-height:1.2}.parent-header__subtitle,.parent-hero-card__subtitle,.parent-summary-card p,.parent-support-card p,.parent-student-card__subtle,.parent-fee-student-row p{margin:8px 0 0;color:#4b5c72;line-height:1.6;font-size:14px}.parent-header__badge{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:#fffffff0;border:1px solid rgba(26,75,140,.1);font-weight:600;font-size:14px;box-shadow:0 8px 24px #0f172a0f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0}.parent-header__badge .material-symbols-outlined{color:#1a4b8c;font-size:20px}.parent-main{width:min(1100px,100%);margin:0 auto}.parent-page-stack{display:grid;gap:20px}.parent-hero-card,.parent-panel,.parent-student-hero,.parent-fee-card{background:#fffffffc;border:1px solid rgba(26,75,140,.07);border-radius:24px;padding:24px;box-shadow:0 4px 24px #0f172a0d,0 1px 3px #0f172a0a;transition:box-shadow .2s ease}.parent-hero-card{display:grid;gap:20px;background:radial-gradient(ellipse at top right,rgba(26,75,140,.05),transparent 50%),linear-gradient(135deg,#fff,#f7f9ff);border-left:4px solid #1a4b8c}.parent-hero-card--subtle{background:#fffffffc;border-left:4px solid #1a4b8c}.parent-hero-card h2,.parent-panel h3,.parent-student-hero h2,.parent-fee-card h3{margin:0;color:#0f172a}.parent-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.parent-summary-grid,.parent-student-hero__grid,.parent-support-grid,.parent-student-grid{display:grid;gap:14px}.parent-summary-grid,.parent-student-hero__grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.parent-support-grid,.parent-student-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.parent-summary-card,.parent-support-card,.parent-student-card,.parent-signout-card,.parent-exam-list__item,.parent-fee-student-row{background:#fffffffc;border:1px solid rgba(26,75,140,.07);border-radius:18px;padding:18px;transition:transform .15s ease,box-shadow .15s ease}.parent-summary-card span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#4b5c72;font-weight:600}.parent-summary-card strong{display:block;margin-top:8px;font-size:20px;color:#0f172a}.parent-summary-card{border-top:3px solid rgba(26,75,140,.09)}.parent-support-card,.parent-student-card,.parent-signout-card{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:inherit}.parent-support-card span.material-symbols-outlined,.parent-signout-card span.material-symbols-outlined{font-size:26px;color:#1a4b8c}.parent-support-card--muted{opacity:.72}.parent-support-card:hover:not(.parent-support-card--muted){transform:translateY(-1px);box-shadow:0 6px 20px #1a4b8c17}.parent-student-card{display:grid;gap:16px;box-shadow:0 2px 12px #0f172a0a}.parent-student-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1a4b8c1a;border-color:#1a4b8c24}.parent-student-card__header,.parent-student-card__footer,.parent-fee-card__header,.parent-fee-student-row,.parent-student-hero__identity{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.parent-student-card__identity{display:flex;gap:14px}.parent-student-card__avatar{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1a4b8c;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;background-size:cover;background-position:center;flex-shrink:0}.parent-student-card h3{margin:0}.parent-student-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.parent-student-card__grid span{display:block;font-size:11px;color:#4b5c72;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.parent-student-card__grid strong,.parent-student-card__footer strong{display:block;margin-top:6px}.parent-student-card__open{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:#1a4b8c;font-size:14px}.parent-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 12px;border-radius:999px;background:#1a4b8c17;color:#1a4b8c;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.parent-status-pill--paid{background:#0596691f;color:#047857}.parent-status-pill--partially_paid{background:#f59e0b2e;color:#b45309}.parent-status-pill--unpaid{background:#dc26261f;color:#b91c1c}.parent-back-link{display:inline-flex;align-items:center;gap:8px;color:#1a4b8c;font-weight:700;text-decoration:none;font-size:14px;transition:opacity .15s ease}.parent-back-link:hover{opacity:.8}.parent-student-hero{display:grid;gap:18px}.parent-tab-nav{display:flex;gap:10px;flex-wrap:wrap}.parent-tab-nav__item{padding:10px 18px;border-radius:999px;text-decoration:none;color:#1a4b8c;background:#ffffffeb;border:1px solid rgba(26,75,140,.12);font-weight:700;font-size:13px;transition:all .15s ease}.parent-tab-nav__item:hover:not(.parent-tab-nav__item--active){background:#1a4b8c0a}.parent-tab-nav__item--active{background:linear-gradient(135deg,#1a4b8c,#1e57a5);color:#fff;border-color:transparent;box-shadow:0 4px 12px #1a4b8c47}.parent-exam-list,.parent-fee-list{display:grid;gap:14px}.parent-exam-list__item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;text-align:left;cursor:pointer;font:inherit}.parent-exam-list__item--active{border-color:#1a4b8c47;box-shadow:0 4px 16px #1a4b8c17;background:#1a4b8c05}.parent-fee-card__totals{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;color:#4b5c72;font-weight:600;font-size:14px}.parent-fee-card__students{display:grid;gap:10px;margin-top:14px}.parent-load-more{width:fit-content}.parent-signout-card{width:100%;border:1px solid rgba(220,38,38,.1);text-align:left;cursor:pointer;font:inherit}.parent-signout-card:hover{border-color:#dc262633;background:#dc262605}.parent-signout-card .material-symbols-outlined{color:#dc2626!important}.parent-bottom-nav{position:fixed;left:50%;bottom:18px;transform:translate(-50%);width:min(560px,calc(100vw - 20px));display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;background:linear-gradient(135deg,#0a1e44f7,#1a4b8cf2);border-radius:22px;box-shadow:0 12px 40px #1a4b8c4d,0 2px 8px #0000001a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08)}.parent-bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 8px;border-radius:16px;text-decoration:none;color:#ffffffa6;font-size:11px;font-weight:600;transition:all .2s ease}.parent-bottom-nav__item--active{background:#ffffff2e;color:#fff;box-shadow:0 2px 8px #0000001f}.parent-bottom-nav__item .material-symbols-outlined{font-size:22px}@media(max-width:768px){.parent-shell{padding:18px 14px 104px}.parent-header{flex-direction:column}.parent-summary-grid,.parent-student-hero__grid,.parent-support-grid,.parent-student-grid,.parent-student-card__grid{grid-template-columns:1fr}.parent-student-card__header,.parent-student-card__footer,.parent-fee-card__header,.parent-fee-student-row,.parent-exam-list__item,.parent-student-hero__identity{flex-direction:column}}.parent-shell .student-mark-card{background:#fffffffc;border-color:#1a4b8c12}.parent-shell .student-mark-card__code,.parent-shell .student-status-card__icon{color:#1a4b8c}.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__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}
