:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173a33;background:#f7f8f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}.visually-hidden,.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.7rem}.landing-shell{min-height:100vh;background:#173f37;color:#fff}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:1.3rem clamp(1.25rem,5vw,5rem)}.logo{display:flex;align-items:center;gap:.65rem;color:inherit;text-decoration:none;font-weight:850;font-size:1.15rem}.logo span,.dashboard-logo span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f5b85f;color:#173f37}.text-button{border:0;background:transparent;color:inherit;font-weight:750;cursor:pointer}.landing-main{min-height:calc(100vh - 85px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:clamp(3rem,8vw,8rem);align-items:center;max-width:1280px;margin:auto;padding:3rem clamp(1.25rem,5vw,5rem) 6rem}.pitch h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.9;letter-spacing:-.065em;margin:.5rem 0 2rem;max-width:10ch}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:850;color:#d89538;margin:0 0 .55rem}.lead{font-size:1.2rem;max-width:55ch;color:#dbe8e2}.pitch ul{display:grid;gap:.65rem;padding-left:1.2rem;color:#edf7f2}.auth-card{background:#fff;color:#17352f;border-radius:2rem;padding:1.25rem;box-shadow:0 30px 80px #04140f4d}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#eef3f0;border-radius:1rem;padding:.3rem}.tabs button{border:0;background:transparent;border-radius:.75rem;padding:.75rem;font-weight:750;cursor:pointer}.tabs button.active{background:#fff;box-shadow:0 3px 12px #173f3718}.auth-card form{padding:1.2rem}.auth-card h2{font-size:2rem;margin:.5rem 0}.auth-card label,.editor-form label,.school-form>label{display:grid;gap:.45rem;font-weight:700;margin-top:1rem}.auth-card input,.editor-form input,.editor-form textarea,.school-form input{width:100%;border:1px solid #d8e0dc;border-radius:.7rem;padding:.78rem;background:#fff}.primary,.secondary{border:0;border-radius:.65rem;padding:.78rem 1.1rem;font-weight:800;cursor:pointer}.primary{background:#167565;color:#fff;box-shadow:0 5px 14px #16756522}.secondary{background:#e9f1ee;color:#174c42}.primary:disabled{opacity:.5;cursor:not-allowed}.full{width:100%;margin-top:1.4rem}.alert,.notice{border-radius:.75rem;padding:.8rem 1rem;margin:1rem 0}.alert{background:#fff0ec;color:#8d2e1b}.notice{background:#e8f7ef;color:#126043}.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:#f6f7f4}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#123d35;color:#fff;padding:1.5rem 1rem}.dashboard-logo{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;font-size:1.12rem;padding:0 .65rem 2rem}.sidebar nav{display:grid;gap:.35rem}.sidebar nav button{display:flex;align-items:center;gap:.8rem;border:0;border-radius:.65rem;background:transparent;color:#c8ddd6;padding:.8rem .9rem;text-align:left;font-weight:650;cursor:pointer}.sidebar nav button>span{display:grid;place-items:center;width:24px;font-size:1.25rem}.sidebar nav button:hover,.sidebar nav button.active{background:#fff;color:#17483e}.sidebar-help{display:flex;gap:.7rem;align-items:center;margin:auto .45rem 1rem;padding:.9rem;background:#1d5147;border-radius:.75rem}.sidebar-help>span{display:grid;place-items:center;border:1px solid #75a197;border-radius:50%;width:28px;height:28px}.sidebar-help div,.profile-card div{display:grid}.sidebar small{font-size:.68rem;color:#a8c5bd;margin-top:.15rem}.profile-card{display:flex;align-items:center;gap:.65rem;border-top:1px solid #38645b;padding:1rem .4rem 0}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;overflow:hidden;background:#e8b15c;color:#153c35;font-weight:850}.avatar img{width:100%;height:100%;object-fit:cover}.profile-card div{min-width:0}.profile-card strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card button{margin-left:auto;border:0;background:transparent;color:#c8ddd6;font-size:1.2rem;cursor:pointer}.dashboard-main{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:flex-end;padding:0 2.5rem;background:#fff;border-bottom:1px solid #e5e9e6}.user-settings-button{display:flex;align-items:center;gap:.65rem;border:1px solid transparent;border-radius:.75rem;background:transparent;color:#173a33;padding:.35rem .5rem;cursor:pointer}.user-settings-button:hover,.user-settings-button:focus-visible{background:#f4f7f5;border-color:#dde6e2}.user-settings-summary{display:grid;text-align:left}.user-settings-summary strong{font-size:.78rem}.user-settings-summary small{color:#75837f;font-size:.65rem}.settings-backdrop{position:fixed;inset:0;z-index:60;background:#0a282155}.user-settings-panel{position:absolute;right:0;top:0;width:min(420px,100%);height:100%;display:flex;flex-direction:column;overflow-y:auto;background:#fff;padding:2rem;box-shadow:-20px 0 60px #0a28212b}.settings-heading{display:flex;justify-content:space-between;gap:1rem}.settings-heading h2{font-size:1.6rem;margin:0}.settings-heading .close-button{font-size:1.7rem;align-self:flex-start}.settings-profile{display:flex;align-items:center;gap:1rem;margin:2rem 0;padding:1.2rem;background:#f2f6f4;border-radius:1rem}.settings-profile>.avatar{width:48px;height:48px;font-size:1.1rem}.settings-profile div{display:grid;gap:.2rem}.settings-profile span:not(.avatar){font-size:.78rem;color:#71807b}.account-details{margin:0}.account-details>div{padding:1rem 0;border-bottom:1px solid #e5e9e6}.account-details dt{font-size:.7rem;font-weight:800;color:#7c8985}.account-details dd{margin:.3rem 0 0;font-size:.9rem}.profile-form{display:grid;gap:.8rem}.profile-form>label:not(.avatar-upload){display:grid;gap:.4rem;font-size:.75rem;font-weight:750}.profile-form input{width:100%;border:1px solid #d8e0dc;border-radius:.65rem;padding:.72rem}.avatar-upload{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.75rem;font-weight:750;cursor:pointer}.avatar-upload .secondary{font-size:.72rem;padding:.55rem .75rem}.remove-avatar{justify-self:end;border:0;background:transparent;color:#8d2e1b;font-size:.72rem;cursor:pointer}.settings-message{font-size:.75rem;margin:0 0 1rem}.password-form{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e9e6}.password-form h3{margin:0;font-size:1.05rem}.password-form>p{margin:.35rem 0 1rem;color:#71807b;font-size:.75rem}.password-form label{display:grid;gap:.4rem;margin-top:.8rem;font-size:.75rem;font-weight:750}.password-form input{width:100%;border:1px solid #d8e0dc;border-radius:.65rem;padding:.72rem}.password-form .alert,.password-form .notice{font-size:.75rem;margin:.8rem 0}.logout-button{margin-top:2rem;width:100%;color:#8d2e1b;background:#fff0ec}.dashboard-content{max-width:1280px;margin:auto;padding:3rem clamp(1.5rem,4vw,4rem) 5rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem}.section-heading h1{font-size:clamp(2.2rem,4vw,3.3rem);letter-spacing:-.045em;line-height:1;margin:0 0 .7rem}.section-heading p:last-child{color:#6d7c77;margin:0}.surface,.school-card{background:#fff;border:1px solid #e1e7e3;border-radius:1rem;box-shadow:0 7px 24px #173f3709}.school-card{display:grid;grid-template-columns:76px 1fr auto;gap:1.25rem;padding:1.4rem;margin-bottom:1.5rem}.school-brand{width:76px;height:76px;border-radius:.85rem;display:grid;place-items:center;overflow:hidden;color:#fff;font-size:2rem;font-weight:850}.school-brand img{width:100%;height:100%;object-fit:contain;background:#fff}.school-summary{min-width:0}.card-title{display:flex;align-items:center;gap:.7rem}.card-title h2{font-size:1.18rem;margin:0}.card-title>span{padding:.22rem .5rem;border-radius:999px;background:#e5f6ed;color:#17704f;font-size:.65rem;font-weight:800}.school-code{font-size:.7rem;color:#82908b;margin:.35rem 0 1rem}.school-details{display:grid;grid-template-columns:1.15fr .8fr 1fr 1fr .8fr;gap:1.5rem}.school-details>span{display:block;min-width:0;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.school-details small{display:block;color:#899590;font-size:.65rem;margin-bottom:.3rem}.school-details i{display:inline-block;width:19px;height:19px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #dde4e1;margin-right:-3px;vertical-align:middle}.icon-button,.close-button{border:0;background:transparent;color:#75837e;font-weight:800;cursor:pointer}.school-form{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;padding:1.7rem;margin-top:1.2rem}.school-form .wide{grid-column:1/-1}.form-heading{grid-column:1/-1;display:flex;justify-content:space-between}.form-heading h2{margin:0}.form-heading p{margin:.3rem 0;color:#77847f;font-size:.85rem}.school-form label small{font-size:.68rem;color:#87938f;font-weight:400}.school-form fieldset{border:0;padding:0;margin:1.2rem 0 0}.school-form legend{font-weight:700}.color-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.color-fields label{font-size:.72rem;color:#71807b}.color-fields input{height:44px;padding:.3rem}.upload-box{min-height:90px;border:1px dashed #afc2bb;border-radius:.8rem;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fafcfb;cursor:pointer}.upload-box img{max-width:70px;max-height:45px;margin-bottom:.4rem}.logo-upload>span:first-child{margin-bottom:.45rem}.actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.subscription-card{padding:1.75rem;display:grid;grid-template-columns:1fr 1.3fr auto;align-items:center;gap:2rem}.mini-logo{display:grid;place-items:center;width:45px;height:45px;background:#185d50;color:#fff;border-radius:.6rem;font-weight:850}.subscription-card h2{margin:.6rem 0 .2rem;font-size:1rem}.subscription-card p{font-size:.7rem;color:#82908b;margin:0}.plan{color:#17715e;font-size:.85rem}.plan-options{display:grid;gap:.55rem;font-size:.8rem}.plan-options hr{width:100%;border:0;border-top:1px solid #e4e8e5}.muted{color:#91a09b}.empty-state{text-align:center;padding:4rem 2rem}.empty-state>span{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#eaf3ef;color:#176b5b;font-size:2rem;margin:auto}.empty-state h2{margin:1.2rem 0 .4rem}.empty-state p{color:#74827d;max-width:500px;margin:.4rem auto 1.5rem}.web-grid{display:grid;grid-template-columns:minmax(340px,.75fr) minmax(500px,1.25fr);gap:1.3rem}.editor{padding:1.5rem}.editor h2{margin:0 0 1rem}.editor-form{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.editor-form .wide{grid-column:1/-1}.preview-panel{padding:1.5rem;background:#e8edea;border-radius:1rem}.preview-toolbar{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.75rem;font-weight:750;color:#587068}.school-preview{--preview-primary:#176b5b;--preview-secondary:#f4a261;background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 20px 50px #173f3718}.school-preview nav{display:flex;justify-content:space-between;padding:1rem 1.2rem;font-size:.75rem}.school-preview nav strong{display:flex;align-items:center;gap:.45rem}.school-preview nav img{width:25px;height:25px;object-fit:contain}.school-preview nav span{color:var(--preview-primary);font-weight:750}.preview-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;align-items:center;padding:2.5rem 2rem}.preview-hero small{text-transform:uppercase;letter-spacing:.12em;color:var(--preview-primary);font-weight:850;font-size:.6rem}.preview-hero h2{font-size:clamp(1.7rem,3vw,3rem);line-height:.95;letter-spacing:-.055em;margin:.6rem 0 1rem}.preview-hero p{line-height:1.5;font-size:.75rem}.preview-hero button{border:0;border-radius:999px;background:var(--preview-primary);color:#fff;padding:.6rem .9rem;font-size:.7rem;font-weight:750}.preview-art{position:relative;min-height:210px;border-radius:48% 52% 42% 58%;background:#e8f3ee;overflow:hidden}.preview-art i{position:absolute;border-radius:50%;background:var(--preview-secondary)}.preview-art i:first-child{width:110px;height:110px;right:-20px;top:20px}.preview-art i:last-child{width:75px;height:75px;left:15px;bottom:20px;background:var(--preview-primary)}.preview-contact{display:grid;grid-template-columns:1.3fr 1fr;gap:.25rem 1rem;padding:1.4rem 2rem;background:var(--preview-primary);color:#fff;font-size:.68rem}.preview-contact strong{grid-row:span 3;font-size:1rem}@media(max-width:1000px){.landing-main{grid-template-columns:1fr}.dashboard-shell{grid-template-columns:78px 1fr}.sidebar{padding:1.3rem .65rem}.dashboard-logo strong,.sidebar nav button:not(.active){font-size:0}.dashboard-logo{padding:.1rem .2rem 2rem}.sidebar nav button{justify-content:center;padding:.8rem}.sidebar nav button.active{font-size:0}.sidebar-help,.profile-card div,.profile-card button{display:none}.profile-card{justify-content:center}.school-details{grid-template-columns:1fr 1fr}.web-grid{grid-template-columns:1fr}.subscription-card{grid-template-columns:1fr 1fr}}@media(max-width:650px){.landing-header{padding:1rem}.landing-main{padding:2rem 1rem 4rem;gap:2rem}.pitch h1{font-size:3.4rem}.dashboard-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:.7rem}.dashboard-logo,.sidebar-help,.profile-card{display:none}.sidebar nav{display:flex;overflow:auto}.sidebar nav button,.sidebar nav button.active{font-size:0;min-width:54px}.topbar{padding:0 1rem}.dashboard-content{padding:2rem 1rem}.section-heading{align-items:flex-start;flex-direction:column}.school-card{grid-template-columns:55px 1fr auto}.school-brand{width:55px;height:55px}.school-details,.school-form{grid-template-columns:1fr}.school-form .wide{grid-column:auto}.color-fields{grid-template-columns:1fr 1fr 1fr}.subscription-card,.editor-form{grid-template-columns:1fr}.editor-form .wide{grid-column:auto}.preview-hero{grid-template-columns:1fr}.preview-art{display:none}.preview-contact{grid-template-columns:1fr}.preview-contact strong{grid-row:auto}}.school-picker{display:grid;gap:.35rem;font-size:.7rem;font-weight:800;color:#6d7c77}.school-picker select{min-width:210px;border:1px solid #d8e0dc;border-radius:.65rem;padding:.7rem;background:#fff;color:#173a33}.current-subscription{padding:1.25rem 1.4rem;display:grid;grid-template-columns:1.3fr 1fr auto;align-items:center;gap:2rem}.subscription-school{display:flex;align-items:center;gap:.85rem;min-width:0}.subscription-school-details{min-width:0}.subscription-school-name{display:flex;align-items:center;gap:.75rem;min-width:0}.current-subscription .mini-logo{flex:0 0 45px;overflow:hidden}.current-subscription .mini-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.school-color-stripe{display:flex;width:92px;height:20px;overflow:hidden;flex:0 0 auto;transform:skew(-24deg);border-radius:2px;box-shadow:0 0 0 1px #173f3714}.school-color-stripe i{display:block}.school-color-stripe i:nth-child(1){flex:3}.school-color-stripe i:nth-child(2){flex:2}.school-color-stripe i:nth-child(3){flex:1}.current-subscription small,.current-subscription>div:nth-child(2) span{display:block;color:#82908b;font-size:.7rem}.current-subscription h2{margin:.15rem 0;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-subscription>div:nth-child(2) strong{display:block;margin:.2rem 0;color:#17715e}.plans-intro{display:flex;justify-content:space-between;align-items:end;margin:2.5rem 0 1.2rem}.plans-intro h2{margin:0;font-size:1.35rem}.plans-intro p,.plans-intro>span{color:#74827d;font-size:.8rem;margin:.35rem 0 0}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:stretch}.plan-card{position:relative;padding:1.5rem;display:flex;flex-direction:column}.plan-card.featured{border:2px solid #167565}.recommended{position:absolute;right:1rem;top:-.7rem;background:#167565;color:#fff;border-radius:999px;padding:.3rem .65rem;font-size:.65rem;font-weight:800}.plan-card>p{min-height:2.2rem;color:#74827d;font-size:.78rem;margin:0}.plan-card h3{font-size:1.25rem;margin:.8rem 0 .3rem}.price{display:flex;align-items:baseline;gap:.3rem;padding-bottom:1rem;border-bottom:1px solid #e4e8e5}.price strong{font-size:2rem}.price span{font-size:.7rem;color:#82908b}.plan-card ul{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.65rem;font-size:.78rem;line-height:1.35}.plan-card li{color:#425e57}.plan-card .full{margin-top:auto}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#0a2821aa;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.checkout{position:relative;width:min(540px,100%);max-height:calc(100vh - 2rem);overflow:auto;padding:2rem}.checkout>.close-button{position:absolute;right:1.2rem;top:1rem;font-size:1.6rem}.checkout h2{margin:.25rem 0 1rem;font-size:1.7rem}.demo-banner{display:grid;gap:.2rem;border-radius:.7rem;padding:.8rem 1rem;background:#fff6df;color:#72521f;font-size:.78rem}.demo-banner span{font-size:.7rem}.checkout form>label,.payment-row label{display:grid;gap:.4rem;margin-top:1rem;font-size:.78rem;font-weight:750}.checkout input{width:100%;border:1px solid #d8e0dc;border-radius:.65rem;padding:.75rem}.checkout fieldset{border:0;padding:0;margin:1.2rem 0}.checkout legend{font-size:.78rem;font-weight:800;margin-bottom:.6rem}.addon{display:flex;align-items:center;gap:.7rem;padding:.65rem;border:1px solid #e0e7e3;border-radius:.65rem;margin:.45rem 0;cursor:pointer}.addon input{width:auto}.addon span{display:flex;justify-content:space-between;width:100%;font-size:.75rem}.addon small{color:#6d7c77}.payment-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkout-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e0e7e3;margin-top:1.3rem;padding-top:1rem}.checkout-total strong{font-size:1.4rem}@media(max-width:850px){.plans-grid{grid-template-columns:1fr}.current-subscription{grid-template-columns:1fr auto}.current-subscription>div:nth-child(2){grid-column:1/-1}.plans-intro{align-items:flex-start;flex-direction:column;gap:.4rem}}@media(max-width:650px){.subscriptions-heading{gap:1rem}.school-picker,.school-picker select{width:100%}.current-subscription{grid-template-columns:1fr}.current-subscription>div:nth-child(2){grid-column:auto}.plans-intro>span{display:none}.payment-row{grid-template-columns:1fr}.checkout{padding:1.4rem}}.staff-loading{padding:2rem;text-align:center;color:#74827d}.staff-table-wrap{overflow-x:auto}.staff-table{width:100%;border-collapse:collapse}.staff-table th,.staff-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid #e6ebe8;font-size:.8rem}.staff-table th{color:#788680;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.staff-table tbody tr:last-child td{border-bottom:0}.staff-table td:first-child strong,.staff-table td:first-child small{display:block}.staff-table td:first-child small{margin-top:.25rem;color:#82908b}.role-badge{display:inline-block;border-radius:999px;padding:.3rem .65rem;background:#e8f3ef;color:#176b5b;font-weight:800}.status-dot{color:#17704f;font-weight:700}.status-dot:before{content:"";display:inline-block;width:7px;height:7px;margin-right:.4rem;border-radius:50%;background:#29a36a}.status-dot.inactive{color:#82908b}.status-dot.inactive:before{background:#aab4b0}.checkout select{width:100%;border:1px solid #d8e0dc;border-radius:.65rem;padding:.75rem;background:#fff}.checkout label small{color:#82908b;font-weight:400}@media(max-width:650px){.staff-table th,.staff-table td{padding:.8rem}.staff-table th:nth-child(4),.staff-table td:nth-child(4){display:none}}
