body,html{background:radial-gradient(circle at top right,rgba(26,115,232,.08),transparent 22%),radial-gradient(circle at top left,rgba(26,115,232,.04),transparent 20%),linear-gradient(180deg,#ffffff 0,var(--bg) 100%)}.page-shell{grid-template-columns:258px minmax(0,1fr)}.sidebar{background:radial-gradient(circle at top right,rgba(26,115,232,.08),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96))}.shell-brand{padding:12px 12px 16px;margin:0 4px}.shell-brand strong{font-size:19px;line-height:1.1;letter-spacing:-.03em;color:var(--text)}.nav{gap:10px;padding:0 6px}.nav a,.nav-group-toggle{min-height:48px}.nav-group-toggle{background:rgba(15,23,42,.02)}.nav a.active,.nav-group.active>.nav-group-toggle{background:rgba(26,115,232,.11)}.nav a:hover,.nav-group-toggle:hover{border-color:rgba(26,115,232,.09)}.nav-group.active .nav-group-toggle:hover{background:rgba(26,115,232,.14)}.nav-group-items{padding-left:10px}.nav-chevron{color:var(--muted);opacity:1}.nav-badge{border:1px solid rgba(26,115,232,.14)}.profile-card{background:rgba(255,255,255,.88)}.profile-avatar{background:linear-gradient(135deg,rgba(26,115,232,.16),rgba(26,115,232,.28))}.logout-btn{width:100%}.topbar,.topbar.centered{padding:18px 20px;background:rgba(255,255,255,.94)}.topbar.centered{margin-bottom:18px;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow)}.app-shell-header-actions{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.primary-btn{background:linear-gradient(135deg,var(--accent),#4f8ff0)}.status-badge{display:inline-flex;align-items:center;padding:0 10px;font-size:12px;font-weight:700;line-height:1}.status-badge.late,.status-badge.ongoing{background:rgba(217,119,6,.12);border-color:rgba(217,119,6,.12)}.status-badge.absent,.status-badge.cancelled{background:rgba(185,28,28,.1);border-color:rgba(185,28,28,.12)}.admissions-card,.admissions-copy,.card,.card-soft,.content-card,.feature-card,.login-card,.metric-card,.panel-card,.price-card,.signup-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.admissions-card,.admissions-copy,.card,.card-soft,.login-card,.price-card,.signup-card{border-radius:24px}.card-soft{border-radius:22px}.table-shell{box-shadow:0 12px 30px rgba(15,23,42,.05)}.table{border-collapse:separate;border-spacing:0}.table td,.table th{padding:14px 12px;border-bottom:1px solid var(--line)}.table thead th{background:rgba(249,250,251,.98)}.table tbody tr.is-selected td{background:rgba(26,115,232,.08)}.billing-table-shell .table tbody tr{transition:background .12s ease}.table-shell .table th{background:rgba(249,250,251,.98)}.field{gap:6px}.field label,.field span{color:var(--muted);font-size:14px}.field input,.field select,.field textarea,.workspace-search{border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:none}.field input:focus,.field select:focus,.field textarea:focus,.workspace-search input:focus,.workspace-search:focus{border-color:rgba(26,115,232,.44);box-shadow:0 0 0 4px rgba(26,115,232,.12)}.input{width:100%;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:none;padding:12px 14px}.input:focus{outline:none;border-color:rgba(26,115,232,.44);box-shadow:0 0 0 4px rgba(26,115,232,.12)}.billing-rule-card{background:linear-gradient(135deg,rgba(26,115,232,.08),rgba(245,248,255,.96));border:1px solid rgba(26,115,232,.18);border-radius:8px;padding:16px}.billing-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.billing-summary-grid>div{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.92);padding:16px}@media (max-width:1200px){.billing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.billing-summary-grid{grid-template-columns:1fr}}.admissions-shell,.login-shell,.marketing-shell,.signup-shell{background:radial-gradient(circle at top right,rgba(26,115,232,.08),transparent 22%),linear-gradient(180deg,#ffffff 0,var(--bg) 100%)}.login-card{padding:28px}.marketing-header{margin-bottom:24px}.classroom-home-hero,.classroom-space-hero,.marketing-hero,.report-card-hero{background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--text)}.classroom-home-hero p,.classroom-space-hero p,.marketing-copy p,.report-card-hero p{color:var(--muted)}.admissions-card h2,.admissions-copy h1,.classroom-home-hero h1,.classroom-space-hero h2,.marketing-copy h1,.report-card-hero h2,.signup-copy h2{letter-spacing:-.05em}@media (max-width:1024px){.page-shell,.profile-documents-layout,.profile-layout{grid-template-columns:1fr}.profile-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{position:fixed;inset:0 auto 0 0;width:min(84vw,320px);transform:translateX(-102%);transition:transform .18s ease;z-index:40;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.page-shell.is-mobile.sidebar-open .sidebar{transform:translateX(0)}.nav{overflow:visible;min-height:0}.mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:30;border:0;background:rgba(15,23,42,.36);opacity:0;pointer-events:none;transition:opacity .18s ease}.page-shell.is-mobile.sidebar-open .mobile-menu-backdrop{opacity:1;pointer-events:auto}}@media (max-width:720px){.content{padding:14px}.topbar,.topbar.centered{padding:16px;border-radius:20px}.shell-brand{padding-bottom:10px}.table{white-space:nowrap}.staff-attendance-toolbar{min-width:0}.staff-attendance-toolbar-actions{width:100%;justify-content:flex-start}.staff-attendance-toolbar-actions>button{flex:1 1}.teacher-quick-time,.teacher-quick-time input{min-width:0;width:100%}}.classroom-space-page{gap:14px}.classroom-space-shell{display:grid;grid-gap:14px;gap:14px;min-width:0}.classroom-space-header{display:flex;gap:18px;justify-content:space-between;align-items:flex-start;padding:16px 20px 6px;border-bottom:1px solid var(--line)}.classroom-space-header-main{display:grid;grid-gap:14px;gap:14px;min-width:0}.classroom-space-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:14px}.classroom-space-breadcrumb{color:var(--muted)}.classroom-space-breadcrumb.current{color:var(--text);font-weight:600}.classroom-space-breadcrumb-sep{color:#9ca3af}.classroom-space-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.classroom-space-title-row h2{margin:0;font-size:clamp(28px,3vw,44px);line-height:1.05;letter-spacing:-.05em}.classroom-space-statuses{justify-content:flex-end;flex-wrap:wrap}.classroom-space-actions{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.classroom-space-tabbar{display:flex;align-items:center;gap:6px;padding:0 16px;border-bottom:1px solid var(--line)}.classroom-space-tabbar .classroom-tab-link{position:relative;padding:14px 18px 15px;border-radius:0;background:transparent;color:var(--text);border:0;border-bottom:3px solid transparent;margin-bottom:-1px;min-height:0}.classroom-space-tabbar .classroom-tab-link.active{border-bottom-color:var(--accent);background:transparent}.classroom-space-tabbar .classroom-tab-link:not(.active):hover{background:rgba(26,115,232,.04)}.classroom-space-description,.classroom-space-error{padding-inline:20px}.classroom-space-grid--refined{grid-template-columns:minmax(0,1fr);padding:8px 0 0}.classroom-create-menu{position:relative;display:inline-flex}.classroom-create-menu-trigger{gap:10px;min-width:138px;box-shadow:0 8px 18px rgba(26,115,232,.18)}.classroom-create-menu-trigger,.classroom-create-plus{display:inline-flex;align-items:center;justify-content:center}.classroom-create-plus{width:18px;font-size:18px;line-height:1;font-weight:700}.classroom-create-menu-panel{position:absolute;left:0;top:calc(100% + 10px);z-index:12;min-width:220px;border-radius:12px;background:#ffffff;border:1px solid rgba(15,23,42,.12);box-shadow:0 14px 30px rgba(15,23,42,.18);overflow:hidden}.classroom-create-menu-item{width:100%;display:grid;grid-gap:3px;gap:3px;padding:14px 16px;border:0;border-bottom:1px solid rgba(15,23,42,.08);background:#ffffff;text-align:left;color:var(--text);cursor:pointer}.classroom-create-menu-item:last-child{border-bottom:0}.classroom-create-menu-item strong{font-size:15px;font-weight:500}.classroom-create-menu-item:hover{background:rgba(26,115,232,.06)}.classroom-create-menu-item.is-disabled{cursor:default;opacity:.55}.classroom-create-menu-item.is-disabled:hover{background:#ffffff}.classroom-classwork-head-card{position:relative;z-index:2;background:#ffffff;border-color:rgba(15,23,42,.08);box-shadow:0 10px 24px rgba(15,23,42,.04)}.classroom-classwork-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 4px 16px 0;border-top:1px solid rgba(15,23,42,.08)}.classroom-classwork-item-main{min-width:0;flex:1 1}.classroom-classwork-item h4{margin-top:4px!important;font-size:18px;letter-spacing:-.02em}.classroom-classwork-description{margin-top:8px;line-height:1.5}.classroom-topic-section{padding-top:4px}.classroom-topic-head{padding:18px 0 12px}.classroom-topic-head h4{margin:0;font-size:28px;line-height:1.1;font-weight:400;letter-spacing:-.03em}.classroom-topic-list{border-top:1px solid rgba(15,23,42,.08)}.classroom-compose-shell{display:grid;grid-gap:16px;gap:16px}.classroom-compose-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.98);box-shadow:var(--shadow)}.classroom-compose-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr);align-items:start}.classroom-compose-main,.classroom-compose-side{border-radius:24px}.classroom-compose-side{display:grid;grid-gap:14px;gap:14px;position:static}.classroom-compose-note{background:rgba(26,115,232,.06)}.classroom-roster-shell{background:#ffffff;border-color:rgba(15,23,42,.08);box-shadow:0 10px 24px rgba(15,23,42,.04)}.classroom-roster-section{display:grid;grid-gap:12px;gap:12px}.classroom-roster-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(15,23,42,.08)}.classroom-roster-section-head h4{margin:0;font-size:22px;font-weight:400;letter-spacing:-.03em}.classroom-roster-item{border-radius:16px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.96)}.classroom-gradebook-shell{background:#ffffff;border-color:rgba(15,23,42,.08);box-shadow:0 10px 24px rgba(15,23,42,.04)}.classroom-gradebook-summary-card{background:rgba(255,255,255,.96)}.classroom-gradebook-note{background:rgba(26,115,232,.06);border-color:rgba(26,115,232,.12)}.classroom-stream-composer,.classroom-stream-post,.classroom-work-detail-full-card,.classroom-work-detail-main-card,.classroom-work-detail-side-card{background:#ffffff;border-color:rgba(15,23,42,.08);box-shadow:0 10px 24px rgba(15,23,42,.04)}@media (max-width:1024px){.classroom-compose-grid,.classroom-compose-topbar,.classroom-space-header,.classroom-space-title-row{grid-template-columns:1fr}.classroom-compose-topbar,.classroom-space-header,.classroom-space-title-row{flex-direction:column;align-items:flex-start}.classroom-space-statuses{justify-content:flex-start}.classroom-compose-side{position:static}}@media (max-width:720px){.classroom-compose-topbar,.classroom-space-header{padding:12px 14px}.classroom-space-tabbar{padding:0 10px;overflow-x:auto}.classroom-space-tabbar .classroom-tab-link{padding:12px 14px 13px;white-space:nowrap}.classroom-create-menu-panel{min-width:180px}.classroom-compose-grid{grid-template-columns:1fr}}.page-shell.linear-shell .content{display:block}.page-shell.linear-shell .content>:is([class*=-page],[class*=-layout],[class*=-shell],[class*=-view]){display:block!important;width:100%;min-width:0}.page-shell.linear-shell .content :is(.grid,[class*=-grid],[class*=-overview],[class*=-summary],[class*=-detail],[class*=-rail],[class*=-sidebar],[class*=quicklinks]){display:grid!important;grid-template-columns:minmax(0,1fr)!important}.page-shell.linear-shell .content .entity-filter-bar,.page-shell.linear-shell .content .notifications-filter-grid,.page-shell.linear-shell .content .report-card-filter-grid,.page-shell.linear-shell .content .students-filter-bar{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}.page-shell.linear-shell .content .forms-filter-grid{grid-template-columns:minmax(280px,1fr) minmax(180px,280px)!important}.page-shell.linear-shell .content .lesson-plan-filter-grid{grid-template-columns:2fr repeat(6,minmax(0,1fr))!important}.page-shell.linear-shell .content .courses-list-controls{grid-template-columns:max-content max-content minmax(240px,1fr) minmax(180px,220px)!important}.page-shell.linear-shell .content .billing-summary-grid,.page-shell.linear-shell .content .staff-attendance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}@media (max-width:1200px){.page-shell.linear-shell .content .lesson-plan-filter-grid{grid-template-columns:repeat(3,minmax(180px,1fr))!important}.page-shell.linear-shell .content .billing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.page-shell.linear-shell .content .lesson-plan-filter-grid .field:first-child{grid-column:1/-1}}.student-transcript-page{display:grid;grid-gap:16px;gap:16px}.student-transcript-hero{display:grid;grid-gap:18px;gap:18px;overflow:hidden}.student-transcript-hero-copy{display:grid;grid-gap:10px;gap:10px}.student-transcript-hero h2{margin:0;font-size:clamp(28px,3vw,42px);line-height:1.06;font-weight:750}.student-transcript-hero p{margin:0;color:var(--muted);line-height:1.55}.student-transcript-hero-actions,.student-transcript-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.student-transcript-section-head h3,.student-transcript-upload h3{margin:0}.student-transcript-hero-metrics,.student-transcript-progress-grid,.student-transcript-record-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.student-transcript-stat{border-radius:16px;box-shadow:none;background:rgba(255,255,255,.72)}.student-transcript-overview{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:stretch}.student-transcript-current,.student-transcript-upload{display:grid;grid-gap:14px;gap:14px;align-content:start}.student-transcript-upload p{margin:6px 0 0;line-height:1.55}.student-transcript-file-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.student-transcript-file-row span{color:var(--muted)}.student-transcript-file-row strong{min-width:0;text-align:right;overflow-wrap:anywhere}.student-transcript-details,.student-transcript-progress{display:grid;grid-gap:16px;gap:16px}.student-transcript-panel>.card{margin:0;border-radius:18px;background:rgba(255,255,255,.58);box-shadow:none}.student-transcript-panel .entity-list-item{border-radius:14px}.student-transcript-edit-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.student-transcript-edit-grid .field{margin:0}@media (max-width:900px){.student-transcript-edit-grid,.student-transcript-overview{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.student-transcript-hero-actions,.student-transcript-section-head{display:grid;grid-template-columns:minmax(0,1fr)}.student-transcript-hero-actions .secondary-btn,.student-transcript-section-head .secondary-btn{width:100%;justify-content:center}.student-transcript-details .chip-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.page-shell.linear-shell .content .billing-summary-grid,.page-shell.linear-shell .content .courses-list-controls,.page-shell.linear-shell .content .forms-filter-grid,.page-shell.linear-shell .content .lesson-plan-filter-grid,.page-shell.linear-shell .content .staff-attendance-summary-grid{grid-template-columns:minmax(0,1fr)!important}.page-shell.linear-shell .content .lesson-plan-filter-grid .field:first-child{grid-column:auto}}@media (min-width:900px){.page-shell.linear-shell .content .timetable-summary-card{grid-template-columns:minmax(0,1fr) auto!important}.page-shell.linear-shell .content .timetable-metric-grid{grid-template-columns:repeat(3,minmax(120px,1fr))!important}}:root{color-scheme:light;--bg:#f7f9fc;--bg-strong:#ffffff;--panel:rgba(255,255,255,0.96);--surface:#ffffff;--text:#1f2937;--muted:#5f6368;--line:rgba(31,41,55,0.08);--accent:#1a73e8;--accent-strong:#185abc;--accent-2:#f9ab00;--danger:#d93025;--shadow:0 1px 2px rgba(15,23,42,0.04),0 12px 30px rgba(15,23,42,0.06)}body,html{min-height:100%;background:radial-gradient(circle at top right,rgba(26,115,232,.12),transparent 26%),radial-gradient(circle at top left,rgba(52,168,83,.06),transparent 24%),linear-gradient(180deg,#ffffff 0,var(--bg) 100%)}body{position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(26,115,232,.035) 1px,transparent 0),linear-gradient(180deg,rgba(26,115,232,.035) 1px,transparent 0);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.14),transparent 60%);mask-image:linear-gradient(180deg,rgba(0,0,0,.14),transparent 60%)}.page-shell{grid-template-columns:268px minmax(0,1fr);background:transparent}.sidebar{position:-webkit-sticky;position:sticky;top:0;min-height:100vh;padding:18px 12px 16px;gap:16px;background:radial-gradient(circle at top right,rgba(26,115,232,.08),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.99),rgba(248,250,252,.96));color:var(--text);border-right:1px solid var(--line);box-shadow:none}.shell-brand{display:flex;align-items:center;gap:12px;padding:8px 10px 14px;margin:0 2px}.shell-brand-mark{display:block;width:42px;height:42px;border-radius:14px;object-fit:contain;box-shadow:0 10px 20px rgba(26,115,232,.16)}.shell-brand-copy{display:flex;align-items:center;min-width:0}.shell-brand-copy strong{white-space:nowrap;font-size:16px;line-height:1.1;letter-spacing:-.03em}.nav{padding:0 4px}.nav,.nav-group{gap:8px}.nav a,.nav-group-toggle{min-height:46px;border-radius:14px;padding:12px 14px;background:transparent;border:1px solid transparent;color:var(--text);box-shadow:none}.nav-group-toggle{background:rgba(17,24,39,.02)}.nav a.active,.nav-group.active>.nav-group-toggle{background:rgba(26,115,232,.1);border-color:rgba(26,115,232,.12);color:var(--accent-strong)}.nav a:hover,.nav-group-toggle:hover{background:rgba(26,115,232,.06);border-color:rgba(26,115,232,.08)}.nav-group.active .nav-group-toggle:hover{background:rgba(26,115,232,.13);border-color:rgba(26,115,232,.14)}.nav-badge{background:rgba(26,115,232,.12);border-color:rgba(26,115,232,.14);color:var(--accent-strong)}.profile{margin-top:auto;padding:16px 10px 4px;border-top:1px solid var(--line);color:var(--muted)}.profile-card{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px;padding:12px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid var(--line);color:var(--text);box-shadow:none}.profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:rgba(26,115,232,.12);color:var(--accent-strong);font-weight:800;margin-bottom:2px}.content{padding:20px 24px 28px}.topbar{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:16px 18px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.95);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero{min-width:0}.hero h2{margin:0;font-size:clamp(26px,2.8vw,40px);line-height:1.08;letter-spacing:-.04em;font-weight:700}.hero p{margin-top:6px;color:var(--muted);max-width:68ch}.eyebrow{background:rgba(26,115,232,.1);color:var(--accent-strong);border-radius:999px}.mobile-menu-toggle{width:44px;height:44px;padding:0;border-radius:14px;background:rgba(26,115,232,.08);border-color:rgba(26,115,232,.12);color:var(--accent-strong);font-size:18px;font-weight:800}.ghost-btn,.primary-btn,.secondary-btn,.status-btn{min-height:42px;border-radius:14px;padding:10px 16px;box-shadow:none}.primary-btn{background:linear-gradient(135deg,var(--accent),#5b9cf6);border:1px solid transparent;box-shadow:0 10px 24px rgba(26,115,232,.18)}.primary-btn:hover{box-shadow:0 12px 26px rgba(26,115,232,.22)}.ghost-btn,.secondary-btn,.status-btn{background:rgba(255,255,255,.96);border:1px solid var(--line);color:var(--text)}.ghost-btn:hover,.secondary-btn:hover,.status-btn:hover{background:rgba(26,115,232,.05);border-color:rgba(26,115,232,.14)}.admissions-card,.admissions-copy,.calendar-agenda-day,.calendar-card,.calendar-day-surface,.calendar-event-panel,.calendar-month-grid,.calendar-year-card,.card,.card-soft,.classroom-classwork-head-card,.classroom-gradebook-shell,.classroom-roster-shell,.classroom-space-header,.classroom-stream-composer,.classroom-stream-post,.classroom-work-detail-full-card,.classroom-work-detail-main-card,.classroom-work-detail-side-card,.content-card,.feature-card,.home-card,.login-card,.metric-card,.panel-card,.price-card,.signup-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px}.card-soft{background:rgba(255,255,255,.9);border-radius:20px}.banner{border-radius:18px;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow)}.field input,.field select,.field textarea,.input,.workspace-search{border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.98);box-shadow:none}.field input:focus,.field select:focus,.field textarea:focus,.input:focus,.workspace-search input:focus,.workspace-search:focus{border-color:rgba(26,115,232,.44);box-shadow:0 0 0 4px rgba(26,115,232,.12)}.table,.table-shell{border-radius:24px}.table-shell{background:rgba(255,255,255,.9);border-color:var(--line);box-shadow:var(--shadow)}.table thead th{background:rgba(248,250,252,.98);color:var(--text);font-weight:700}.table tbody tr:hover td{background:rgba(26,115,232,.03)}.status-badge{min-height:30px;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:rgba(15,23,42,.04);color:var(--text)}.status-badge.completed,.status-badge.present,.status-badge.scheduled{background:rgba(26,115,232,.1);color:var(--accent-strong);border-color:rgba(26,115,232,.12)}.status-badge.late,.status-badge.ongoing{background:rgba(249,171,0,.14);color:#b45309;border-color:rgba(249,171,0,.14)}.status-badge.absent,.status-badge.cancelled{background:rgba(217,48,37,.1);color:var(--danger);border-color:rgba(217,48,37,.12)}.status-badge.leave_early{background:rgba(124,58,237,.1);color:#6d28d9;border-color:rgba(124,58,237,.12)}.home-header-actions{display:flex;align-items:center;gap:12px}.home-role-pill{padding:8px 12px;border-radius:999px;background:rgba(26,115,232,.1);color:var(--accent-strong);border:1px solid rgba(26,115,232,.12)}.home-year-switch{border-radius:999px;background:#ffffff;border:1px solid var(--line);box-shadow:none}.home-year-switch-backdrop{position:fixed;inset:0;z-index:75;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.36);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.home-year-switch-modal{width:min(760px,100%);max-height:min(92dvh,920px);overflow:auto;border-radius:28px;background:rgba(245,248,255,.98);border:1px solid rgba(148,163,184,.18);box-shadow:0 32px 80px rgba(15,23,42,.28);padding:28px}.home-year-switch-modal-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.home-year-switch-modal-header h3{margin:10px 0 0;font-size:28px;line-height:1.1}.home-year-switch-close{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.96);color:var(--text);cursor:pointer;flex:0 0 auto;font-size:24px;line-height:1}.home-year-switch-summary{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:18px;background:rgba(239,246,255,.92);border:1px solid rgba(147,197,253,.35);margin-bottom:18px}.home-year-switch-list{display:grid;grid-gap:10px;gap:10px}.home-year-switch-item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.96);cursor:pointer;text-align:left}.home-year-switch-item[data-active=true]{border-color:rgba(26,115,232,.32);box-shadow:0 10px 24px rgba(26,115,232,.08)}.home-year-switch-item:disabled{cursor:progress;opacity:.72}.home-card{position:relative;overflow:hidden}.home-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:var(--accent)}.home-card-blue:before{background:linear-gradient(90deg,#1a73e8,#5b9cf6)}.home-card-green:before{background:linear-gradient(90deg,#34a853,#81c995)}.home-card-amber:before{background:linear-gradient(90deg,#f9ab00,#fbbc04)}.home-card-violet:before{background:linear-gradient(90deg,#a142f4,#c58af9)}.home-card-header{padding-top:2px}.home-card-title h3{font-size:18px;letter-spacing:-.02em}.home-card-icon{border-radius:14px;background:rgba(26,115,232,.1);color:var(--accent-strong)}.home-card-menu{background:rgba(26,115,232,.08);border:1px solid rgba(26,115,232,.12);color:var(--accent-strong)}.home-card-divider{background:rgba(31,41,55,.08)}.admissions-shell,.login-shell,.marketing-shell,.public-home-shell,.signup-shell{min-height:100vh;background:radial-gradient(circle at top right,rgba(26,115,232,.09),transparent 24%),radial-gradient(circle at top left,rgba(52,168,83,.05),transparent 24%),linear-gradient(180deg,#ffffff 0,var(--bg) 100%)}.admissions-card,.login-card,.marketing-header,.marketing-hero,.public-home-hero,.public-home-sidebar,.public-home-topbar,.signup-card{background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow)}.public-home-brand-mark{object-fit:contain;box-shadow:0 10px 20px rgba(26,115,232,.16)}.public-home-nav-item{border-radius:18px;border:1px solid transparent}.public-home-nav-item.active,.public-home-nav-item:hover{background:rgba(26,115,232,.08);border-color:rgba(26,115,232,.1)}.public-home-topbar{border-radius:22px}.public-home-term h1{letter-spacing:-.04em}.chip,.marketing-nav a{border-radius:999px;border-color:var(--line)}.marketing-nav a.primary-link{color:#ffffff}.calendar-agenda-day,.calendar-card,.calendar-day-card,.calendar-day-surface,.calendar-event-panel,.calendar-layout,.calendar-month-cell,.calendar-sidebar,.calendar-toolbar,.calendar-year-card,.classroom-compose-main,.classroom-compose-side,.classroom-compose-topbar,.classroom-space-header,.classroom-space-tabbar,.teacher-calendar-card,.teacher-calendar-day,.teacher-calendar-week{background:rgba(255,255,255,.94);border-color:var(--line);box-shadow:var(--shadow)}.calendar-app-icon span:first-child{background:#1a73e8}.calendar-app-icon span:nth-child(2){background:#ea4335}.calendar-app-icon span:nth-child(3){background:#f9ab00}.calendar-app-icon span:nth-child(4){background:#34a853}.classroom-space-tabbar .classroom-tab-link{border-bottom-width:3px}.classroom-space-tabbar .classroom-tab-link.active{color:var(--accent)}.crud-page{min-width:0}.crud-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:end}.crud-toolbar-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;align-items:end;min-width:0}.crud-toolbar-filters .field{margin-bottom:0;min-width:0}.crud-action-group,.crud-toolbar-actions,.entity-item-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.students-crud-toolbar{grid-template-columns:minmax(0,1fr);align-items:stretch}.students-crud-toolbar .crud-toolbar-filters{grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(180px,1fr))}.students-crud-toolbar .crud-toolbar-actions{justify-content:stretch}.students-crud-toolbar .crud-action-group{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.students-crud-toolbar .crud-action-group>*{width:100%;min-width:0;white-space:nowrap}@media (max-width:1100px){.students-crud-toolbar .crud-toolbar-filters{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(150px,1fr))}.students-crud-toolbar .crud-action-group{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.students-crud-toolbar .crud-action-group,.students-crud-toolbar .crud-toolbar-filters{grid-template-columns:1fr}}.crud-action-group{justify-content:flex-start}.lesson-plans-page .crud-toolbar{grid-template-columns:minmax(0,1fr)}.lesson-plans-page .crud-toolbar-actions{justify-content:flex-start}.crud-list{display:grid;grid-gap:14px;gap:14px;min-width:0;max-width:100%}.crud-list .entity-list{margin-top:0}.crud-list-item{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;border-radius:16px;box-shadow:none}.crud-list-item .entity-list-title{line-height:1.25}.crud-list-item .entity-list-submeta{display:block}.crud-list-item>.entity-item-actions{max-width:min(100%,360px)}.crud-list-item>.entity-item-actions .crud-action-group{justify-content:flex-end}.crud-empty{padding-top:2px}.crud-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.crud-form-section{display:grid;grid-gap:16px;gap:16px}.crud-section-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.crud-section-header h3{margin:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;min-width:0}.info-grid>div{min-width:0;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.92);padding:14px 16px}.info-grid span,.info-grid strong{display:block}.info-grid span{color:var(--muted);font-size:13px;font-weight:650}.info-grid strong{margin-top:6px;color:var(--ink);font-size:26px;line-height:1.1}.staff-attendance-filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.attendance-reports-page{min-width:0}.attendance-report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px}.attendance-report-summary-metric{min-width:0;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.68)}.attendance-report-summary-metric span,.attendance-report-summary-metric strong{display:block}.attendance-report-summary-metric strong{margin-top:4px;font-size:18px}.attendance-report-breakdown{margin-top:10px;overflow-x:auto}.attendance-report-table{width:100%;min-width:760px;border-collapse:collapse;font-size:13px}.attendance-report-table td,.attendance-report-table th{padding:9px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.attendance-report-table th{color:var(--muted);font-size:12px;font-weight:700;background:rgba(248,250,252,.76)}.attendance-report-table td:nth-child(n+3),.attendance-report-table th:nth-child(n+3){text-align:right;white-space:nowrap}.attendance-report-table tr:last-child td{border-bottom:0}.danger-btn{color:var(--danger)}@media (max-width:1180px){.attendance-report-table{min-width:680px}}@media (max-width:900px){.crud-toolbar{grid-template-columns:minmax(0,1fr)}.crud-toolbar-actions{justify-content:flex-start}.crud-list-item,.entity-list-item{display:grid;grid-template-columns:minmax(0,1fr)}.entity-item-actions{justify-content:flex-start}}@media (max-width:1200px) and (min-width:901px){.crud-toolbar{grid-template-columns:minmax(0,1fr)}.crud-toolbar-actions{justify-content:flex-start}}@media (max-width:640px){.crud-toolbar-filters{grid-template-columns:minmax(0,1fr)}.crud-action-group .primary-btn,.crud-action-group .secondary-btn,.crud-toolbar-actions .primary-btn,.crud-toolbar-actions .secondary-btn,.entity-item-actions .primary-btn,.entity-item-actions .secondary-btn{width:100%}}@media (max-width:1024px){.page-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(84vw,320px);height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;transform:translateX(-102%);transition:transform .18s ease;z-index:40;overflow:hidden;overscroll-behavior:contain}.nav,.sidebar{-webkit-overflow-scrolling:touch}.nav{min-height:0;overflow-y:auto}.profile{margin-top:0}.page-shell.is-mobile.sidebar-open .sidebar{transform:translateX(0)}}@media (max-width:720px){.content{padding:14px}.topbar{padding:14px 16px;border-radius:20px}.shell-brand{padding-bottom:10px}.table{white-space:nowrap}.notifications-filter-footer{align-items:flex-start}.notifications-filter-actions{justify-content:flex-start}.profile-documents-layout,.profile-layout,.profile-metric-grid,.profile-records-grid,.profile-security-grid{grid-template-columns:1fr}.profile-tabs-card{padding:10px}.profile-tab-strip{display:grid;grid-template-columns:1fr}.profile-section-heading{display:grid}.profile-hero-actions{justify-content:flex-start}.staff-attendance-summary-grid{grid-template-columns:1fr}.admissions-shell,.login-shell,.marketing-shell,.public-home-shell,.signup-shell{background-attachment:scroll}}.attendance-main,.attendance-page,.calendar-layout,.calendar-main,.card,.card-soft,.content,.content>*,.crud-page,.linear-content,.table-shell{min-width:0;max-width:100%}.table-shell{max-height:none;height:auto;width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.table-shell:has(>.stack){max-height:none;height:auto;overflow:visible}.billing-table-shell{overflow-x:auto;overflow-y:hidden}.billing-table-card{overflow:visible}.billing-table-shell .table{table-layout:auto;min-width:1180px}.billing-table-shell{display:none}.billing-mobile-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));grid-gap:14px;gap:14px}.billing-mobile-record{display:grid;grid-gap:12px;gap:12px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#ffffff;box-shadow:0 8px 20px rgba(15,23,42,.06)}.billing-mobile-record,.billing-mobile-record *{min-width:0;overflow-wrap:anywhere}.billing-mobile-fields{display:grid;grid-gap:0;gap:0;margin:0}.billing-mobile-fields>div{display:grid;grid-template-columns:minmax(112px,34%) minmax(0,1fr);grid-gap:10px;gap:10px;padding:8px 0;border-bottom:1px solid rgba(15,23,42,.06)}.billing-mobile-fields>div:last-child{border-bottom:0}.billing-mobile-fields dd,.billing-mobile-fields dt{margin:0}.billing-mobile-fields dt{color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase}.billing-mobile-record .secondary-btn{justify-content:center;width:100%}.table-shell .table{width:100%}.table-shell .table th{position:static}.chip,.entity-list-meta,.entity-list-submeta,.entity-list-title,.status-badge,.table-shell :is(th,td),.workspace-list-item{overflow-wrap:anywhere}.attendance-main{padding-bottom:0}.section-detail-page .section-detail-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)}.section-detail-page .section-detail-rail{position:-webkit-sticky;position:sticky;top:18px}.section-detail-page .crud-list.card{box-shadow:none}.application-form-page{width:min(1180px,100%);margin:0 auto}.application-form-page .card{min-width:0;border-radius:16px;padding:clamp(18px,2.2vw,28px)}.application-form-page h1{margin:0 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:0}.application-form-page .card h3{margin-bottom:18px;font-size:clamp(18px,2vw,22px);line-height:1.2;letter-spacing:0}.application-form-page .grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:start}.application-form-page .grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.application-form-page .grid.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.application-form-page .field{min-width:0;margin-bottom:0}.application-form-page .field-checkbox span,.application-form-page .field>span{display:block;color:var(--muted);font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.application-form-page .field input,.application-form-page .field select,.application-form-page .field textarea{min-height:46px;min-width:0;border-radius:10px;line-height:1.35}.application-form-page .field textarea{min-height:92px;resize:vertical}.application-form-page .status-group{display:grid;grid-gap:10px 14px;gap:10px 14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));align-items:start}.application-form-page .field-checkbox{display:grid;grid-template-columns:18px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start;min-width:0;margin:0;padding:8px 0}.application-form-page .field-checkbox input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--accent)}.application-form-page .primary-btn,.application-form-page .secondary-btn{min-height:44px;border-radius:10px;white-space:normal}.application-form-page .signature-field{gap:10px}.application-form-page .signature-pad{position:relative;width:100%;min-height:180px;overflow:hidden;border:1px solid rgba(15,23,42,.16);border-radius:12px;background:#ffffff}.application-form-page .signature-pad canvas{display:block;width:100%;height:180px;touch-action:none;cursor:crosshair}.application-form-page .signature-baseline{position:absolute;left:24px;right:24px;bottom:38px;height:1px;background:rgba(15,23,42,.24);pointer-events:none}.application-form-page .signature-clear-btn{width:-moz-fit-content;width:fit-content;min-height:38px;padding:8px 12px;font-size:13px}.application-form-page .muted{line-height:1.55;overflow-wrap:anywhere}.application-form-page .application-form-error{border-color:rgba(185,28,28,.22);background:rgba(254,242,242,.96);color:#991b1b;font-weight:700}.application-form-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.48);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.application-form-modal{width:min(520px,100%);display:grid;justify-items:center;grid-gap:14px;gap:14px;padding:clamp(24px,4vw,34px);border-radius:18px;border:1px solid rgba(34,197,94,.24);background:#ffffff;color:var(--text);text-align:center;box-shadow:0 30px 80px rgba(15,23,42,.28)}.application-form-success-mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;background:rgba(34,197,94,.14);color:#15803d;font-size:15px;font-weight:900;letter-spacing:0}.application-form-modal h2{margin:0;font-size:clamp(24px,3vw,32px);line-height:1.1;letter-spacing:0}.application-form-modal p{margin:0;max-width:42ch;color:var(--muted);line-height:1.6}.application-form-modal-actions{display:flex;justify-content:center;gap:10px;margin-top:8px}@media (max-width:720px){.application-form-page{width:100%}.application-form-page .grid,.application-form-page .grid.three,.application-form-page .grid.two,.application-form-page .status-group{grid-template-columns:minmax(0,1fr)}}.section-detail-page .section-detail-rail .entity-list-item{align-items:flex-start}.attendance-sticky,.sticky-submit{position:static;inset:auto;z-index:auto}@media (max-width:1024px){body,html{overflow-x:hidden}.content,.page-shell,.page-shell.is-mobile.sidebar-collapsed,.page-shell.is-mobile.sidebar-open{width:100%;max-width:100vw;overflow-x:clip}.section-detail-page .section-detail-layout{grid-template-columns:minmax(0,1fr)}.section-detail-page .section-detail-rail{position:static}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.topbar .mobile-menu-toggle{grid-column:2;grid-row:1;justify-self:end}.topbar .hero{grid-column:1/-1;grid-row:2}.topbar .hero h2{overflow-wrap:anywhere}.page-shell.linear-shell .content :is(.entity-filter-bar,.notifications-filter-grid,.report-card-filter-grid,.students-filter-bar,.forms-filter-grid,.lesson-plan-filter-grid,.courses-list-controls,.staff-attendance-summary-grid,.billing-summary-grid,.attendance-report-summary){max-width:100%}}@media (max-width:720px){.card,.card-soft,.table-shell,.topbar{border-radius:18px}.table-shell{display:block}.table-shell .table{min-width:max-content}.table-shell :is(th,td){max-width:min(72vw,320px);white-space:normal}.table-shell :is(.primary-btn,.secondary-btn,.ghost-btn){white-space:normal}.billing-table-card{padding:0;overflow:visible}.billing-table-shell{display:none}.billing-mobile-list,.billing-mobile-record{display:grid;grid-gap:12px;gap:12px}.billing-mobile-record{padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#ffffff;box-shadow:0 8px 20px rgba(15,23,42,.06)}.billing-mobile-record,.billing-mobile-record *{min-width:0;overflow-wrap:anywhere}.billing-mobile-fields{display:grid;grid-gap:0;gap:0;margin:0}.billing-mobile-fields>div{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);grid-gap:10px;gap:10px;padding:8px 0;border-bottom:1px solid rgba(15,23,42,.06)}.billing-mobile-fields>div:last-child{border-bottom:0}.billing-mobile-fields dd,.billing-mobile-fields dt{margin:0}.billing-mobile-fields dt{color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase}.billing-mobile-record .secondary-btn{justify-content:center;width:100%}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr)!important;grid-gap:12px;gap:12px;overflow:visible}.calendar-card,.calendar-main,.calendar-sidebar,.calendar-toolbar{position:static!important;width:100%;max-width:100%}.calendar-toolbar{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px}.calendar-toolbar :is(.status-group,.calendar-view-switcher,.calendar-toolbar-actions){display:flex;flex-wrap:wrap;min-width:0;justify-content:flex-start}.calendar-month-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-gap:4px;gap:4px;width:100%;max-width:100%;overflow:visible}.calendar-month-cell{min-width:0;min-height:76px;padding:6px;overflow:hidden}.calendar-month-cell>*{min-width:0}.calendar-month-cell .calendar-today-pill{display:none}.calendar-month-events{display:flex;flex-wrap:wrap;gap:3px;align-items:center;margin-top:6px}.calendar-month-chip{width:8px;height:8px;min-width:8px;min-height:8px;padding:0;border-radius:999px}.calendar-month-chip-dot,.calendar-month-chip-text,.calendar-more-link{display:none}.calendar-agenda-item,.calendar-all-day-chip,.calendar-event-block,.calendar-month-chip-text{overflow-wrap:anywhere}.attendance-actions,.attendance-list-header,.attendance-meta,.attendance-student-head,.attendance-summary-top{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch}.attendance-actions,.attendance-badges,.attendance-choice-grid,.attendance-mobile-actions{width:100%}.attendance-choice-grid,.attendance-mobile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-mobile-dock,.attendance-sticky{position:static!important;width:100%;max-width:100%;margin-top:12px;transform:none}.attendance-action,.attendance-mobile-submit,.attendance-submit{width:100%}}