@font-face{font-family:'Montserrat Alternates';src:url('/fonts/MontserratAlternates-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Montserrat Alternates';src:url('/fonts/MontserratAlternates-Italic-variable.woff2') format('woff2');font-style:italic;font-weight:100 900;font-display:swap}
:root{font-family:'Montserrat Alternates',sans-serif;color:#172c2c;background:#f7f8f5;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-height:100vh}
.topbar{height:72px;background:#fff;border-bottom:1px solid #e7eeea;color:#172c2c;display:flex;align-items:center;justify-content:space-between;padding:0 43px;gap:24px}
.brand{font-size:20px;font-weight:750;letter-spacing:-.025em;white-space:nowrap}
.brand span{font-weight:400;color:#9bceb5}
.breadcrumbs{display:flex;align-items:center;gap:13px;color:#9aaba6;font-size:12px;font-weight:700;min-width:0}
.breadcrumbs strong{color:#2a443e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slash{color:#c6d4ce}
.privacy-pill{border:1px solid #e7eeea;border-radius:100px;padding:6px 11px;font-size:11px;font-weight:700;color:#59736e;background:#fff;white-space:nowrap}
.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#63ad80;margin-right:6px}
nav{display:flex;align-items:center;gap:18px;font-size:13px}
nav a,nav .link{color:#286f67;text-decoration:none}
nav form{margin:0}
nav .link{background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline}
main{width:min(1120px,calc(100% - 48px));margin:48px auto 90px}
.workspace-layout.with-sidebar{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 72px)}
.workspace-layout.with-sidebar main{width:min(1120px,calc(100% - 64px));margin:42px auto 90px}
.workspace-nav{background:#fff;border-right:1px solid #e7eeea;padding:31px 17px 42px}
.workspace-brand{display:flex;align-items:center;gap:11px;padding:0 13px;margin-bottom:59px;color:#172c2c}
.workspace-mark{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#286f67;color:#fff;font-size:26px;font-weight:800;letter-spacing:-3px;line-height:1;padding-right:4px}
.workspace-mark span{color:#bfe6d9}
.workspace-brand strong{display:block;font-size:22px;font-weight:800;letter-spacing:-1.2px;line-height:1}
.workspace-brand small{display:block;color:#78908b;font-size:11px;letter-spacing:2.7px;margin-top:2px}
.workspace-label{color:#839993;font-size:11px;letter-spacing:.18em;font-weight:850;margin:0 9px 18px}
.workspace-nav nav{display:grid;align-items:stretch;gap:3px}
.workspace-nav nav a{display:flex;align-items:center;gap:13px;border-radius:10px;color:#5c7470;text-decoration:none;font-weight:700;font-size:13px;padding:11px 13px}
.workspace-nav nav a span{width:20px;text-align:center;font-size:19px}
.workspace-nav nav a:hover,.workspace-nav nav a[aria-current="page"]{background:#e7f2ee;color:#286f67}
h1{font-size:clamp(29px,3vw,39px);letter-spacing:-1.8px;line-height:1.2;margin:7px 0 14px}
h2{font-size:21px;letter-spacing:-.025em;margin:0 0 20px}
p{line-height:1.6}
.intro{color:#5f7068;margin:0 0 30px}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#537665}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:28px 0 42px}
.school-card,.card{background:#fff;border:1px solid #e7eeea;border-radius:17px;box-shadow:0 2px 10px rgba(35,67,61,.035)}
.school-card{display:flex;flex-direction:column;justify-content:space-between;min-height:145px;padding:26px;color:inherit;text-decoration:none;transition:transform .15s,border-color .15s}
.school-card:hover{transform:translateY(-3px);border-color:#64a782}
.school-card strong{font-size:22px;letter-spacing:-.03em}
.school-card span{color:#547468;font-size:13px}
.card{padding:28px;margin:18px 0}
.columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px;margin:18px 0}
.columns .card{margin:0}
.narrow{max-width:520px;margin:60px auto}
.auth{max-width:430px;margin:80px auto}
.auth p{color:#62736a}
form{display:grid;gap:16px}
label{display:grid;gap:7px;font-size:13px;font-weight:650;color:#395448}
input,select,textarea{font:inherit;width:100%;border:1px solid #bfd1c3;border-radius:9px;padding:12px 13px;color:#1f3028;background:#fff}
textarea{resize:vertical;min-height:80px}
input:focus,select:focus,textarea:focus{outline:2px solid #4c9d73;outline-offset:2px}
button{font:inherit;font-weight:700;border:0;border-radius:9px;background:#26754d;color:#fff;padding:13px 19px;cursor:pointer}
button:hover{background:#185e3a}
button:disabled{opacity:.5;cursor:not-allowed}
.button-link{display:inline-flex;align-items:center;border-radius:9px;background:#26754d;color:#fff;text-decoration:none;font-size:13px;font-weight:700;padding:13px 19px}
.button-link:hover{background:#185e3a}
#importPreview:not(:empty){border:1px solid #dee7dc;border-radius:9px;padding:12px 16px;background:#f7faf6}
#importPreview p{margin:0 0 8px;font-weight:700}
#importPreview ul{margin:0;padding-left:20px;line-height:1.7}
#importStatus:empty{display:none}
.back{color:#47715c;text-decoration:none;font-size:13px;font-weight:700}
.notice{background:#fff0d6;color:#6a4a17;border-radius:9px;padding:13px 15px;font-size:14px}
.students{list-style:none;margin:0;padding:0}
.students li{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #e6ebe4}
.students li[hidden]{display:none}
.students li:last-child{border:0}
.class-summary-web{display:flex;align-items:center;gap:20px;padding:22px 25px;border:1px solid #cfe3d7;border-radius:15px;background:#e7f2ee}
.class-summary-web>span{display:grid;place-items:center;min-width:64px;height:64px;border-radius:13px;background:#286f67;color:#fff;font-size:21px;font-weight:850}
.class-summary-web h2{margin:6px 0;color:#285a49}
.class-summary-web p{margin:0;color:#638474;font-size:12px}
.class-search-web{display:flex;align-items:center;gap:6px;color:#7c9a89;font-size:18px}
.class-search-web input{width:min(280px,45vw);padding:9px 11px;font-size:12px}
.students small,.small{color:#708076;font-size:12px}
.count{font-size:14px;background:#e6f4e9;color:#31744c;border-radius:99px;padding:4px 10px;vertical-align:middle}
.lesson-list-web{display:grid;gap:10px}
.section-title-web{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.section-title-web h2{margin:0}
.section-title-web a{font-size:13px;font-weight:750;color:#26754d}
.lesson-card-web{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px 20px;border:1px solid #e5ede6;border-radius:12px;background:#fff;color:#243e33;text-decoration:none}
.lesson-card-web:hover{border-color:#b8d2c1;background:#f9fcf9}
.lesson-card-web span{display:grid;gap:6px;min-width:0}
.lesson-card-web strong{font-size:14px}
.lesson-card-web small{font-size:12px;color:#7f9688;overflow-wrap:anywhere}
.lesson-card-web b{flex:none;font-size:11px}
.lesson-card-web.is-taught,.lesson-card-web.is-taught:hover{background:#e4f2e4;border-color:#b8d2c1;color:#82a89b}
.lesson-card-web.is-taught *{color:#82a89b}
.diary-toolbar-web{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.diary-counts-web{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 18px;color:#799083;font-size:12px}
.diary-counts-web strong{font-size:18px;color:#246b4d;margin-right:3px}
.diary-panel-web .section-title-web{align-items:flex-end}
.diary-month-web{padding:20px 2px 7px;color:#698778;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
.diary-month-web span{color:#a3b6aa;margin-left:5px}
.diary-row-web{display:grid;grid-template-columns:145px minmax(0,1fr) auto;align-items:center;gap:18px;margin:8px 0;padding:17px 20px;border:1px solid #e5ede6;border-radius:12px;background:#fff;color:#243e33;text-decoration:none}
.diary-row-web:hover{background:#f9fcf9;border-color:#b8d2c1}
.diary-row-web time{display:flex;align-items:center;gap:10px;min-width:0}
.diary-row-web time>strong{font-size:37px;letter-spacing:-2px;line-height:1;color:#20372f}
.diary-row-web time>span{display:grid;gap:3px}
.diary-row-web time b{font-size:11px;color:#365e4c;white-space:nowrap}
.diary-row-web time small{font-size:10px;font-weight:700;color:#849b8e}
.diary-body-web{display:grid;min-width:0}
.diary-body-web>strong{margin-bottom:10px;font-size:12px;line-height:1.4}
.diary-period-web{display:grid;grid-template-columns:155px minmax(0,1fr);gap:14px;padding:7px 0;font-size:11px}
.diary-period-web+.diary-period-web{border-top:1px solid #e5ede7}
.diary-period-web>span{display:grid;gap:2px;color:#416d55;white-space:nowrap}
.diary-period-web>span b{font-size:10px;color:#3d7654}
.diary-period-web small{font-size:10px;color:#698775;line-height:1.5;overflow-wrap:anywhere}
.diary-period-web>small{font-size:11px;color:#5f7769}
.diary-unmatched-web{padding:5px 7px;border-radius:6px;background:#f3f6f1;color:#6f8877;font-size:10px}
.diary-status-web{align-self:start;font-size:11px;font-weight:800;white-space:nowrap}
.diary-row-web.is-taught,.diary-row-web.is-taught:hover{background:#e4f2e4;border-color:#b8d2c1;color:#82a89b}
.diary-row-web.is-taught *{color:#82a89b}
.lesson-drawer-open{overflow:hidden}
.lesson-drawer-layer-web{position:fixed;inset:0;z-index:50;display:flex;justify-content:flex-end}
.lesson-drawer-backdrop-web{position:absolute;inset:0;background:rgba(20,38,33,.38);backdrop-filter:blur(1px)}
.lesson-drawer-web{position:relative;width:min(720px,92vw);height:100%;overflow:auto;background:#f7f8f5;box-shadow:-18px 0 45px rgba(24,47,40,.2);padding:30px;outline:0;animation:lesson-drawer-in .18s ease-out}
.lesson-editor-head-web{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:18px 0 22px}
.lesson-editor-head-web h2{font-size:27px;margin:6px 0 4px}
.lesson-editor-head-web p{margin:0;color:#708076;font-size:12px}
.lesson-drawer-close-web{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #dfe9e1;color:#31584a;text-decoration:none;font-size:26px;line-height:1}
.lesson-drawer-close-web:hover{background:#e7f2ee}
.lesson-drawer-card-web{background:#fff;border:1px solid #e2ebe4;border-radius:15px;padding:24px;margin:14px 0}
.lesson-drawer-card-web h2{font-size:18px}
@keyframes lesson-drawer-in{from{transform:translateX(28px);opacity:.7}to{transform:translateX(0);opacity:1}}
.diary-holiday-web{background:#f5f4ec;border-color:#dedfca;color:#7c806a}
.diary-holiday-web time>strong,.diary-holiday-web time b,.diary-holiday-web .diary-body-web strong{color:#7c806a}
.diary-holiday-web .diary-body-web small,.diary-holiday-web .diary-status-web{color:#8a8e78}
.holiday-warning{display:block;color:#9a593a;font-weight:700}
.planning-list-web{display:grid}
.planning-list-web>a{display:grid;grid-template-columns:34px minmax(0,1fr) 110px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e8eee8;color:#2d4738;text-decoration:none}
.planning-list-web>a:last-child{border:0}
.planning-list-web>a>span{color:#91aa98;font-size:12px;font-weight:850}
.planning-list-web>a>div{display:grid;gap:3px}
.planning-list-web strong{font-size:13px}
.planning-list-web small{font-size:11px;color:#809487}
.planning-list-web time{font-size:10px;line-height:1.6;color:#718a78;text-align:right}
.planning-search-web{display:flex;gap:8px;align-items:flex-end;margin:12px 0 18px}
.planning-search-web label{flex:1}
.planning-search-web button{flex:none}
.catalog-web{max-height:620px;overflow:auto}
.catalog-web form{display:block;margin:0}
.catalog-web form+form{border-top:1px solid #e8eee8}
.catalog-web button{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;padding:11px 3px;border-radius:0;background:none;color:#2f4739;text-align:left}
.catalog-web button:hover{background:#f1f8f2}
.catalog-web button>b{font-size:11px;color:#91a99b}
.catalog-web button>span{display:grid;gap:3px}
.catalog-web button strong{font-size:12px}
.catalog-web button small{font-size:10px;color:#829489}
.catalog-web button em{font-style:normal;color:#38815a}
.archive-panel-web summary,.archive-list-web summary{cursor:pointer;color:#4c6c5c;font-weight:800}
.archive-panel-web[open] summary,.archive-list-web[open] summary{margin-bottom:12px}
.archive-panel-web p{font-size:13px;color:#6b7770}
.archive-panel-web button{justify-self:start}
.archive-list-web form{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e7eeea}
.archive-list-web form span{font-size:12px;overflow-wrap:anywhere}
.archive-list-web form button{font-size:12px;padding:8px 12px}
@media(max-width:560px){.planning-list-web>a{grid-template-columns:22px minmax(0,1fr)}.planning-list-web time{grid-column:2;text-align:left}.planning-search-web{align-items:stretch;flex-direction:column}.planning-search-web button{width:100%}}
@media(max-width:680px){.diary-row-web{grid-template-columns:1fr auto;gap:8px 12px;padding:14px}.diary-row-web time{grid-column:1}.diary-status-web{grid-column:2;grid-row:1}.diary-body-web{grid-column:1/-1;border-top:1px solid #eef2ed;padding-top:10px}.diary-period-web{grid-template-columns:1fr;gap:3px}.diary-period-web>span{display:flex;gap:9px}}
.students a{color:#245b42;font-weight:700;text-decoration:none}
.students a:hover{text-decoration:underline}
.student-record dl{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:10px 18px;margin:0 0 18px;overflow-wrap:anywhere}
.student-record dt{color:#6a8073;font-size:13px;font-weight:700}
.student-record dd{margin:0;line-height:1.5}
.student-record dd ul{margin:0;padding-left:18px}
.student-record form{display:block}
.student-record .link{background:none;color:#26754d;padding:0;text-align:left;font-size:13px}
.student-record .link:hover{text-decoration:underline}
.profile-editor>summary{cursor:pointer;color:#245b42;font-size:20px;font-weight:800;letter-spacing:-.02em}
.profile-editor[open]>summary{margin-bottom:22px}
.profile-editor h3{font-size:16px;margin:14px 0 0}
.inline-checks{display:flex;flex-wrap:wrap;gap:12px 24px}
.inline-checks label{display:flex;align-items:center;gap:8px}
.inline-checks input{width:auto}
.director-group-web form{display:block;margin:0;border-top:1px solid #e6ebe4}
.director-task-web,.director-task-web:hover{display:flex;align-items:center;gap:14px;width:100%;padding:15px 6px;border:0;border-radius:0;background:transparent;color:#344e43;text-align:left;font-size:14px;font-weight:600}
.director-task-web:hover{background:#f5faf5}
.director-task-web span{display:grid;place-items:center;width:27px;height:27px;flex:none;border:1px solid #b8d2c1;border-radius:50%;color:#5c8270;font-size:16px}
.director-task-web.is-done{color:#82a89b;text-decoration:line-through}
.director-task-web.is-done span{background:#e4f2e4}
.director-hero-web{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 29px;border:1px solid #cfe3d7;border-radius:16px;background:#e7f2ee}
.director-hero-web h2{margin:9px 0 5px;color:#285a49}
.director-hero-web p{margin:0;color:#668572;font-size:12px}
.director-hero-web>div:last-child{display:grid;text-align:center;color:#477d62}
.director-hero-web>div:last-child strong{font-size:31px}
.director-hero-web>div:last-child span{font-size:11px}
.director-columns-web{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:18px}
.director-columns-web>.card,.director-columns-web>div>.card{height:calc(100% - 18px)}
.director-group-web{margin-top:18px}
.director-group-web h3{color:#698274;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.director-helper-web{margin-top:20px;padding:18px;border-radius:10px;background:#f1f7f2;font-size:12px;color:#506c58}
.director-helper-web p{margin:8px 0}
.director-helper-web a{color:#286f67;font-weight:800}
@media(max-width:850px){.director-columns-web{grid-template-columns:1fr}}
.schedule-scroll{overflow-x:auto}
.timetable-web{width:100%;min-width:840px;border-collapse:separate;border-spacing:5px;table-layout:fixed}
.timetable-web th{font-size:12px;text-align:left;color:#667c70;padding:9px}
.timetable-web td{height:58px;background:#f7faf7;border:1px solid #e5ede6;border-radius:9px;vertical-align:top;padding:10px}
.timetable-web th:first-child{width:120px}
.timetable-web .schedule-cell{background:#eaf4ef;border-color:#bfddca}
.timetable-web .schedule-cell.is-support{background:#f2f4e8}
.timetable-web .schedule-cell.is-director{background:#eaeef5}
.timetable-web .schedule-cell.is-meeting{background:#f5eee8}
.schedule-cell strong,.schedule-cell span,.schedule-cell small{display:block;line-height:1.45}
.schedule-cell strong{font-size:13px;color:#27543b}
.schedule-cell span,.schedule-cell small{font-size:11px;color:#688572}
.schedule-cell form{display:block;margin-top:8px}
.schedule-cell .link{background:none;color:#27665f;padding:0;font-size:11px}
.grade-list-web{display:grid}
.grade-row-web{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e6ebe4;padding:13px 0}
.grade-row-web:last-child{border-bottom:0}
.grade-row-web>div{display:grid;gap:3px}
.grade-row-web a{color:#245b42;font-weight:700;text-decoration:none}
.grade-row-web small{color:#708076}
.grade-row-web form{display:flex;align-items:center;gap:10px}
.grade-row-web select{width:130px}
.class-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin:20px 0 28px}
.class-links a{color:#26754d;font-size:14px;font-weight:700}
.contact-list-web{display:grid}
.contact-row-web{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:18px;padding:18px 0;border-bottom:1px solid #e6ebe4}
.contact-row-web:last-child{border-bottom:0}
.contact-row-web>div{display:grid;align-content:start;gap:4px;overflow-wrap:anywhere}
.contact-row-web a{color:#245b42;font-weight:700;text-decoration:none}
.contact-row-web small,.contact-row-web span{color:#708076;font-size:13px}
.health-overview-web{display:flex;align-items:center;gap:15px;padding:20px 24px;background:#e7f2ee;border:1px solid #cfe3d7;border-radius:14px;color:#557567;font-size:13px}
.health-overview-web strong{color:#286f67;font-size:32px}
.health-filters-web{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.health-filters-web>label{display:flex;align-items:center;gap:7px;white-space:nowrap}
.health-filters-web input[type=checkbox]{width:auto}
.health-search-web span{font-size:19px}
.health-search-web input{width:min(270px,45vw);padding:9px 11px;font-size:12px}
.health-row-web{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:15px;padding:15px 4px;border-top:1px solid #e7eeea;color:#2d4738;text-decoration:none}
.health-row-web:hover{background:#f7faf6}
.health-row-web[hidden]{display:none}
.health-number-web{color:#88a095;font-size:12px;font-weight:800}
.health-person-web{display:grid;gap:7px;min-width:0}
.health-person-web strong{font-size:13px}
.health-person-web>span{display:flex;flex-wrap:wrap;gap:5px}
.health-person-web small{border-radius:99px;background:#e9f3ea;padding:4px 8px;color:#4c705b;font-size:10px;font-weight:750}
.health-person-web em{color:#92a49a;font-size:11px;font-style:normal}
.health-arrow-web{color:#81a48e;font-size:20px}
@media(max-width:680px){.health-filters-web{align-items:flex-start;flex-direction:column}.health-search-web input{width:min(100%,260px)}}
.guide-grid-web{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.guide-grid-web label:first-child,.guide-grid-web label:nth-child(4),.guide-grid-web label:nth-child(5){grid-column:1/-1}
.projection-tabs-web,.projection-actions-web{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}
.projection-tabs-web a{padding:.55rem .75rem;border-radius:.6rem;background:#eef5ee;color:#35534b;text-decoration:none}
.projection-tabs-web a[aria-current="page"]{background:#246b4d;color:white}
.projection-stage-web{aspect-ratio:16/9;display:flex;flex-direction:column;overflow:hidden;background:#f7f6ef;border:1px solid #ccd8cc;border-radius:.8rem;color:#253b35}
.projection-stage-web header,.projection-stage-web footer{padding:1rem 1.5rem;background:#e5eee5;font-size:.75rem;font-weight:700;letter-spacing:.1em}
.projection-stage-web footer{margin-top:auto}
.projection-stage-body-web{flex:1;display:grid;align-content:center;grid-template-columns:1fr 1fr;gap:.7rem 1.5rem;padding:2rem 5%}
.projection-stage-body-web small,.projection-stage-body-web h2,.projection-stage-body-web p{grid-column:1;margin:0}
.projection-stage-body-web h2{font-size:clamp(1.5rem,3.4vw,3.5rem)}
.projection-stage-body-web .projection-art-web{grid-column:2;grid-row:1/span 3;display:grid;place-items:center;min-height:12rem;padding:1.5rem;background:#dce9e1;color:#557367;text-align:center;font-size:1.2rem}
.projection-art-web img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain}
.projection-image-web{margin:1rem 0;padding:1rem;border:1px dashed #b8d2c1;border-radius:.7rem}
.projection-nav-web{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0}
.projection-present-actions-web{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}
.projection-stage-web:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0}
.document-list-web{list-style:none;padding:0;margin:0;display:grid}
.document-list-web li{border-bottom:1px solid #e5ede6}
.document-list-web li:last-child{border-bottom:0}
.document-list-web a{display:grid;gap:4px;padding:14px 2px;color:#28583f;text-decoration:none;overflow-wrap:anywhere}
.document-list-web a:hover{text-decoration:underline}
.document-list-web small{color:#728a7c}
.class-facts-web{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;margin-bottom:16px}
.class-facts-web>div{display:grid;align-content:start;gap:5px}
.class-facts-web small{color:#799083;font-weight:750;text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.class-facts-web strong{color:#29483a;font-size:15px}
.class-facts-web span{color:#668071;font-size:12px;overflow-wrap:anywhere}
.class-facts-web span a,.staff-email-web{display:block;margin:3px 0;color:#286f67;font-size:11px;font-weight:700;text-decoration:none}
.staff-email-web{padding:0;border:0;border-radius:0;background:none;text-align:left;overflow-wrap:anywhere}
.staff-email-web:hover{background:none;text-decoration:underline}
.staff-email-dialog-web{max-width:min(440px,calc(100vw - 32px));border:1px solid #cfe3d7;border-radius:16px;padding:26px;color:#29483a}
.staff-email-dialog-web::backdrop{background:rgba(21,39,33,.48)}
.staff-email-dialog-web>div{display:flex;flex-wrap:wrap;gap:8px}
.staff-email-dialog-web button{font-size:12px;padding:10px 13px}
.progress-controls-web{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}
.progress-controls-web a{padding:9px 13px;border-radius:8px;background:#edf4ee;color:#315c44;text-decoration:none;font-weight:700;font-size:13px}
.progress-controls-web a[aria-current="page"]{background:#246b4d;color:white}
.progress-controls-web span{margin-left:auto;color:#637f6f;font-size:13px}
.gradebook-scroll-web{overflow:auto;max-width:100%;border:1px solid #dfe9e1;border-radius:12px;background:white}
.gradebook-web{border-collapse:separate;border-spacing:0;min-width:760px;width:100%}
.gradebook-web th,.gradebook-web td{padding:10px;border-right:1px solid #e5ede6;border-bottom:1px solid #e5ede6;text-align:center}
.gradebook-web thead th{background:#edf4ee;color:#536f5e;font-size:12px}
.gradebook-web th:first-child{position:sticky;left:0;z-index:1;min-width:210px;text-align:left;background:#fff}
.gradebook-web thead th:first-child{z-index:2;background:#e2efe5}
.gradebook-web tbody th a{display:block;color:#245b42;text-decoration:none;font-size:13px}
.gradebook-web small{display:block;color:#7d9587;font-size:10px;font-weight:500}
.gradebook-web select{width:68px;min-width:68px;padding:6px;font-size:12px}
.gradebook-web .mark-absent{background:#f4e8e5}
.gradebook-web .mark-1{background:#f5e0dc}
.gradebook-web .mark-2{background:#f5e8d0}
.gradebook-web .mark-3{background:#f5f0d7}
.gradebook-web .mark-4{background:#e2f0e2}
.gradebook-web .mark-5{background:#cfebd9}
.grade-average-web{font-weight:800;color:#315a42}
.overview-class-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.overview-class-tabs a{padding:9px 14px;border-radius:9px;background:#eaf3eb;color:#315b44;text-decoration:none;font-weight:750;font-size:13px}
.overview-class-tabs a[aria-current="page"]{background:#246b4d;color:white}
.overview-primary-web{display:inline-flex;align-items:center;padding:12px 18px;border-radius:9px;background:#286f67;color:white;font-size:13px;font-weight:800;text-decoration:none}
.overview-primary-web:hover{background:#1f5a54}
.overview-notice-web{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;border:1px solid #cfe5dc;border-radius:14px;background:#e7f2ee;color:#2b5746}
.overview-notice-web>span{font-size:21px;color:#579d7d}
.overview-notice-web>div{display:grid;gap:5px}
.overview-notice-web strong{font-size:14px}
.overview-notice-web small{font-size:11px;color:#638474}
.overview-notice-web a{color:#286f67;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.overview-stats-web{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}
.overview-stats-web>div{display:grid;gap:3px;padding:18px 20px;background:#fff;border:1px solid #deebe2;border-radius:14px}
.overview-stats-web small{justify-self:end;color:#92ad9e;font-size:22px}
.overview-stats-web strong{font-size:32px;color:#236847;line-height:1}
.overview-stats-web span{font-size:12px;color:#708575;font-weight:700}
.overview-columns-web{grid-template-columns:repeat(2,minmax(0,1fr))}
.overview-columns-web .section-title-web{align-items:flex-start}
.overview-columns-web .section-title-web h2{margin-top:7px}
.overview-columns-web .section-title-web>a{white-space:nowrap}
.overview-list-web{display:grid}
.overview-list-web>a,.overview-list-web>div{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid #e3ece4;text-decoration:none;color:#284537}
.overview-list-web>a:last-child,.overview-list-web>div:last-child{border-bottom:0}
.overview-list-web time{color:#718b77;font-size:11px;font-weight:800}
.overview-list-web span{font-size:13px;font-weight:650}
.overview-list-web span small{display:block;margin-top:4px;color:#809487;font-size:10px}
@media(max-width:840px){.overview-columns-web{grid-template-columns:1fr}}
@media(max-width:600px){.overview-stats-web{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.overview-notice-web{grid-template-columns:30px 1fr}.overview-notice-web a{grid-column:2}}
@media(max-width:650px){.guide-grid-web{grid-template-columns:1fr}.projection-stage-body-web{padding:1rem}.projection-stage-body-web .projection-art-web{min-height:6rem;font-size:.8rem}}
@media(max-width:650px){.lesson-drawer-web{width:100vw;padding:22px 18px}.lesson-editor-head-web h2{font-size:23px}.lesson-drawer-card-web{padding:20px 17px}}
@media(max-width:680px){.topbar{height:auto;min-height:70px;padding:16px 24px;align-items:flex-start;flex-direction:column;gap:8px}nav{flex-wrap:wrap}main{margin-top:32px}.auth{margin:30px auto}}
@media(max-width:900px){.workspace-layout.with-sidebar{display:block}.workspace-nav{border-right:0;border-bottom:1px solid #e2ece7;padding:14px 24px}.workspace-brand,.workspace-label{display:none}.workspace-nav nav{display:flex;overflow-x:auto;gap:4px}.workspace-nav nav a{white-space:nowrap;font-size:12px;padding:10px}.workspace-nav nav a span{font-size:15px}.workspace-layout.with-sidebar main{width:min(1120px,calc(100% - 48px));margin-top:32px}}
@media(max-width:680px){.student-record dl{grid-template-columns:1fr;gap:4px}.student-record dd{margin-bottom:10px}.students li{flex-direction:column;gap:3px}}
@media(max-width:680px){.grade-row-web{align-items:stretch;flex-direction:column;gap:8px}.grade-row-web form{display:grid;grid-template-columns:1fr auto}.grade-row-web select{width:100%}}
@media(max-width:680px){.contact-row-web{grid-template-columns:1fr;gap:8px}}
