@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}}
