@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{color-scheme:light;font-family:"Source Sans 3",Noto Sans,sans-serif;line-height:1.55;font-weight:400;--bg: #f3f5f9;--bg-strong: #e7ebf3;--ink: #111827;--muted: #5b6676;--brand: #1f3b63;--brand-strong: #162a4a;--accent: #2d6cdf;--accent-strong: #1f55c3;--accent-soft: rgba(45, 108, 223, .16);--card: #ffffff;--stroke: #e3e7ef;--shadow: 0 18px 40px rgba(15, 23, 42, .08);--radius: 20px;--nav: #0f1c31;--nav-start: #0f1f3b;--nav-end: #12284a;--nav-glow: rgba(255, 255, 255, .08);--nav-ink: #eef3ff;--nav-ink-muted: rgba(238, 243, 255, .72);--nav-border: rgba(255, 255, 255, .08);--nav-control-bg: rgba(255, 255, 255, .08);--nav-control-border: rgba(255, 255, 255, .12);--nav-control-ink: rgba(238, 243, 255, .85);--nav-hover-bg: rgba(255, 255, 255, .08);--nav-hover-border: rgba(255, 255, 255, .1);--nav-hover-ink: #fff;--nav-icon-bg: rgba(255, 255, 255, .08);--nav-active-bg: rgba(255, 255, 255, .16);--nav-active-border: rgba(255, 255, 255, .2);--toolbar-accent: #1f3b63;--toolbar-accent-soft: rgba(31, 59, 99, .12);--toolbar-accent-border: rgba(31, 59, 99, .25);--toolbar-accent-contrast: #f5f7ff;--trend-glow: rgba(255, 206, 120, .45);--trend-color: #b87812;--page-glow: rgba(255, 255, 255, .9);--page-tint: rgba(31, 59, 99, .06);scrollbar-gutter:stable both-edges}html[data-color-mode=dark]{color-scheme:dark}html[data-color-mode=dark]{--bg: #0b1220;--bg-strong: #111b2f;--ink: #e5edf8;--muted: #9fb0c5;--brand: #5f8fd6;--brand-strong: #e4efff;--accent: #6ea8ff;--accent-strong: #4e90f0;--accent-soft: rgba(110, 168, 255, .24);--card: #121d31;--stroke: #263449;--toolbar-accent: #8db6ff;--toolbar-accent-soft: rgba(141, 182, 255, .2);--toolbar-accent-border: rgba(141, 182, 255, .45);--toolbar-accent-contrast: #0b1730;--trend-glow: rgba(250, 214, 146, .35);--trend-color: #f5cd8c;--shadow: 0 18px 40px rgba(2, 6, 23, .45)}html,body{height:100%}*{box-sizing:border-box}body{margin:0;background-color:var(--bg);background-image:radial-gradient(circle at 15% 12%,var(--page-glow),transparent 45%),linear-gradient(160deg,var(--page-tint),transparent 60%);color:var(--ink);overflow-y:scroll;overflow-x:hidden;scrollbar-gutter:stable both-edges}html[data-color-mode=dark] body{background-image:radial-gradient(circle at 15% 12%,rgba(30,52,89,.55),transparent 45%),linear-gradient(160deg,rgba(34,78,162,.12),transparent 60%)}h1,h2,h3{font-family:"Source Sans 3",Noto Sans,sans-serif;margin:0 0 8px;letter-spacing:-.005em}h1{font-size:clamp(2.1rem,2.8vw,2.9rem);font-weight:700}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.1rem;font-weight:600}p{margin:0;color:var(--muted)}a{color:inherit;text-decoration:none}button{font-family:inherit}input,select,textarea{font-family:inherit;color:inherit}#root{min-height:100vh;overflow-x:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.26em;font-size:.65rem;font-weight:700;color:var(--brand-strong)}.subtitle{max-width:560px}.app-shell{--nav-width: 280px;--nav-collapsed-width: 100px;display:grid;grid-template-columns:var(--nav-width) 1fr;min-height:0;height:100%;position:relative;overflow:hidden;transition:grid-template-columns .2s ease}.portal-layout{min-height:100dvh;height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.app-shell--nav-collapsed{--nav-width: var(--nav-collapsed-width)}.app-shell__nav{background:linear-gradient(180deg,var(--nav-start) 0%,var(--nav-end) 100%);color:var(--nav-ink);padding:28px 22px;display:flex;flex-direction:column;gap:20px;border-right:1px solid var(--nav-border);min-height:0;height:100%;position:sticky;top:0;overflow:hidden;transition:padding .2s ease}.app-shell__nav-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-shell__nav-toggle{width:40px;height:40px;border-radius:12px;border:1px solid var(--nav-control-border);background:var(--nav-control-bg);color:var(--nav-control-ink);display:grid;place-items:center;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.app-shell__mobile-toggle{display:none;width:44px;height:44px;border-radius:14px;border:1px solid rgba(15,23,42,.12);background:#fff;color:var(--brand);align-items:center;justify-content:center;margin-right:10px;box-shadow:0 6px 16px #0f172a14}.app-shell__mobile-toggle svg{width:22px;height:22px}.app-shell__overlay{display:none}.app-shell__nav-toggle:hover{background:var(--nav-hover-bg);color:var(--nav-hover-ink);border-color:var(--nav-hover-border)}.app-shell__nav-toggle:focus-visible{outline:2px solid rgba(106,161,255,.9);outline-offset:2px}.app-shell__nav-toggle-icon{display:grid;transition:transform .2s ease}.app-shell--nav-collapsed .app-shell__nav-toggle-icon{transform:rotate(180deg)}.brand{display:flex;align-items:center;gap:8px}.brand__logo{width:34px;height:34px;object-fit:contain;border-radius:6px}.brand__mark{font-weight:700;letter-spacing:.3em;text-transform:uppercase;font-size:.7rem;color:var(--nav-ink-muted)}.brand__name{font-size:1.2rem;font-weight:600}.brand__meta{font-size:.85rem;color:var(--nav-ink-muted)}.app-shell__menu{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto;padding-right:4px;min-height:0}.app-shell__link{display:flex;flex-direction:column;gap:2px;padding:10px 12px 10px 14px;border-radius:12px;color:var(--nav-ink-muted);transition:background .2s ease,color .2s ease,border-color .2s ease;border:1px solid transparent;border-left:3px solid transparent;background:transparent;text-align:left;font:inherit;cursor:pointer;position:relative}.app-shell__link-row{display:flex;align-items:center;gap:10px}.app-shell__link-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--nav-icon-bg);color:var(--nav-ink-muted)}.app-shell__link:hover{background:var(--nav-hover-bg);border-color:var(--nav-hover-border);color:var(--nav-hover-ink)}.app-shell__link:hover .app-shell__link-icon{background:var(--nav-hover-bg);color:var(--nav-hover-ink)}.app-shell__link--active{background:var(--nav-active-bg);border-color:var(--nav-active-border);border-left-color:var(--accent);box-shadow:inset 0 0 0 1px #ffffff0f;color:var(--nav-hover-ink)}.app-shell__link--active .app-shell__link-icon{background:var(--accent-soft);color:var(--nav-hover-ink)}.app-shell__link-label{font-weight:600;font-size:.95rem}.app-shell__link-desc{font-size:.74rem;color:var(--nav-ink-muted)}.app-shell__nav-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--nav-border)}.app-shell__version{display:block;font-size:.75rem;color:var(--nav-ink-muted);text-transform:uppercase;letter-spacing:.18em;text-align:center}.app-shell__main{padding:28px 42px;display:flex;flex-direction:column;gap:24px;height:100%;min-height:0;min-width:0;overflow:hidden}.app-shell--nav-collapsed .app-shell__nav{padding:24px 14px}.app-shell--nav-collapsed .app-shell__nav-header{flex-direction:column;align-items:center;gap:14px}.app-shell--nav-collapsed .brand{align-items:center;text-align:center}.app-shell--nav-collapsed .brand__name,.app-shell--nav-collapsed .brand__meta,.app-shell--nav-collapsed .app-shell__link-desc{display:none}.app-shell--nav-collapsed .app-shell__link-label{display:block;position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%) translate(-4px);background:#0b162b;color:#fff;padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:600;box-shadow:0 10px 24px #0f172a40;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:5}.app-shell--nav-collapsed .app-shell__link:hover .app-shell__link-label{opacity:1;transform:translateY(-50%) translate(0)}.app-shell--nav-collapsed .app-shell__menu{gap:10px}.app-shell--nav-collapsed .app-shell__link{align-items:center;padding:10px}.app-shell--nav-collapsed .app-shell__link-row{justify-content:center}.app-shell--nav-collapsed .app-shell__nav-footer{display:flex;justify-content:center}.app-shell--nav-collapsed .app-shell__nav-footer .app-shell__link{width:auto}.app-shell__top{display:flex;justify-content:space-between;align-items:center;gap:16px}.top-search{background:#fffffff2;border:1px solid var(--stroke);border-radius:999px;padding:10px 18px;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow)}.top-search__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--brand-strong)}.top-search__value{font-size:.9rem;color:var(--muted)}.top-meta{display:flex;gap:10px;flex-wrap:wrap}.top-actions{display:flex;align-items:center;gap:12px}.top-toolbar{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:16px;background:#ffffffeb;border:1px solid var(--stroke);box-shadow:0 10px 24px #0f172a14}.top-toolbar__icon-wrapper{position:relative;display:inline-flex;justify-content:center;align-items:center}.top-toolbar__tooltip{position:absolute;bottom:-28px;left:50%;transform:translate(-50%) translateY(4px);background:#111827;color:#fff;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap}.top-toolbar__icon-wrapper:hover .top-toolbar__tooltip{opacity:1;transform:translate(-50%) translateY(0)}.top-toolbar__icon{width:36px;height:36px;border-radius:12px;border:1px solid transparent;background:var(--toolbar-accent-soft);display:grid;place-items:center;color:var(--toolbar-accent);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.top-toolbar__icon:hover{background:var(--toolbar-accent);border-color:var(--toolbar-accent-border);color:var(--toolbar-accent-contrast)}.top-toolbar__account{position:relative}.top-toolbar__avatar{width:36px;height:36px;border-radius:50%;border:none;background:var(--toolbar-accent);color:var(--toolbar-accent-contrast);font-weight:700;font-size:.85rem;display:grid;place-items:center;letter-spacing:.04em}.top-toolbar__account-menu{position:absolute;top:48px;right:0;width:240px;padding:10px;border-radius:20px;background:#fff;border:1px solid var(--stroke);box-shadow:0 20px 40px #0f172a26;display:flex;flex-direction:column;gap:4px;z-index:90}.top-toolbar__account-menu__item,.top-toolbar__account-menu__theme{width:100%;border:none;background:transparent;text-align:left;padding:10px 12px;border-radius:12px;font-size:.9rem;color:var(--brand-strong);cursor:pointer}.top-toolbar__account-menu__item:hover,.top-toolbar__account-menu__theme:hover{background:var(--accent-soft)}.top-toolbar__account-menu__divider{height:1px;background:var(--stroke);margin:4px 0}.top-toolbar__account-menu__logout{color:var(--brand);font-weight:700}.theme-picker{position:relative}.theme-picker__menu{position:absolute;top:46px;right:0;display:grid;grid-template-columns:repeat(5,22px);gap:8px;padding:10px;background:#fff;border:1px solid var(--stroke);border-radius:14px;box-shadow:0 16px 30px #0f172a26;z-index:100}.theme-picker__swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer}.theme-picker__swatch--active{border-color:#111827}.app-shell__header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;background:linear-gradient(120deg,#fffffffa,#f5f8fce6);border:1px solid var(--stroke);border-radius:var(--radius);padding:26px 30px;box-shadow:var(--shadow);position:relative;overflow:hidden}.app-shell__header:after{content:"";position:absolute;width:180px;height:180px;right:-60px;top:-60px;background:radial-gradient(circle,rgba(45,108,223,.2),transparent 70%)}.header-copy{display:flex;flex-direction:column;gap:6px}.header-tags{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.header-side{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:14px}.header-actions{display:flex;gap:12px}.user-chip{display:flex;align-items:center;gap:12px;background:#ffffffe6;padding:8px 12px;border-radius:14px;border:1px solid var(--stroke)}.user-avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;display:grid;place-items:center;font-weight:700}.user-name{display:block;font-weight:600}.user-role{display:block;font-size:.8rem;color:var(--muted)}.app-shell__content{display:flex;flex-direction:column;gap:24px;flex:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;padding-right:4px}.portal-footer-banner{width:100%;background:linear-gradient(135deg,var(--nav-start),var(--nav-end));color:#fff;padding:20px clamp(24px,4vw,70px);display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;text-shadow:0 2px 12px rgba(0,0,0,.4)}.portal-footer-banner strong{display:block;font-size:1rem}.portal-footer-banner p{margin:4px 0 0;font-size:.9rem;opacity:.95}.portal-footer-banner__logo{width:48px;height:48px;border-radius:50%;border:1px solid transparent;padding:6px;background:#ffffffa6;box-shadow:inset 0 0 0 1px #ffffff14;display:flex;align-items:center;justify-content:center}.portal-footer-banner__logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}.portal-footer-banner__text{display:flex;flex-direction:column;justify-content:center;gap:4px}.portal-footer-banner__text strong,.portal-footer-banner__text p{margin:0}.portal-footer-banner__hosting{text-align:center;font-size:.82rem;max-width:640px;opacity:.9;color:#fff;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2}.portal-footer-banner__hosting p{margin:0}.page{display:flex;flex-direction:column;gap:24px;min-width:0}.page>*{animation:fadeUp .6s ease both}.page>*:nth-child(2){animation-delay:.12s}.page>*:nth-child(3){animation-delay:.24s}.panel{background:var(--card);border-radius:var(--radius);padding:22px 24px;border:1px solid var(--stroke);box-shadow:var(--shadow);min-width:0}.panel__notice{margin-top:12px;margin-bottom:18px;padding:12px 16px;border-radius:12px;border-left:4px solid var(--accent);background:#2d6cdf14;color:var(--ink)}.panel__notice--warning{border-color:var(--trend-color);background:linear-gradient(90deg,#fb376e14,#fff6)}.weekly-tt-grid__wrap{overflow:auto;border-radius:14px;border:1px solid var(--stroke);background:#f6f9ff73}.weekly-tt-grid__legend{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 10px;border-bottom:1px solid rgba(124,145,192,.22);background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.weekly-tt-grid__legend-title{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;color:var(--muted);flex:0 0 auto}.weekly-tt-grid__legend-items{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.weekly-tt-grid__legend-group-label{display:inline-flex;align-items:center;padding:0 6px;font-weight:850;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.weekly-tt-grid__legend-more{display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;border:1px dashed rgba(124,145,192,.35);color:var(--muted);font-weight:750;background:#ffffffbf}.weekly-tt-grid__legend-item{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid rgba(124,145,192,.25);background:#fffffff2;padding:6px 10px;font-weight:650;color:var(--ink);box-shadow:0 8px 16px #21345a0f}.weekly-tt-grid__legend-swatch{width:10px;height:10px;border-radius:999px;background:hsl(var(--tt-hue, 206) 78% 48%);box-shadow:0 0 0 3px hsl(var(--tt-hue, 206) 80% 95%)}.weekly-tt-grid__legend-item--class .weekly-tt-grid__legend-swatch{background:hsl(var(--tt-class-hue, 214) 72% 46%);box-shadow:0 0 0 3px hsl(var(--tt-class-hue, 214) 80% 95%)}.weekly-tt-grid__legend-item--empty .weekly-tt-grid__legend-swatch{background:#7c91c080;box-shadow:0 0 0 3px #7c91c024}.weekly-tt-grid__legend-label{display:inline-flex;gap:8px;align-items:center}.weekly-tt-grid__legend-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 6px;border-radius:999px;border:1px solid rgba(124,145,192,.28);color:var(--muted);font-weight:750;font-size:.78rem}.weekly-tt-grid{display:grid;min-width:720px}.weekly-tt-grid__row{display:contents}.weekly-tt-grid__cell{padding:10px 12px;border-right:1px solid rgba(124,145,192,.22);border-bottom:1px solid rgba(124,145,192,.22);min-width:0}.weekly-tt-grid__cell--head{position:sticky;top:0;z-index:2;font-weight:700;background:#ffffffeb;color:var(--brand-strong)}.weekly-tt-grid__cell--corner{left:0;z-index:3}.weekly-tt-grid__cell--period{position:sticky;left:0;z-index:1;background:#ffffffeb}.weekly-tt-grid__period-label{font-weight:700;color:var(--ink)}.weekly-tt-grid__period-time{margin-top:4px;font-size:.85rem;color:var(--muted)}.weekly-tt-grid__cell--slot{background:transparent;transition:background .18s ease}.weekly-tt-grid__cell--slot:hover{background:#2d6cdf0f}.weekly-tt-grid__empty{color:#7c91c0d9}.weekly-tt-grid__stack{display:flex;flex-direction:column;gap:8px}.weekly-tt-grid__item{border-radius:12px;border:1px solid rgba(124,145,192,.3);background:linear-gradient(135deg,hsl(var(--tt-hue, 206) 90% 96%),#ffffffeb 60%,#ffffffdb);padding:8px 10px;box-shadow:0 10px 22px #21345a14;position:relative;overflow:hidden}.weekly-tt-grid__item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:4px;background:hsl(var(--tt-hue, 206) 78% 46%);opacity:.95}.weekly-tt-grid__item:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:hsl(var(--tt-class-hue, 214) 72% 46%);opacity:.9}.weekly-tt-grid__item-title{display:flex;justify-content:space-between;gap:10px;font-weight:700;color:var(--ink)}.weekly-tt-grid__item-class{display:inline-flex;align-items:center;gap:8px;color:hsl(var(--tt-class-hue, 214) 55% 26%)}.weekly-tt-grid__item-class:before{content:"";width:10px;height:10px;border-radius:999px;background:hsl(var(--tt-class-hue, 214) 72% 46%);box-shadow:0 0 0 3px hsl(var(--tt-class-hue, 214) 80% 95%);flex:0 0 auto}.weekly-tt-grid__item-room{font-weight:600;color:var(--muted);white-space:nowrap}.weekly-tt-grid__item-subject{margin-top:4px;font-size:.9rem;color:hsl(var(--tt-hue, 206) 70% 30%)}.panel-tabs{padding:22px 22px 18px}.panel-tabs__nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.panel-tabs__tab{border:1px solid var(--stroke);border-radius:12px;padding:8px 16px;background:transparent;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease}.panel-tabs__tab--active{background:var(--toolbar-accent-soft);border-color:var(--toolbar-accent);color:var(--brand-strong)}.panel-tabs__content{display:flex;flex-direction:column;gap:24px}.panel-tabs__pane{display:flex;flex-direction:column;gap:18px}.panel-tabs__group{display:flex;flex-direction:column;gap:14px}.admin-schools-page{min-height:0}.admin-schools__workspace{display:flex;flex-direction:column;min-height:0}.admin-schools__workspace .panel-tabs__nav{flex:0 0 auto}.admin-schools__workspace .panel-tabs__content,.admin-schools__workspace .panel-tabs__pane{min-height:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.admin-schools-overview{display:grid;gap:16px}.admin-schools-overview__banner{border-radius:18px;border:1px solid rgba(130,179,214,.35);box-shadow:0 10px 28px #24385c14;background:linear-gradient(120deg,#27b7df,#42c1eb 45%,#6ecdea);color:#f8fdff;display:flex;align-items:center;justify-content:space-between;gap:14px;overflow:hidden}.admin-schools-overview__eyebrow{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#f1fcffe0}.admin-schools-overview__banner h3{margin:6px 0 8px;font-size:clamp(1.2rem,1.8vw,2rem);line-height:1.25;max-width:620px}.admin-schools-overview__banner-meta{margin:0;color:#ebfbffe6;font-size:.9rem}.admin-schools-overview__banner-art{position:relative;width:180px;height:120px;flex-shrink:0}.admin-schools-overview__banner-art span{position:absolute;border-radius:18px;background:#fff3;border:1px solid rgba(255,255,255,.4)}.admin-schools-overview__banner-art span:nth-child(1){width:88px;height:88px;right:10px;top:4px;border-radius:20px}.admin-schools-overview__banner-art span:nth-child(2){width:54px;height:54px;left:20px;bottom:8px}.admin-schools-overview__banner-art span:nth-child(3){width:22px;height:22px;left:88px;top:14px;border-radius:999px}.admin-schools-overview__kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.admin-schools-overview__kpi{border-radius:16px;border:1px solid rgba(120,142,190,.2);box-shadow:0 8px 18px #24385c0f;padding:14px 16px}.admin-schools-overview__kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-schools-overview__kpi p{margin:0;color:var(--muted);font-size:.86rem}.admin-schools-overview__kpi strong{display:block;margin-top:6px;font-size:1.5rem;color:var(--brand-strong)}.admin-schools-overview__kpi-trend{font-size:.75rem;font-weight:700;border-radius:999px;padding:3px 8px}.admin-schools-overview__kpi-trend--up{background:#10b98129;color:#0f8b63}.admin-schools-overview__kpi-trend--down{background:#f43f5e1f;color:#d92a57}.admin-schools-overview__analytics{display:grid;grid-template-columns:minmax(280px,1fr) minmax(420px,1.6fr);gap:14px}.admin-schools-overview__analytics-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.admin-schools-overview__analytics-head h4{margin:0}.admin-schools-overview__analytics-head span{color:var(--muted);font-size:.8rem}.admin-schools-overview__donut-wrap{display:grid;place-items:center;margin-top:10px}.admin-schools-overview__donut{width:178px;height:178px;border-radius:50%;display:grid;place-items:center}.admin-schools-overview__donut>div{width:116px;height:116px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}.admin-schools-overview__donut strong{display:block;font-size:1.8rem;color:var(--brand-strong);line-height:1}.admin-schools-overview__donut>div span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.admin-schools-overview__donut-legend{margin-top:12px;display:flex;justify-content:center;gap:16px;font-size:.86rem;color:var(--muted)}.admin-schools-overview__donut-legend span{display:inline-flex;align-items:center;gap:6px}.admin-schools-overview__donut-legend i{width:10px;height:10px;border-radius:999px;display:inline-block}.admin-schools-overview__donut-legend span:first-child i{background:#b8b2ee}.admin-schools-overview__donut-legend span:last-child i{background:#eed96f}.admin-schools-overview__donut-meta{margin-top:12px;display:flex;justify-content:space-between;font-size:.82rem;color:var(--muted)}.admin-schools-overview__bars{height:190px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end;padding:6px 0}.admin-schools-overview__bar-group{display:grid;grid-template-columns:repeat(3,12px);justify-content:center;gap:6px;align-items:end}.admin-schools-overview__bar-group span{width:12px;border-radius:999px}.admin-schools-overview__bar-group span:nth-child(1){background:#a7e0f3}.admin-schools-overview__bar-group span:nth-child(2){background:#ecd76a}.admin-schools-overview__bar-group span:nth-child(3){background:#bfb8ef}.admin-schools-overview__bar-group em{grid-column:1 / span 3;margin-top:8px;font-style:normal;font-size:.8rem;color:var(--muted);text-align:center}.admin-schools-overview__bars-legend{display:flex;gap:14px;font-size:.82rem;color:var(--muted)}.admin-schools-overview__bars-legend span{display:inline-flex;align-items:center;gap:6px}.admin-schools-overview__bars-legend i{width:10px;height:10px;border-radius:999px;display:inline-block}.admin-schools-overview__bars-legend span:nth-child(1) i{background:#a7e0f3}.admin-schools-overview__bars-legend span:nth-child(2) i{background:#ecd76a}.admin-schools-overview__bars-legend span:nth-child(3) i{background:#bfb8ef}.admin-schools-overview__districts{border-radius:16px;border:1px solid rgba(120,142,190,.2)}.admin-schools-overview__districts-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.admin-schools-overview__districts-head h4{margin:0}.admin-schools-overview__districts-head span{font-size:.8rem;color:var(--muted)}.admin-schools-overview__districts ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.admin-schools-overview__districts li div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.admin-schools-overview__district-bar{height:8px;border-radius:999px;background:#5e72a02e;overflow:hidden}.admin-schools-overview__district-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8cc2e9,#b5d6ff)}@media (max-width: 980px){.admin-schools-overview__banner{flex-direction:column;align-items:flex-start}.admin-schools-overview__banner-art{width:100%;height:80px}.admin-schools-overview__analytics{grid-template-columns:1fr}}.admin-dashboard-page{display:grid;gap:16px}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.admin-kpi-card{border-radius:18px;border:1px solid rgba(112,133,184,.2);box-shadow:0 10px 26px #24385c17;padding:14px 16px;position:relative;overflow:hidden}.admin-kpi-card:after{content:"";position:absolute;width:100px;height:100px;right:-32px;top:-32px;background:radial-gradient(circle,rgba(255,255,255,.6),transparent 70%)}.admin-kpi-card--lavender{background:linear-gradient(145deg,#c7c0f2,#b8b0e9)}.admin-kpi-card--sun{background:linear-gradient(145deg,#f4de86,#eecf62)}.admin-kpi-card--sky{background:linear-gradient(145deg,#cbe9f8,#aedaf2)}.admin-kpi-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.85rem;font-weight:700;color:#2d3f65;position:relative;z-index:1}.admin-kpi-card__value{margin-top:10px;font-size:2rem;font-weight:700;color:#1b2a46;position:relative;z-index:1}.admin-dashboard-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:16px;align-items:start}.admin-dashboard-main,.admin-dashboard-side{display:grid;gap:16px}.admin-dashboard-panel{border-radius:22px}.admin-compliance-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.4fr);gap:16px}.admin-compliance-chart{padding:14px;border-radius:16px;border:1px solid rgba(116,140,198,.22);background:linear-gradient(180deg,#f6f9fff5,#f0f6ffe0)}.admin-compliance-chart h3{margin:0 0 12px;font-size:1rem}.admin-compliance-chart__empty{font-size:.9rem}.admin-health-visuals{display:grid;grid-template-columns:136px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:12px}.admin-donut{display:grid;place-items:center}.admin-donut__ring{width:124px;height:124px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #657bb01f}.admin-donut__core{width:78px;height:78px;border-radius:50%;background:#fffffff2;display:grid;place-items:center;text-align:center;box-shadow:0 6px 18px #384f841f}.admin-donut__core strong{font-size:1.15rem;color:var(--brand-strong);line-height:1}.admin-donut__core span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.admin-donut-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px}.admin-donut-legend li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.82rem}.admin-donut-legend li>span{width:10px;height:10px;border-radius:50%}.admin-donut-legend li em{font-style:normal;color:var(--muted)}.admin-donut-legend li strong{color:var(--brand-strong)}.admin-status-bars{list-style:none;margin:0;padding:0;display:grid;gap:10px}.admin-status-bars__row{display:grid;gap:6px}.admin-status-bars__label{display:flex;justify-content:space-between;align-items:baseline;font-size:.86rem;color:var(--muted)}.admin-status-bars__label strong{color:var(--brand-strong)}.admin-status-bars__track{height:8px;border-radius:999px;background:#455c921f;overflow:hidden}.admin-status-bars__track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#9ad5ef,#f0d36c)}.admin-agenda-list{display:grid;gap:10px}.admin-mini-chart{border:1px solid rgba(116,140,198,.2);border-radius:14px;background:linear-gradient(180deg,#f7faffeb,#f1f7ffd1);padding:10px 12px;display:grid;gap:8px;margin-bottom:10px}.admin-mini-chart__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.admin-mini-chart__head h3{margin:0;font-size:.92rem}.admin-mini-chart__head span{font-size:.74rem;color:var(--muted)}.admin-mini-chart__spark{width:100%;height:42px;overflow:visible}.admin-mini-chart__spark polyline{fill:none;stroke:#86c8ea;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.admin-mini-chart__bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:end;height:60px}.admin-mini-chart__bar-wrap{display:grid;gap:4px;justify-items:center;align-items:end}.admin-mini-chart__bar{width:14px;border-radius:999px;background:linear-gradient(180deg,#f1d46d,#9ed4ef);min-height:8px}.admin-mini-chart__bar-wrap em{font-style:normal;font-size:.66rem;color:var(--muted)}.admin-agenda-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border-radius:14px;padding:10px 12px;border:1px solid rgba(116,140,198,.2)}.admin-agenda-item--sky{background:#cbe9f88c}.admin-agenda-item--sun{background:#f4de8673}.admin-agenda-item__time{font-weight:700;color:var(--brand-strong)}.admin-agenda-item__meta{margin-bottom:2px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.admin-dashboard-school-table .table__row{grid-template-columns:minmax(160px,1.2fr) minmax(120px,.9fr) minmax(110px,.7fr) minmax(220px,1.5fr)}.admin-dashboard-support-table .table__row{grid-template-columns:minmax(90px,.9fr) minmax(120px,1.2fr) minmax(90px,.8fr) minmax(90px,.8fr) minmax(90px,.9fr)}@media (max-width: 1180px){.admin-dashboard-layout{grid-template-columns:1fr}}@media (max-width: 900px){.admin-compliance-grid{grid-template-columns:1fr}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-health-visuals{grid-template-columns:1fr}}@media (max-width: 640px){.admin-kpi-grid{grid-template-columns:1fr}.admin-dashboard-school-table .table__row,.admin-dashboard-support-table .table__row{grid-template-columns:1fr;gap:6px}}.card{background:var(--card);border-radius:var(--radius);padding:18px 20px;border:1px solid var(--stroke);box-shadow:var(--shadow)}.card--inline{display:inline-flex;align-items:center;padding:12px 16px;border-radius:16px;box-shadow:0 12px 28px #0f172a0f}.page__toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.form-row{display:flex;align-items:center;gap:12px}.form-row label{font-weight:600;color:var(--ink)}.form-row select{width:auto;min-width:200px;max-width:min(360px,70vw);padding:8px 12px;border-radius:12px;border:1px solid var(--stroke);background:#fff}.form-field__helper--warning{color:#b45309;margin-top:6px;font-size:.85rem}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;background:radial-gradient(circle,var(--trend-glow),transparent 70%)}.stat-card__header{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;position:relative;z-index:1}.stat-card__label{color:var(--muted);font-weight:600}.stat-card__trend{color:var(--trend-color);font-weight:600}.stat-card__value{font-size:2rem;font-weight:600;margin-top:12px;position:relative;z-index:1}.stat-card__footer{margin-top:12px;font-size:.85rem;color:var(--muted)}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.section-header__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.section-header__subtitle{font-size:.9rem;color:var(--muted)}.admin-exams__title-row{display:inline-flex;align-items:center;gap:10px}.admin-exams__back-inline{width:34px;height:34px;min-width:34px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.admin-exams__school-context{max-width:360px;margin-bottom:12px;display:grid;gap:8px}.admin-exams__school-select{width:100%;min-height:42px;padding:9px 40px 9px 12px;border:1px solid var(--stroke);border-radius:12px;background-color:#fff;color:var(--ink);font-weight:600;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6b7b94 50%),linear-gradient(135deg,#6b7b94 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;transition:border-color .2s ease,box-shadow .2s ease}.admin-exams__school-select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}.exam-template-modal{display:grid;gap:14px}.exam-template-modal__config{display:grid;grid-template-columns:minmax(240px,1.7fr) minmax(180px,.9fr) minmax(360px,1.6fr);gap:12px 14px}.exam-template-modal__field--name{grid-column:1}.exam-template-modal__field--total{grid-column:2}.exam-template-modal__split-group{grid-column:3}.exam-template-modal__field--rule{grid-column:1}.exam-template-modal__field--pass{grid-column:2;max-width:260px}.exam-template-modal .form-field label{font-weight:700}.exam-template-modal .form-field input,.exam-template-modal .form-field select,.exam-template-modal__split input{width:100%;min-height:42px;border-radius:12px;border:1px solid var(--stroke);background:#fff;padding:9px 12px}.exam-template-modal__split{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.exam-template-modal__split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exam-template-modal__split-toggle{margin:0;min-height:auto;padding:0;border:0;border-radius:0;background:transparent}.exam-template-modal__grade-card{margin-top:2px}.exam-template-modal__grade-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.exam-template-modal__grade-head h4{margin:0}.exam-template-modal__grades{max-height:340px;overflow:auto;padding-right:4px}.exam-template-modal__grades .table__row--head{position:sticky;top:0;z-index:2;background:var(--card)}.exam-template-modal__grades .table__row{background:#f6f9ffbd}.exam-template-modal__grades .table__row span input{width:100%;min-height:38px;border:1px solid var(--stroke);border-radius:10px;background:#fff;padding:8px 10px;box-shadow:none}.exam-template-modal__add-band{min-height:36px;padding:8px 14px}.exam-template-modal__remove{min-width:92px}.exam-create-modal{display:grid;gap:12px}.exam-create-modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.exam-create-modal .form-field label{font-weight:700}.exam-create-modal .form-field input,.exam-create-modal .form-field select{width:100%;min-height:42px;border-radius:12px;border:1px solid var(--stroke);background:#fff;padding:9px 12px}.exam-create-modal__tie{grid-column:span 2;max-width:340px}@media (max-width: 1100px){.exam-template-modal__config{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-template-modal__field--name,.exam-template-modal__split-group,.exam-template-modal__field--rule{grid-column:span 2}.exam-template-modal__field--total,.exam-template-modal__field--pass{grid-column:span 1;max-width:none}}@media (max-width: 760px){.exam-template-modal__config,.exam-template-modal__split-grid{grid-template-columns:1fr}.exam-template-modal__field--name,.exam-template-modal__field--total,.exam-template-modal__split-group,.exam-template-modal__field--rule,.exam-template-modal__field--pass{grid-column:span 1}.exam-create-modal__grid{grid-template-columns:1fr}.exam-create-modal__tie{grid-column:span 1;max-width:none}}.grid-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.tile h3{margin-bottom:6px}.workload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.workload-card{padding:18px 20px;border:1px solid var(--stroke);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.workload-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.workload-card__teacher{font-weight:600}.workload-card__classes{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}.workload-card__metrics{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;color:var(--muted);margin-top:10px}.teacher-overview-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.teacher-metric-card{border-radius:16px;border:1px solid rgba(117,140,196,.22);padding:14px 16px;box-shadow:0 10px 22px #22345814}.teacher-metric-card p{font-size:.86rem;color:#32466f}.teacher-metric-card strong{display:block;margin-top:8px;font-size:2rem;line-height:1;color:#1a2b4a}.teacher-metric-card--navy{background:linear-gradient(145deg,#c8d9f1,#b6cae7)}.teacher-metric-card--mint{background:linear-gradient(145deg,#cbe9f8,#b7e0f4)}.teacher-metric-card--lavender{background:linear-gradient(145deg,#d9c8f1,#cbb7eb)}.teacher-metric-card--sun{background:linear-gradient(145deg,#f4de86,#edd077)}.teacher-360{display:grid;gap:16px}.teacher-360__hero{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,#d6e4fc8c,#c5edfa7a)}.teacher-360__identity{display:flex;align-items:center;gap:12px}.teacher-360__avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1rem;font-weight:700;color:#21426f;background:#ffffffd1;border:1px solid rgba(119,146,194,.38)}.teacher-360__eyebrow{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#46628d}.teacher-360__identity h2{margin:2px 0}.teacher-360__identity p{margin:0;color:#41557d}.teacher-360__chips{display:flex;flex-wrap:wrap;gap:8px}.teacher-360__hero-metrics{display:flex;gap:10px;flex-wrap:wrap}.teacher-360__hero-metric{min-width:92px;border-radius:12px;border:1px solid rgba(122,148,196,.34);background:#ffffffc7;padding:8px 10px}.teacher-360__hero-metric p{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#506793}.teacher-360__hero-metric strong{display:block;margin-top:3px;font-size:1.25rem;color:#213c68}.teacher-360__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.teacher-360__focus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-360__focus-card{border:1px solid rgba(131,157,205,.3);border-radius:14px;background:#f7fbffd9;padding:12px}.teacher-360__focus-card h3{margin:0 0 6px;font-size:1rem}.teacher-360__focus-card strong{display:block;font-size:1.1rem;margin-bottom:4px}.teacher-360__muted{color:var(--muted);margin:0 0 10px}.teacher-360__actions{display:flex;flex-wrap:wrap;gap:8px}.teacher-360__actions .button{border-radius:12px}.teacher-360__mapping{display:grid;gap:10px}.teacher-360__mapping-item{border:1px solid rgba(131,157,205,.26);border-radius:12px;background:#f8fbffd6;padding:10px}.teacher-360__mapping-item p{margin:0 0 6px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#4f678f}.teacher-360__mapping-item strong{color:#1d355f}.teacher-360__tag-list{display:flex;gap:6px;flex-wrap:wrap}.teacher-360__tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.82rem;background:#abd9f247;border:1px solid rgba(126,164,211,.3);color:#2d466f}.teacher-360__tag--muted{background:#e6ecf6e6;border-color:#abb7cd59;color:#566884}.teacher-360__mapping-summary{display:flex;flex-wrap:wrap;gap:8px}.teacher-360__timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.teacher-360__timeline-card{border:1px solid rgba(131,157,205,.26);border-radius:12px;background:#f8fbffe0;padding:10px;display:grid;gap:3px}.teacher-360__timeline-card p{margin:0;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#506793}.teacher-360__timeline-card strong{font-size:.95rem;color:#1d355f}.teacher-360__timeline-card span{font-size:.84rem;color:#344d78}.teacher-360__timeline-card em{font-style:normal;font-size:.8rem;color:#5e7296}.teacher-360__weekday-load{display:grid;gap:8px}.teacher-360__weekday-item{display:grid;grid-template-columns:44px 1fr 28px;align-items:center;gap:8px}.teacher-360__weekday-item span{font-size:.84rem;color:#4d668f}.teacher-360__weekday-bar-track{height:8px;border-radius:999px;background:#adc1e152;overflow:hidden}.teacher-360__weekday-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#4366a8,#82abc9)}.teacher-360__weekday-item strong{text-align:right;font-size:.84rem;color:#27497a}.teacher-360__queue{display:grid;gap:8px}.teacher-360__queue-item{border:1px solid rgba(131,157,205,.26);border-radius:14px;background:#f8fbffe0;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.teacher-360__queue-item h3{margin:0;font-size:.96rem}.teacher-360__queue-item p{margin:4px 0 0;color:var(--muted)}.teacher-360__queue-item strong{font-size:1.45rem;color:#1d355f}.teacher-360__queue-right{display:grid;justify-items:end;gap:8px}.teacher-360__queue-item--high{border-left:4px solid #d44a3a}.teacher-360__queue-item--medium{border-left:4px solid #de8a2a}.teacher-360__queue-item--info{border-left:4px solid #3e69b0}.teacher-360__queue-item--clear{border-left:4px solid #6fa57f}.teacher-360__queue-empty{border:1px dashed rgba(121,151,198,.42);border-radius:14px;background:#f7fcf8db;padding:16px}.teacher-360__queue-empty h3{margin:0 0 6px;color:#224a35}.teacher-360__queue-empty p{margin:0;color:#3e5f4a}.teacher-360__timeline-item{border:1px solid rgba(131,157,205,.28)}.teacher-360__workflow-action{display:grid;justify-items:end;gap:8px}@media (max-width: 1200px){.teacher-360__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.teacher-360__grid,.teacher-360__focus{grid-template-columns:1fr}}.teacher-overview-analytics{display:grid;grid-template-columns:minmax(240px,1fr) minmax(360px,1.6fr) minmax(220px,.8fr);gap:14px}.teacher-analytics-card{border-radius:18px;border:1px solid rgba(117,140,196,.2);background:linear-gradient(180deg,#f8fbffeb,#f1f7ffd6)}.teacher-analytics-card__head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.teacher-analytics-card__head h3{margin:0;font-size:1rem}.teacher-analytics-card__head span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.teacher-analytics-card--today-plan{grid-column:1 / -1}.teacher-attendance-bars{height:200px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:8px}.teacher-attendance-bars__group{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;align-items:end;justify-items:center;height:100%}.teacher-attendance-bars__group em{grid-column:1 / -1;font-style:normal;font-size:.72rem;color:var(--muted);margin-top:6px}.teacher-attendance-bars__present,.teacher-attendance-bars__absent{width:12px;border-radius:999px;min-height:10px}.teacher-attendance-bars__present{background:#9ed3ee}.teacher-attendance-bars__absent{background:#204f82}.teacher-workload-stack{display:grid;gap:8px}.teacher-workload-stack__row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2.2fr);gap:8px;align-items:center}.teacher-workload-stack__name{font-size:.8rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-workload-stack__track{display:flex;height:18px;border-radius:999px;overflow:hidden;background:#4e67991f}.teacher-workload-stack__track span:nth-child(1){background:#e5b6ea}.teacher-workload-stack__track span:nth-child(2){background:#b9e1f2}.teacher-workload-stack__track span:nth-child(3){background:#1f5486}.teacher-workload-stack__legend{display:flex;gap:12px;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.teacher-department-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.teacher-department-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:10px;padding:8px 10px;background:#ffffffd1;border:1px solid rgba(116,140,198,.18)}.teacher-department-list strong{color:var(--brand-strong)}.teacher-today-plan{display:grid;gap:8px}.teacher-today-plan__row{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(180px,1fr) minmax(120px,.9fr) minmax(140px,1fr);gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#f7faffeb}.teacher-today-plan__row span{font-size:.84rem;color:#203a66;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-today-plan__row--head{background:#d6e2f7b3;border:1px solid rgba(117,140,196,.2)}.teacher-today-plan__row--head span{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:#1f3762;font-weight:700}.teacher-directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.admin-teachers__add-screen{border-radius:16px;border:1px solid rgba(126,148,194,.24);background:linear-gradient(180deg,#fffffff5,#f7fbffeb);box-shadow:0 10px 24px #21345a0f}.admin-teachers__add-screen-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.admin-teachers__add-screen-head h2{margin:0}.teacher-detail-view{display:grid;gap:14px}.teacher-detail-view__hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.teacher-detail-view__identity{display:flex;gap:14px;align-items:center}.teacher-detail-view__identity h3{margin:0;font-size:1.3rem;color:var(--ink)}.teacher-detail-view__identity p{margin:4px 0 10px;color:var(--muted)}.teacher-detail-view__actions{display:flex;gap:10px;flex-wrap:wrap}.teacher-detail-view__chips{display:flex;flex-wrap:wrap;gap:8px}.teacher-detail-view__chips .badge{border:1px solid var(--stroke);background:#f6f9ffd1}.teacher-detail-view__grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-detail-view__grid article{border:1px solid var(--stroke);border-radius:12px;padding:12px 14px;background:#f6f9ff8c}.teacher-detail-view__grid h4{margin:0 0 10px;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.teacher-detail-view__grid p{margin:0 0 8px}.teacher-detail-view__timetable-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.teacher-detail-view__timetable-head h3{margin:0}.teacher-detail-view__timetable-table .table__row{grid-template-columns:minmax(100px,.8fr) minmax(90px,.7fr) minmax(130px,.9fr) minmax(150px,1fr) minmax(150px,1fr) minmax(80px,.6fr)}.admin-teachers__add-back{width:36px;height:36px;flex:0 0 36px;border-radius:999px;border:1px solid rgba(124,145,192,.4);background:#fff;color:var(--brand-strong);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 16px #21345a14}.admin-teachers__add-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.teacher-directory-card{border-radius:20px;padding:18px 18px 14px;border:1px solid #edf0f5;box-shadow:0 6px 14px #10182808;display:flex;flex-direction:column;gap:10px}.teacher-directory-profile__header{display:flex;align-items:center;gap:12px}.teacher-directory-profile__avatar{width:68px;height:68px;border-radius:50%;overflow:hidden;position:relative;display:grid;place-items:center;font-size:1.6rem;font-weight:800;color:#1f4f82;flex-shrink:0;text-transform:uppercase}.teacher-directory-profile__avatar-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.teacher-directory-profile__identity h3{margin:0;font-size:clamp(1.25rem,1.35vw,1.7rem);line-height:1.06;font-weight:700;color:#16497c}.teacher-directory-profile__identity p{margin:0;font-size:clamp(.82rem,.78vw,.95rem);color:#717d8a;line-height:1.4}.teacher-directory-profile__contact{border-radius:14px;background:#f7f8fb;padding:10px 12px;display:grid;gap:6px}.teacher-directory-profile__contact p{margin:0;display:flex;align-items:center;gap:8px;font-size:clamp(.88rem,.86vw,1.02rem);line-height:1.25;color:#18222c}.teacher-directory-profile__contact span{color:#9da7b5;font-size:.92rem}.teacher-directory-card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap}.teacher-directory-profile__actions{display:flex;align-items:stretch;flex-wrap:nowrap;gap:8px;width:auto;flex:0 1 auto}.teacher-directory-profile__action-btn{position:relative;min-height:36px;width:36px;height:36px;padding:0;line-height:0;border-radius:10px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center}.teacher-directory-profile__action-btn svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.teacher-directory-profile__action-icon,.teacher-directory-profile__action-icon--invite,.teacher-directory-profile__action-icon--transfer,.teacher-directory-profile__action-icon--edit,.teacher-directory-profile__action-icon--view{transform:none}.teacher-directory-profile__action-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:#101828;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:4px 8px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:5}.teacher-directory-card__status{align-self:center;margin-top:0;margin-left:4px;flex-shrink:0;border-radius:999px;padding:4px 10px;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.teacher-directory-card__status--active{background:#22a06e24;color:#1f7a51}.teacher-directory-card__status--inactive{background:#94a3b833;color:#475569}.teacher-directory-profile__action-btn:hover .teacher-directory-profile__action-tooltip,.teacher-directory-profile__action-btn:focus-visible .teacher-directory-profile__action-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.teacher-directory-card__button{border-radius:16px;min-height:48px;min-width:170px;padding:0 20px;font-size:clamp(1rem,1.05vw,1.22rem);font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:10px}.teacher-directory-card__button--primary{background:#bfe9f5;border:1px solid #bfe9f5;color:#0b1d2a;box-shadow:none}.teacher-directory-card__button-icon{display:inline-flex;width:20px;height:20px;border-radius:999px;align-items:center;justify-content:center;border:1.6px solid currentColor;line-height:1}.teacher-directory-card__button-icon svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media (max-width: 1024px){.teacher-detail-view__grid{grid-template-columns:1fr}}@media (max-width: 760px){.teacher-detail-view__hero{flex-direction:column}.teacher-detail-view__identity{align-items:flex-start}.teacher-detail-view__actions{width:100%}.teacher-detail-view__actions .button{flex:1}.teacher-detail-view__timetable-head{flex-direction:column;align-items:flex-start}.teacher-detail-view__timetable-table .table__row,.teacher-directory-grid{grid-template-columns:1fr}.teacher-directory-profile__header{align-items:flex-start}.teacher-directory-profile__avatar{width:60px;height:60px;font-size:1.2rem}.teacher-directory-profile__identity h3{font-size:1.8rem}.teacher-directory-profile__contact p{font-size:1rem;word-break:break-word}.teacher-directory-card__button{min-width:180px;min-height:50px;font-size:1.05rem}.teacher-directory-profile__action-btn{width:40px;height:40px;flex-basis:40px}.teacher-directory-card__footer{flex-wrap:wrap;justify-content:flex-start}}@media (min-width: 1200px){.teacher-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1600px){.teacher-directory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 900px){.teacher-overview-analytics{grid-template-columns:1fr}.teacher-today-plan__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}}.list-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.stack{display:flex;flex-direction:column;gap:12px}.table{display:grid;gap:10px}.grid{display:grid;gap:16px}.grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 900px){.grid--two{grid-template-columns:1fr}}.input-readonly{padding:10px 12px;border-radius:12px;border:1px solid rgba(25,46,73,.12);background:#f6f8fb;color:#122238;font-weight:600}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.detail-title{font-size:1.15rem;font-weight:800;margin:0}.detail-subtitle{color:#51657f;font-size:.98rem;margin-top:4px}.detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.exam-rank-card{display:grid;gap:12px}.exam-rank-card__head h4{margin:0}.exam-rank-card__head p{margin:4px 0 0;color:var(--muted);font-size:.88rem}.exam-rank-card__filters{display:grid;gap:10px}.exam-rank-card__select{width:100%;min-height:40px;border:1px solid var(--stroke);border-radius:12px;background:#fff;color:var(--ink);padding:8px 12px}.exam-rank-card__state{margin:0;color:var(--muted);font-weight:600}.exam-rank-card__state--error{color:#b42318}.exam-rank-card__pager{margin-top:6px}.pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.exams-table--dense .table__row{padding:10px 12px;gap:10px;border-radius:12px}.exams-table--exam-list .table__row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.7fr)}.exams-table--exam-list-with-action .table__row{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,.7fr) auto}.exams-table--papers .table__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.2fr) auto}.exams-table--marks .table__row{grid-template-columns:minmax(180px,1.6fr) minmax(140px,1fr) minmax(110px,.8fr) minmax(110px,.8fr) minmax(90px,.65fr) minmax(70px,.55fr) minmax(80px,.6fr) minmax(80px,.6fr)}.exams-table--rank .table__row{grid-template-columns:minmax(60px,.55fr) minmax(0,1.6fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,.7fr)}.exams-table--templates .table__row{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,1fr) auto}.exams-table--grades .table__row{grid-template-columns:minmax(0,.7fr) minmax(0,.7fr) minmax(0,1fr) auto}.table__row{display:grid;grid-template-columns:1.1fr .9fr .9fr .9fr .9fr .8fr auto;gap:12px;padding:12px 14px;border-radius:14px;background:#f6f8fb;position:relative;overflow:visible}.table__row--active{z-index:5}.table--transfer .table__row{grid-template-columns:minmax(180px,1.5fr) minmax(140px,1fr) minmax(220px,1.4fr) minmax(160px,1fr) auto}.table--transfer .table__row span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-records-table .table__row{grid-template-columns:1.3fr 1.1fr 1fr 1.4fr 1fr .9fr auto}.teacher-records-table .table__row span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table--transfers .table__row{grid-template-columns:minmax(0,1.3fr) minmax(0,1.05fr) minmax(0,1.05fr) minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.1fr) auto}.table--transfers .table__row span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-records-table .table__row{grid-template-columns:1.2fr 1fr .9fr .8fr 1fr .9fr auto}.student-records-table .table__row span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-schools-management-table .table__row{grid-template-columns:minmax(220px,1.5fr) minmax(140px,1fr) minmax(220px,1.4fr) minmax(120px,.8fr) minmax(120px,.8fr)}.admin-schools-management-table .table__row span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-schools-management-table .table__row>.table__actions{justify-content:flex-start}.admin-assessments__table .table__row{align-items:center}.admin-assessments__table .table__row>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-assessments__table .table__actions{justify-content:flex-start;flex-wrap:wrap;gap:8px}.admin-assessments__table--recent .table__row{grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(120px,1fr) minmax(100px,.8fr)}.admin-assessments__table--blueprints .table__row{grid-template-columns:minmax(200px,1.8fr) minmax(130px,1fr) minmax(170px,1.2fr) minmax(120px,.9fr) minmax(85px,.7fr) minmax(100px,.8fr) minmax(95px,.75fr) auto}.admin-assessments__sample-questions{display:grid;gap:10px}.admin-assessments__sample-question{margin:0;padding:10px 12px;border:1px solid var(--stroke);border-radius:10px;background:#f6f9ffc7}.admin-assessments__sample-question p{margin:0}@media (max-width: 960px){.admin-assessments__table--blueprints .table__row{grid-template-columns:minmax(170px,1.5fr) minmax(120px,1fr) minmax(140px,1fr) minmax(100px,.8fr) minmax(80px,.7fr) minmax(90px,.7fr) minmax(85px,.65fr) auto}}.timetable-calendar__toolbar{margin-bottom:14px}.timetable-calendar__template-meta{margin:0 0 10px;font-size:.86rem}.timetable-calendar__template-meta strong{color:var(--ink)}.timetable-calendar{border:1px solid var(--stroke);border-radius:18px;background:#f8faff;overflow-x:auto}.timetable-calendar__grid{display:grid;gap:0;min-width:max-content}.timetable-calendar__corner,.timetable-calendar__period-head,.timetable-calendar__day-head,.timetable-calendar__cell{border-right:1px solid rgba(31,59,99,.08);border-bottom:1px solid rgba(31,59,99,.08)}.timetable-calendar__corner{display:flex;align-items:center;padding:14px;font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:700;background:#1f3b630f}.timetable-calendar__period-head{padding:12px 14px;background:#1f3b630f;display:grid;gap:2px}.timetable-calendar__period-head strong{font-size:.86rem;color:var(--brand-strong)}.timetable-calendar__period-head span{font-size:.78rem;color:var(--muted)}.timetable-calendar__day-head{padding:12px 14px;font-size:.85rem;font-weight:700;color:var(--brand-strong);background:#ffffffe0;display:flex;align-items:center}.timetable-calendar__cell{padding:10px;min-height:132px;background:#ffffffeb;display:grid;gap:8px;align-content:start}.timetable-calendar__empty{margin:0;font-size:.8rem;color:var(--muted)}.timetable-calendar__entry{border:1px solid rgba(31,59,99,.18);border-radius:12px;padding:10px;background:#fff;display:grid;gap:3px}.timetable-calendar__entry p{margin:0;font-size:.79rem;line-height:1.35;color:var(--muted)}.timetable-calendar__entry-title{color:var(--ink)!important;font-weight:700}.timetable-calendar__entry--template{border-style:dashed}.timetable-calendar__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.timetable-calendar__chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700;color:var(--brand-strong);background:#1f3b631a;border:1px solid rgba(31,59,99,.2)}.timetable-calendar__hint{margin-top:6px!important;font-size:.7rem!important}.timetable-calendar__entry-actions{margin-top:6px;display:flex;gap:8px}@media (max-width: 1024px){.timetable-calendar__cell{min-height:120px}}@media (max-width: 960px){.timetable-calendar__corner{font-size:.72rem}.timetable-calendar__period-head{padding:10px 12px}.timetable-calendar__day-head{font-size:.8rem}.timetable-calendar__cell{min-height:112px;padding:8px}.timetable-calendar__entry-actions{flex-wrap:wrap}.exam-rank-card__filters{grid-template-columns:1fr}}.table__row--head{background:#0f172a0f;border-radius:14px;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.table-pagination{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.table-pagination__info{font-size:.82rem;color:var(--muted);font-weight:600}.table-pagination__actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.table-pagination__size{border:1px solid var(--stroke);border-radius:999px;padding:6px 10px;background:#fff;color:var(--text);font-size:.82rem;font-weight:600}.table-pagination__button{min-width:72px;height:34px;padding-inline:12px}.table-pagination__page{font-size:.82rem;color:var(--muted);font-weight:700;min-width:86px;text-align:center}.table__row--muted{opacity:.75}.table__col{display:flex;align-items:center}.table__cell{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table__col--status{width:140px}.table__col--location{width:150px}.table__col--timestamp{width:160px}.table__col--actions{width:200px}.table__actions--right{justify-content:flex-end}.badge--transfer{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.badge--transfer.status-pending{background:var(--accent-soft);color:var(--brand-strong)}.badge--transfer.status-approved{background:#22a06e29;color:#1f7a51}.badge--transfer.status-rejected{background:#d21c1c29;color:#a31b1b}.button--small{padding:6px 12px;font-size:.85rem}.transfer-detail p+p{margin-top:8px}.transfer-detail strong{color:var(--muted)}.table__actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:wrap}.teacher-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.teacher-actions__row{display:flex;gap:8px;flex-wrap:wrap}.teacher-actions__more{position:relative}.teacher-actions__more-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--stroke);background:#fff;font-weight:600;color:var(--brand-strong);cursor:pointer;transition:background .2s ease,border-color .2s ease}.teacher-actions__more-btn:hover,.teacher-actions__more-btn:focus-visible{background:var(--toolbar-accent-soft);border-color:var(--toolbar-accent)}.teacher-actions__more-icon{font-size:1.2rem;line-height:1}.teacher-actions__more-label{font-size:.85rem}.teacher-actions__more-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--card);border-radius:12px;border:1px solid var(--stroke);box-shadow:0 10px 32px #0f172a26;display:flex;flex-direction:column;gap:4px;padding:6px;z-index:1;min-width:180px}.teacher-actions__menu-item{border:none;background:transparent;text-align:left;padding:10px 14px;border-radius:8px;font-weight:600;cursor:pointer;color:var(--brand-strong);transition:background .2s ease}.teacher-actions__menu-item--danger{color:#c53030}.teacher-actions__menu-item:hover,.teacher-actions__menu-item:focus-visible{background:var(--toolbar-accent-soft)}.table__row--head{background:transparent;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.75rem;font-weight:700;width:fit-content}.default-mapping-subjects{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.default-mapping-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600;background:#2158a61f;color:#1d4f9f;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.default-mapping-chip--count{background:#1f3b631a;color:var(--brand-strong)}.admin-masters-default-template .form-grid{gap:14px}.admin-masters-default-template .form-field label{color:#1b3661}.admin-masters-default-template .table{margin-top:10px}.admin-masters-default-template .table__row--head{background:#15346714;border-color:#15346733}.admin-masters-default-template .table__row--head span{color:#2f4d77}.masters-template-table{gap:8px}.masters-template-table .table__row{grid-template-columns:minmax(160px,.95fr) minmax(300px,2fr) minmax(140px,.7fr) minmax(150px,.8fr);align-items:center;gap:14px;padding:10px 14px;min-height:56px;border:1px solid rgba(31,59,99,.06);background:#f7f9fc}.masters-template-table .table__row--head{padding:4px 14px 3px;min-height:0;border:none;background:transparent}.masters-template-table .table__row:not(.table__row--head):nth-child(odd){background:#f6f8fc}.masters-template-table .table__row:not(.table__row--head):nth-child(2n){background:#eef3f9}.masters-template-table .table__actions{justify-content:flex-start}.masters-template-table .table__actions .button{min-height:38px;padding:8px 14px;border-radius:12px;font-size:.96rem;line-height:1}.admin-master-class-template{display:grid;gap:10px}.admin-master-class-template__list{display:grid;gap:8px;max-height:320px;overflow-y:auto;padding-right:4px}.admin-master-class-template__row{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px}.admin-master-class-template__row span{display:inline-flex;justify-content:center;align-items:center;height:36px;border-radius:10px;background:#1f3b6314;color:var(--brand-strong);font-weight:700;font-size:.82rem}.masters-records-panel{padding:18px 20px}.masters-records-panel .section-header{margin-bottom:12px}.masters-records-panel .section-header h2{font-size:1.35rem}.masters-records-tabs{gap:8px;margin-bottom:12px!important}.masters-records-tabs .panel-tabs__tab{border-radius:12px;padding:8px 14px;font-size:.9rem;font-weight:700}.masters-records-table{gap:6px}.masters-records-table .table__row{border-radius:12px;padding:8px 10px;align-items:center;min-height:48px;gap:10px}.masters-records-table .table__row--head{padding:4px 10px 2px;letter-spacing:.16em;font-size:.68rem}.masters-records-table .table__row:not(.table__row--head):nth-child(odd){background:#f3f6fb}.masters-records-table .table__row:not(.table__row--head):nth-child(2n){background:#eef2f8}.masters-sortable-head{display:inline-flex;align-items:center;gap:6px}.masters-sort-arrows{display:inline-flex;flex-direction:column;gap:1px;margin-left:2px}.masters-sort-arrow{border:none;background:transparent;color:var(--muted);width:14px;height:10px;line-height:1;padding:0;cursor:pointer;position:relative;opacity:.75}.masters-sort-arrow:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent}.masters-sort-arrow--up:before{top:1px;border-bottom:6px solid #9ca3af}.masters-sort-arrow--down:before{bottom:1px;border-top:6px solid #9ca3af}.masters-sort-arrow:hover{opacity:1}.masters-sort-arrow--up:hover:before{border-bottom-color:#4b5563}.masters-sort-arrow--down:hover:before{border-top-color:#4b5563}.masters-sort-arrow--active{opacity:1}.masters-sort-arrow--up.masters-sort-arrow--active:before{border-bottom-color:#1f3b63}.masters-sort-arrow--down.masters-sort-arrow--active:before{border-top-color:#1f3b63}.masters-records-table .table__actions{justify-content:flex-start;flex-wrap:nowrap;gap:8px}.masters-records-table .button{min-height:34px;padding:6px 12px;border-radius:10px;font-size:.84rem}.masters-records-panel .table-pagination__button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;line-height:1;text-align:center}.masters-records-table .badge{padding:3px 10px;min-width:0}.masters-records-table--master .table__row{grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.6fr) minmax(110px,.7fr) minmax(170px,1fr)}.masters-template-table .table__row{grid-template-columns:minmax(180px,1fr) minmax(260px,1.9fr) minmax(120px,.7fr) minmax(160px,.9fr)}.masters-records-table--roles .table__row{grid-template-columns:minmax(120px,.9fr) minmax(180px,1.2fr) minmax(220px,1.8fr) minmax(160px,.9fr)}.masters-records-table--access .table__row{grid-template-columns:minmax(140px,1fr) minmax(220px,1.4fr) minmax(120px,.8fr) minmax(100px,.8fr) minmax(120px,.7fr)}@media (max-width: 1200px){.masters-records-panel{padding:16px}.masters-records-tabs .panel-tabs__tab{padding:7px 12px;font-size:.85rem}.masters-records-table .table__row{min-height:auto;padding:9px 10px}.masters-records-table .table__actions{flex-wrap:wrap}.masters-template-table .table__row{grid-template-columns:1fr;gap:8px;padding:10px 12px}.masters-template-table .table__actions{justify-content:flex-start}}.period-template-list .table__row,.period-template-list .table__row--head{grid-template-columns:minmax(420px,2.4fr) 90px 90px 90px 130px auto;align-items:center}.period-template-row__class{display:grid;gap:8px;min-width:0}.period-template-timeline{display:flex;align-items:stretch;gap:4px;min-height:24px;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:thin}.period-template-timeline__segment{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;font-size:.7rem;font-weight:700;min-width:62px;color:#1b3661;border:1px solid transparent;padding:2px 4px;line-height:1.1;flex-shrink:0}.period-template-timeline__segment-label{font-size:.68rem;font-weight:800}.period-template-timeline__segment-time{font-size:.62rem;font-weight:600;white-space:nowrap}.period-template-list .table__row>span:not(.period-template-row__class),.period-template-list .table__row--head>span:not(:first-child){justify-self:center;text-align:center}.period-template-list .table__row--head>span:first-child{justify-self:start;text-align:left}.period-template-list .table__actions{justify-content:flex-end}.period-template-timeline__segment--period{background:#2b69d326;border-color:#2b69d34d}.period-template-timeline__segment--break{background:#f59e0b2e;border-color:#b4750459}.period-template-timeline__segment--lunch{background:#22a06e33;border-color:#1a7a5459}.period-template-view{display:grid;gap:14px}.period-template-view__days,.period-template-view__meta{display:flex;flex-wrap:wrap;gap:8px}.period-template-view__groups{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.period-template-view__group{background:#f6f8fb;border:1px solid var(--stroke);border-radius:12px;padding:12px}.period-template-view__group h4{margin:0 0 8px;font-size:.95rem}.period-template-view__group p{margin:4px 0;font-size:.85rem}@media (max-width: 960px){.period-template-view__groups{grid-template-columns:1fr}}.meter{flex:1;height:10px;border-radius:999px;background:#1f3b631f;overflow:hidden;min-width:120px}.meter__bar{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-strong))}.tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;border:1px solid rgba(31,59,99,.2);font-size:.75rem;font-weight:700;color:var(--brand-strong);background:#1f3b630f}.tag--solid{background:var(--brand);color:#fff;border-color:transparent}.admin-school-details{gap:18px}.admin-school-details__tabs-panel{flex:initial;border-radius:18px;border:1px solid rgba(122,146,194,.22);background:linear-gradient(180deg,#fffffff0,#f4f8ffe6);box-shadow:0 12px 26px #1e305612;padding:14px 16px}.admin-school-details__tab-panel{min-height:auto;flex:initial;max-height:none;overflow:visible;border-radius:18px;border:1px solid rgba(126,148,194,.2);box-shadow:0 12px 24px #21345a0f}.admin-school-details__tab-panel .table{min-width:0}.admin-school-details__hero{background:linear-gradient(120deg,#fffffffa,#f4f8ffdb),radial-gradient(circle at 85% 12%,rgba(45,108,223,.12),transparent 50%);border:1px solid rgba(126,149,195,.24);border-radius:20px;box-shadow:0 14px 30px #21345a14}.admin-school-details__hero .section-header{margin-bottom:12px}.admin-school-details__hero .section-header__title{font-size:clamp(1.55rem,2vw,2.1rem);line-height:1.2}.admin-school-details__hero .section-header__subtitle{max-width:540px;font-size:.96rem}.admin-school-details__hero .section-header__actions .button{border-radius:12px;padding-inline:16px;min-height:40px;font-weight:700}.admin-school-details__summary-grid{margin-top:14px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}.admin-school-details__summary-item{grid-column:span 3;background:#f7fbfff0;border:1px solid rgba(130,154,200,.22);border-radius:13px;padding:12px 13px;min-height:82px;box-shadow:inset 0 1px #ffffffa6}.admin-school-details__summary-item--wide{grid-column:span 6}.admin-school-details__summary-label{margin:0 0 7px;text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;color:var(--muted);font-weight:700}.admin-school-details__summary-value{margin:0;color:var(--ink);font-size:1.04rem;font-weight:700;line-height:1.35}.admin-school-details__chip-wrap{display:flex;flex-wrap:wrap;gap:7px}.admin-school-details__chip,.admin-school-details__empty-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:.78rem;line-height:1.2}.admin-school-details__chip{background:#9dcdee42;border:1px solid rgba(100,141,188,.32);color:var(--brand-strong);font-weight:700}.admin-school-details__empty-chip{background:#0f172a09;border:1px dashed rgba(122,146,194,.45);color:var(--muted)}.admin-school-details__tabs-panel .panel-tabs__nav{gap:8px;margin-bottom:0}.admin-school-details__tabs-panel .panel-tabs__tab{border-radius:12px;background:#ffffffe0;border-color:#849ccb4d;padding:9px 14px;box-shadow:0 6px 14px #21345a0f}.admin-school-details__tabs-panel .panel-tabs__tab--active{background:linear-gradient(120deg,#a4d4ef6b,#bcdaff61);border-color:#6691c180}.admin-school-details__table .table__row{gap:14px;border:1px solid rgba(15,23,42,.06);border-radius:13px;background:linear-gradient(180deg,#fafcfff2,#f6f9ffe6)}.admin-school-details__table-scroll{max-height:min(56vh,560px);overflow-y:auto;overflow-x:hidden;padding-right:4px}.admin-school-details__table .table__row span{min-width:0;white-space:normal;overflow-wrap:anywhere}.admin-school-details__table--teachers .table__row{grid-template-columns:1.1fr 1.3fr .8fr 1.3fr auto}.admin-school-details__table--classes .table__row{grid-template-columns:minmax(180px,1.1fr) minmax(320px,2.4fr) minmax(90px,.5fr)}.admin-school-details__table--classes .table__row>span:last-child{justify-self:end;text-align:right}.admin-school-details__table--subjects .table__row{grid-template-columns:1fr 1fr .8fr}.admin-school-details__table--class-subjects .table__row{grid-template-columns:1fr 1.8fr .7fr .8fr}.admin-school-details__table--mappings .table__row,.admin-school-details__table--periods .table__row{grid-template-columns:1fr 1fr}.admin-school-details__table--period-summary .table__row{grid-template-columns:1.4fr .8fr .6fr;align-items:center}.admin-school-details__table--period-detail .table__row{grid-template-columns:1.2fr .9fr .9fr .8fr}.admin-school-details__timetable-status{display:inline-flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-school-details__tt-gap-list{display:grid;gap:6px}.admin-school-details__tt-gap-row{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px;border:1px solid rgba(15,23,42,.08);border-radius:10px;background:#0f172a05;padding:8px 10px}.admin-school-details__tt-gap-class{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.admin-school-details__tt-gap-separator{color:var(--muted);font-weight:700}.admin-school-details__tt-gap-subjects{min-width:0;font-size:.82rem;font-weight:600;letter-spacing:.01em;color:var(--ink);overflow-wrap:anywhere}.admin-school-details__tt-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.admin-school-details__tt-snapshots{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.admin-school-details__tt-snapshot-card{cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.admin-school-details__tt-snapshot-card:hover{border-color:#4c78be73;box-shadow:0 8px 18px #21345a14}.admin-school-details__tt-snapshot-card.is-selected{border-color:#235cb7a6;box-shadow:0 0 0 2px #235cb72e;background:linear-gradient(180deg,#f6fafff5,#edf5fff0)}.admin-school-details__tt-snapshot-preview{margin-bottom:12px}.admin-school-details__tt-snapshot-preview-table .table__row{grid-template-columns:minmax(150px,1.2fr) minmax(80px,.6fr) minmax(90px,.7fr) minmax(110px,.8fr) minmax(140px,1fr) minmax(150px,1fr)}.admin-school-details__tt-card-pool{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:14px}.admin-school-details__tt-card-pool--special{grid-template-columns:minmax(220px,320px);position:sticky;top:10px;z-index:5;padding:6px;border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-school-details__tt-card-sections{display:grid;gap:10px;margin-bottom:14px}.admin-school-details__tt-card-class-group{border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:8px;background:#0f172a04}.admin-school-details__tt-card-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:8px;padding:7px 9px;background:#0f172a0f;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;cursor:pointer;margin-bottom:8px}.admin-school-details__tt-pool-empty{margin-bottom:14px;font-size:.82rem;color:var(--muted)}.admin-school-details__tt-card{--tt-card-accent: hsl(var(--tt-subject-hue, 210) 72% 44%);border:1px solid color-mix(in srgb,var(--tt-card-accent) 35%,white);border-radius:10px;padding:8px 10px 18px;display:grid;gap:2px;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--tt-card-accent) 12%,white) 0,color-mix(in srgb,var(--tt-card-accent) 12%,white) 8px,color-mix(in srgb,var(--tt-card-accent) 6%,white) 8px,color-mix(in srgb,var(--tt-card-accent) 6%,white) 16px);cursor:grab;position:relative}.admin-school-details__tt-card:active{cursor:grabbing}.admin-school-details__tt-card.is-used{opacity:.36;cursor:not-allowed;filter:grayscale(.65)}.admin-school-details__tt-card--global{border-style:solid}.admin-school-details__tt-card-class{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.admin-school-details__tt-card-subject{font-size:.84rem;font-weight:800}.admin-school-details__tt-card-teacher{font-size:.77rem;color:var(--muted);font-weight:600}.admin-school-details__tt-card-progress{position:absolute;right:8px;bottom:6px;border-radius:999px;padding:1px 6px;font-size:.66rem;line-height:1.35;font-weight:800;letter-spacing:.04em;color:color-mix(in srgb,var(--tt-card-accent) 76%,#0f172a);background:color-mix(in srgb,var(--tt-card-accent) 18%,white);border:1px solid color-mix(in srgb,var(--tt-card-accent) 30%,white)}.admin-school-details__tt-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.admin-school-details__tt-legend-item{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(15,23,42,.12);border-radius:999px;padding:4px 10px;background:#ffffffd1;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800}.admin-school-details__tt-legend-swatch{width:10px;height:10px;border-radius:50%}.admin-school-details__tt-grid-stack{display:grid;gap:12px}.admin-school-details__tt-grid-panel{border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:8px;background:#0f172a04}.admin-school-details__tt-grid-header h4{margin:0 0 8px;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase}.admin-school-details__tt-grid{display:grid;grid-template-columns:170px repeat(6,minmax(120px,1fr));gap:6px;overflow-x:auto}.admin-school-details__tt-grid-row{display:contents}.admin-school-details__tt-grid-cell{min-height:46px;border:1px dashed rgba(15,23,42,.1);border-radius:8px;padding:6px;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff}.admin-school-details__tt-grid-cell--head{min-height:30px;border-style:solid;border-color:#0f172a1a;font-size:.72rem;letter-spacing:.13em;font-weight:800;text-transform:uppercase;background:#0f172a08}.admin-school-details__tt-grid-cell--period{display:grid;justify-items:start;align-content:center;gap:2px;border-style:solid;border-color:#0f172a17;background:#0f172a05}.admin-school-details__tt-grid-cell--period span{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800}.admin-school-details__tt-grid-cell--period small{font-size:.68rem;color:var(--muted)}.admin-school-details__tt-grid-cell--drop{background:#ffffffbf}.admin-school-details__tt-cell-card{--tt-card-accent: hsl(var(--tt-subject-hue, 210) 72% 44%);width:100%;height:100%;border-radius:7px;padding:4px 6px;display:grid;align-content:center;gap:1px;text-align:left;border:1px solid color-mix(in srgb,var(--tt-card-accent) 38%,white);background:linear-gradient(180deg,color-mix(in srgb,var(--tt-card-accent) 15%,white),color-mix(in srgb,var(--tt-card-accent) 5%,white));position:relative;cursor:grab}.admin-school-details__tt-cell-card strong{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.admin-school-details__tt-cell-card span{font-size:.7rem;font-weight:600}.admin-school-details__tt-cell-card.is-auto{opacity:.9}.admin-school-details__tt-clear{position:absolute;right:4px;top:2px;width:16px;height:16px;border:0;border-radius:50%;background:#0f172a2e;color:#fff;line-height:1;cursor:pointer}.admin-school-details__tt-empty{font-size:.66rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.admin-school-details__tt-exceptions{display:grid;gap:8px}.admin-school-details__tt-exceptions p{margin:0;font-size:.84rem}.admin-school-details__tt-config-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:10px}.admin-school-details__tt-config-days-section{margin-bottom:10px}.admin-school-details__tt-working-days{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.admin-school-details__tt-working-days .button{min-width:64px}.admin-school-details__tt-config-class-days{display:grid;gap:10px;margin-bottom:8px}.admin-school-details__tt-config-table-scroll{max-height:min(48vh,420px);overflow:auto;border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:6px;background:#0f172a04}.admin-school-details__tt-config-table .table__row{grid-template-columns:minmax(160px,1.2fr) minmax(180px,1.8fr) minmax(120px,.8fr);align-items:center}.admin-school-details__tt-config-table .table__row>span:last-child{display:flex;justify-content:flex-end;align-items:center;padding-right:6px}.admin-school-details__tt-config-table .table__row--head{position:sticky;top:0;z-index:4;background:#f6f9fffa}.admin-school-details__tt-config-table .table__row--head>span:last-child{justify-content:flex-end;text-align:right}.admin-school-details__tt-config-table .table__row--head span:first-child,.admin-school-details__tt-config-table .table__row span:first-child{position:sticky;left:0;z-index:2;padding-left:6px;background:inherit}.admin-school-details__tt-config-table .table__row.is-even{background:#ffffffe6}.admin-school-details__tt-config-table .table__row.is-odd{background:#f6f9ffc7}.admin-school-details__tt-config-quota-input{width:96px;min-width:96px;max-width:96px;margin-left:0;display:block;text-align:right}.admin-school-details__tt-config-action-help{display:grid;gap:4px;margin-top:6px;margin-bottom:8px}.admin-school-details__tt-config-action-help p{margin:0;font-size:.78rem;color:var(--muted)}@media (max-width: 860px){.admin-school-details__tt-working-days .button{min-width:64px;padding-inline:12px}}.admin-school-details__credentials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.admin-school-details__credential-card{background:#f6f9ffe0;border:1px solid var(--stroke);border-radius:14px;padding:12px 14px}.admin-school-details__autocomplete{position:relative}.admin-school-details__autocomplete-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:12;display:grid;gap:4px;max-height:220px;overflow:auto;border:1px solid var(--stroke);border-radius:12px;background:#fff;box-shadow:0 10px 24px #0f172a1f;padding:6px}.admin-school-details__autocomplete-option{border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:left;padding:8px 10px;display:grid;gap:2px;cursor:pointer}.admin-school-details__autocomplete-option span:first-child{font-size:.78rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.admin-school-details__autocomplete-option span:last-child{font-size:.92rem;font-weight:600}.admin-school-details__autocomplete-option:hover,.admin-school-details__autocomplete-option:focus-visible{outline:none;background:#1f3b6314}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:10px}.checklist__item{display:flex;align-items:center;gap:10px;font-weight:600}.checklist__dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #e08a2f33}.profile-card{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(120deg,rgba(26,53,91,.08),transparent);border-radius:var(--radius);padding:24px;border:1px solid var(--stroke)}.profile-meta{display:grid;gap:12px}.button{border:none;border-radius:12px;padding:10px 18px;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.button--primary{background:var(--brand);color:#fff;box-shadow:0 12px 24px #1a355b40}.button--ghost{background:#fff;color:var(--brand-strong);border:1px solid rgba(26,53,91,.3)}.button--danger{background:#fff;color:#b42318;border:1px solid rgba(180,35,24,.4)}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.text-link{color:var(--brand-strong);font-weight:600;text-decoration:underline;text-underline-offset:4px}.login-shell{min-height:100vh;width:100%;background:linear-gradient(145deg,#f7f9fc,#eef3fb 55%,#e9f0fb);display:flex;flex-direction:column;align-items:center;gap:16px;padding:0}.login__masthead{width:100%;background:#052755;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:12px clamp(24px,4vw,64px);font-size:1.3rem;font-weight:700;letter-spacing:.04em;flex-shrink:0}.login__masthead__subtitle{font-weight:400;font-size:1rem;letter-spacing:normal;color:#fff}.landing{padding:64px clamp(24px,6vw,90px) 80px;display:grid;gap:36px}.landing__banner{display:flex;align-items:center;gap:16px;padding:18px 24px;border-radius:22px;border:1px solid var(--stroke);background:#fff;box-shadow:var(--shadow);font-size:1rem}.landing__banner__logo{width:52px;height:52px;border-radius:14px;border:none;display:grid;place-items:center;font-weight:600}.landing__banner__logo img{max-width:60px;max-height:60px;width:auto;height:auto;display:block;object-fit:contain;margin:0}.landing__banner__text{display:flex;flex-direction:column;justify-content:center;gap:4px}.landing__banner__text strong,.landing__banner__text p{margin:0}.landing__banner__logo svg,.landing__banner__logo img{max-height:50px}.login__footer-banner{width:100%;background:linear-gradient(135deg,#061b3c,#0f2b63);color:#fff;border-radius:0;padding:16px clamp(32px,5vw,80px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;flex-shrink:0}.login__footer-banner__logo{width:44px;height:44px;border-radius:22px;border:none;background:#ffffff0f;display:flex;align-items:center;justify-content:center;padding:0}.login__footer-banner__logo img{max-width:28px;max-height:32px;object-fit:contain}.login__footer-banner__text{display:flex;flex-direction:column;justify-content:center;padding-left:8px}.login__footer-banner__text strong{font-size:1.1rem;letter-spacing:.05em;font-weight:700}.login__footer-banner__text p{margin-top:4px;font-size:.95rem;opacity:.9}.login__footer-banner__hosting{text-align:right;font-size:.85rem;opacity:.9;color:#fff}.login__footer-logo{width:48px;height:48px;border-radius:10px;border:1px solid rgba(255,255,255,.4);display:grid;place-items:center;font-weight:700;letter-spacing:.2em;font-size:.9rem}.login__footer-banner p{margin:0;font-size:.75rem;opacity:.85;color:#fff}.landing__hero{background:linear-gradient(120deg,#1a355b14,#e08a2f1a);border-radius:32px;padding:clamp(28px,5vw,60px);border:1px solid var(--stroke);box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px}.landing__copy{display:flex;flex-direction:column;gap:16px}.landing__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.landing__login{display:flex;gap:8px;align-items:center;margin-top:8px}.landing__role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px}.landing__role-card{border:1px solid var(--stroke);border-radius:18px;padding:16px;background:var(--card);display:flex;flex-direction:column;gap:10px;min-height:140px;box-shadow:0 10px 30px #0f172a14}.landing__role-card--primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;border-color:transparent;box-shadow:0 16px 40px #2d6cdf59}.landing__role-card__content h3{margin:0 0 6px;font-size:1.1rem}.landing__role-card__content p{margin:0;color:inherit}.landing__role-card__button{width:fit-content;align-self:flex-start;padding-inline:20px}.landing__insight{display:grid;gap:16px;background:#fff}.landing__insight h2{margin-bottom:0}.landing__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.landing__stats strong{display:block;font-size:1.3rem;color:var(--ink)}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-weight:700}.landing__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.feature{min-height:160px}.auth-page{width:100%;flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(14px,2vh,24px) clamp(12px,6vw,64px);position:relative;overflow:hidden;min-height:0}.auth-card{width:min(1180px,100%);margin:0 auto;background:#fff;border-radius:30px;border:1px solid var(--stroke);box-shadow:0 26px 48px #0f172a29;position:relative;z-index:2;overflow:hidden}.auth-card__split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)}.auth-card__visual{background:linear-gradient(135deg,#0f2b63,#1a3a88 60%,#224aa6);display:flex;align-items:center;justify-content:center;padding:clamp(28px,4vw,46px);position:relative}.auth-card__visual img{max-width:min(430px,100%);width:auto;height:auto;z-index:1}.auth-card__visual__pattern{position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:26px;border:1px dashed rgba(255,255,255,.3)}.auth-card__form{padding:clamp(30px,4vw,54px);display:flex;flex-direction:column;gap:18px;justify-content:center}.login-shell .auth-card__form{max-width:430px;width:100%;margin-inline:auto}.login-shell .login-card{width:min(560px,100%)}.login-shell .login-card .auth-card__form{max-width:none;padding:clamp(30px,4vw,44px)}.login-shell .login-card .auth-form .button{width:100%}.auth-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 10%,rgba(30,64,175,.08),transparent 55%);opacity:.6;pointer-events:none}.auth-page:after{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27260%27%20height%3D%27260%27%20viewBox%3D%270%200%20260%20260%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%2396b3d6%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%2724%27%20y%3D%2720%27%20width%3D%2746%27%20height%3D%2732%27%20rx%3D%276%27/%3E%3Cpath%20d%3D%27M24%2028h46%27/%3E%3Cpath%20d%3D%27M46%2052v10%27/%3E%3Ccircle%20cx%3D%27130%27%20cy%3D%2726%27%20r%3D%2712%27/%3E%3Cpath%20d%3D%27M130%2014v-6%27/%3E%3Cpath%20d%3D%27M118%2026h-6%27/%3E%3Cpath%20d%3D%27M142%2026h6%27/%3E%3Crect%20x%3D%27202%27%20y%3D%2728%27%20width%3D%2734%27%20height%3D%2750%27%20rx%3D%276%27/%3E%3Cpath%20d%3D%27M210%2036h18%27/%3E%3Cpath%20d%3D%27M210%2048h18%27/%3E%3Ccircle%20cx%3D%27240%27%20cy%3D%27116%27%20r%3D%2712%27/%3E%3Cpath%20d%3D%27M240%20128v12%27/%3E%3Cpath%20d%3D%27M234%20140h12%27/%3E%3Crect%20x%3D%2730%27%20y%3D%2798%27%20width%3D%2750%27%20height%3D%2732%27%20rx%3D%277%27/%3E%3Cpath%20d%3D%27M38%20106h34%27/%3E%3Ccircle%20cx%3D%27110%27%20cy%3D%27120%27%20r%3D%2714%27/%3E%3Cpath%20d%3D%27M100%20130l-8%208%27/%3E%3Cpath%20d%3D%27M120%20110l8-8%27/%3E%3Cpath%20d%3D%27M174%20108l18%2010-18%2010-18-10z%27/%3E%3Cpath%20d%3D%27M174%20128v16%27/%3E%3Crect%20x%3D%2728%27%20y%3D%27182%27%20width%3D%2738%27%20height%3D%2756%27%20rx%3D%278%27/%3E%3Cpath%20d%3D%27M28%20200h38%27/%3E%3Cpath%20d%3D%27M46%20238v10%27/%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%27202%27%20r%3D%2716%27/%3E%3Cpath%20d%3D%27M120%20218l-6%2010h12z%27/%3E%3Cpath%20d%3D%27M190%20186h36%27/%3E%3Cpath%20d%3D%27M190%20196h36%27/%3E%3Cpath%20d%3D%27M190%20206h36%27/%3E%3Crect%20x%3D%27200%27%20y%3D%27216%27%20width%3D%2728%27%20height%3D%2718%27%20rx%3D%276%27/%3E%3C/g%3E%3C/svg%3E);background-size:260px 260px;opacity:.45;pointer-events:none}@media (max-width: 940px){.auth-card{border-radius:24px;box-shadow:0 18px 36px #0f172a24}.auth-card__split{grid-template-columns:1fr}.auth-card__visual{border-top-left-radius:28px;border-bottom-left-radius:0;border-top-right-radius:28px}.auth-card__form{padding:24px}.login-shell .auth-card__form{max-width:none}.login-shell .login-card{width:min(640px,100%)}}.auth-form{display:grid;gap:16px}.auth-helper{display:grid;gap:8px;font-size:.95rem}.auth-helper>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.auth-bottom{position:absolute;bottom:20px;left:20px;right:20px;text-align:center;font-size:.85rem;color:#153458b3}.assistant{position:relative;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:"Source Sans 3",Noto Sans,sans-serif}.assistant__fab{position:fixed;right:28px;bottom:28px;width:58px;height:58px;border-radius:50%;border:none;display:grid;place-items:center;background:linear-gradient(140deg,var(--brand-strong),var(--brand));color:#f6f8ff;font-weight:700;box-shadow:0 18px 36px #0f172a59;cursor:pointer;z-index:80;animation:assistantFloat 2.6s ease-in-out infinite;will-change:transform}.assistant__fab-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ffffff26;font-size:.85rem;letter-spacing:.08em}.assistant__fab-icon svg{animation:assistantWiggle 1.8s ease-in-out infinite;transform-origin:center}.assistant__fab-label{position:absolute;right:66px;top:50%;transform:translateY(-50%) translate(8px);background:var(--brand-strong);color:#f6f8ff;padding:8px 12px;border-radius:999px;font-size:.85rem;font-weight:600;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .2s ease,transform .2s ease}.assistant__fab:hover .assistant__fab-label,.assistant__fab:focus-visible .assistant__fab-label{opacity:1;transform:translateY(-50%) translate(0)}.assistant__panel{position:fixed;right:28px;bottom:98px;width:min(380px,calc(100vw - 48px));background:#fff;border-radius:22px;box-shadow:0 24px 60px #0f172a33;border:1px solid var(--stroke);overflow:hidden;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:80}.assistant--topbar{position:relative;z-index:40}.assistant--topbar .assistant__fab{position:static;width:36px;height:36px;border-radius:12px;box-shadow:none;background:var(--brand);color:var(--toolbar-accent-contrast)}.assistant--topbar .assistant__fab-icon{width:20px;height:20px;background:transparent;font-size:.75rem;letter-spacing:0}.assistant--topbar .assistant__fab-label{display:none}.assistant--topbar .assistant__panel{position:absolute;right:0;top:48px;bottom:auto;transform-origin:top right;z-index:90}.assistant--open .assistant__panel{opacity:1;transform:translateY(0);pointer-events:auto}.assistant__header{padding:16px 18px;background:linear-gradient(120deg,var(--brand-strong),var(--brand));color:#f3f6ff;display:flex;align-items:center;justify-content:space-between}.assistant__eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:#f3f6ffbf;margin:0}.assistant__title{margin:0;font-size:1.1rem;font-weight:600}.assistant__close{background:#ffffff2e;color:#f3f6ff;border:none;border-radius:999px;padding:6px 12px;font-size:.8rem;cursor:pointer}.assistant__body{padding:16px 18px;display:grid;gap:14px}.assistant__section-title{margin:0 0 8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--brand-strong);font-weight:700}.assistant__chips,.assistant__actions{display:flex;flex-wrap:wrap;gap:8px}.assistant__chip,.assistant__action{background:#f4f6fb;border:1px solid var(--stroke);border-radius:999px;padding:6px 12px;font-size:.85rem;cursor:pointer;color:#243a5a;font-weight:600}.assistant__action{background:#eef4ff}.assistant__messages{background:#f8f9fc;border-radius:16px;padding:12px;display:grid;gap:10px;max-height:220px;overflow-y:auto}.assistant__message{padding:10px 12px;border-radius:14px;font-size:.9rem;line-height:1.4}.assistant__message--assistant{background:#fff;border:1px solid var(--stroke);color:#1d2a3d}.assistant__message--user{background:var(--brand);color:#f5f7ff;justify-self:end}.assistant__composer{display:flex;gap:8px;padding:14px 18px 18px;background:#fff;border-top:1px solid var(--stroke)}.assistant__composer input{flex:1;border-radius:12px;border:1px solid var(--stroke);padding:10px 12px;background:#f6f8fb;font:inherit}.assistant__composer button{border:none;border-radius:12px;padding:10px 16px;background:var(--brand);color:#fff;font-weight:600;cursor:pointer}.assistant__composer button:disabled{opacity:.6;cursor:not-allowed}.auth-field{display:grid;gap:6px}.auth-field label{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--brand-strong)}.auth-field input{border-radius:14px;border:1px solid var(--stroke);padding:12px 14px;background:#f6f8fb}.auth-error{padding:10px 12px;border-radius:12px;background:#b038201a;color:#8a2414;font-weight:600}.auth-notice{margin-top:8px;padding:10px 12px;border-radius:12px;background:#1f3b6314;color:var(--brand-strong);font-weight:600}.auth-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem}.loading-card{max-width:420px}.state-card{display:grid;gap:10px}.state-card__action{margin-top:6px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c111773;display:flex;justify-content:center;align-items:flex-start;padding:24px;z-index:20;overflow-y:auto}.modal{width:min(560px,100%);background:var(--card);border-radius:var(--radius);border:1px solid var(--stroke);box-shadow:var(--shadow);padding:24px;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 48px);overflow:hidden}.modal--wide{width:min(940px,100%)}.modal--xl,.modal--period-editor{width:min(1240px,100%);max-height:calc(100vh - 20px)}.modal__close{width:36px;height:36px;border-radius:50%;border:1px solid rgba(31,59,99,.15);background:#fffc;display:grid;place-items:center;font-size:1.4rem;color:var(--brand-strong);cursor:pointer}.modal__close:hover{border-color:#1f3b634d;background:#fff}.modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.modal__subtitle{margin:4px 0 0;color:var(--muted)}.modal__body{display:grid;gap:12px;overflow-y:auto;min-height:0}.modal__footer{display:flex;justify-content:flex-end;gap:12px}.modal--period-editor .modal__body{overflow:hidden;min-height:0}.default-period-editor{min-height:0;height:100%;display:flex;flex-direction:column;gap:8px}.default-period-editor__generator{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 10px;align-items:start;max-height:none;overflow:visible;padding-right:0}.default-period-editor__lunch-toggle{align-self:end;margin-bottom:8px}.default-period-editor__generator-action{display:flex;justify-content:flex-start;align-self:end}.default-period-editor__copy-source{grid-column:span 2}.default-period-editor__copy-source label{white-space:nowrap}.default-period-editor__table{flex:1;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;padding-right:4px}.default-period-editor .form-field{margin-bottom:0}.default-period-editor .form-field label{margin-bottom:2px}.default-period-editor .form-field input,.default-period-editor .form-field select{min-height:38px;padding-block:6px}.default-period-editor__table .table__row{grid-template-columns:minmax(54px,.45fr) minmax(130px,1.2fr) minmax(120px,.9fr) minmax(110px,.9fr) minmax(110px,.9fr) auto;align-items:center}.default-period-editor__table .table__row span,.default-period-editor__table .table__row input,.default-period-editor__table .table__row select{min-width:0}.default-period-editor__table .table__row--head{position:sticky;top:0;z-index:6;background:var(--card);box-shadow:0 10px 12px -14px #0f172aa6}.default-period-editor__table input,.default-period-editor__table select{width:100%}.default-period-editor__bulk-actions{position:sticky;bottom:0;background:var(--card);padding-top:10px;border-top:1px solid var(--stroke)}.default-period-editor__row-actions{gap:10px}.default-period-editor__move-buttons{display:flex;gap:6px}.default-period-editor__move-button{min-width:40px;padding:6px 0;border-radius:10px;font-size:1rem;font-weight:700;line-height:1}.default-period-editor__serial{font-weight:700;color:var(--muted);text-align:center}@media (max-width: 960px){.default-period-editor__generator{grid-template-columns:1fr}.default-period-editor__copy-source{grid-column:auto}.period-template-list .table__row,.period-template-list .table__row--head{grid-template-columns:minmax(260px,1.6fr) 70px 70px 70px 90px auto}}.form-grid{display:grid;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.form-field{display:grid;gap:6px}.form-hint{margin:0;font-size:.84rem;color:var(--muted)}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:4px}.checkbox{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--stroke);background:#f6f9ffe0;color:var(--ink);font-size:.84rem;font-weight:600;line-height:1.2;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:var(--accent)}.checkbox:has(input:focus-visible){outline:2px solid var(--accent-strong);outline-offset:1px}.exam-template-modal .checkbox.exam-template-modal__split-toggle{min-height:auto;padding:0;border:0;border-radius:0;background:transparent}html[data-color-mode=dark] .exam-template-modal .checkbox.exam-template-modal__split-toggle{border:0;background:transparent}.teacher-subject-class-list{display:grid;gap:10px}.teacher-subject-class-item{border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;background:#f6f9ff8c}.teacher-subject-class-item__title{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.form-field__helper{font-size:.78rem;color:var(--muted);margin:0}.teacher-import__file-control{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.teacher-import__file-control input[type=file]{flex:1;min-width:220px;border:1px dashed var(--stroke);border-radius:12px;padding:8px 12px;background:#fff;color:var(--ink)}.teacher-import__template{white-space:nowrap}.teacher-attendance__month-select{display:flex;align-items:center;gap:10px}.teacher-attendance__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:12px}.teacher-attendance__summary-card{border:1px solid var(--stroke);border-radius:14px;background:var(--card);padding:14px;box-shadow:var(--shadow)}.teacher-attendance__summary-label{font-size:.75rem;color:var(--muted);margin:0 0 4px}.teacher-attendance__summary-value{margin:0;font-weight:700;font-size:1.5rem}.teacher-attendance__calendar{border-top:1px solid var(--stroke);padding-top:18px}.teacher-attendance__calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;margin-top:12px}.teacher-attendance__calendar-cell{border:1px solid var(--stroke);border-radius:14px;padding:14px;background:#fff;text-align:center}.teacher-attendance__calendar-date{margin:0 0 8px;font-weight:600}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700}.status-badge--pending{background:var(--toolbar-accent-soft);color:var(--toolbar-accent)}.status-badge--approved{background:#d9f1e5;color:#0a6e4c}.status-badge--rejected{background:#b423181f;color:#b42318}.status-badge--cancelled{background:#7d7d7d1f;color:var(--muted)}.teacher-attendance__leave-panel .form-field textarea{min-height:80px}.teacher-attendance__leave-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.teacher-attendance__leave-summary .badge{font-weight:600}.teacher-leaves__tabs{display:flex;gap:10px;margin-bottom:16px}.teacher-leaves__tab{border-radius:999px;border:1px solid var(--stroke);background:transparent;padding:10px 18px;font-weight:600;color:var(--brand-strong);transition:background .2s ease,color .2s ease,border .2s ease}.teacher-leaves__tab--active{background:var(--brand);color:#fff;border-color:var(--brand)}.teacher-leaves__panel .form-field textarea{min-height:88px}.teacher-leaves__filters{display:flex;gap:10px;align-items:center;margin-bottom:14px}.teacher-leaves__filters-label{margin:0;font-size:1.05rem;font-weight:700;color:var(--brand-strong)}.teacher-leaves__filters-select{height:44px;min-width:96px;border-radius:10px;border:1px solid var(--stroke);padding:0 34px 0 12px;background:#fff;color:var(--brand-strong);font-weight:600}.teacher-leaves__filters-select:focus-visible{outline:2px solid rgba(63,88,144,.25);outline-offset:1px}.teacher-leaves__filters-refresh{height:44px;padding:0 20px;border-radius:14px;font-weight:700}.teacher-leaves__summary-badge{border:1px solid transparent}.teacher-leaves__summary-badge--pending{background:var(--toolbar-accent-soft);color:var(--toolbar-accent);border-color:#4aa7dc40}.teacher-leaves__summary-badge--approved{background:#0a6e4c1f;color:#0a6e4c;border-color:#0a6e4c40}.teacher-leaves__summary-badge--rejected{background:#b423181f;color:#b42318;border-color:#b4231840}.teacher-leaves__summary-badge--cancelled{background:#7d7d7d1f;color:var(--muted);border-color:#7d7d7d40}.teacher-leaves-table{display:flex;flex-direction:column;gap:10px}.teacher-leaves-table__row{display:grid;grid-template-columns:minmax(120px,.85fr) minmax(200px,1.2fr) minmax(70px,.45fr) minmax(240px,1.4fr) minmax(140px,.7fr) minmax(120px,.6fr);align-items:center;gap:14px;border:1px solid var(--stroke);border-radius:14px;background:#fff;padding:14px 16px}.teacher-leaves-table__row--head{background:transparent;border:0;border-radius:0;padding:0 16px}.teacher-leaves-table__row--head span{font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:700}.teacher-leaves-table__type{font-weight:700;color:var(--brand-strong)}.teacher-leaves-table__dates{display:flex;flex-direction:column;gap:2px}.teacher-leaves-table__dates>strong{font-size:.95rem}.teacher-leaves-table__dates>span{color:var(--muted);font-size:.85rem}.teacher-leaves-table__days{font-weight:700}.teacher-leaves-table__reason{color:var(--text)}.teacher-leaves-table__status,.teacher-leaves-table__action{justify-self:start}.teacher-leaves-table__status .status-badge{min-width:unset;padding:6px 12px}.admin-teachers-leaves-table .table__row{grid-template-columns:minmax(170px,1.1fr) minmax(160px,1.05fr) minmax(210px,1.25fr) minmax(220px,1.35fr) minmax(120px,.8fr) minmax(150px,.8fr)}.admin-teachers-leaves-table__teacher{font-weight:700;color:var(--brand-strong)}.admin-teachers-leaves-table__duration{display:flex;flex-direction:column;gap:2px}.admin-teachers-leaves-table__duration strong{font-size:.94rem}.admin-teachers-leaves-table__duration span{font-size:.84rem;color:var(--muted)}.admin-teachers-leaves-table__status .status-badge{min-width:unset;padding:6px 12px}.admin-teachers-leaves-table__actions{display:flex;flex-direction:row;justify-content:flex-end;gap:10px;align-items:center;flex-wrap:nowrap;position:relative}.admin-teachers-leaves-table__actions .button{min-width:98px;height:38px;border-radius:12px;padding:0 12px;font-weight:700}.admin-teachers-leaves-menu{position:relative}.admin-teachers-leaves-menu__trigger{width:36px;height:36px;border-radius:10px;border:1px solid var(--stroke);background:#fff;color:var(--brand-strong);font-size:1.25rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.admin-teachers-leaves-menu__trigger:hover,.admin-teachers-leaves-menu__trigger:focus-visible{border-color:var(--brand);background:#3f589014}.admin-teachers-leaves-menu__panel{position:absolute;top:calc(100% + 6px);right:0;min-width:150px;border:1px solid var(--stroke);border-radius:12px;background:var(--card);box-shadow:0 10px 24px #0f172a24;padding:6px;display:flex;flex-direction:column;gap:4px;z-index:20}.admin-teachers-leaves-menu__item{border:0;background:transparent;border-radius:8px;padding:9px 12px;text-align:left;font-weight:600;color:var(--brand-strong);cursor:pointer}.admin-teachers-leaves-menu__item:hover:not(:disabled),.admin-teachers-leaves-menu__item:focus-visible:not(:disabled){background:#3f58901a}.admin-teachers-leaves-menu__item:disabled{opacity:.5;cursor:not-allowed}.admin-teachers-leaves-menu__item--danger{color:#b42318}@media (max-width: 1100px){.teacher-leaves-table__row{grid-template-columns:minmax(120px,1fr) minmax(200px,1.4fr) minmax(70px,.55fr) minmax(180px,1.2fr)}.teacher-leaves-table__row>:nth-child(5),.teacher-leaves-table__row>:nth-child(6){grid-column:auto}}.teacher-attendance__tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:16px}.teacher-attendance__tab{border-radius:999px;border:1px solid var(--stroke);background:transparent;padding:10px 18px;font-weight:600;color:var(--brand-strong);transition:background .2s ease,color .2s ease,border .2s ease}.teacher-attendance__tab--active{background:var(--brand);color:#fff;border-color:var(--brand)}.teacher-attendance__working-days-panel{margin-bottom:20px}.teacher-attendance__working-days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px}.teacher-attendance__working-days-card{border:1px solid var(--stroke);border-radius:12px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:6px}.teacher-attendance__working-days-card__label{font-size:.75rem;font-weight:600;color:var(--muted)}.teacher-attendance__working-days-card__value{font-size:1.9rem;font-weight:700}.teacher-attendance__headmaster-note{margin-top:12px;font-size:.9rem;color:var(--muted)}.teacher-attendance__headmaster-note strong{color:var(--brand)}.teacher-actions__filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.teacher-actions__filters .button--active{border-color:var(--brand);color:var(--brand)}.headmaster-attendance__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:12px}.headmaster-attendance__grid .card{border-radius:14px;padding:16px;border:1px solid var(--stroke)}.headmaster-attendance__counts{display:flex;flex-direction:column;gap:4px}.headmaster-attendance__status-input{border-radius:10px;border:1px solid var(--stroke);padding:6px 10px;min-width:140px}.form-field label{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--brand-strong)}.form-field input,.form-field select,.form-field textarea{border-radius:14px;border:1px solid var(--stroke);padding:10px 12px;background:#f6f8fb}.form-field textarea{min-height:90px;resize:vertical}.form-error{padding:10px 12px;border-radius:12px;background:#b038201a;color:#8a2414;font-weight:600}.form-success{padding:10px 12px;border-radius:12px;background:#287a4e1f;color:#1c4c33;font-weight:600}.theme-mode{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--stroke);border-radius:16px;background:var(--bg-strong);padding:16px}.theme-mode h3{margin:0;font-size:1rem}.theme-mode p{margin-top:4px}.theme-mode__switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.theme-mode__switch input{position:absolute;opacity:0;pointer-events:none}.theme-mode__track{width:52px;height:30px;border-radius:999px;background:var(--stroke);border:1px solid transparent;display:inline-flex;align-items:center;padding:3px;transition:background .2s ease,border-color .2s ease}.theme-mode__thumb{width:22px;height:22px;border-radius:50%;background:var(--card);transition:transform .2s ease}.theme-mode__label{min-width:38px;font-weight:600;color:var(--brand-strong)}.theme-mode__switch input:checked+.theme-mode__track{background:var(--accent)}.theme-mode__switch input:checked+.theme-mode__track .theme-mode__thumb{transform:translate(22px)}.theme-mode__switch input:focus-visible+.theme-mode__track{border-color:var(--accent-strong)}html[data-color-mode=dark] .top-toolbar{background:#101a2cf0;border-color:#2a3b56;box-shadow:0 14px 30px #0208166b}html[data-color-mode=dark] .top-toolbar__account-menu{background:#121d31;border-color:#35507a;box-shadow:0 18px 36px #02081675}html[data-color-mode=dark] .top-toolbar__account-menu__item,html[data-color-mode=dark] .top-toolbar__account-menu__theme{color:#e4efff}html[data-color-mode=dark] .top-toolbar__account-menu__item:hover,html[data-color-mode=dark] .top-toolbar__account-menu__theme:hover,html[data-color-mode=dark] .top-toolbar__account-menu__item:focus-visible,html[data-color-mode=dark] .top-toolbar__account-menu__theme:focus-visible{background:#5d8ee033;color:#f4f8ff}html[data-color-mode=dark] .top-toolbar__account-menu__divider{background:#85a5d459}html[data-color-mode=dark] .top-toolbar__account-menu__logout{color:#9cc0ff}html[data-color-mode=dark] .theme-picker__menu{background:#121d31}html[data-color-mode=dark] .theme-picker__swatch--active{border-color:#f8fafc}html[data-color-mode=dark] .app-shell__header{background:linear-gradient(120deg,#121d31fa,#0f1828e6)}html[data-color-mode=dark] .user-chip{background:#121d31d1}html[data-color-mode=dark] .top-search{background:#121d31e6;border-color:#2a3b56}html[data-color-mode=dark] .top-search__label{color:#dbe7f8}html[data-color-mode=dark] .top-search__value{color:#ccdbf2}html[data-color-mode=dark] .tag{background:#1f304bdb;border-color:#3e5a87;color:#deebff}html[data-color-mode=dark] .tag--solid{background:#4f7fc8;border-color:#6a9ae0;color:#f5f9ff}html[data-color-mode=dark] .top-meta .tag{background:#182742e6;border-color:#35507a;color:#dbe7f8}html[data-color-mode=dark] .top-meta .tag--solid{background:#3f76d8;border-color:#5b8ee8;color:#f5f9ff}html[data-color-mode=dark] .top-toolbar__icon{background:#2b426852;border-color:#35507a;color:#cfe0f7}html[data-color-mode=dark] .top-toolbar__icon:hover,html[data-color-mode=dark] .top-toolbar__icon:focus-visible{background:#3f76d8;border-color:#5b8ee8;color:#f5f9ff}html[data-color-mode=dark] .top-toolbar__avatar{background:#4f7fc8;color:#f5f9ff;border:1px solid #6a9ae0}html[data-color-mode=dark] .top-toolbar__tooltip{background:#dfeafc;color:#132645;box-shadow:0 10px 24px #01081461}html[data-color-mode=dark] .header-copy p,html[data-color-mode=dark] .section-header__subtitle{color:#c9d8ef}html[data-color-mode=dark] .subtitle{color:#d6e3f8}html[data-color-mode=dark] .eyebrow{color:#9ec1f8}html[data-color-mode=dark] .header-tags .tag{background:#1c2d4ae6;border-color:#4a6a9e;color:#e5f0ff}html[data-color-mode=dark] .form-row select{background:#121d31;color:var(--ink)}html[data-color-mode=dark] .exam-rank-card__head p,html[data-color-mode=dark] .exam-rank-card__state{color:#c9d8ef}html[data-color-mode=dark] .exam-rank-card__state--error{color:#fca5a5}html[data-color-mode=dark] .exam-rank-card__select{background:#121d31;border-color:#3a4f73;color:#e2ecff}html[data-color-mode=dark] .admin-exams__school-select{background-color:#121d31;border-color:#3a4f73;color:#e2ecff;background-image:linear-gradient(45deg,transparent 50%,#a9bfdc 50%),linear-gradient(135deg,#a9bfdc 50%,transparent 50%)}html[data-color-mode=dark] .exam-template-modal .form-field input,html[data-color-mode=dark] .exam-template-modal .form-field select,html[data-color-mode=dark] .exam-template-modal__split input,html[data-color-mode=dark] .exam-create-modal .form-field input,html[data-color-mode=dark] .exam-create-modal .form-field select{background:#121d31;border-color:#3a4f73;color:#e2ecff}html[data-color-mode=dark] .exam-template-modal__grades .table__row{background:#142134e6}html[data-color-mode=dark] .exam-template-modal__grades .table__row span input{background:#121d31;border-color:#3a4f73;color:#e2ecff}html[data-color-mode=dark] .form-field input,html[data-color-mode=dark] .form-field select,html[data-color-mode=dark] .form-field textarea{background:#0f1728;color:var(--ink)}html[data-color-mode=dark] .modal h2{color:#eef5ff}html[data-color-mode=dark] .modal__subtitle{color:#c8d9f2}html[data-color-mode=dark] .modal .form-field label{color:#d9e9ff!important}html[data-color-mode=dark] .modal .form-field input,html[data-color-mode=dark] .modal .form-field select,html[data-color-mode=dark] .modal .form-field textarea{background:#0d1728;border-color:#35507a;color:#e8f1ff}html[data-color-mode=dark] .modal .form-field input::placeholder,html[data-color-mode=dark] .modal .form-field textarea::placeholder{color:#9fb7d9}html[data-color-mode=dark] .form-hint{color:#b8cbe8}html[data-color-mode=dark] .checkbox{background:#16233adb;border-color:#3a5580;color:#d9e7ff}html[data-color-mode=dark] .checkbox:hover{border-color:#557aac}html[data-color-mode=dark] .panel-tabs__tab{background:#121d31bf;border-color:#2a3b56;color:#c7d6ea}html[data-color-mode=dark] .panel-tabs__tab:hover,html[data-color-mode=dark] .panel-tabs__tab:focus-visible{background:#1f3b6359;border-color:#3f5a83;color:#e8f0ff}html[data-color-mode=dark] .panel-tabs__tab--active{background:linear-gradient(180deg,#347ae659,#1f58b873);border-color:#5f8fd6;color:#f4f8ff;box-shadow:inset 0 0 0 1px #b2ceff47}html[data-color-mode=dark] .table__row{background:#141f34;border:1px solid #263449}html[data-color-mode=dark] .table__row span{color:#d8e3f2}html[data-color-mode=dark] .table__row--head{background:#9fb0c514;border-color:#9fb0c533}html[data-color-mode=dark] .table__row--head span{color:#9fb0c5}html[data-color-mode=dark] .admin-assessments__sample-question{background:#142134eb;border-color:#304463}html[data-color-mode=dark] .table-pagination__info,html[data-color-mode=dark] .table-pagination__page{color:#cedcf4db}html[data-color-mode=dark] .table-pagination__size{background:#121e33cc;border-color:#7194c059;color:#d7e6ff}html[data-color-mode=dark] .teacher-actions__more-btn{background:#0f1728;border-color:#2a3b56;color:#d8e3f2}html[data-color-mode=dark] .teacher-actions__more-btn:hover,html[data-color-mode=dark] .teacher-actions__more-btn:focus-visible{background:#17243a;border-color:#3a5277}html[data-color-mode=dark] .teacher-actions__more-menu{background:#121d31;border-color:#263449}html[data-color-mode=dark] .button--ghost{background:#12203a;border-color:#3f5b87;color:#dfeaff}html[data-color-mode=dark] .button--danger{background:#2b1820;border-color:#9d3f55;color:#ffd8df}html[data-color-mode=dark] .panel__notice{background:#4375ce29;border-left-color:#6ea8ff}html[data-color-mode=dark] .panel__notice--warning{background:linear-gradient(90deg,#a1475f2e,#1f2e4ca6)}html[data-color-mode=dark] .admin-school-details__hero{background:linear-gradient(120deg,#0d1728fa,#111d2fe6),radial-gradient(circle at 85% 12%,rgba(73,129,223,.22),transparent 50%)}html[data-color-mode=dark] .admin-school-details__summary-item,html[data-color-mode=dark] .admin-school-details__credential-card{background:#0f1a2beb;border-color:#35507a}html[data-color-mode=dark] .admin-school-details__summary-label{color:#9db7dc}html[data-color-mode=dark] .admin-school-details__summary-value{color:#e4efff}html[data-color-mode=dark] .admin-school-details__chip{background:#3f6ab33d;border-color:#547bb4;color:#dce9ff}html[data-color-mode=dark] .admin-school-details__empty-chip{background:#121e31b8;border-color:#3a5580;color:#bed0ea}html[data-color-mode=dark] .admin-school-details__autocomplete-menu{background:#112036;border-color:#38557f;box-shadow:0 12px 26px #0006}html[data-color-mode=dark] .admin-school-details__autocomplete-option{color:#e4efff}html[data-color-mode=dark] .admin-school-details__autocomplete-option span:first-child{color:#9db7dc}html[data-color-mode=dark] .admin-school-details__autocomplete-option:hover,html[data-color-mode=dark] .admin-school-details__autocomplete-option:focus-visible{background:#4981df2e}html[data-color-mode=dark] .admin-school-details__tt-gap-row{background:#121e31b3;border-color:#5a7cab73}html[data-color-mode=dark] .admin-school-details__tt-gap-class,html[data-color-mode=dark] .admin-school-details__tt-gap-subjects,html[data-color-mode=dark] .admin-school-details__timetable-status{color:#dce9ff}html[data-color-mode=dark] .admin-school-details__tt-gap-separator{color:#9db7dc}html[data-color-mode=dark] .admin-school-details__tt-grid-panel{background:#13203485;border-color:#5a7cab73}html[data-color-mode=dark] .admin-school-details__tt-grid-cell{background:#101d30c7;border-color:#5a7cab61}html[data-color-mode=dark] .admin-school-details__tt-grid-cell--head,html[data-color-mode=dark] .admin-school-details__tt-grid-cell--period{background:#152439f0}html[data-color-mode=dark] .admin-school-details__tt-card-class-group{background:#13203485;border-color:#5a7cab73}html[data-color-mode=dark] .admin-school-details__tt-card-group-toggle{background:#496c9c42;color:#dce9ff}html[data-color-mode=dark] .admin-school-details__tt-legend-item{background:#101d30d6;border-color:#5a7cab73;color:#dce9ff}html[data-color-mode=dark] .admin-school-details__tt-card,html[data-color-mode=dark] .admin-school-details__tt-cell-card{color:#e4efff}html[data-color-mode=dark] .admin-school-details__tt-card-teacher,html[data-color-mode=dark] .admin-school-details__tt-grid-cell--period small,html[data-color-mode=dark] .admin-school-details__tt-empty{color:#a5bfdf}html[data-color-mode=dark] .admin-school-details__tt-clear{background:#97b9e840}html[data-color-mode=dark] .admin-masters-default-template .form-field label{color:#dcebff;font-size:.79rem;letter-spacing:.22em;font-weight:800}html[data-color-mode=dark] .admin-masters-default-template label.default-template-label{color:#eaf3ff!important;text-shadow:0 0 0 rgba(0,0,0,0);opacity:1!important}html[data-color-mode=dark] .admin-masters-default-template .table{border-top:1px solid rgba(103,145,214,.22);padding-top:8px}html[data-color-mode=dark] .admin-masters-default-template .table__row--head{background:linear-gradient(180deg,#486fb06b,#32518757);border:1px solid rgba(125,163,224,.38);box-shadow:inset 0 0 0 1px #b0cdff2e}html[data-color-mode=dark] .admin-masters-default-template .table__row--head span{color:#eff6ff;font-size:.78rem;letter-spacing:.24em;font-weight:800}html[data-color-mode=dark] .admin-masters-default-template .default-template-head span{color:#f3f8ff!important;opacity:1!important}html[data-color-mode=dark] .masters-template-table .table__row:not(.table__row--head):nth-child(odd){background:#223453b8;border-color:#688bc938}html[data-color-mode=dark] .masters-template-table .table__row:not(.table__row--head):nth-child(2n){background:#1c2d4abd;border-color:#688bc938}html[data-color-mode=dark] .default-mapping-chip{background:#6092e73d;color:#d8e9ff}html[data-color-mode=dark] .default-mapping-chip--count{background:#86a8de33;color:#edf5ff}html[data-color-mode=dark] .period-template-timeline__segment{color:#e8f1ff}html[data-color-mode=dark] .period-template-timeline__segment--period{background:#437be047;border-color:#75a4f566}html[data-color-mode=dark] .period-template-timeline__segment--break{background:#d9943a42;border-color:#e7b26873}html[data-color-mode=dark] .period-template-timeline__segment--lunch{background:#38a3704d;border-color:#71c9a066}html[data-color-mode=dark] .period-template-view__group{background:#121e31b8;border-color:#3a5580}html[data-color-mode=dark] .landing__banner{background:#121d31eb;border-color:#35507a;box-shadow:0 14px 34px #020a186b}html[data-color-mode=dark] .landing__banner__text strong{color:#e8f1ff}html[data-color-mode=dark] .landing__banner__text p{color:#c1d3ed}html[data-color-mode=dark] .landing__hero{background:linear-gradient(120deg,#0d182aeb,#15243ee6);border-color:#2f4362}html[data-color-mode=dark] .landing__copy p{color:#cfddf2}html[data-color-mode=dark] .landing__role-card{background:#121d31;border-color:#2f4362;color:#e3eeff}html[data-color-mode=dark] .landing__insight{background:#121d31;border-color:#2f4362;box-shadow:0 16px 38px #020a1870}html[data-color-mode=dark] .landing__insight h2,html[data-color-mode=dark] .landing__insight strong{color:#e8f1ff}html[data-color-mode=dark] .landing__insight p,html[data-color-mode=dark] .landing__insight .stat-label{color:#bfd1ec}html[data-color-mode=dark] .login-shell .auth-card{background:#121d31;border-color:#2f4362;box-shadow:0 20px 46px #02091885}html[data-color-mode=dark] .login-shell .auth-card__form{background:#121d31;color:#e6efff}html[data-color-mode=dark] .login-shell .login-card{background:#121d31}html[data-color-mode=dark] .login-shell .auth-card__form .eyebrow{color:#8db6ff}html[data-color-mode=dark] .login-shell .auth-card__form h1{color:#edf4ff}html[data-color-mode=dark] .login-shell .auth-card__form .subtitle,html[data-color-mode=dark] .login-shell .auth-card__form p,html[data-color-mode=dark] .login-shell .auth-card__form span{color:#c6d7f1}html[data-color-mode=dark] .login-shell .auth-field label{color:#cfe0ff}html[data-color-mode=dark] .login-shell .auth-field input{background:#0f1728;border-color:#38557f;color:#e8f1ff}html[data-color-mode=dark] .login-shell .auth-field input::placeholder{color:#9eb6d8}html[data-color-mode=dark] .login-shell{background:linear-gradient(145deg,#091224,#0d1a30 55%,#10203a)}html[data-color-mode=dark] .login-shell .auth-page:before{background:radial-gradient(circle at 20% 10%,rgba(84,138,231,.2),transparent 55%)}html[data-color-mode=dark] .login-shell .login__masthead{background:#0b2144;border-bottom:1px solid #28426b}html[data-color-mode=dark] .login-shell .login__footer-banner{background:linear-gradient(135deg,#091b3a,#0b2858);border-top:1px solid #2a456f}html[data-color-mode=dark] .login-shell .text-link{color:#8db6ff}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes assistantFloat{0%{transform:translate(0) scale(1)}25%{transform:translate(2px,-6px) scale(1.02)}50%{transform:translateY(-10px) scale(1.04)}75%{transform:translate(-2px,-6px) scale(1.02)}to{transform:translate(0) scale(1)}}@keyframes assistantWiggle{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.06)}50%{transform:rotate(8deg) scale(1.02)}75%{transform:rotate(-6deg) scale(1.04)}}@media (prefers-reduced-motion: reduce){.assistant__fab,.assistant__fab-icon svg{animation:none}}@media (max-width: 1150px){.app-shell{--nav-width: 240px;--nav-collapsed-width: 84px}}@media (max-width: 1000px){.portal-layout{overflow:visible;min-height:100dvh;height:auto}.app-shell{grid-template-columns:1fr;min-height:100dvh;height:auto;overflow:visible}.app-shell__nav{position:fixed;inset:0 auto 0 0;width:min(320px,86vw);flex-direction:column;align-items:flex-start;min-height:100vh;height:100vh;top:0;overflow-y:auto;padding:28px 22px;gap:16px;transform:translate(-100%);transition:transform .2s ease;z-index:30;box-shadow:20px 0 40px #080f1e59}.app-shell__main{min-height:100dvh;height:auto;overflow:visible}.app-shell__content{overflow:visible;padding-right:0}.app-shell__nav--open{transform:translate(0)}.app-shell__overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#090d1799;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:20}.app-shell__overlay--show{opacity:1;pointer-events:auto}.app-shell__menu{display:grid;grid-template-columns:1fr;flex:none;width:100%;overflow:visible;padding-right:0;gap:10px}.app-shell__nav-footer{margin-top:auto;width:100%;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.app-shell__nav-toggle{display:none}.app-shell__mobile-toggle{display:inline-flex}.app-shell--nav-collapsed .app-shell__nav{padding:28px 22px}.app-shell--nav-collapsed .brand__name,.app-shell--nav-collapsed .brand__meta,.app-shell--nav-collapsed .app-shell__link-desc{display:inline}.app-shell--nav-collapsed .brand__meta{display:block}.app-shell--nav-collapsed .app-shell__link-label{position:static;opacity:1;transform:none;background:none;color:inherit;padding:0;box-shadow:none;pointer-events:auto}.app-shell--nav-collapsed .app-shell__link{align-items:center;padding:12px 14px}.app-shell--nav-collapsed .app-shell__link-row{justify-content:flex-start}.app-shell--nav-collapsed .app-shell__nav-footer{display:block}.app-shell__link{flex-direction:row;align-items:center;padding:12px 14px}.app-shell__link-desc{display:none}.app-shell__link-row{gap:12px}.app-shell__version{text-align:left;letter-spacing:.12em}.app-shell__header{flex-direction:column;align-items:flex-start}.header-side{width:100%;align-items:flex-start}.app-shell__top{flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}.top-search{flex:1 1 auto;order:2}.app-shell__mobile-toggle{order:1}.top-actions{order:3;width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.top-meta{justify-content:flex-start}.top-toolbar{flex-wrap:nowrap;justify-self:end}.top-actions{width:100%;justify-content:space-between}.top-toolbar{flex-wrap:wrap}.landing__hero{grid-template-columns:1fr}}@media (max-width: 720px){.app-shell__main{padding:20px 20px 40px}.landing__hero{padding:28px}.table__row{grid-template-columns:1fr}.admin-assessments__table .table__row--head{display:none}.admin-assessments__table .table__row:not(.table__row--head){gap:8px;padding:12px}.admin-assessments__table .table__row:not(.table__row--head)>span{display:grid;gap:2px;white-space:normal;overflow:visible;text-overflow:clip;font-weight:600}.admin-assessments__table .table__row:not(.table__row--head)>span:before{content:attr(data-label);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.admin-assessments__table .table__row>.table__actions{width:100%;padding-top:6px}.admin-school-details__summary-grid{grid-template-columns:1fr}.admin-school-details__summary-item,.admin-school-details__summary-item--wide{grid-column:auto}.admin-school-details__table-scroll{max-height:none;overflow:visible;padding-right:0}.profile-card,.auth-footer{flex-direction:column;align-items:flex-start}.assistant{position:relative}.assistant__panel{width:min(340px,calc(100vw - 32px));right:16px;bottom:88px}.assistant__fab{right:16px;bottom:16px}}@media (max-width: 1180px){.admin-school-details__summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-school-details__summary-item{grid-column:span 3}.admin-school-details__summary-item--wide{grid-column:span 6}}@media (min-width: 721px){.admin-schools-page{height:calc(100vh - 132px);overflow:hidden}.admin-schools__workspace{flex:1 1 auto;overflow:hidden}.admin-schools__workspace .panel-tabs__content{flex:1 1 auto;overflow:auto;padding-right:4px}}@media (max-width: 600px){.app-shell__nav{gap:16px}.app-shell__menu{width:100%;overflow:visible}.app-shell__link{min-width:auto;white-space:normal}.app-shell__top,.top-meta{width:100%}.top-search{width:100%;justify-content:space-between}.app-shell__header{padding:20px}.header-actions{width:100%;flex-wrap:wrap}.header-actions .button{flex:1 1 140px}.user-chip{width:100%;justify-content:space-between}}
