@charset "UTF-8";
:root{--ink:#183d40;--muted:#6f7e7e;--paper:#f7f8f5;--line:#e3e8e2;--orange:#edb07b;--green:#e7efe7;--white:#fff;--radius:16px}*{box-sizing:border-box}body{margin:0;font:15px/1.6 "Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,3.1vw,44px);line-height:1.18;letter-spacing:-1.7px;font-weight:650;margin-bottom:12px}h2{font-size:22px;line-height:1.35;letter-spacing:-.55px}h3{font-size:16px;line-height:1.4;margin-bottom:7px}p{color:var(--muted)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d77c33;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:254px;background:#173b3e;color:#e5eeea;padding:34px 24px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:650;letter-spacing:-.8px}.brand-mark{background:var(--orange);border-radius:10px;width:35px;height:37px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:25px;line-height:1;font-weight:750}.brand-mark span{transform:translateY(-3px)}.muted-brand{color:#a6c0bd;font-weight:400}.school-identity{display:flex;align-items:center;gap:11px;margin:42px 0 30px;padding-bottom:25px;border-bottom:1px solid #ffffff19}.school-identity strong{font-size:13px;font-weight:600}.school-identity small{display:block;color:#a2bab7;font-size:11px}.school-icon{flex-shrink:0;display:inline-grid;place-items:center;border-radius:12px;background:#e8eee1;color:var(--ink);width:46px;height:46px;font-size:17px;font-weight:700;letter-spacing:-1px}.nav-caption{font-size:10px;letter-spacing:1.9px;color:#95b0ad;margin:0 14px 10px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:11px 14px;font-size:13px;border-radius:9px;color:#c4d7d2}.sidebar nav a span{font-size:20px;width:22px;text-align:center}.sidebar nav a:hover,.sidebar nav a[aria-current]{background:#315458;color:#fff}.sidebar nav a[aria-current]{box-shadow:inset 3px 0 var(--orange)}.sidebar-bottom{margin-top:auto;padding-top:35px;font-size:12px}.sidebar-bottom>a{display:block;color:#b1c8c4;margin:20px 0 10px}.role-note{border:1px solid #ffffff21;border-radius:10px;padding:14px 12px;font-size:12px}.role-note small{display:block;font-size:10px;color:#a5beba;margin-top:5px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#97c6a5;margin-right:6px}.logout{background:none;color:#e2eeea;border:0;padding:0}.page-wrap{margin-left:254px}.public .page-wrap{margin-left:0}.topbar{height:85px;padding:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{margin:0 14px;color:#a9b3af}.topbar-right{display:flex;align-items:center;gap:23px}.language{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;padding:3px 6px;background:white}.language select{border:0;padding:4px;width:auto;color:var(--ink);font-size:12px;background:white;margin:0}.language button{border:0;background:transparent;color:var(--ink);font-size:18px;padding:0 6px}.avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#f4e4d4;font-weight:650;font-size:13px}main{max-width:1420px;margin:auto;padding:26px 44px 50px;min-height:calc(100vh - 150px)}.public main{max-width:1280px}.demo-banner{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1px;margin-bottom:30px;color:#567569}.demo-banner>span:last-child{font-size:11px;letter-spacing:0;color:var(--muted);margin-left:8px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:7px 0 28px}.page-heading p:last-child{margin-bottom:0;font-size:14px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:12px}.pill,.tag{display:inline-block;background:#edf2eb;color:#526b59;font-size:11px;font-weight:500;padding:5px 10px;border-radius:6px;white-space:nowrap}.pill{border:1px solid #dce4d9;background:#fff;font-size:12px;padding:7px 12px}.hello-dot{color:#c9874c}.welcome-panel{background:#e7eee4;display:flex;justify-content:space-between;align-items:center;padding:30px 35px;border-radius:var(--radius);overflow:hidden;min-height:205px;margin-bottom:24px}.welcome-panel h2{max-width:440px;font-size:29px;letter-spacing:-1px;margin:7px 0 9px}.welcome-panel p{font-size:13px;margin-bottom:15px;color:#59706a}.welcome-panel .eyebrow{color:#6e8277;font-size:9px}.text-link{font-size:12px;font-weight:600}.welcome-art{font-size:150px;line-height:1;position:relative;color:#799b85;padding-right:20px}.welcome-art span{position:absolute;right:-10px;bottom:0;background:var(--orange);color:#385947;font-size:60px;width:80px;height:80px;border-radius:50%;text-align:center;line-height:1.2}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 34px}.stat{background:white;padding:18px 22px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column}.stat>span{font-size:12px;color:var(--muted)}.stat strong{font-size:34px;font-weight:600;letter-spacing:-1px;margin:3px 0}.stat small{font-size:11px;color:#75877c}.dashboard-columns{display:grid;grid-template-columns:1.17fr 1fr;gap:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0 16px;gap:16px}.section-heading h2{font-size:18px;margin:0}.section-heading a{font-size:11px;font-weight:600}.dashboard-columns .section-heading:first-child{margin-top:0}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:17px}.card p{font-size:13px}.notice h3{font-size:18px;margin:17px 0 10px}.notice h2{margin-top:18px}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-bottom:10px}.byline{border-top:1px solid #eef0eb;padding-top:15px;margin-top:20px;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.mini-avatar{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#edf0e4;font-size:11px;color:var(--ink);margin-right:7px}.event-stack,.homework-stack{padding:8px 20px}.event-row{display:flex;gap:15px;align-items:center;padding:19px 0}.event-row+.event-row,.homework-row+.homework-row{border-top:1px solid var(--line)}.date-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:52px;height:62px;background:#f1f3ec;border-radius:9px;text-transform:uppercase;font-size:9px;color:#788775;line-height:1.2}.date-tile strong{font-size:23px;color:var(--ink);font-weight:600;margin-bottom:3px}.event-row h3{font-size:13px}.event-row p,.homework-row p{margin:0;font-size:11px}.homework-row{display:flex;align-items:center;gap:12px;padding:17px 0}.homework-row h3{font-size:12px}.homework-row>span:last-child{margin-left:auto}.homework-icon{background:#f8e9da;display:grid;place-items:center;min-width:34px;height:38px;border-radius:7px;font-size:22px;color:#ad7447}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:var(--ink);color:white;padding:12px 20px;border-radius:8px;font-weight:550;font-size:13px;white-space:nowrap}.button:hover{background:#2e5555}.button.small{font-size:12px;padding:9px 14px}.button.orange{background:var(--orange);color:var(--ink)}.button.secondary{background:#fff;color:var(--ink);border:1px solid #dbe2d8}.button.full{width:100%}.content-grid,.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.feature-grid{grid-template-columns:repeat(3,1fr);margin:30px 0 50px}.feature-number{display:block;color:#a18261;font-size:11px;margin-bottom:23px}.feature-grid h2{font-size:20px}.public-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;padding:50px 0 40px}.public-hero h1{font-size:clamp(40px,4.5vw,66px);letter-spacing:-2.8px}.hero-description{font-size:16px;max-width:530px;margin:24px 0 30px}.fineprint{font-size:11px!important;color:#7d8781;margin:20px 0 0}.illustration{height:370px;background:#e4ecdf;border-radius:130px 130px 24px 24px;position:relative;overflow:hidden}.orbit{position:absolute;width:280px;height:280px;border:1px solid #a6bba354;border-radius:50%;left:70px;top:10px}.orbit-two{left:-70px;top:190px;width:380px;height:380px}.illustration-card{position:absolute;background:white;border-radius:12px;padding:15px 20px;width:145px;height:95px;box-shadow:0 12px 24px #173d4010;display:flex;align-items:center;gap:14px}.illustration-card span{font-size:30px}.illustration-card strong{font-size:17px}.card-one{top:65px;left:35px;transform:rotate(-9deg)}.card-two{top:180px;right:30px;transform:rotate(8deg);background:#efb37f}.card-three{bottom:20px;left:50px;transform:rotate(-4deg)}.big-star{position:absolute;top:20px;right:25px;font-size:130px;line-height:1;color:#688b71}.school-card{display:flex;align-items:center;gap:18px;padding:25px}.school-card h3{font-size:19px;margin:0 0 3px}.school-card p{margin:0}.school-card .arrow,.school-card .button{margin-left:auto}.access-card{margin-top:35px;padding:30px}.role-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:28px}.role-grid>div>span{font-size:12px;color:#a47f5b}.role-grid h3{margin-top:10px;font-size:14px}.role-grid p{font-size:12px}.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;max-width:950px;margin:55px auto;align-items:center}.login-intro h1{font-size:50px}.login-intro p{font-size:15px}.login-roles{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.login-roles span{border:1px solid #d4ded0;border-radius:20px;font-size:11px;padding:5px 11px}.login-card{padding:32px}.login-card h2{margin-top:20px}.login-card>p{margin-bottom:25px}.form-card{max-width:760px}.form-card form>p,.login-card form>p{margin-bottom:20px}label{display:block;color:var(--ink);font-size:12px;font-weight:600;margin-bottom:7px}input,select,textarea{border:1px solid #d8dfd5;border-radius:7px;padding:11px 12px;width:100%;background:#fff;color:var(--ink);margin-bottom:3px}textarea{resize:vertical}.helptext{display:block;font-size:11px;color:var(--muted);margin-top:5px}.errorlist{font-size:12px;color:#a23f30;background:#fff2eb;padding:12px 12px 12px 30px;border-radius:8px}.message{background:#e5f0df;border:1px solid #c5dabe;padding:13px 18px;border-radius:9px;font-size:13px;margin-bottom:20px}.cancel{margin-left:20px;font-size:13px;color:var(--muted)}.back-link{font-size:12px;display:inline-block;margin-bottom:25px;color:var(--muted)}.reading-width{max-width:850px}.prose p{font-size:15px;line-height:1.85;white-space:normal;overflow-wrap:anywhere}.assignment-card{display:block}.assignment-card:hover{border-color:#9bb298}.assignment-symbol{font-size:45px;color:#a1815d;display:block;margin:15px 0}.assignment-card .text-link{display:inline-block;margin-top:15px}.feedback{padding:20px;background:#edf3e9;border-radius:10px;margin-top:20px}.calendar-event{display:flex;gap:25px}.calendar-event .date-tile{min-width:75px;height:85px}.calendar-event h2{margin:12px 0}.calendar-event p{max-width:750px}.event-location{margin-bottom:0;color:#597662!important}.action-bar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 25px}.table-wrap{padding:0;overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:500;background:#fafbf8}th,td{padding:16px 22px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}.empty{color:var(--muted);font-size:14px}.subtle{font-size:12px;color:var(--muted)}footer{font-size:10px;color:#91a095;padding:20px 44px;border-top:1px solid var(--line)}footer span{margin:0 9px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){main{padding-top:35px}.welcome-panel{min-height:230px}.welcome-panel h2{max-width:560px;font-size:34px}.dashboard-columns{gap:30px}}
@media(max-width:1150px){.sidebar{width:220px;padding:25px 17px}.page-wrap{margin-left:220px}main{padding:24px}.topbar{padding:0 24px}.dashboard-columns{grid-template-columns:1fr}.dashboard-columns>section{min-width:0}.role-grid{grid-template-columns:repeat(3,1fr)}.welcome-panel{padding:26px}.welcome-art{font-size:110px}.login-layout{gap:35px}.public-hero{gap:30px}.illustration{height:330px}.feature-grid{gap:15px}.demo-banner{flex-wrap:wrap}}
@media(max-width:760px){.sidebar{position:relative;width:100%;padding:17px 20px;display:block}.sidebar .brand{font-size:18px}.school-identity,.nav-caption,.role-note,.sidebar-bottom>a{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:5px;margin-top:17px;padding-bottom:3px}.sidebar nav a{flex-shrink:0;font-size:11px;padding:8px 10px}.sidebar nav a span{display:none}.sidebar-bottom{position:absolute;right:20px;top:24px;margin:0;padding:0}.page-wrap{margin:0}.topbar{height:64px;padding:0 20px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 7px}.topbar-right{gap:10px}.avatar{display:none}main{padding:20px}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:22px}.page-heading h1{font-size:32px}.page-heading .pill{font-size:10px}.page-heading p:last-child{font-size:12px}.demo-banner{margin-bottom:25px;font-size:8px;gap:5px}.demo-banner>span:last-child{display:block;flex-basis:100%;font-size:10px;margin-left:0}.welcome-panel{padding:25px 20px;min-height:200px}.welcome-panel h2{font-size:24px}.welcome-panel p{font-size:12px}.welcome-art{display:none}.stats{gap:8px;margin-top:18px}.stat{padding:15px 12px;border-radius:9px}.stat>span{font-size:10px;min-height:32px}.stat strong{font-size:28px}.stat small{font-size:9px}.content-grid,.feature-grid,.public-hero,.login-layout{grid-template-columns:1fr}.card{padding:21px}.public-hero{padding:30px 0 10px;gap:25px}.public-hero h1{font-size:46px}.illustration{height:270px;max-width:420px;width:100%;margin:auto}.feature-grid{margin-top:30px;gap:0}.login-layout{margin:25px auto;gap:20px}.login-intro h1{font-size:36px}.login-intro>p{font-size:13px}.login-roles{margin-top:15px}.login-card{padding:25px}.role-grid{grid-template-columns:1fr 1fr}.school-card{flex-wrap:wrap;gap:12px}.school-card .button{margin-left:0}.school-card p{font-size:11px}.table-wrap{padding:0}th,td{padding:13px 15px}.calendar-event{gap:15px}.calendar-event .date-tile{min-width:55px;height:70px}.calendar-event h2{font-size:18px}.calendar-event p{font-size:12px}.section-heading h2{font-size:17px}.language select{font-size:11px}.public .topbar .brand{font-size:17px}.public .topbar .button{font-size:10px;padding:9px}footer{padding:20px}.card-meta{flex-wrap:wrap}.action-bar .button{font-size:11px}.topbar .brand-mark{width:29px;height:31px;font-size:22px}}
/* Administration, class workspaces and schedules */
.school-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:14px;align-items:end}.school-filters .search-field{grid-column:1/-1}.school-filters .button{align-self:end}.school-filters .cancel{margin:0;padding-bottom:12px}.directory-table{min-width:830px}.school-name{display:flex;align-items:center;gap:13px;min-width:220px}.school-name small,.table-small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.school-name strong{font-size:14px}.school-name .school-icon{width:39px;height:43px}.tag-off{background:#fae9e0!important;color:#935737!important}.pagination{display:flex;gap:22px;justify-content:center;align-items:center;margin-top:24px;font-size:13px}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:8px 0 28px;overflow-x:auto}.tabs a{white-space:nowrap;padding:12px 0;font-size:13px;color:var(--muted)}.tabs a[aria-current]{color:var(--ink);border-bottom:3px solid #bf8655;font-weight:650}.detail-list{display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr;gap:14px 18px;font-size:13px}.detail-list dt{color:var(--muted);font-size:12px}.detail-list dd{margin:0;overflow-wrap:anywhere}.detail-list dd small{display:block;color:var(--muted);margin-top:5px}.school-map{width:100%;height:260px;border:0;border-radius:10px;margin-bottom:15px}.map-placeholder{padding:22px;background:#eef2e8;border-radius:12px;text-align:center;font-size:36px;color:#72937a;margin-bottom:15px}.map-placeholder p{max-width:240px;margin:auto;font-size:12px}.status-card{display:flex;align-items:center;gap:30px;justify-content:space-between}.status-card p{max-width:620px;margin-bottom:8px}.button.danger{background:#8a4939}.sectioned-form{max-width:1000px}.form-section{padding:26px;border:1px solid var(--line)}.form-section legend{float:left;width:100%;font-size:20px;letter-spacing:-.4px;font-weight:600;margin-bottom:22px;padding:0}.form-grid{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:21px}.form-field{min-width:0}.form-grid textarea{min-height:100px;max-height:240px}.wide-field{grid-column:1/-1}.form-actions{margin:24px 0 35px;display:flex;align-items:center}.form-card input[type=checkbox],.checkbox-label input[type=checkbox]{width:auto;min-width:18px;height:18px;vertical-align:middle;accent-color:#173e40;margin-right:7px}.form-card p:has(input[type=checkbox]){display:flex;align-items:center;flex-wrap:wrap;gap:10px}.form-card p:has(input[type=checkbox]) label{margin:0}.form-card p:has(input[type=checkbox]) .helptext{flex-basis:100%}.invoice-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:20px 0;font-size:11px;color:var(--muted)}.invoice-facts strong{display:block;font-size:15px;color:var(--ink);margin-top:5px}.audit-row{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-row small{color:var(--muted)}details summary{cursor:pointer;font-weight:600;font-size:14px;padding:9px 0}details[open] summary{margin-bottom:18px}.action-bar{align-items:end}.action-bar .grow{flex:1;min-width:180px}.link-button{border:0;background:transparent;padding:0;color:#8a5a3c;font-size:12px;text-decoration:underline;text-underline-offset:3px}.subject-list{margin:18px 0}.subject-list>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.subject-list>div span{color:var(--muted)}.class-switcher{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 25px}.class-switcher>span{font-size:11px;color:var(--muted);margin-right:8px}.class-switcher a{border:1px solid var(--line);border-radius:9px;background:white;padding:9px 16px;font-size:13px}.class-switcher a[aria-current]{background:var(--ink);color:white;border-color:var(--ink)}.week-grid{display:grid;grid-template-columns:repeat(5,minmax(155px,1fr));gap:13px;overflow-x:auto;padding-bottom:20px}.day-column h2{font-size:14px;padding:12px;text-align:center;background:#eaf0e6;border-radius:7px}.lesson-card{border:1px solid var(--line);border-left:3px solid #729778;background:white;padding:15px 12px;border-radius:9px;margin-bottom:12px}.lesson-card time{font-size:12px;font-weight:650}.lesson-card h3{font-size:14px;margin:10px 0}.lesson-card p{font-size:11px;margin-bottom:4px}.break-card{background:#f6ede0;border-left-color:#c9945f}.lesson-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:11px}.lesson-actions .link-button{font-size:11px}.emergency-note{padding:12px 16px;background:#fcf0e6;border-left:3px solid #c68a51;border-radius:6px}.emergency-note p{margin:0;color:#795338}.assignment-progress{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#58705d}.assignment-progress span{background:#edf2e8;padding:4px 8px;border-radius:5px}.review-form{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.sidebar nav a{padding-top:8px;padding-bottom:8px}.sidebar-bottom{padding-top:15px}.sidebar .school-identity{margin-top:25px;margin-bottom:15px;padding-bottom:18px}
@media(max-width:1100px){.school-filters{grid-template-columns:1fr 1fr}.invoice-facts{grid-template-columns:1fr 1fr}.detail-list{grid-template-columns:1fr}.detail-list dd{margin-top:-10px}.sidebar nav a{font-size:12px;gap:9px}.sidebar-bottom .role-note{padding:9px}.sidebar-bottom>a{margin-top:10px}}
@media(max-width:760px){.school-filters{grid-template-columns:1fr 1fr;gap:12px}.school-filters .search-field{grid-column:1/-1}.school-filters .button{font-size:12px}.school-filters .cancel{font-size:12px}.form-grid{grid-template-columns:1fr}.form-section{padding:22px 18px}.form-section legend{font-size:18px}.tabs{gap:22px}.tabs a{font-size:12px}.status-card{display:block}.status-card form{margin-top:22px}.week-grid{grid-template-columns:1fr;overflow:visible}.day-column h2{text-align:left}.lesson-card{padding:15px}.class-switcher{gap:8px}.class-switcher a{font-size:12px;padding:8px 12px}.class-switcher>span{width:100%}.invoice-facts strong{font-size:14px}.sidebar-bottom{padding-top:0}.sidebar nav a{font-size:11px;padding:8px 10px}.sidebar .school-identity{display:none}.school-filters input,.school-filters select{font-size:13px}}
