:root{color-scheme:light;--font-body:"Segoe UI",Roboto,Arial,system-ui,sans-serif;--bg:#f5f8fc;--bg-strong:#fbfcfe;--panel:rgba(255,255,255,0.92);--text:#0f172a;--muted:#5f6979;--line:rgba(15,23,42,0.1);--accent:#1a73e8;--accent-strong:#185abc;--accent-2:#d97706;--danger:#b91c1c;--shadow:0 18px 48px rgba(15,23,42,0.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--text);background:radial-gradient(circle at top right,rgba(26,115,232,.14),transparent 28%),radial-gradient(circle at top left,rgba(24,90,188,.08),transparent 24%),linear-gradient(180deg,#ffffff,var(--bg));font-family:var(--font-body),system-ui,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.page-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.page-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.page-shell.sidebar-open,.page-shell.sidebar-static{grid-template-columns:280px minmax(0,1fr)}.sidebar{background:rgba(15,23,42,.96);color:#f8fafc;padding:28px;display:flex;flex-direction:column;gap:20px;min-height:0}.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobile-menu-toggle{display:inline-flex}.mobile-menu-backdrop{display:none}.nav{display:grid;grid-gap:14px;gap:14px;flex:1 1;min-height:0;overflow:auto;padding-right:4px;align-content:start;justify-items:stretch}.nav-group{display:grid;grid-gap:10px;gap:10px;align-self:start}.nav a,.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;border-radius:16px;padding:14px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:#e2e8f0;cursor:pointer;width:100%;height:auto;flex:0 0 auto}.nav-group-toggle{font-weight:700;letter-spacing:.01em}.nav-group.active>.nav-group-toggle{background:rgba(26,115,232,.18);border-color:rgba(26,115,232,.4)}.nav-group-items{display:grid;grid-gap:8px;gap:8px;padding-left:12px}.nav-group-items a{padding:12px 14px;border-radius:14px}.nav-chevron{opacity:.65}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:rgba(37,99,235,.2);border:1px solid rgba(96,165,250,.45);color:#dbeafe;font-size:11px;font-weight:800;line-height:1;letter-spacing:.01em}.nav a.active{background:rgba(26,115,232,.22);border-color:rgba(26,115,232,.46)}.nav a:hover,.nav-group-toggle:hover{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.08)}.nav-group.active .nav-group-toggle:hover{border-color:rgba(26,115,232,.56);background:rgba(26,115,232,.24)}.profile{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:rgba(248,250,252,.8)}.profile-card{display:grid;grid-gap:4px;gap:4px;margin-bottom:14px}.logout-btn{width:100%}.page-shell.sidebar-collapsed .sidebar{width:0;padding:0;overflow:hidden;border-right:0}.page-shell.sidebar-open .sidebar{width:280px}.content{padding:28px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.app-shell-header-actions{align-self:center;margin-left:auto}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(26,115,232,.1);color:var(--accent);font-size:13px;font-weight:800;letter-spacing:.02em}.hero h2{margin:12px 0 8px;font-family:var(--font-body),system-ui,sans-serif;font-size:clamp(32px,5vw,52px);line-height:1;letter-spacing:-.04em}.hero .eyebrow{max-width:-moz-fit-content;max-width:fit-content}.hero .page-brand{display:block;margin-top:8px;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.hero p{margin:0;color:var(--muted);line-height:1.6;max-width:58ch}.grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(12,minmax(0,1fr))}.section-detail-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr);align-items:start}.section-detail-main,.section-detail-rail{min-width:0}.section-detail-rail{position:static}.section-detail-hero{overflow:hidden}.section-detail-table-shell{overflow-x:auto}.section-detail-timeline-group{display:grid;grid-gap:12px;gap:12px}.section-detail-timeline-items{gap:10px}.section-detail-timeline-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid rgba(26,115,232,.1);background:rgba(255,255,255,.72)}.section-detail-metrics{grid-gap:18px;gap:18px}.classes-stat-row,.section-detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.classes-stat-row{grid-gap:14px;gap:14px}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card-soft{background:rgba(255,255,255,.82);border:1px solid rgba(26,115,232,.12);box-shadow:0 12px 30px rgba(15,23,42,.05);border-radius:20px;padding:16px}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.span-6{grid-column:span 6}.span-full{grid-column:1/-1}.card h3{margin:0 0 14px;font-size:18px;letter-spacing:-.02em}.absence-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:16px}.absence-stat-card{min-width:0;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:rgba(255,255,255,.72)}.absence-stat-title{display:flex;align-items:center;gap:10px;min-width:0;color:var(--primary);font-weight:800}.absence-stat-title span{min-width:0;overflow-wrap:anywhere}.absence-stat-title strong{flex:0 0 auto;min-width:34px;padding:6px 10px;border-radius:999px;background:#e9edf4;color:#475569;text-align:center}.absence-form-header,.absence-list-header,.absence-request-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.absence-form-header h3{margin:0}.absence-request-toolbar{align-items:end;flex-wrap:nowrap;margin-top:12px}.absence-request-toolbar .field{margin-bottom:0}.absence-request-search{flex:1 1 420px;min-width:240px}.absence-request-select{flex:0 0 220px}@media (max-width:900px){.absence-list-header,.absence-request-toolbar{flex-wrap:wrap}.absence-request-search,.absence-request-select{flex:1 1 100%}}.muted{color:var(--muted)}.banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(15,23,42,.05);margin-bottom:16px}.report-card-page{gap:18px}.report-card-hero{position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;color:#ffffff;background:radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 24%),linear-gradient(135deg,#1a73e8,#185abc 58%,#174ea6);box-shadow:0 20px 44px rgba(24,90,188,.22)}.report-card-hero:after{content:"";position:absolute;inset:auto -36px -56px auto;width:220px;height:220px;border-radius:999px;background:rgba(255,255,255,.12)}.report-card-hero-copy{position:relative;z-index:1;max-width:72ch}.report-card-kicker{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);color:rgba(255,255,255,.96);font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.report-card-hero h2{margin:12px 0 6px;font-family:var(--font-body),system-ui,sans-serif;font-size:clamp(30px,4vw,48px);line-height:1.02;letter-spacing:-.05em;font-weight:700}.report-card-hero p{margin:0;max-width:66ch;line-height:1.65;color:rgba(255,255,255,.9)}.report-card-hero-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;align-self:flex-end;justify-content:flex-end}.report-card-status-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.report-card-status-row .status-badge{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.96)}.report-card-metrics{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.report-card-metric{position:relative;overflow:hidden;min-width:0;border-radius:22px;padding:18px;background:rgba(255,255,255,.9);border:1px solid var(--line);box-shadow:var(--shadow)}.report-card-metric:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:var(--accent)}.report-card-metric-blue:before{background:linear-gradient(90deg,#1a73e8,#60a5fa)}.report-card-metric-slate:before{background:linear-gradient(90deg,#475569,#94a3b8)}.report-card-metric-amber:before{background:linear-gradient(90deg,#d97706,#f59e0b)}.report-card-metric-emerald:before{background:linear-gradient(90deg,#047857,#10b981)}.report-card-metric-label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.report-card-metric-value{margin-top:10px;font-size:clamp(28px,3vw,38px);line-height:1.05;letter-spacing:-.05em;font-weight:800}.report-card-metric-detail{margin-top:8px;color:var(--muted);line-height:1.55}.report-card-course-card,.report-card-detail-shell,.report-card-directory-card,.report-card-link-card,.report-card-summary-shell{overflow:hidden}.report-card-filter-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));margin-top:16px}.report-card-filter-grid .field{margin-bottom:0}.report-card-search-field{min-width:0}.report-card-pager{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.report-card-table-shell{margin-top:16px;border-radius:20px;overflow:hidden}.report-card-table-shell .table thead th{background:rgba(248,250,252,.96)}.report-card-table-shell .table tbody td{background:rgba(255,255,255,.96)}.report-card-overview-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.manual-ossd-header-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr)}.manual-ossd-header-grid .field{margin-bottom:0}.manual-ossd-header-grid input,.manual-ossd-summary-grid input,.manual-ossd-table input,.manual-ossd-table textarea{width:100%;min-width:0;border:1px solid rgba(15,23,42,.14);border-radius:8px;background:#fff;color:var(--text);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.manual-ossd-header-grid input{min-height:44px;padding:10px 12px}.manual-ossd-table-shell{width:100%;overflow-x:auto;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#fff}.manual-ossd-table{min-width:1600px;table-layout:fixed;border-collapse:separate;border-spacing:0}.manual-ossd-table td:first-child,.manual-ossd-table th:first-child{width:170px}.manual-ossd-table td:nth-child(2),.manual-ossd-table th:nth-child(2){width:285px}.manual-ossd-table td:nth-child(3),.manual-ossd-table th:nth-child(3){width:130px}.manual-ossd-table td:nth-child(4),.manual-ossd-table th:nth-child(4){width:245px}.manual-ossd-table td:nth-child(5),.manual-ossd-table th:nth-child(5){width:180px}.manual-ossd-table td:nth-child(6),.manual-ossd-table th:nth-child(6){width:170px}.manual-ossd-table td:nth-child(7),.manual-ossd-table th:nth-child(7){width:100px}.manual-ossd-table td:nth-child(8),.manual-ossd-table th:nth-child(8){width:150px}.manual-ossd-table td:nth-child(9),.manual-ossd-table th:nth-child(9){width:220px}.manual-ossd-table td:nth-child(10),.manual-ossd-table th:nth-child(10){width:120px}.manual-ossd-table td,.manual-ossd-table th{vertical-align:middle;padding:12px;border-bottom:1px solid rgba(15,23,42,.07)}.manual-ossd-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#f7f9fc}.manual-ossd-table tbody tr:last-child td{border-bottom:0}.manual-ossd-table td:nth-child(2){color:var(--muted);line-height:1.35}.manual-ossd-table input,.manual-ossd-table textarea{display:block;padding:8px 10px;font-size:13px}.manual-ossd-table input{height:36px}.manual-ossd-table textarea{min-height:54px;resize:vertical;line-height:1.35}.manual-ossd-header-grid input:focus,.manual-ossd-summary-grid input:focus,.manual-ossd-table input:focus,.manual-ossd-table textarea:focus{border-color:rgba(26,115,232,.72);box-shadow:0 0 0 3px rgba(26,115,232,.12);background:#fff}.manual-ossd-summary-grid input{margin-top:6px;min-height:36px;padding:7px 10px}.report-card-detail-header{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96))}.report-card-detail-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.report-card-detail-main{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(220px,auto);grid-gap:18px;gap:18px;align-items:center}.report-card-student-avatar{width:72px;height:72px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(20,184,166,.22));color:var(--blue-700);font-size:30px;font-weight:800}.report-card-detail-copy{min-width:0}.report-card-detail-copy h3{margin:6px 0 0;font-size:28px;line-height:1.15;letter-spacing:0}.report-card-detail-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.report-card-course-card{display:grid;grid-gap:16px;gap:16px;border-radius:14px;box-shadow:0 14px 32px rgba(15,23,42,.06)}.report-card-course-footer,.report-card-save-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-top:1px solid rgba(148,163,184,.22);background:rgba(248,250,252,.92)}.report-card-save-bar{position:-webkit-sticky;position:sticky;bottom:14px;z-index:6;border:1px solid rgba(148,163,184,.2);border-radius:18px;box-shadow:0 18px 32px rgba(15,23,42,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.report-card-course-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 2px 4px}.report-card-course-title{font-size:18px;font-weight:800;line-height:1.25;color:#0f172a}.report-card-course-subtitle{margin-top:4px;color:#334155;font-weight:650}.report-card-course-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;text-align:right}.report-card-grade-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));grid-gap:12px;gap:12px}.report-card-grade-grid .field{margin-bottom:0}.report-card-assessment-panel,.report-card-course-section{padding-top:14px;border-top:1px solid rgba(148,163,184,.22)}.report-card-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.report-card-section-header h4{margin:0;font-size:15px;line-height:1.3}.report-card-assessment-list{display:grid;grid-gap:10px;gap:10px}.report-card-assessment-row{display:grid;grid-template-columns:minmax(110px,.9fr) minmax(180px,2fr) repeat(3,minmax(84px,.8fr)) auto;grid-gap:10px;gap:10px;align-items:end;padding:12px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:rgba(248,250,252,.72)}.report-card-assessment-note{grid-column:1/-1;margin-top:-2px}.report-card-attempt-panel{grid-column:1/-1;padding:12px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.18)}.report-card-counting-rule{max-width:320px}.report-card-attempt-row{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:#ffffff}.report-card-attempt-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.report-card-attempt-grid{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr)) minmax(220px,2fr);grid-gap:10px;gap:10px}.report-card-empty-state{padding:14px;border:1px dashed rgba(148,163,184,.45);border-radius:12px;color:var(--muted);background:rgba(248,250,252,.72)}.workspace-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start}.classroom-home-shell,.classroom-page{display:grid;grid-gap:20px;gap:20px}.classroom-home-shell{grid-template-columns:minmax(0,1fr);align-items:start}.classroom-home-main{display:grid;grid-gap:18px;gap:18px}.classroom-home-hero{position:relative;overflow:hidden;border-radius:24px;padding:20px;color:#ffffff;background:radial-gradient(circle at top right,rgba(255,255,255,.22),transparent 24%),linear-gradient(135deg,#1a73e8,#185abc 55%,#174ea6);box-shadow:0 20px 44px rgba(24,90,188,.24)}.classroom-home-hero:after{content:"";position:absolute;inset:auto -48px -72px auto;width:220px;height:220px;border-radius:999px;background:rgba(255,255,255,.12)}.classroom-home-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);color:rgba(255,255,255,.95);font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;width:-moz-fit-content;width:fit-content}.classroom-home-hero h1{margin:12px 0 6px;font-family:var(--font-body),system-ui,sans-serif;font-size:clamp(28px,3vw,42px);line-height:1.02;letter-spacing:-.04em;font-weight:700}.classroom-home-hero p{margin:0;max-width:64ch;line-height:1.65;color:rgba(255,255,255,.9)}.classroom-home-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.classroom-home-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.classroom-home-meta .status-badge{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.96)}.classroom-home-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-class-card{position:relative;overflow:hidden;padding:0;min-height:232px}.classroom-class-band{height:62px;background:linear-gradient(135deg,#1a73e8,#185abc)}.classroom-class-body{display:grid;grid-gap:10px;gap:10px;padding:16px;background:#ffffff}.classroom-class-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.classroom-class-head h3{margin:0;font-size:18px;line-height:1.2;letter-spacing:-.02em}.classroom-class-code{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;padding:7px 10px;border-radius:999px;background:rgba(26,115,232,.1);color:#185abc;font-size:12px;font-weight:800}.classroom-class-card .muted{line-height:1.5}.classroom-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.classroom-side-rail{display:grid;grid-gap:16px;gap:16px;position:-webkit-sticky;position:sticky;top:20px}.classroom-side-card{padding:16px}.classroom-side-card h3{margin-top:0;margin-bottom:4px;font-size:16px;line-height:1.2}.classroom-list{display:grid;grid-gap:8px;gap:8px}.classroom-list-item{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.9)}.classroom-list-item strong{line-height:1.25}.classroom-list-item .muted{font-size:13px}.classroom-list-item.is-due{border-color:rgba(26,115,232,.24);background:rgba(26,115,232,.06)}.classroom-empty{padding:14px 0 6px}.classroom-home-hero h1,.classroom-space-hero h2{font-family:var(--font-body),system-ui,sans-serif;font-weight:700}.classroom-space-page{display:grid;grid-gap:18px;gap:18px}.classroom-space-hero{position:relative;overflow:hidden;border-radius:24px;padding:20px;color:#ffffff;background:radial-gradient(circle at top right,rgba(255,255,255,.2),transparent 24%),linear-gradient(135deg,#1a73e8,#185abc 45%,#174ea6);box-shadow:0 20px 44px rgba(24,90,188,.22)}.classroom-space-hero:after{content:"";position:absolute;inset:auto -24px -40px auto;width:180px;height:180px;border-radius:999px;background:rgba(255,255,255,.14)}.classroom-space-kicker{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);color:rgba(255,255,255,.95);font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.classroom-space-hero h2{margin:12px 0 6px;font-family:var(--font-body),system-ui,sans-serif;font-size:clamp(24px,2.8vw,36px);line-height:1.04;letter-spacing:-.03em;font-weight:700}.classroom-space-hero p{margin:0;max-width:72ch;line-height:1.65;color:rgba(255,255,255,.9)}.classroom-space-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:16px;position:relative;z-index:1}.classroom-tab-strip{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-radius:999px;background:rgba(255,255,255,.16)}.classroom-tab-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;color:rgba(255,255,255,.9);border:1px solid transparent;transition:background .12s ease,color .12s ease,border-color .12s ease}.classroom-tab-link.active{background:#ffffff;color:#174ea6;border-color:rgba(255,255,255,.8)}.classroom-tab-link:not(.active):hover{background:rgba(255,255,255,.12)}.classroom-space-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr);align-items:start}.classroom-work-detail-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr);align-items:start}.classroom-work-detail-full-card,.classroom-work-detail-main-card,.classroom-work-detail-side-card{min-width:0}.classroom-work-detail-summary-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr);align-items:start}.classroom-work-detail-summary-main,.classroom-work-detail-summary-side{min-width:0}.classroom-submission-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.classroom-submission-grid .field{min-width:0}.classroom-preview-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr);margin-top:16px}.classroom-preview-card{min-width:0;overflow:hidden}.classroom-preview-card-actions,.classroom-preview-card-header,.classroom-preview-fullscreen-header{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}.classroom-preview-card-body{margin-top:12px;min-width:0}.classroom-preview-card-actions{align-items:center;margin-top:12px}.classroom-preview-text-card,.classroom-preview-text-fullscreen{margin:0;padding:12px;white-space:pre-wrap;overflow:auto;border-radius:12px;border:1px solid var(--line);background:#ffffff;color:var(--text)}.classroom-preview-text-card{min-height:420px;max-height:62vh}.classroom-preview-image-card{display:block;width:100%;max-height:62vh;object-fit:contain;border-radius:12px;background:#ffffff}.classroom-preview-frame-card{width:100%;height:62vh;min-height:520px;border:0;border-radius:12px;background:#ffffff}.classroom-preview-fullscreen-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:stretch;padding:18px;background:rgba(15,23,42,.48);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.classroom-preview-fullscreen{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border-radius:18px;border:1px solid rgba(148,163,184,.2);background:rgba(248,250,252,.98);box-shadow:0 32px 90px rgba(15,23,42,.32)}.classroom-preview-fullscreen-header{align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);background:#ffffff}.classroom-preview-fullscreen-body{min-width:0;min-height:0;overflow:hidden;padding:14px}.classroom-preview-frame-fullscreen,.classroom-preview-image-fullscreen,.classroom-preview-text-fullscreen{width:100%;height:100%}.classroom-preview-frame-fullscreen{border:0;border-radius:12px;background:#ffffff}.classroom-preview-image-fullscreen{display:block;object-fit:contain;border-radius:12px;background:#ffffff}.classroom-space-main{display:grid;grid-gap:14px;gap:14px;min-width:0}.classroom-space-rail{display:grid;grid-gap:12px;gap:12px;position:-webkit-sticky;position:sticky;top:20px}.classroom-space-info-card{display:grid;grid-gap:10px;gap:10px}.classroom-space-info-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.classroom-create-panel,.classroom-gradebook-shell,.classroom-roster-shell,.classroom-stream-composer{display:grid;grid-gap:14px;gap:14px}.classroom-stream-composer-head{display:flex;align-items:center;gap:14px}.classroom-roster-avatar,.classroom-stream-avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:rgba(26,115,232,.12);color:#174ea6;font-weight:800;flex:0 0 auto}.classroom-stream-mode-strip{display:flex;flex-wrap:wrap;gap:6px}.classroom-stream-mode-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#ffffff;color:var(--text)}.classroom-stream-mode-btn.active{background:rgba(26,115,232,.08);border-color:rgba(26,115,232,.22);color:#174ea6}.classroom-stream-post{display:grid;grid-gap:12px;gap:12px;padding:16px;border-radius:18px;border:1px solid var(--line);background:#ffffff}.classroom-stream-post-head{display:flex;align-items:flex-start;gap:12px}.classroom-stream-post-meta{display:grid;grid-gap:2px;gap:2px}.classroom-classwork-description,.classroom-stream-post-body{line-height:1.6;white-space:pre-wrap}.classroom-stream-post-foot{justify-content:space-between;align-items:center}.classroom-classwork-toolbar,.classroom-stream-post-foot{display:flex;flex-wrap:wrap;gap:8px}.classroom-topic-section{display:grid;grid-gap:10px;gap:10px}.classroom-topic-head h4{margin:0;font-size:15px}.classroom-topic-list{display:grid;grid-gap:10px;gap:10px}.classroom-classwork-item{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:14px;border-radius:16px;border:1px solid var(--line);background:#ffffff}.classroom-classwork-item-main{display:grid;grid-gap:8px;gap:8px;min-width:0}.classroom-classwork-student-note{padding:14px}.classroom-roster-groups{display:grid;grid-gap:12px;gap:12px}.classroom-roster-section{display:grid;grid-gap:10px;gap:10px}.classroom-roster-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.classroom-roster-section-head h4{margin:0;font-size:15px}.classroom-roster-list{display:grid;grid-gap:8px;gap:8px}.classroom-roster-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#ffffff}.classroom-roster-main-row{display:flex;align-items:center;gap:10px;width:100%}.classroom-roster-item--detail{align-items:stretch;flex-direction:column}.classroom-roster-body{display:grid;grid-gap:2px;gap:2px;min-width:0;flex:1 1 auto}.classroom-roster-body strong{line-height:1.3}.classroom-roster-role{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;background:rgba(26,115,232,.08);color:#174ea6;font-size:12px;font-weight:700}.classroom-report-card-mini{display:grid;grid-gap:12px;gap:12px;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.classroom-report-card-mini-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.classroom-report-card-type{min-width:180px;margin-bottom:0}.classroom-report-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.classroom-report-card-comment{grid-column:1/-1;margin-bottom:0}.classroom-report-card-comment textarea{min-height:96px;resize:vertical}.classroom-report-card-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px}.classroom-report-card-message{min-height:20px}.classroom-gradebook-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.classroom-gradebook-summary-card{display:grid;grid-gap:3px;gap:3px;padding:12px;border-radius:14px;border:1px solid var(--line);background:rgba(26,115,232,.04)}.classroom-gradebook-summary-card strong{font-size:16px}.classroom-gradebook-note{padding:10px 12px;border-radius:14px;border:1px solid rgba(26,115,232,.14);background:rgba(26,115,232,.06);color:#174ea6;font-weight:600;font-size:13px}.classroom-gradebook-student-list{display:grid;grid-gap:12px;gap:12px;margin-top:6px}.classroom-gradebook-student-card{display:grid;grid-gap:14px;gap:14px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#ffffff}.classroom-gradebook-student-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:start}.classroom-gradebook-overall{min-width:150px;text-align:right}.classroom-gradebook-overall span{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.classroom-gradebook-overall strong{display:block;margin-top:2px;font-size:20px}.classroom-gradebook-work-list{display:grid;border-top:1px solid rgba(15,23,42,.08)}.classroom-gradebook-work-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(15,23,42,.08)}.classroom-gradebook-work-row:last-child{border-bottom:0}.classroom-gradebook-work-main{min-width:0}.classroom-gradebook-work-main strong{display:block;max-width:100%;line-height:1.35;overflow-wrap:anywhere}.classroom-gradebook-work-result{display:grid;justify-items:end;grid-gap:6px;gap:6px;min-width:92px}.classroom-gradebook-status{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:999px;background:rgba(107,114,128,.1);color:#4b5563;font-size:12px;font-weight:700}.classroom-gradebook-status.returned{background:rgba(22,101,52,.1);color:#166534}.classroom-gradebook-status.draft{background:rgba(146,64,14,.1);color:#92400e}.classroom-gradebook-status.missing{background:rgba(107,114,128,.1);color:#4b5563}.classroom-gradebook-table-shell{max-width:100%}.classroom-gradebook-table{min-width:980px;table-layout:fixed}.classroom-gradebook-table td,.classroom-gradebook-table th{width:150px;vertical-align:top}.classroom-gradebook-table td:first-child,.classroom-gradebook-table th:first-child{width:210px}.classroom-gradebook-table td:nth-child(2),.classroom-gradebook-table th:nth-child(2){width:130px}.classroom-gradebook-table td div,.classroom-gradebook-table td strong,.classroom-gradebook-table th div{overflow-wrap:anywhere}.classroom-gradebook-table .classroom-gradebook-status{margin-top:6px}@media (max-width:720px){.classroom-gradebook-student-head,.classroom-gradebook-work-row{grid-template-columns:1fr}.classroom-gradebook-overall,.classroom-gradebook-work-result{justify-items:start;text-align:left}.classroom-gradebook-work-result{min-width:0}}.rooms-layout{align-items:start}.workspace-sidebar{min-width:0}.workspace-sidebar-card{display:grid;grid-gap:14px;gap:14px;position:-webkit-sticky;position:sticky;top:20px}.workspace-sidebar-inner{display:grid;grid-gap:12px;gap:12px;max-height:calc(100dvh - 190px);overflow:auto;padding-right:4px}.room-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.room-mini-tab-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--line);background:white;color:var(--text);cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.room-tab-btn{padding:10px 14px}.room-mini-tab-btn{padding:8px 12px}.room-mini-tab-btn.active,.room-tab-btn.active{background:var(--accent);color:white;border-color:var(--accent)}.room-mini-tab-btn:hover,.room-tab-btn:hover{transform:translateY(-1px)}.room-calendar-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.room-calendar-card{min-height:220px}.room-calendar-list{display:grid;grid-gap:10px;gap:10px;margin-top:12px;max-height:260px;overflow:auto;padding-right:4px}.room-calendar-item{display:grid;grid-gap:4px;gap:4px;padding:12px;border-radius:16px;background:rgba(255,255,255,.82);border:1px solid var(--line);width:100%;text-align:left;cursor:pointer}.calendar-modal-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.36);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.calendar-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}.calendar-modal-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.calendar-modal-header h3{font-size:28px;line-height:1.1}.calendar-modal-summary{padding:12px 16px;border-radius:18px;background:rgba(239,246,255,.92);border:1px solid rgba(147,197,253,.35)}.calendar-modal-footer,.calendar-modal-summary{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.calendar-modal .status-group{align-items:center}.calendar-modal .status-badge input[type=checkbox]{accent-color:var(--accent)}.calendar-modal .field label{color:var(--slate-700)}.workspace-search{width:100%}.issue-report-filter-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(260px,1fr) minmax(160px,220px) minmax(160px,220px);margin-top:12px}@media (max-width:720px){.issue-report-filter-grid{grid-template-columns:minmax(0,1fr)}}.entity-management-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.entity-rail{position:-webkit-sticky;position:sticky;top:28px;display:grid;grid-gap:16px;gap:16px}.entity-rail-search{display:grid;grid-gap:12px;gap:12px}.entity-rail-heading{margin-bottom:10px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.entity-rail-links{display:grid;grid-gap:8px;gap:8px}.entity-rail-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.8)}.entity-rail-link.active{border-color:rgba(26,115,232,.3);background:rgba(26,115,232,.08)}.entity-rail-tools{display:grid;grid-gap:10px;gap:10px}.entity-header-card{display:grid;grid-gap:18px;gap:18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.entity-header-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.entity-header-actions{flex-wrap:wrap;justify-content:flex-end}.lesson-plan-filter-grid{display:grid;grid-template-columns:2fr repeat(6,minmax(0,1fr));align-items:end;grid-gap:12px;gap:12px}.lesson-plan-filter-grid .field{margin-bottom:0;min-width:0}@media (max-width:1200px){.lesson-plan-filter-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.lesson-plan-filter-grid .field:first-child{grid-column:1/-1}}@media (max-width:720px){.lesson-plan-filter-grid{grid-template-columns:1fr}}@media (max-width:960px){.classes-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.classes-stat-row{grid-template-columns:1fr}}.courses-list-toolbar{display:grid;grid-gap:12px;gap:12px}.courses-page,.courses-page .card{min-width:0}.courses-page .table{table-layout:fixed}.courses-page .table td,.courses-page .table th{overflow-wrap:anywhere}.courses-list-controls{display:grid;grid-template-columns:max-content max-content minmax(240px,1fr) 220px;align-items:end;grid-gap:8px;gap:8px;min-width:0}.courses-list-actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;justify-content:flex-end}.courses-search-field,.courses-type-field{min-width:0}.profile-documents-page-shell,.profile-page-shell{gap:18px}.profile-page-shell{max-width:1180px}.profile-documents-page-shell{max-width:980px}.profile-documents-hero,.profile-hero-card{background:rgba(255,255,255,.96);border-top:3px solid rgba(15,23,42,.08)}.profile-hero-toolbar{align-items:flex-start}.profile-hero-copy{display:grid;grid-gap:8px;gap:8px;max-width:68ch}.profile-hero-title{margin:0;font-size:clamp(22px,2.5vw,32px);line-height:1.08;letter-spacing:-.04em;font-weight:700}.profile-hero-text{color:var(--muted);max-width:68ch}.profile-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.profile-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.profile-metric{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:rgba(248,250,252,.96)}.profile-metric span{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.profile-metric strong{font-size:16px;line-height:1.2}.profile-tabs-card{padding:12px}.profile-tab-strip{display:flex;flex-wrap:wrap;gap:10px}.profile-tab-panel{display:grid;grid-gap:18px;gap:18px}.profile-tab-panel-narrow{max-width:920px}.profile-section-card{max-width:100%}.profile-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.profile-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:16px}.profile-records-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px;align-items:start}.profile-status-card{max-width:920px}.profile-documents-layout,.profile-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);grid-gap:18px;gap:18px;align-items:start}.profile-documents-layout{grid-template-columns:1fr}.profile-documents-main,.profile-documents-side,.profile-main-column,.profile-side-column{display:grid;grid-gap:18px;gap:18px}.profile-section-title{margin-top:0;margin-bottom:0}.profile-section-intro{margin-top:8px;color:var(--muted)}.profile-field-grid{margin-top:16px}.profile-footer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.profile-quick-links{display:grid;grid-gap:10px;gap:10px}.profile-link-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(248,250,252,.94);color:var(--text);box-shadow:none;transition:border-color .14s ease,background .14s ease,transform .14s ease}.profile-link-card strong{display:block;margin-bottom:4px}.profile-link-card:hover{border-color:rgba(15,23,42,.12);background:rgba(255,255,255,.98);transform:translateY(-1px)}.profile-document-meta{display:grid;grid-gap:4px;gap:4px;margin-top:10px;color:var(--muted);font-size:14px}.profile-document-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.profile-document-bucket,.profile-documents-list{display:grid;grid-gap:12px;gap:12px}.profile-document-bucket{padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(248,250,252,.94)}.profile-document-bucket .entity-list{gap:10px}.profile-documents-list .entity-list-item{border-radius:10px;background:rgba(255,255,255,.86)}.profile-document-actions .secondary-btn,.profile-footer-actions .secondary-btn,.profile-hero-actions .secondary-btn{background:rgba(255,255,255,.94)}.profile-documents-page-shell .card,.profile-page-shell .card{box-shadow:0 8px 24px rgba(15,23,42,.04)}.parent-email-records-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.parent-email-records-toolbar .status-group{align-items:center}.parent-email-records-page .crud-toolbar{grid-template-columns:minmax(0,1fr)}.parent-email-records-page .crud-toolbar-actions{justify-content:flex-start}.parent-email-records-page .crud-action-group{width:auto}.parent-email-toolbar-summary{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;min-width:0}.parent-email-toolbar-summary .status-group{align-items:center}.parent-email-records-page .crud-toolbar-actions .primary-btn,.parent-email-records-page .crud-toolbar-actions .secondary-btn{white-space:nowrap}.parent-email-filter-bar{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(5,minmax(120px,1fr));grid-gap:12px;gap:12px;align-items:end}.parent-email-filter-field{margin-bottom:0;min-width:0}.parent-email-filter-field>span{font-size:13px;font-weight:700;color:var(--muted)}.parent-email-filter-field input,.parent-email-filter-field select{min-width:0}.tutoring-hours-stats-row{display:grid;grid-template-columns:repeat(6,minmax(180px,1fr));grid-gap:12px;gap:12px;overflow-x:auto;padding-bottom:2px}.entity-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;align-items:end}.entity-toolbar-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr) minmax(200px,.72fr);grid-gap:12px;gap:12px;align-items:end}.entity-toolbar-actions{min-width:0}.entity-toolbar-search,.entity-toolbar-sort{margin-bottom:0}.students-filter-bar{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.entity-filter-field{margin-bottom:0}.entity-filter-field>span{font-size:13px;font-weight:700;color:var(--muted)}.entity-filter-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.notifications-filter-panel{display:grid;grid-gap:16px;gap:16px}.notifications-filter-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.notifications-filter-search{min-width:0}.notifications-filter-grid .field{min-width:0;margin-bottom:0}.notifications-filter-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.notifications-filter-actions{justify-content:flex-end}.entity-pager-footer,.entity-pager-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between}.entity-list{display:grid;grid-gap:12px;gap:12px;min-width:0;max-width:100%}.entity-inline-panel{display:grid;grid-gap:16px;gap:16px;padding-top:16px;border-top:1px solid var(--line)}.entity-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;max-width:100%;box-sizing:border-box;padding:16px 18px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(15,23,42,.05)}.staff-attendance-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:end}.staff-attendance-intro h3{font-size:clamp(24px,3vw,34px);letter-spacing:-.03em}.staff-attendance-toolbar{display:grid;grid-gap:12px;gap:12px;justify-items:stretch;min-width:min(100%,360px)}.staff-attendance-date-field{min-width:min(100%,320px)}.staff-attendance-toolbar-actions{justify-content:flex-end;flex-wrap:wrap}.section-heading-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 16px;align-items:center}.staff-attendance-summary-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-quick-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);grid-gap:18px;gap:18px;align-items:center}.teacher-quick-copy{min-width:0;display:grid;grid-gap:8px;gap:8px}.teacher-quick-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.teacher-quick-name-row strong{font-size:18px;line-height:1.2}.teacher-quick-meta{display:flex;flex-wrap:wrap;gap:10px 14px}.teacher-quick-meta span+span{position:relative}.teacher-quick-meta span+span:before{content:"|";margin-right:14px;color:rgba(95,105,121,.6)}.teacher-quick-actions{display:grid;grid-gap:12px;gap:12px;justify-items:end}.teacher-quick-time,.teacher-quick-time input{min-width:180px}.entity-list-copy{min-width:0;max-width:100%;display:grid;grid-gap:10px;gap:10px;flex:1 1 auto}.entity-list-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.entity-list-title{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--accent-strong);min-width:0;overflow-wrap:anywhere}.entity-list-meta,.entity-list-submeta{display:flex;flex-wrap:wrap;gap:10px 16px;color:var(--muted);font-size:13px;line-height:1.45;min-width:0;max-width:100%;overflow-wrap:anywhere}.entity-list-meta span,.entity-list-submeta span{min-width:0;overflow-wrap:anywhere}.entity-list-meta span+span,.entity-list-submeta span+span{position:relative}.entity-list-meta span+span:before,.entity-list-submeta span+span:before{content:"|";margin-right:16px;color:rgba(95,105,121,.6)}.entity-status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em}.entity-status.is-active{color:#166534;background:rgba(34,197,94,.12)}.entity-status.is-inactive{color:#7c2d12;background:rgba(249,115,22,.12)}.entity-status.is-draft{color:#475569;background:rgba(148,163,184,.18)}.entity-status.is-overdue{color:#991b1b;background:rgba(239,68,68,.14)}.entity-status.is-due-soon{color:#92400e;background:rgba(245,158,11,.18)}.afterschool-detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.afterschool-detail-metric{display:grid;grid-gap:8px;gap:8px;padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:rgba(248,250,252,.9)}.afterschool-detail-metric-label{font-size:13px;font-weight:700;color:var(--muted)}.afterschool-detail-metric-value{font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.afterschool-detail-metric-detail{font-size:13px;color:var(--muted);line-height:1.5}.entity-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;flex:0 0 auto;min-width:0;max-width:100%}.workspace-list-empty{padding:6px 2px}.workspace-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;text-align:left;cursor:pointer;border:1px solid var(--line);background:rgba(255,255,255,.82);padding:14px 16px;border-radius:18px;box-shadow:none}.workspace-list-item.active{border-color:var(--accent);background:rgba(26,115,232,.08)}.workspace-list-item .muted,.workspace-list-item strong{word-break:break-word}.workspace-detail{min-width:0}.control-section>summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:8px}.control-section>summary::-webkit-details-marker{display:none}.control-section>summary strong{display:block;font-size:18px;line-height:1.1}.control-section[open]>summary{margin-bottom:12px;border-bottom:1px solid var(--line)}.control-section[open]>summary strong{margin-bottom:4px}.workspace-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.workspace-pager .status-group{justify-content:flex-end}.timetable-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.timetable-title-row h3{margin:8px 0 6px;font-size:28px;line-height:1.15}.timetable-summary-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(15,23,42,.06)}.timetable-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));grid-gap:12px;gap:12px;min-width:0}.timetable-summary-actions{justify-content:flex-end;min-width:max-content}.timetable-metric-card{min-width:0}.timetable-metric-card strong{display:block;margin-top:4px;font-size:24px;line-height:1.1}.table-shell{max-height:min(72dvh,820px);overflow:auto;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(15,23,42,.05)}.table-shell .table{min-width:100%}.table-shell .table th{position:-webkit-sticky;position:sticky;top:0;background:rgba(249,250,251,.98);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1}.selection-box{display:grid;grid-gap:10px;gap:10px;max-height:320px;overflow:auto;padding-right:4px}.selection-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;cursor:pointer;border:1px solid var(--line);background:rgba(255,255,255,.88);padding:12px 14px;border-radius:16px}.selection-pill.active{border-color:var(--accent);background:rgba(26,115,232,.08)}.schedule-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.schedule-header .status-group{width:100%}.calendar-board{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.calendar-workspace{display:grid;grid-gap:16px;gap:16px}.calendar-toolbar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.9fr) auto;grid-gap:14px;gap:14px;align-items:center;padding:16px 18px;border-radius:28px;border:1px solid rgba(26,115,232,.12);background:rgba(255,255,255,.9);box-shadow:0 18px 48px rgba(15,23,42,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:static;z-index:1}.calendar-toolbar-left,.calendar-toolbar-right{display:flex;align-items:center;gap:12px;min-width:0}.calendar-toolbar-right{justify-content:flex-end;flex-wrap:wrap}.calendar-icon-btn{width:44px;height:44px;padding:0;border-radius:14px}.calendar-app-icon{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);grid-gap:2px;gap:2px}.calendar-app-icon span{display:block;width:8px;height:8px;border-radius:2px}.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}.calendar-title-group{display:grid;grid-gap:2px;gap:2px;min-width:0}.calendar-title-group strong{font-size:18px;line-height:1.15;letter-spacing:-.02em}.calendar-search{min-width:0}.calendar-search .workspace-search{width:100%;min-width:0;border-radius:999px;background:rgba(248,250,252,.96)}.calendar-view-switch{display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.calendar-layout{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(300px,340px) minmax(0,1fr);align-items:start}.calendar-sidebar{display:grid;grid-gap:14px;gap:14px;align-content:start;position:-webkit-sticky;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;padding-right:4px}.calendar-create-btn{width:100%;justify-content:center}.calendar-card{display:grid;grid-gap:14px;gap:14px;padding:16px;border-radius:24px;border:1px solid rgba(26,115,232,.12);background:rgba(255,255,255,.9);box-shadow:0 18px 48px rgba(15,23,42,.06)}.calendar-day-details-card{gap:12px}.calendar-day-details-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:12px}.calendar-day-event-list{display:grid;grid-gap:10px;gap:10px}.calendar-day-event-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:8px 12px;gap:8px 12px;align-items:start;width:100%;padding:12px 14px;border-radius:18px;border:1px solid rgba(26,115,232,.1);background:rgba(248,250,252,.92);text-align:left;cursor:pointer}.calendar-day-event-row.is-selected{border-color:rgba(26,115,232,.28);background:rgba(26,115,232,.08)}.calendar-day-event-main{display:grid;grid-gap:3px;gap:3px;min-width:0}.calendar-day-event-main strong{display:block;line-height:1.32;overflow-wrap:anywhere}.calendar-day-event-main .muted{line-height:1.35}.calendar-day-event-meta{grid-column:2;color:var(--muted);font-size:13px;line-height:1.3;overflow-wrap:anywhere}.calendar-day-event-detail{display:grid;grid-gap:12px;gap:12px;padding:14px;border-radius:20px;border:1px solid rgba(26,115,232,.12);background:rgba(255,255,255,.96)}.calendar-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.calendar-section-eyebrow{color:#1a73e8;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.calendar-mini-grid{display:flex;flex-wrap:wrap;gap:6px;width:100%}.calendar-mini-weekday{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.08em}.calendar-mini-day,.calendar-mini-weekday{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 36px) / 7);min-width:0}.calendar-mini-day{display:grid;place-items:center;min-height:38px;border:1px solid transparent;border-radius:12px;background:transparent;cursor:pointer;position:relative;color:var(--text)}.calendar-mini-day:hover{border-color:rgba(26,115,232,.16);background:rgba(26,115,232,.06)}.calendar-mini-day.is-outside{opacity:.4}.calendar-mini-day.is-selected{background:rgba(26,115,232,.12);border-color:rgba(26,115,232,.26)}.calendar-mini-day.is-today{color:#1a73e8;font-weight:800}.calendar-dot{position:absolute;bottom:6px;width:5px;height:5px;border-radius:999px;background:#1a73e8}.calendar-filter-list{display:grid;grid-gap:8px;gap:8px}.calendar-filter-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;border:1px solid transparent;cursor:pointer}.calendar-filter-row:hover{background:rgba(26,115,232,.05);border-color:rgba(26,115,232,.12)}.calendar-filter-row input{margin:0}.calendar-color-chip{width:12px;height:12px;border-radius:999px;flex:0 0 auto}.calendar-filter-label{display:grid;grid-gap:2px;gap:2px;min-width:0}.calendar-shortcuts{display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-size:13px}.calendar-shortcuts kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 6px;border-radius:7px;border:1px solid var(--line);background:white;font-size:12px;font-weight:700;color:var(--text)}.calendar-main{display:grid;grid-gap:16px;gap:16px;min-width:0}.calendar-banner{padding:14px 16px;border-radius:18px;border:1px solid rgba(26,115,232,.12);background:rgba(255,255,255,.92);color:var(--text);box-shadow:0 12px 32px rgba(15,23,42,.05)}.calendar-event-panel{display:grid;grid-gap:14px;gap:14px;padding:18px;border-radius:24px;border:1px solid rgba(26,115,232,.14);background:rgba(255,255,255,.94);box-shadow:0 16px 42px rgba(15,23,42,.06)}.calendar-event-meta,.calendar-event-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-event-panel-head strong{display:block;font-size:20px;line-height:1.25;overflow-wrap:anywhere}.calendar-event-kind-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.calendar-event-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-event-grid>div{min-width:0}.calendar-event-grid strong{display:block;overflow-wrap:anywhere}.calendar-notes{margin:0;color:var(--muted);white-space:pre-wrap}.calendar-grid{min-width:0}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.calendar-month-cell{min-height:150px;padding:12px;border-radius:22px;border:1px solid rgba(26,115,232,.1);background:rgba(255,255,255,.9);text-align:left;cursor:pointer;display:grid;grid-gap:10px;gap:10px;align-content:start;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.calendar-month-cell:hover{transform:translateY(-1px);border-color:rgba(26,115,232,.2);box-shadow:0 16px 28px rgba(15,23,42,.06)}.calendar-month-cell.is-outside{background:rgba(255,255,255,.72);opacity:.6}.calendar-month-cell.is-selected{border-color:rgba(26,115,232,.3);box-shadow:inset 0 0 0 1px rgba(26,115,232,.14)}.calendar-month-cell.is-today{background:rgba(26,115,232,.06)}.calendar-month-cell-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:800}.calendar-today-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:rgba(26,115,232,.12);color:#1a73e8;font-size:11px;font-weight:800}.calendar-month-cell-body{display:grid;grid-gap:6px;gap:6px;min-width:0}.calendar-month-chip{display:flex;align-items:center;gap:8px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden;padding:7px 9px;border-radius:12px;color:white;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:0 10px 20px rgba(15,23,42,.12)}.calendar-month-chip-dot{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.9);flex:0 0 auto}.calendar-month-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-more-link{color:#1a73e8;font-size:12px;font-weight:700}.calendar-day-surface{display:grid;grid-gap:12px;gap:12px;min-width:0;overflow-x:auto}.calendar-day-header-row{display:grid;grid-template-columns:72px;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-gap:0;gap:0;min-width:0}.calendar-day-time-column{height:86px}.calendar-day-header{display:grid;grid-gap:4px;gap:4px;align-content:start;min-height:86px;padding:10px 10px 12px;border-left:1px solid var(--line);border-top-left-radius:18px;border-top-right-radius:18px;background:rgba(255,255,255,.88);cursor:pointer}.calendar-day-header.is-selected{background:rgba(26,115,232,.08)}.calendar-day-header.is-today{color:#1a73e8}.calendar-time-grid{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:start;min-width:0}.calendar-time-rail{display:grid;grid-template-rows:repeat(24,60px);border-right:1px solid var(--line);background:rgba(255,255,255,.72)}.calendar-time-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:8px 10px 0 0;color:var(--muted);font-size:12px}.calendar-time-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.calendar-time-columns.is-single{grid-template-columns:1fr}.calendar-time-column{position:relative;min-width:0;border-left:1px solid var(--line);background:repeating-linear-gradient(180deg,rgba(15,23,42,.04) 0,rgba(15,23,42,.04) 1px,transparent 0,transparent 60px);cursor:crosshair}.calendar-time-column.is-today{background:repeating-linear-gradient(180deg,rgba(26,115,232,.03) 0,rgba(26,115,232,.03) 1px,transparent 0,transparent 60px)}.calendar-all-day-strip{min-height:62px;padding:10px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9)}.calendar-all-day-empty{color:var(--muted);font-size:12px}.calendar-all-day-chip{display:block;width:100%;margin-bottom:6px;padding:8px 10px;border-radius:12px;color:white;text-align:left;font-size:12px;font-weight:700;box-shadow:0 10px 20px rgba(15,23,42,.12)}