@font-face{font-family:Maven Pro;src:url(/fonts/maven-pro-variable.ttf)format("truetype");font-style:normal;font-weight:400 900;font-display:swap}:root{--green:#174d3c;--ink:#233c32;--muted:#73847a;--border:#e2e8df;--bg:#f6f7f2;--gold:#bd9651}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Maven Pro,sans-serif;font-size:14px}h1,h2,h3,.brand{font-family:Maven Pro,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;display:inline-flex}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green)}:is(button:focus-visible,a:focus-visible,summary:focus-visible){outline-offset:3px;outline:3px solid #bc995b}.app>.app-sidebar{border-right:1px solid var(--border);z-index:50;background:#fff;flex-direction:column;width:248px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1px;color:var(--green);align-items:center;gap:11px;padding:28px 24px 22px;font-size:26px;font-weight:800;display:flex}.brand-icon{background:var(--green);color:#fbf2d9;border-radius:14px 14px 4px;justify-content:center;align-items:center;width:40px;height:44px;display:flex}.brand span{letter-spacing:1.4px;margin-top:2px;font-family:Maven Pro,sans-serif;font-size:12px;font-weight:600;display:block}.school-name{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#f4f7f0;padding:15px 24px;font-size:12px;font-weight:600}.school-name small{color:var(--muted);margin-top:5px;font-size:12px;font-weight:400;display:block}nav{flex:1;padding:12px 14px;overflow-y:auto}nav section{margin-bottom:12px}nav label{letter-spacing:1.2px;color:#8b988e;margin:14px 12px 9px;font-size:12px;font-weight:700;display:block}nav button{text-align:left;color:#607568;border-radius:7px;justify-content:flex-start;gap:11px;width:100%;min-height:40px;margin:3px 0;padding:11px 12px;font-size:13px}nav button svg:last-child:not(:first-child){margin-left:auto}nav button.active{color:var(--green);box-shadow:inset 3px 0 var(--green);background:#eaf1e5;font-weight:700}nav button:hover{background:#f1f5ec}.sidebar-foot{border-top:1px solid var(--border);align-items:center;gap:10px;padding:19px 24px;font-size:12px;display:flex}.sidebar-foot small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.main{flex-direction:column;min-height:100vh;margin-left:248px;display:flex}.app.collapsed>.app-sidebar{display:none}.collapsed .main{margin-left:0}.topbar{border-bottom:1px solid var(--border);background:#ffffffdc;align-items:center;gap:18px;height:78px;padding:0 34px;display:flex}.topbar>button{border:1px solid var(--border);border-radius:7px;width:38px;height:38px}.breadcrumb{color:#8b988e;align-items:center;gap:10px;font-size:12px;display:flex}.breadcrumb b{color:#455d50;font-weight:500}.top-actions{align-items:center;gap:16px;margin-left:auto;display:flex}.sync{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.sync i{background:#5b9977;border-radius:50%;width:6px;height:6px}.profile{position:relative}.profile summary{cursor:pointer;align-items:center;gap:9px;font-size:12px;list-style:none;display:flex}.profile summary::-webkit-details-marker{display:none}.avatar{width:35px;height:35px;color:var(--green);background:#e8eddf;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.profile>div{z-index:60;border:1px solid var(--border);background:#fff;border-radius:10px;gap:13px;min-width:230px;padding:20px;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 8px 30px #1c39232b}.profile small{color:var(--muted);overflow-wrap:anywhere}.profile button,.profile a{justify-content:flex-start;font-size:12px}main{flex:1;width:100%;max-width:1600px;margin:auto;padding:34px}.page-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px;display:flex}.eyebrow{color:#8c9b87;letter-spacing:1.5px;font-size:12px;font-weight:700}h1{letter-spacing:-1px;margin:9px 0 8px;font-size:30px;font-weight:800}.page-title p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.title-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.term-pill{border:1px solid var(--border);color:#748370;white-space:nowrap;background:#fff;border-radius:6px;padding:9px 12px;font-size:12px}.primary,.secondary{border-radius:7px;min-height:40px;padding:11px 16px;font-size:12px;font-weight:600}.primary{background:var(--green);color:#fff}.primary:hover{background:#24674e}.secondary{color:var(--green);background:#fff;border:1px solid #dce5d7}.metrics{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.metric{border:1px solid var(--border);background:#fff;border-radius:9px;padding:21px 22px}.metric>div{color:#718473;justify-content:space-between;align-items:center;font-size:12px;display:flex}.metric svg{color:#75946a}.metric strong{letter-spacing:-1px;margin:13px 0 9px;font-family:Maven Pro,sans-serif;font-size:27px;font-weight:700;display:block}.metric small{color:#97a190;font-size:12px}.welcome{background:#eaf0df;border:1px solid #dce5cf;border-radius:10px;justify-content:space-between;margin-bottom:24px;padding:31px 35px;display:flex;overflow:hidden}.welcome h2{letter-spacing:-1px;margin:13px 0 12px;font-size:29px;line-height:1.25}.welcome p{color:#738068;max-width:470px;font-size:12px;line-height:1.8}.welcome>div>div{gap:10px;margin-top:21px;display:flex}.welcome-seal{color:#82916e;background:radial-gradient(circle,#f2f5e8 0%,#0000 70%);flex-direction:column;justify-content:center;align-items:center;min-width:230px;display:flex}.welcome-seal span{letter-spacing:2px;margin-top:20px;font-size:12px}.grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.panel{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:23px;overflow:hidden}.panel-title{border-bottom:1px solid #edf0e7;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;display:flex}.panel-title h2{letter-spacing:-.3px;margin:0;font-size:15px;font-weight:700}.panel-title>button{color:var(--green);font-size:12px}.badge{color:#587245;white-space:nowrap;background:#eef3e7;border-radius:5px;padding:5px 8px;font-size:12px;display:inline-block}.badge.warn{color:#a46836;background:#fbede3}.checklist{padding:0 22px}.checklist>button{text-align:left;border-bottom:1px solid #eef1e7;justify-content:flex-start;gap:13px;width:100%;padding:18px 0;display:flex}.checklist>button:last-child{border:0}.check-circle{color:#97a784;border:1px solid #d9e2d1;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.check-circle.done{color:#4b6d36;background:#e8f0dc}.checklist b{font-size:12px;font-weight:500;display:block}.checklist small{color:#94a18c;margin-top:6px;font-size:12px;display:block}.checklist>button>svg:last-child{color:#a9b29f;margin-left:auto}.finance-lines{padding:9px 22px}.finance-lines>div{border-bottom:1px solid #edf0e7;justify-content:space-between;padding:17px 0;font-size:12px;display:flex}.finance-lines>div:nth-child(4){color:var(--green);font-weight:700}.finance-lines p{color:#93a087;font-size:12px;line-height:1.6}.class-list{padding:5px 22px}.class-list>div{border-bottom:1px solid #edf0e7;justify-content:space-between;align-items:center;gap:20px;padding:13px 0;display:flex}.class-list b{font-size:12px;font-weight:500}.class-list small{color:#91a088;margin-top:5px;font-size:12px;display:block}.class-list>div>div{text-align:right;color:#7e8b73;width:105px;font-size:12px}.progress{background:#eff3e8;border-radius:10px;height:4px;margin-top:7px}.progress i{background:#70965b;border-radius:10px;height:100%;display:block}.notice-card{border-bottom:1px solid var(--border);padding:20px 23px}.notice-card small{color:#8e9b85;font-size:12px}.notice-card h3{font-size:14px}.notice-card p{color:#77876c;white-space:pre-wrap;font-size:12px;line-height:1.7}.empty{text-align:center;color:#86967e;padding:55px 25px}.empty>svg{color:#9bb189;margin-bottom:10px}.empty h3{color:#63765b;font-size:15px}.empty p{font-size:12px;line-height:1.7}.empty .secondary{margin-top:10px}.context{color:#687f5e;background:#edf2e8;border:1px solid #dce7d3;border-radius:7px;align-items:center;gap:10px;margin-bottom:20px;padding:13px 17px;font-size:12px;line-height:1.7;display:flex}.context a{white-space:nowrap;margin-left:auto}.table-tools{align-items:center;gap:10px;display:flex}.search{border:1px solid var(--border);color:#899a7e;border-radius:6px;align-items:center;gap:8px;padding:9px 11px;display:flex}.search input{background:0 0;border:0;outline:0;width:170px;margin:0;padding:0;font-size:12px}.count{color:#8f9d84;margin-left:7px;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;letter-spacing:.8px;color:#92a085;white-space:nowrap;background:#fcfdf9;padding:16px 20px;font-size:12px;font-weight:600}td{overflow-wrap:anywhere;border-top:1px solid #edf0e7;max-width:360px;padding:17px 20px;font-size:12px}td:first-child{font-weight:600}tr:hover td{background:#fafcf6}.row-actions{gap:8px;display:flex}.row-actions button{color:#849677;min-width:30px;min-height:30px}.settings-list{padding:10px 23px}.settings-list>div{border-bottom:1px solid #edf0e7;justify-content:space-between;gap:25px;padding:16px 0;font-size:12px;display:flex}.settings-list span{color:#8c9d80}.settings-list b{text-align:right;overflow-wrap:anywhere;font-weight:500}.controls{color:#7d9071;padding:26px;font-size:12px;line-height:1.9}.controls h3{color:#485f3c;font-size:15px}.controls a{margin-top:14px;display:inline-block}.app-footer{color:#99a28d;border-top:1px solid var(--border);justify-content:space-between;padding:22px 34px;font-size:12px;display:flex}.error,.sample-banner{color:#a46445;background:#fff0e9;border-radius:7px;margin-bottom:20px;padding:14px 18px;font-size:12px;line-height:1.7}.error button,.error a,.sample-banner button{color:inherit;margin-left:13px;text-decoration:underline}.sample-banner{color:#8b773f;background:#fff4d5}.overlay{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1835296b;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:12px;width:650px;max-height:92dvh;overflow:auto;box-shadow:0 20px 70px #152b2940}.dialog header{border-bottom:1px solid var(--border);z-index:2;background:#fff;justify-content:space-between;align-items:center;padding:24px;display:flex;position:sticky;top:0}.dialog header h2{margin:8px 0 0;font-size:20px}.dialog form{padding:24px}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}label{font-size:12px;font-weight:500}label small{color:#b19151}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dce5d5;border-radius:6px;outline:0;min-height:44px;margin-top:8px;padding:12px}input:focus,select:focus,textarea:focus{border-color:#658954;box-shadow:0 0 0 2px #edf4e5}textarea{resize:vertical;min-height:120px}.dialog-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;display:flex}.muted{color:#8b9980;font-size:12px;line-height:1.8}.report-filters{flex-wrap:wrap;align-items:flex-end;gap:16px;padding:20px;display:flex}.report-filters label{flex:1;min-width:150px}.paper{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:1000px;margin:0 auto;padding:35px}.document-brand{text-align:center;border-bottom:2px solid var(--green);padding-bottom:22px}.document-brand svg{color:var(--green)}.document-brand h2{margin:12px 0 6px;font-size:22px}.document-brand p{color:var(--muted);font-size:12px}.document-title{text-align:center;letter-spacing:1px;margin:24px 0;font-size:14px}.pupil-meta{grid-template-columns:1fr 1fr;gap:18px;margin:25px 0;display:grid}.pupil-meta small{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.pupil-meta b{font-size:13px}.report-summary{color:var(--green);justify-content:space-between;padding:22px 0;font-size:13px;display:flex}.signature{justify-content:space-between;gap:20px;margin-top:40px;font-size:12px;display:flex}.receipt-overlay .paper{width:620px;max-height:90dvh;overflow:auto}.receipt-actions{justify-content:space-between;margin-bottom:20px;display:flex}.toast{z-index:90;background:var(--green);color:#fff;border-radius:8px;align-items:center;gap:10px;padding:16px 23px;font-size:12px;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 7px 20px #14301b30}.backdrop{display:none}@media (max-width:1200px){.app>.app-sidebar{width:222px}.main{margin-left:222px}main{padding:25px}.topbar{padding:0 25px}.metrics{gap:10px}.metric{padding:17px}.metric strong{font-size:23px}.welcome-seal{min-width:140px}.title-actions{max-width:220px}.welcome{padding:27px}}@media (max-width:900px){.app>.app-sidebar{width:248px;display:none}.app>.app-sidebar.show{display:flex!important}.main,.collapsed .main{margin-left:0}.backdrop{z-index:49;background:#173b2855;display:block;position:fixed;inset:0}.topbar{z-index:30;height:66px;padding:0 16px;position:sticky;top:0}.breadcrumb,.sync{display:none}.top-actions{gap:12px}.topbar button{min-width:40px;min-height:40px}main{padding:23px 16px}.page-title{flex-wrap:wrap;margin-bottom:22px}.title-actions{justify-content:space-between;width:100%;max-width:none}.page-title h1{font-size:28px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:17px}.metric strong{font-size:23px}.grid{grid-template-columns:1fr;gap:0}.welcome{padding:24px}.welcome-seal{display:none}.welcome h2{font-size:26px}.welcome>div>div{flex-wrap:wrap}.panel-title{flex-wrap:wrap;padding:17px}.table-tools{width:100%}.table-tools .search{flex:1}.search input{width:100%;min-width:0;font-size:16px}.search{min-width:0;min-height:44px}.primary,.secondary{min-height:44px;font-size:13px}.context{flex-wrap:wrap}.context a{margin-left:0}.form-grid{grid-template-columns:1fr}.overlay{align-items:flex-end;padding:0}.dialog{border-radius:16px 16px 0 0;width:100%;max-height:94dvh}.dialog form,.dialog header{padding:20px}.dialog input,.dialog select,.dialog textarea{font-size:16px}.dialog-actions{background:#fff;margin-top:22px;padding:14px 0;position:sticky;bottom:0}.dialog-actions button{flex:1}.app-footer{gap:12px;padding:20px 16px;font-size:12px}.app-footer span:last-child,.profile summary>span:last-child{display:none}.paper{padding:20px;overflow:auto}.paper th,.paper td{padding:12px 8px}.signature{flex-direction:column;gap:25px}.receipt-overlay .paper{border-radius:16px 16px 0 0;width:100%;max-height:95dvh}.toast{bottom:16px;left:16px;right:16px}.settings-list>div{flex-direction:column;gap:7px}.settings-list b{text-align:left}.metric small{line-height:1.7}.pupil-meta{gap:15px}.report-summary{flex-wrap:wrap;gap:12px}td{min-width:90px;padding:15px}.brand{padding-top:24px}}@media print{body{background:#fff;font-size:12px}.topbar,.app>.app-sidebar,.backdrop,.app-footer,.page-title,.report-filters,.toast,.receipt-actions{display:none!important}.main{margin:0!important}main{max-width:none;margin:0;padding:0}.paper{border:0;max-width:none;margin:0;padding:10px}.paper th,.paper td{padding:12px 8px;font-size:12px}.signature{flex-direction:row}.overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding:0;display:block;position:static}.receipt-overlay .paper{width:100%;max-height:none;overflow:visible}.app:has(.receipt-overlay) .main{display:none}.pupil-meta{grid-template-columns:1fr 1fr}.report-summary{margin-bottom:20px}tr{break-inside:avoid}}.login-shell{grid-template-columns:1.06fr 1fr;min-height:100dvh;display:grid}.login-story{color:#fff;background:linear-gradient(140deg,#123d30,#23583e);flex-direction:column;justify-content:space-between;min-height:100dvh;padding:48px 56px;display:flex;position:relative;overflow:hidden}.login-brand{letter-spacing:-1px;color:#fff;z-index:1;align-items:center;gap:14px;font-family:Maven Pro,sans-serif;font-size:30px;font-weight:800;text-decoration:none;display:flex;position:relative}.login-mark{color:#d1ddae;border:1px solid #a8bc8a80;border-radius:17px 17px 5px;justify-content:center;align-items:center;width:52px;height:55px;display:flex}.login-brand small{letter-spacing:1.7px;color:#cfddc0;margin-top:5px;font-family:Maven Pro,sans-serif;font-size:12px;display:block}.story-content{z-index:1;padding:65px 0;position:relative}.login-kicker{letter-spacing:1.5px;color:#c0d0a7;font-size:12px}.story-content h1{letter-spacing:-2px;margin:25px 0;font-size:clamp(37px,4.2vw,64px);font-weight:500;line-height:1.16}.story-content em{color:#c0d59f;font-style:normal}.story-content p{color:#d0ddca;max-width:390px;font-size:14px;line-height:1.9}.login-features{color:#dce8d4;gap:23px;margin-top:38px;font-size:12px;display:grid}.login-features>div{align-items:center;gap:15px;display:flex}.login-story footer{color:#c3d0b8;justify-content:space-between;gap:15px;font-size:12px;display:flex}.login-orbit{pointer-events:none;border:1px solid #b8d09425;border-radius:50%;width:660px;height:660px;position:absolute;bottom:-360px;right:-400px}.login-form-side{background:#f6f8f0;flex-direction:column;justify-content:center;align-items:center;padding:50px;display:flex}.login-card{background:#fff;border:1px solid #dfe8d8;border-radius:20px;width:100%;max-width:430px;margin:auto;padding:34px;box-shadow:0 18px 55px #203d2510}.login-lock{color:var(--green);background:#edf3e6;border-radius:12px;margin-bottom:24px;padding:13px;display:inline-flex}.login-card .eyebrow{color:#68835a}.login-card h2{letter-spacing:-.9px;margin:12px 0;font-size:28px}.login-card>p{color:#71816a;margin-bottom:27px;font-size:12px;line-height:1.8}.login-card label{margin-bottom:20px;display:block}.password-field{position:relative}.password-field input{padding-right:48px}.password-field button{color:#738969;min-width:36px;min-height:36px;position:absolute;top:14px;right:10px}.login-submit{justify-content:space-between;width:100%;margin-top:4px;padding:15px}.login-help{color:#526f47;margin:21px auto 0;font-size:12px;display:block}.owner-setup{color:#617954;background:#f0f5e9;border:1px solid #dfe8d4;border-radius:8px;margin-top:25px;padding:17px;font-size:12px}.owner-setup p{line-height:1.7}.owner-setup button{padding:5px 0;font-weight:600}.login-assurance{color:#798c6e;border-top:1px solid #e3eadd;justify-content:center;align-items:center;gap:7px;margin-top:30px;padding-top:23px;font-size:12px;line-height:1.7;display:flex}.login-form-side footer{color:#8c9c80;text-align:center;margin-top:35px;font-size:12px}@media (max-width:1000px){.login-story,.login-form-side{padding:35px}.story-content h1{font-size:42px}}@media (max-width:700px){.login-shell{grid-template-columns:1fr}.login-story{min-height:110px;padding:25px}.story-content,.login-story footer{display:none}.login-brand{font-size:26px}.login-form-side{min-height:calc(100dvh - 110px);padding:28px 18px 35px}.login-card{padding:27px 23px}.login-card h2{font-size:26px}}.copyright-mark{vertical-align:super;letter-spacing:0;margin-left:2px;font-size:.44em}.brand{letter-spacing:-.8px;gap:9px;padding-left:19px;font-size:22px}.app-brand-icon{border-radius:10px;width:39px;height:39px}.login-app-icon{border-radius:13px;width:53px;height:53px}.school-logo-small{object-fit:contain;width:44px;height:44px;margin-bottom:10px;display:block}.login-school-identity{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;font-size:16px;display:flex}.login-school-identity img{object-fit:contain;width:45px;height:45px}.section-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:20px 22px;display:flex}.section-head h2{margin:0;font-size:16px}.section-head p{margin-bottom:0}.section-head>button{flex-shrink:0}.controls>label{color:var(--ink);margin:18px 0;display:block}.controls ol{padding-left:19px}.controls li{padding:4px 0}.controls .logo-actions{flex-wrap:wrap;gap:9px;margin:20px 0;display:flex}.success{color:#375d36;background:#eaf4e8;border:1px solid #cddfc6;border-radius:6px;padding:12px;font-size:12px}.hint{color:#7c8d73;font-size:12px;line-height:1.8}.school-logo-preview{object-fit:contain;width:90px;height:90px}.branding-editor>button{margin-top:15px}.document-logo{object-fit:contain;max-width:85px;max-height:85px}.document-copyright{color:#7c8b74;text-align:center;margin-top:30px;font-size:12px}.security-setup{overflow-wrap:anywhere;background:#eef4e8;margin:18px 0;padding:16px}.security-setup code{color:#23482d;font-size:15px;display:block}.recovery-codes{background:#f3f7eb;border:1px solid #dbe7ce;margin-top:20px;padding:18px}.recovery-codes code{letter-spacing:1px;margin:7px 0;display:block}.controls a{margin-right:12px}.user-profile-menu{position:relative}.profile-trigger{cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;display:flex}.profile-trigger img{object-fit:cover;border-radius:50%;width:34px;height:34px}.profile-trigger-name{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:12px;overflow:hidden}.topbar .profile-dropdown{color:#23392c;z-index:50;background:#fff;border:1px solid #dce5de;border-radius:12px;flex-direction:column;align-items:stretch;gap:5px;min-width:240px;max-width:320px;padding:16px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 36px #142b2126}.profile-dropdown small{word-break:break-word}.topbar .profile-dropdown button,.profile-dropdown a{text-align:left;color:inherit;border-radius:6px;justify-content:flex-start;padding:10px;font-size:12px;text-decoration:none}.profile-dialog{width:calc(100vw - 32px);max-width:650px}.profile-picture-editor{flex-wrap:wrap;align-items:center;gap:14px;margin:16px 0;display:flex}.profile-picture-editor img{object-fit:cover;border-radius:50%;width:90px;height:90px}.profile-signature-preview{object-fit:contain;max-width:100%;max-height:160px;margin:14px 0;display:block}.profile-save-message{color:#1d634b;font-size:12px}.profile-dialog form>label{margin:16px 0;display:block}.profile-dialog>.dialog-actions{border-top:0;justify-content:flex-start;margin:0;padding:15px 20px}.install-launcher{z-index:35;color:#fff;background:#174d3c;border:1px solid #ffffff70;border-radius:24px;padding:10px 14px;font-size:12px;position:fixed;bottom:16px;left:270px;box-shadow:0 3px 14px #123c2820}.login-shell~.install-launcher{left:16px}.install-dialog{width:540px}.install-heading{align-items:center;gap:12px;display:flex}.install-heading img{border-radius:12px;width:48px;height:48px}.install-heading small{color:#798a7d;margin-top:6px;font-size:12px;display:block}.install-content{color:#64776a;padding:20px 25px;font-size:12px;line-height:1.8}.install-method{border-top:1px solid #e5ece2;margin-top:18px;padding-top:8px}.install-method h3{color:#21332c;align-items:center;gap:8px;display:flex}.install-note{background:#eff4eb;border-radius:7px;margin:20px 0;padding:14px;line-height:1.8}.mobile-bottom-nav,.mobile-menu-overlay,.mobile-quick-actions,.mobile-record-list{display:none}@media (display-mode:standalone){.install-launcher{display:none}.app-footer{padding-bottom:20px}}@media (max-width:900px){html{scroll-padding-bottom:100px}.main{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.mobile-quick-actions{margin:0 0 22px;display:block}.mobile-quick-actions h2{font-size:14px}.mobile-quick-actions>div{gap:8px;padding-bottom:5px;display:flex;overflow:auto}.mobile-quick-actions button{white-space:nowrap;flex:none}.mobile-bottom-nav{z-index:35;padding:7px 6px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dbe5df;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 18px #1936290a}.mobile-bottom-nav button{color:#5f7467;width:100%;min-height:56px;box-shadow:none;border-radius:10px;flex-direction:column;justify-content:center;gap:4px;margin:0;padding:8px 3px;font-size:12px;display:flex}.mobile-bottom-nav button.active{color:#174d3c;background:#eaf3eb;font-weight:700}.mobile-menu-overlay{z-index:70;background:#15261e70;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-menu-sheet{width:100%;max-height:85dvh;padding:0 16px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:18px 18px 0 0;overflow-y:auto}.mobile-menu-sheet header{border-bottom:1px solid var(--border);z-index:1;background:#fff;justify-content:space-between;align-items:center;padding:16px 0;display:flex;position:sticky;top:0}.mobile-menu-sheet header h2{font-size:20px}.mobile-menu-sheet header button{min-width:44px;min-height:44px}.mobile-menu-group h3{letter-spacing:.8px;color:#687f70;margin:20px 0 6px;font-size:12px}.mobile-menu-group>button{text-align:left;border-bottom:1px solid #edf2ee;justify-content:space-between;align-items:center;width:100%;min-height:50px;padding:14px 12px;font-size:15px;display:flex}.mobile-menu-group>button.active{color:var(--green);background:#eaf3eb;border-radius:8px}.desktop-register{display:none}.mobile-record-list{gap:12px;padding:14px;display:grid}.mobile-record-card{border:1px solid var(--border);background:#fff;border-radius:12px;min-width:0;padding:15px}.mobile-record-card h3{overflow-wrap:anywhere;margin:0 0 13px;font-size:16px}.mobile-record-card dl{gap:10px;margin:0;display:grid}.mobile-record-card dl>div{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start;gap:12px;display:grid}.mobile-record-card dt{color:#64776b;font-size:12px}.mobile-record-card dd{text-align:right;overflow-wrap:anywhere;margin:0;font-size:13px}.mobile-record-card summary{color:var(--green);cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}.mobile-record-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;display:flex}.mobile-record-actions button{flex:1;min-width:70px;min-height:44px;font-size:13px}.install-launcher,.login-shell~.install-launcher{bottom:calc(88px + env(safe-area-inset-bottom));font-size:12px;left:auto;right:14px}.login-shell~.install-launcher{bottom:14px}.toast{bottom:calc(90px + env(safe-area-inset-bottom))}.app-footer{padding-bottom:20px}.profile-trigger-name{display:none}.profile-dropdown{max-width:calc(100vw - 32px)}.profile-dialog{width:100%}.section-head{flex-wrap:wrap;padding:17px}.section-head h2{font-size:16px}.controls{padding:20px}.controls input,.controls select{font-size:16px}.dialog form>label{margin-bottom:18px;display:block}.branding-editor .logo-actions{flex-wrap:wrap}.school-logo-small{width:36px;height:36px}.brand{font-size:22px}.metrics:empty{display:none}}@media print{.mobile-bottom-nav,.mobile-menu-overlay,.mobile-quick-actions,.mobile-record-list,.install-launcher{display:none!important}.desktop-register{display:block!important}.main{padding-bottom:0}.document-copyright{display:block}.user-profile-menu{display:none}}.install-page{max-width:780px;min-height:100dvh;margin:auto;padding:35px 24px}.install-page-brand{align-items:center;gap:12px;margin-bottom:30px;font-family:Maven Pro,sans-serif;font-size:26px;font-weight:800;text-decoration:none;display:flex}.install-page-brand img{border-radius:12px;width:48px;height:48px}.install-page-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:35px;box-shadow:0 12px 40px #173c2510}.install-page-card>p{color:#6b7f65;font-size:14px;line-height:1.9}.install-page-actions{background:#f0f5e9;border-radius:12px;margin:25px 0;padding:22px}.install-page-actions>.primary{width:100%;min-height:54px;font-size:16px}.install-page-actions p{color:#5b7554;font-size:12px;line-height:1.8}.install-page-steps{border-top:1px solid var(--border);padding:12px 0 20px}.install-page-steps h2{margin-top:24px;font-size:16px}.install-page-steps p{color:#6b7f65;font-size:13px;line-height:1.9}.install-page footer{color:#829478;text-align:center;margin:30px 0 5px;font-size:12px}.install-status{background:#e9f2df;border-radius:10px;margin:25px 0;padding:20px}.install-status p{font-size:13px;line-height:1.8}.install-status a,.install-page-card>.secondary{text-decoration:none;display:inline-flex}@media (max-width:700px){.install-page{padding:24px 16px}.install-page-card{padding:26px 20px}.install-page h1{font-size:28px}.install-page-actions{padding:17px}.install-page .login-help{line-height:1.7}}body,h1,h2,h3,.brand,.brand span,.login-brand,.metric strong,.install-page-brand{font-family:Maven Pro,sans-serif}body{font-size:14px}input,select,textarea,.search input{font-size:16px}h1,.page-title h1{letter-spacing:-1px;font-size:30px;font-weight:600}h2{letter-spacing:-.25px;font-size:15px;font-weight:600}h3{font-size:14px;font-weight:600}.brand{letter-spacing:-.7px;font-size:23px;font-weight:700}.brand span{letter-spacing:2.9px;font-size:12px}.eyebrow{letter-spacing:1.8px;font-size:12px}.school-name,.school-name small,nav label,nav button,.sidebar-foot,.sidebar-foot small,.sync,.term-pill,.page-title p,.primary,.secondary,.metric>div,.metric small,.badge,.count,.panel-title>button,.checklist b,.checklist small,.finance-lines>div,.finance-lines p,.class-list b,.class-list small,.class-list>div>div,.notice-card small,.notice-card p,.empty,.empty p,.context,.settings-list>div,.controls,.muted,.hint,.app-footer,.document-copyright,.install-page footer{font-size:12px}.metric strong{letter-spacing:-.9px;font-size:25px;font-weight:600}.welcome h2{font-size:24px;line-height:1.3}.welcome p,.welcome-seal span,th{font-size:12px}td{font-size:14px}.panel-title h2{font-size:15px;font-weight:600}.document-brand h2{font-size:20px}.paper>p{font-size:12px}.dialog header h2{font-size:15px;font-weight:600}.login-brand{font-size:27px;font-weight:700}.login-brand small{letter-spacing:2px;font-size:12px;font-weight:400}.login-kicker{letter-spacing:2.5px;font-size:12px}.story-content h1{letter-spacing:-2px;font-size:clamp(40px,4.3vw,65px);font-weight:500;line-height:1.12}.login-card h2{letter-spacing:-.9px;font-size:29px;line-height:1.25}.login-card form label{font-size:12px;font-weight:600}.login-card input{font-size:16px}.login-story footer,.login-form-side footer,.login-assurance{font-size:12px}.copyright-mark{font-size:.55em;font-weight:400}.install-page-brand{font-size:23px;font-weight:700}@media (max-width:1100px){.metric strong{font-size:21px}}@media (max-width:900px){.story-content h1{font-size:40px}}@media (max-width:800px){.page-title h1{font-size:26px;line-height:1.15}.page-title p{font-size:13px}.primary,.secondary{font-size:14px}.metric strong{font-size:22px}.metric small{font-size:12px}.section-head h2,.mobile-quick-actions h2{font-size:16px}.mobile-record-card h3{font-size:17px}.mobile-record-card dt{font-size:12px}.mobile-record-card dd,.mobile-record-card summary{font-size:14px}.mobile-record-actions button{font-size:13px}.mobile-bottom-nav button,.mobile-menu-group h3{font-size:12px}.mobile-menu-group>button{font-size:16px}.form-grid label{font-size:14px}.install-launcher{font-size:13px}.toast{font-size:14px}.document-brand h2{font-size:15px}}@media (max-width:650px){.login-brand{font-size:25px}}@media (max-width:700px){.login-brand small{letter-spacing:1.1px;font-size:12px}}@media (max-width:380px){.login-brand{font-size:22px}.login-brand small{letter-spacing:.4px}}@media print{body,table,.paper th,.paper td{font-size:12px}}.login-role-note{color:#7c8b74;margin-top:7px;font-size:12px;line-height:1.6;display:block}.login-card select{min-height:46px;font-size:16px}.access-intro{background:#eaf1e3;border:1px solid #d9e5d0;border-radius:10px;align-items:center;gap:15px;margin-bottom:20px;padding:22px;display:flex}.access-intro>div{flex:1}.access-intro p{color:#708067;margin:6px 0 0;font-size:12px;line-height:1.8}.user-tabs{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.user-tabs button{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:44px;padding:11px 16px;font-size:12px}.user-tabs button.active{background:var(--green);border-color:var(--green);color:#fff}.user-filters{border-bottom:1px solid var(--border);grid-template-columns:2fr 1fr 1fr;gap:15px;padding:20px 22px;display:grid}.user-email{color:#7b8d70;overflow-wrap:anywhere;margin-top:6px;font-size:12px;font-weight:400;display:block}.user-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.user-actions button{border:1px solid var(--border);background:#fff;border-radius:6px;min-height:36px;padding:8px;font-size:12px}.activation-box{background:#eef5e5;border:1px solid #d7e6cc;border-radius:10px;margin:20px 0;padding:20px}.activation-box input{font-size:14px}.user-permission-dialog{width:900px}.permission-options,.parent-links{border:1px solid var(--border);border-radius:10px;min-width:0;margin:24px 0;padding:17px}.permission-options legend,.parent-links legend{padding:0 8px;font-size:14px;font-weight:600}.permission-presets{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.permission-matrix td,.permission-matrix th{padding:12px 15px}.permission-matrix input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--green);cursor:pointer;margin:0}.permission-matrix input:disabled{opacity:.35;cursor:not-allowed}.permission-matrix td:not(:first-child),.permission-matrix th:not(:first-child){text-align:center}.pupil-link-list{grid-template-columns:1fr 1fr;gap:8px;max-height:240px;margin-top:14px;display:grid;overflow:auto}.check-option{background:#f7f9f2;border-radius:7px;align-items:center;gap:10px;min-height:48px;padding:10px;display:flex}.check-option input{width:20px;height:20px;min-height:20px;accent-color:var(--green);margin:0}.check-option small{color:#819274;margin-top:4px;font-size:12px;display:block}.users-mobile{display:none}.role-limit{border-bottom:1px solid var(--border);padding:10px 0}.role-limit h3{margin-bottom:5px}.role-limit p{margin-top:4px}.parent-children{grid-template-columns:1fr 1fr;gap:15px;padding:20px;display:grid}.parent-children article{border:1px solid var(--border);border-radius:9px;padding:20px}.parent-children p{color:#7c8b72;font-size:12px}.parent-welcome h2{max-width:500px}.user-permission-dialog form>label{margin-bottom:20px;display:block}@media (max-width:900px){.access-intro{flex-wrap:wrap;align-items:flex-start;padding:18px}.access-intro>.primary{width:100%}.user-filters{grid-template-columns:1fr 1fr;gap:12px;padding:17px}.user-filters>label:first-child{grid-column:1/-1}.users-desktop{display:none}.users-mobile{gap:12px;padding:14px;display:grid}.users-mobile .user-actions{border-top:1px solid var(--border);padding-top:12px}.user-actions button{min-height:44px;font-size:13px}.user-permission-dialog{width:100%}.permission-options,.parent-links{padding:12px}.permission-matrix{margin:0 -7px}.permission-matrix td,.permission-matrix th{min-width:52px;padding:12px 8px}.permission-matrix td:first-child{min-width:145px}.permission-matrix input[type=checkbox]{width:24px;height:24px;min-height:24px}.pupil-link-list,.parent-children{grid-template-columns:1fr}.user-tabs{flex-wrap:nowrap;overflow-x:auto}.user-tabs button{flex:none}.activation-box{padding:17px}.permission-presets button{flex:1;font-size:12px}.user-metrics .metric strong{font-size:24px}}.operations-filters{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:14px;padding:20px 22px;display:flex}.operations-filters label{flex:170px;min-width:0}.operation-preview{background:#edf4e5;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:20px;margin:20px 0;padding:18px;font-size:13px;display:flex}.variance-negative{color:#a14b35;font-weight:600}.variance-positive{color:#3f7652;font-weight:600}.salary-slip{width:650px;max-height:92dvh;overflow:auto}.operations-filters input,.operations-filters select{font-size:16px}@media (max-width:900px){.operations-filters{gap:12px;padding:17px}.operations-filters label{flex:140px}.salary-slip{border-radius:16px 16px 0 0;width:100%;max-height:94dvh}.operation-preview{gap:12px}.operations-filters label:first-child{flex-basis:100%}}@media print{:is(body:has(.payroll-slip-overlay) .app,body:has(.payroll-slip-overlay)>.install-launcher){display:none!important}.payroll-slip-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding:0;display:block;position:static}.salary-slip{border:0;width:100%;max-height:none;overflow:visible}.salary-slip .receipt-actions{display:none!important}}.permission-summary{background:#eef5e5;border-radius:7px;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:13px;font-size:12px;line-height:1.6;display:flex}.permission-summary span{color:#64765b}.permission-search{margin:16px 0;display:block}.permission-column{flex-direction:column;align-items:center;gap:12px;display:flex}.permission-matrix tbody th[scope=row]{white-space:normal;text-align:left;font-size:12px;font-weight:500}.permission-matrix .permission-group th{text-align:left;background:#edf2e6;padding:12px 15px;font-size:12px;font-weight:600}.permission-warning{color:#8a5a13;margin-top:6px;font-size:12px;font-weight:400;display:block}.permission-matrix tbody td{height:52px}.permission-matrix tbody td input{vertical-align:middle}@media (max-width:600px){.permission-summary{display:grid}.permission-matrix tbody th[scope=row]{min-width:130px;max-width:160px}.permission-matrix .permission-group th{padding-left:8px}.permission-presets button{flex-basis:100%}}.employee-structure{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;display:grid}.employee-structure article{border:1px solid var(--border);border-top:3px solid var(--green);background:#fff;border-radius:9px;padding:18px}.employee-structure h3{margin:0;font-size:15px}.employee-structure p{margin:9px 0;font-size:12px;line-height:1.7}.employee-structure small{color:var(--muted);font-size:12px;line-height:1.8}.user-filters{grid-template-columns:2fr 1fr 1fr 1fr}@media (max-width:900px){.employee-structure{grid-template-columns:1fr}.user-filters{grid-template-columns:1fr 1fr}.user-filters>label:first-child{grid-column:1/-1}}.user-actions button.delete-user{color:#a12f26;background:#fff7f5;border-color:#e9bcb6}.user-actions button.delete-user:hover:not(:disabled){background:#fce8e4}.bulk-dialog{width:min(900px,95vw);max-height:90dvh;overflow:auto}.bulk-dialog>p,.bulk-dialog .hint{font-size:12px;line-height:1.8}.bulk-dialog>label{margin:18px 0;display:block}.bulk-dialog small{color:var(--muted);margin-top:7px;display:block}.bulk-review{border-top:1px solid var(--border);margin-top:20px;padding-top:15px}.bulk-review .error{max-height:230px;overflow:auto}.bulk-dialog .dialog-actions{background:#fff;flex-wrap:wrap;margin-bottom:-5px;padding:15px 0;position:sticky;bottom:0}@media (max-width:600px){.bulk-dialog{max-height:94dvh}.bulk-dialog .dialog-actions button{flex:100%}}.staff-login-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;padding:20px;display:grid}.staff-login-grid .mobile-record-card{margin:0;display:block}.staff-login-grid .user-actions{margin-top:12px}.extension-toolbar{flex-wrap:wrap;align-items:end;gap:16px;padding:20px;display:flex}.extension-toolbar label{flex-direction:column;flex:1;gap:7px;min-width:150px;display:flex}.extension-toolbar input,.extension-toolbar select,.roll-grid select{border:1px solid var(--border);background:#fff;border-radius:7px;min-width:0;max-width:100%;padding:10px 12px}.extension-record-grid,.resource-grid,.qr-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;padding:18px;display:grid}.extension-record{border:1px solid var(--border);background:#fff;border-radius:10px;min-width:0;padding:18px}.extension-record dl>div,.detail-list>div{border-bottom:1px solid var(--border);padding:8px 0}.extension-record dt,.detail-list dt{color:var(--muted);font-size:12px}.extension-record dd,.detail-list dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.extended-dialog,.extended-detail{width:min(850px,95vw)}.extended-dialog textarea{min-height:100px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:16px;display:grid}.calendar-grid>b{text-align:center;padding:8px 0;font-size:12px}.calendar-grid article{border:1px solid var(--border);border-radius:7px;min-width:0;min-height:115px;padding:9px}.calendar-grid article.today{border-color:var(--gold);background:#fbf6e8}.calendar-grid article button{text-align:left;overflow-wrap:anywhere;background:#eaf1e5;border-radius:4px;width:100%;margin-top:5px;padding:5px;font-size:12px;display:block}.timetable-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;padding:18px;display:grid}.timetable-grid>section{background:#f6f7f2;border-radius:8px;padding:12px}.timetable-grid button{text-align:left;border:1px solid var(--border);background:#fff;border-radius:7px;flex-direction:column;align-items:start;width:100%;margin:10px 0;padding:12px;display:flex}.timetable-grid small{color:var(--muted);line-height:1.5}.library-card{padding:22px}.library-card>a{margin:15px 0;text-decoration:none;display:inline-block}.qr-card{text-align:center;border:1px solid var(--border);break-inside:avoid;background:#fff;border-radius:10px;padding:20px}.qr-card img{max-width:100%;height:auto;margin:10px auto;display:block}.qr-card small{overflow-wrap:anywhere;font-size:11px;display:block}.roll-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:15px;padding:20px;display:grid}.roll-grid label{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:5px;padding:12px;display:flex}.roll-grid small{color:var(--muted)}.question-editor{padding:15px 0}.question-editor fieldset,.test-runner fieldset{border:1px solid var(--border);border-radius:9px;margin:15px 0;padding:18px}.question-editor fieldset label{flex-direction:column;gap:6px;margin:12px 0;display:flex}.test-runner{padding:22px}.test-runner legend{font-weight:600;line-height:1.6}.test-runner [role=timer]{border:1px solid var(--gold);background:#fff4dc;border-radius:8px;padding:12px;display:block;position:sticky;top:0}.extension-print>h2,.extension-print>h3,.extension-print>p{padding:0 20px}.result-layout-compact{font-size:12px}.result-layout-compact td{padding:7px}.result-layout-detailed .pupil-meta{background:#f4f7ef;padding:20px}.result-layout-detailed td{padding-top:16px;padding-bottom:16px}@media (max-width:600px){.calendar-grid{gap:2px;padding:5px}.calendar-grid article{min-height:85px;padding:4px}.calendar-grid article button{padding:3px;font-size:10px}.extension-toolbar{gap:12px;padding:14px}.extension-toolbar label{min-width:130px}.timetable-grid{grid-template-columns:1fr}.extension-record-grid,.resource-grid,.qr-card-grid{padding:12px}.extension-toolbar .user-actions{flex-wrap:wrap;width:100%}.extension-record .user-actions{flex-wrap:wrap}}@media print{.no-print,.extension-record .user-actions{display:none!important}.extension-print{visibility:visible!important;box-shadow:none!important;background:#fff!important;border:0!important;width:100%!important;max-height:none!important;margin:0!important;display:block!important;position:relative!important;overflow:visible!important}.extension-print *{visibility:visible!important}.extension-print .table-wrap{overflow:visible}.qr-card-grid.extension-print{grid-template-columns:repeat(2,1fr);display:grid!important}.timetable-grid{grid-template-columns:repeat(5,1fr)}.extended-detail{top:0;left:0;position:absolute!important}.extended-detail .no-print,.extension-print .no-print{display:none!important}body:has(.extended-detail) main>:not(.overlay){display:none!important}body:has(.extended-detail) .extended-detail{max-width:none!important;max-height:none!important;position:static!important;overflow:visible!important}}.staff-avatar{object-fit:cover;border:1px solid var(--border);vertical-align:middle;background:#edf2e7;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;display:inline-flex}.staff-avatar.placeholder{color:var(--green);font-size:13px;font-weight:700}.staff-avatar.large{width:96px;min-width:96px;height:96px}.staff-avatar.placeholder.large{font-size:25px}.staff-person{align-items:center;gap:12px;display:flex}.staff-photo-editor{border:1px solid var(--border);background:#f7f9f3;border-radius:10px;align-items:start;gap:20px;margin:16px 0;padding:18px;display:flex}.staff-photo-editor p,.staff-photo-editor small{color:var(--muted);line-height:1.5}.staff-photo-editor label{flex-direction:column;gap:8px;margin:12px 0;display:flex}.staff-photo-editor input{min-width:0;max-width:100%}.staff-photo-editor small{margin:8px 0;display:block}.staff-photo-editor .secondary{margin-top:10px}@media (max-width:500px){.staff-photo-editor{flex-direction:column;gap:12px}.staff-photo-editor>div{min-width:0;max-width:100%}.staff-avatar{width:40px;min-width:40px;height:40px}}.pupil-report-photo{justify-content:center;margin:16px 0;display:flex}.pupil-report-photo .staff-avatar{object-fit:cover;border-radius:8px}@media print{.pupil-report-photo .staff-avatar{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:80px;min-width:80px;height:80px}}.attendance-roll-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;padding:20px;display:grid}.attendance-learner{border:1px solid var(--border);background:#fff;border-radius:10px;padding:18px}.attendance-learner.is-absent{background:#fffaf4;border-color:#d8ab83}.attendance-learner label{flex-direction:column;gap:7px;margin:12px 0;display:flex}.attendance-learner select,.attendance-learner textarea{border:1px solid var(--border);background:#fff;border-radius:7px;width:100%;padding:10px}.attendance-learner textarea{resize:vertical;min-height:80px}.attendance-learner summary{cursor:pointer;margin-top:12px;font-weight:600}.attendance-metrics{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));padding:0 20px}.attendance-overview>.hint,.absence-alerts>.hint{padding:0 20px 15px}.absence-message{background:#fff8ec;border-left:4px solid #b78545;border-radius:8px;margin:12px 20px;padding:16px;line-height:1.6}.absence-message small{white-space:pre-wrap;display:block}.report-attendance{border-top:1px solid var(--border);margin:24px 0;padding-top:16px}.report-attendance table{margin:14px 0}.report-attendance small{line-height:1.6;display:block}.intelligence-method{border-top:1px solid var(--border);padding:18px 22px;line-height:1.7}.intelligence-method summary{cursor:pointer;font-weight:600}@media (max-width:500px){.attendance-roll-grid{padding:12px}.attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 12px}.absence-message{margin:10px 12px;padding:12px}.attendance-learner{padding:14px}}@media print{.absence-alerts{display:none!important}.report-attendance th,.report-attendance td{padding:7px!important;font-size:11px!important}.report-attendance h3{break-after:avoid}}.module-page-heading{align-items:center;gap:20px;display:flex;position:relative}.module-page-heading>.page-title{flex:1;min-width:0}.module-art{width:220px;min-width:160px;color:var(--module-color);align-self:center;position:relative}.module-art>svg:first-child{width:100%;display:block}.module-art-symbol{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.attendance-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:26px 0 12px;display:grid}.attendance-chart-grid>section{background:#f8fafc;border:1px solid #e7edf3;border-radius:16px;min-width:0;padding:20px}.attendance-chart-grid h3{margin:0 0 16px;font-size:16px}.attendance-class-chart{grid-column:1/-1}.attendance-ring{align-items:center;gap:20px;display:flex}.attendance-ring svg{color:#25374c;flex-shrink:0;width:150px;max-width:48%}.attendance-ring ul{flex:1;padding:0;list-style:none}.attendance-ring li{align-items:center;gap:7px;margin:12px 0;font-size:12px;display:flex}.attendance-ring li i{border-radius:50%;flex-shrink:0;width:9px;height:9px}.attendance-ring li b{margin-left:auto}.attendance-chart-bars{gap:9px;display:grid}.attendance-bar-row{grid-template-columns:minmax(65px,110px) 1fr;align-items:center;gap:10px;font-size:11px;display:grid}.attendance-bar-track{background:#eaf0f5;border-radius:5px;height:10px;margin:3px 25px 3px 0;position:relative}.attendance-bar-track i{border-radius:5px;min-width:0;height:100%;display:block}.attendance-bar-track b{color:#42566f;font-size:10px;position:absolute;top:-2px;right:-23px}.staff-attendance-overview label{font-size:12px}.mobile-menu-group button span{text-align:left;flex:1}@media (max-width:1000px){.module-art{width:155px;min-width:130px}.attendance-chart-grid{gap:14px}.attendance-ring{gap:8px}}@media (max-width:650px){.module-page-heading{display:block}.module-art{opacity:.85;pointer-events:none;width:90px;min-width:90px;position:absolute;top:-4px;right:0}.module-art-symbol{width:27px;height:27px}.module-page-heading .page-title>div:first-child{padding-right:80px}.attendance-chart-grid{grid-template-columns:1fr}.attendance-chart-grid>section{padding:14px}.attendance-ring svg{width:140px}.attendance-class-chart{grid-column:auto}}.illustrated-module.module-art{opacity:1;color:#414b58;width:112px;min-width:112px;margin:0 8px 16px;padding:6px;position:relative}.illustrated-module.module-art>.flat-module-icon{filter:drop-shadow(0 3px #414b5810);width:100%;height:98px;display:block;position:static;overflow:visible;transform:none}.illustrated-module .lucide>rect:nth-of-type(2n),.illustrated-module .lucide>circle,.illustrated-module .lucide>path:nth-of-type(2n){fill:var(--icon-secondary)}.illustrated-module .lucide>path:nth-of-type(3n),.illustrated-module .lucide>polygon{fill:var(--icon-accent)}.illustrated-module .lucide>line,.illustrated-module .lucide>polyline{fill:none}.compact-school-overview .overview-at-glance{margin-bottom:18px;padding:20px 24px}.overview-at-glance .section-head{flex-wrap:wrap;align-items:center;gap:14px}.overview-filters{gap:12px;display:flex}.overview-filters label{align-items:center;gap:7px;font-size:12px;display:flex}.overview-filters input,.overview-filters select{width:auto;min-height:36px;padding:7px 10px}.overview-stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px 0;display:grid}.overview-stat{background:#f2f6f5;border:1px solid #e5ece9;border-radius:12px;padding:12px 16px}.overview-stat:nth-child(2){background:#edf7f4}.overview-stat:nth-child(3){background:#fff3ee}.overview-stat:nth-child(4){background:#f0f3f8}.overview-stat small{color:#60736a;font-size:12px;display:block}.overview-stat strong{overflow-wrap:anywhere;margin-top:5px;font-size:26px;display:block}.overview-stacked-bar{background:#e8edf2;border-radius:8px;height:12px;display:flex;overflow:hidden}.overview-stacked-bar i{height:100%;display:block}.overview-strip-legend{color:#5b6c63;flex-wrap:wrap;gap:14px;margin-top:9px;font-size:11px;display:flex}.overview-strip-legend span{align-items:center;gap:5px;display:inline-flex}.overview-strip-legend i{border-radius:50%;width:7px;height:7px}.overview-strip-legend b{margin-left:auto}.overview-staff-line{border-top:1px solid #e4ebe7;flex-wrap:wrap;align-items:center;gap:9px 16px;margin-top:16px;padding-top:14px;font-size:12px;display:flex}.overview-at-glance>.hint{margin-bottom:0;font-size:11px}.overview-folds{gap:10px;display:grid}.overview-fold{border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.overview-fold>summary{cursor:pointer;align-items:center;gap:13px;padding:16px 20px;list-style:none;display:flex}.overview-fold>summary::-webkit-details-marker{display:none}.overview-fold-icon{color:#167b63;background:#e9f5f1;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.overview-fold:nth-child(2n) .overview-fold-icon{color:#6174b6;background:#edf1fb}.overview-fold:nth-child(3n) .overview-fold-icon{color:#a07824;background:#fff3d9}.overview-fold>summary b{font-size:14px;display:block}.overview-fold>summary small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.overview-chevron{flex-shrink:0;margin-left:auto;transition:transform .15s}.overview-fold[open]>summary .overview-chevron{transform:rotate(180deg)}.overview-fold[open]>summary{border-bottom:1px solid var(--border)}.overview-fold-body{padding:18px}.overview-fold-body>.panel{box-shadow:none;margin-bottom:14px}.overview-fold-body .user-actions{margin-top:16px}@media (max-width:650px){.illustrated-module.module-art{width:74px;min-width:74px;margin:0;padding:3px;position:absolute;top:0;right:0}.illustrated-module.module-art>.flat-module-icon{width:68px;height:68px}.compact-school-overview .overview-at-glance{padding:16px}.overview-filters{flex-wrap:wrap;gap:8px;width:100%}.overview-filters label{flex:1}.overview-filters input,.overview-filters select{width:100%;min-width:0}.overview-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.overview-stat{padding:11px}.overview-stat strong{font-size:23px}.overview-strip-legend{gap:8px}.overview-strip-legend b{width:100%;margin-left:0}.overview-fold>summary{gap:10px;padding:13px}.overview-fold-body{padding:12px}.overview-fold-body>.panel{padding:10px}.overview-fold>summary small{font-size:11px}.overview-staff-line{gap:9px 12px}}.brand.product-brand{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;padding:16px 12px 12px;display:flex}.brand.product-brand>img{object-fit:contain;background:#fff;border-radius:12px;width:140px;height:140px}.brand.product-brand>span{letter-spacing:1.5px;color:#73847a;font-size:9px}.login-brand.product-login-brand{flex-direction:column;align-items:flex-start;gap:8px}.product-login-brand>img{object-fit:contain;background:#fff;border-radius:14px;width:160px;height:160px}.product-login-brand small{letter-spacing:1.4px;margin:0;font-size:10px}.install-page-brand.product-install-brand{justify-content:center;margin-bottom:20px;display:flex}.install-page-brand.product-install-brand>img{object-fit:contain;background:#fff;border-radius:14px;width:150px;height:150px}.install-heading>img{object-fit:contain;background:#fff;border-radius:12px;width:64px;height:64px}@media (max-width:900px){.brand.product-brand{padding:10px 12px}.brand.product-brand>img{width:120px;height:120px}}@media (max-width:700px){.login-brand.product-login-brand{flex-direction:row;align-items:center;gap:14px}.product-login-brand>img{width:136px;height:136px}.product-login-brand small{max-width:135px;line-height:1.7}.login-story{min-height:168px;padding:16px}.login-form-side{min-height:calc(100dvh - 168px)}}.learning-tabs{gap:8px;padding:4px 0 16px;display:flex;overflow-x:auto}.learning-tabs button{white-space:nowrap;background:#fff;border:1px solid #dce5df;border-radius:10px;padding:11px 16px}.learning-tabs button.active{color:#fff;background:#174d3c;border-color:#174d3c}.learning-card{padding:24px}.learning-card h3{margin:12px 0}.learning-item{border-bottom:1px solid #e4ebe6;padding:22px}.learning-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.learning-selection{padding:18px}.learning-card .user-actions,.learning-item .user-actions{margin-top:16px}.sandbox-sidebar-link{border-top:1px solid #e1e8e2;padding:13px 22px;font-size:12px;display:block}.sandbox-login-link{margin-top:18px;font-size:12px;display:block}.sandbox-shell{max-width:1500px;margin:auto;padding:22px}.sandbox-header{align-items:center;gap:20px;margin-bottom:22px;display:flex}.sandbox-header>div{flex:1}.sandbox-header h1{margin:5px 0;font-size:26px}.sandbox-header p{color:#687b70;max-width:680px;font-size:12px;line-height:1.7}.sandbox-controls{flex-wrap:wrap;align-items:center;gap:22px;padding:18px;display:flex}.sandbox-controls label{align-items:center;gap:12px;display:flex}.sandbox-layout{grid-template-columns:230px minmax(0,1fr);gap:22px;display:grid}.sandbox-nav{background:#fff;border:1px solid #e0e6e0;border-radius:14px;align-self:start;max-height:80vh;padding:16px;position:sticky;top:14px;overflow:auto}.sandbox-nav h3{letter-spacing:1px;color:#73847a;margin:18px 0 8px;font-size:10px}.sandbox-nav button{text-align:left;border-radius:8px;justify-content:flex-start;width:100%;padding:10px;font-size:12px;display:flex}.sandbox-nav button.active{color:#174d3c;background:#e7f2eb;font-weight:700}.sandbox-main{min-width:0}.sandbox-main>.section-head{margin-bottom:18px;padding:12px 0}.sandbox-main>.section-head h2{font-size:24px}@media (max-width:700px){.sandbox-shell{padding:12px}.sandbox-header{flex-wrap:wrap;align-items:flex-start;gap:10px}.sandbox-header h1{font-size:21px}.sandbox-header>a:last-child{margin-left:auto}.sandbox-layout{grid-template-columns:1fr}.sandbox-nav{max-height:220px;position:static}.sandbox-controls{gap:14px}.sandbox-controls label{flex-wrap:wrap;width:100%}.sandbox-controls select{width:100%}.learning-tabs button{padding:10px 12px;font-size:12px}.learning-item{padding:16px}}.attendance-present-toggle{background:#edf7f0;border:1px solid #d5e8db;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-weight:600;display:flex!important}.attendance-present-toggle input{accent-color:#198556;height:23px;margin:0;width:23px!important}.score-entry-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;padding:20px;display:grid}.score-entry-pupil{border:1px solid #e1e8e2;border-radius:12px;padding:18px}.score-entry-pupil label{margin:12px 0;font-size:12px;display:block}.score-entry-pupil .form-grid{gap:12px}.score-entry-pupil h3{font-size:14px}.reference-report{color:#263c2e;max-width:1000px;margin:auto;font-size:11px}.report-sheet-page{background:#fff;border:1px solid #dbe3da;margin-bottom:20px;padding:28px 30px;position:relative;box-shadow:0 5px 25px #173b2710}.reference-report-header{z-index:auto;background:#fff;border:0;justify-content:center;align-items:center;gap:15px;display:flex;position:static}.reference-report-header>img{object-fit:contain;width:90px;height:78px}.reference-report-header>div{text-align:center;flex:1}.reference-report-header h2{color:#2b7c16;text-transform:uppercase;margin:0 0 7px;font-size:25px}.reference-report-header p{margin:0;font-size:10px;line-height:1.6}.reference-report-header>img.report-pupil-picture{object-fit:cover;width:65px;height:75px}.reference-report-title{color:#317e13;text-align:center;text-transform:uppercase;background:#b5e591;margin:22px 0;padding:12px;font-size:14px}.reference-pupil-meta{grid-template-columns:2fr 1.6fr 1fr 1fr .7fr;gap:14px;margin:20px 0 26px;display:grid}.reference-pupil-meta small{color:#667966;font-size:10px;display:block}.reference-pupil-meta b{color:#307b18;overflow-wrap:anywhere;margin-top:5px;font-size:11px;display:block}.reference-report table{border-collapse:collapse;table-layout:fixed;width:100%}.reference-report th,.reference-report td{text-align:center;vertical-align:middle;overflow-wrap:anywhere;border:1px solid #aeb8ab;padding:6px 5px;font-size:10px}.reference-report th:first-child,.reference-report td:first-child{text-align:left}.scholastic-table th:first-child{width:29%}.scholastic-table thead tr:first-child{color:#347d17}.scholastic-table thead tr:nth-child(2){background:#b5e591}.scholastic-group{color:#367623;text-transform:uppercase;background:#eff7e9}.reference-report .report-total th{font-weight:700}.reference-report-columns{grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;display:grid}.skills-table th:first-child{width:56%}.skills-table thead{color:#3a7e20}.skills-table tbody tr:nth-child(2n){background:#eef8e8}.reference-comment{border:1px solid #b6c0b0;min-height:54px;margin:14px 0;padding:10px}.reference-comment b{color:#377e19;font-size:10px}.reference-comment p{white-space:pre-wrap;margin:5px 0 0;font-size:11px;line-height:1.6}.report-method-note{color:#6a7766;margin:15px 0;font-size:9px;line-height:1.6}.activity-scale{margin-top:20px}.activity-scale th:first-child{width:auto}.reference-signatures{text-align:center;justify-content:space-between;gap:20px;margin:90px 0 30px;display:flex}.reference-signatures>div{flex-direction:column;gap:12px;font-size:10px;display:flex}.reference-report-footer{text-align:center;color:#6b7767;margin-top:30px;font-size:9px}.reference-table-wrap{overflow:auto}.report-review-editor{padding:20px}.report-review-editor fieldset{border:1px solid #dce6d6;border-radius:10px;margin:18px 0;padding:18px}.report-review-editor legend{color:#287044}.school-broadsheet{padding:24px}.school-broadsheet th{min-width:120px}.school-broadsheet table{font-size:11px}.report-supplement .reference-report-columns{margin-top:0}@media (max-width:650px){.report-sheet-page{padding:16px 12px}.reference-report-header h2{font-size:18px}.reference-report-header>img{width:64px;height:62px}.reference-pupil-meta{grid-template-columns:1fr 1fr;gap:12px}.reference-report-columns{grid-template-columns:1fr}.reference-report th,.reference-report td{padding:5px 3px;font-size:9px}.scholastic-table{min-width:650px}.reference-signatures{flex-wrap:wrap;gap:10px;margin-top:40px}.score-entry-grid{grid-template-columns:1fr;padding:12px}}@media print{.no-print,.module-page-heading,.sandbox-header,.sandbox-controls,.sandbox-nav{display:none!important}.reference-report{width:100%;max-width:none;font-size:10px}.report-sheet-page{box-shadow:none;break-after:page;border:0;margin:0;padding:5mm 0}.report-sheet-page:last-child{break-after:auto}.report-supplement{break-before:page}.reference-report-header{position:static}.reference-report-columns{grid-template-columns:1fr 1fr;gap:5mm}.reference-report table{min-width:0!important}.reference-report th,.reference-report td{padding:4px;font-size:9px}.reference-report-title{-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:5mm 0;padding:3mm}.reference-pupil-meta{grid-template-columns:2fr 1.5fr 1fr 1fr .7fr}.reference-report tr,.reference-comment,.skills-table{break-inside:avoid}.reference-report th,.reference-report td{-webkit-print-color-adjust:exact;print-color-adjust:exact}.reference-report-footer{font-size:8px}.school-broadsheet{border:0;padding:0}.report-sheet-page .reference-signatures{margin-top:40mm}.install-launcher,.mobile-bottom-nav,.mobile-menu-overlay,.sandbox-sidebar-link{display:none!important}}.reference-report.result-layout-compact th,.reference-report.result-layout-compact td{padding:4px;font-size:9px}.reference-report.result-layout-compact .reference-report-columns{margin-top:15px}.notice-highlights{gap:18px;margin-bottom:20px;display:grid}.birthday-celebration{background:linear-gradient(120deg,#fff5cf,#fff1f8,#e9f8ef);border:1px solid #ecd8b3;border-radius:18px;padding:22px;animation:4s ease-in-out infinite birthday-glow}.birthday-celebration h2,.notice-highlights h2{align-items:center;gap:9px;display:flex}.birthday-celebration small{color:#565565}.birthday-names{flex-wrap:wrap;gap:10px;margin:14px 0;display:flex}.birthday-names>span{background:#fff;border:1px solid #ead3ad;border-radius:12px;padding:12px 16px;font-weight:700}.birthday-names small{margin-top:4px;font-weight:400;display:block}.notice-event-list{gap:12px;max-height:440px;display:grid;overflow:auto}.notice-event-list article{background:#f2f8f4;border-left:4px solid #589c79;border-radius:8px;padding:12px 16px}.notice-event-list span{color:#52645b;margin-top:5px;display:block}.notice-event-list p{margin:6px 0 0;font-size:13px}.birthday-celebration.paused{animation:none}@keyframes birthday-glow{0%,to{box-shadow:0 0 #e0b75722}50%{box-shadow:0 0 0 6px #e0b75744}}@media (prefers-reduced-motion:reduce){.birthday-celebration{animation:none}}.report-template-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:18px;display:grid}.report-template-card{text-align:left;color:#174f3d;background:#f3f8f4;border:1px solid #d1e5d7;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:17px;display:flex}.report-template-card.selected{background:#e4f2e8;border:2px solid #347d5b}.report-template-card span{font-size:13px;font-weight:400}.additional-profile-fields{border:1px solid #d4e3d8;border-radius:12px;margin:20px 0;padding:16px}.additional-profile-fields legend{font-weight:700}.additional-profile-fields .extension-toolbar{margin-bottom:12px}.midterm-summary{background:#edf5ee;flex-wrap:wrap;gap:24px;margin:15px 0;padding:14px;display:flex}.midterm-report .report-sheet-page{min-height:0}.transcript-period{margin:20px 0}.transcript-period h3{color:#215a43;font-size:15px}.academic-transcript table{width:100%}.generated-pupil-document+.generated-pupil-document{margin-top:30px}@media print{.generated-pupil-document{break-before:page}.generated-pupil-document:first-of-type{break-before:auto}.midterm-report .report-sheet-page{break-after:auto}.transcript-period{break-inside:avoid}.academic-transcript thead{display:table-header-group}.report-template-cards,.additional-profile-fields{display:none!important}}.result-governance{background:#f7faf8;border:1px solid #d7e3db;border-radius:12px;margin:12px 20px 20px;padding:18px}.result-governance details{border-top:1px solid #dce7df;padding:12px 0}.result-governance summary{cursor:pointer;font-weight:650}.posting-component-status{flex-wrap:wrap;gap:12px;margin:12px 0;display:flex}.posting-component-status span{background:#fff;border:1px solid #d3e4d7;border-radius:8px;padding:6px 10px}.governance-item{background:#fff;border-left:3px solid #6d9e80;margin:12px 0;padding:12px}.governance-item p{overflow-wrap:anywhere;font-size:12px}.governance-editor{background:#fff;border:1px solid #c4dccc;border-radius:12px;margin-top:16px;padding:18px}.result-governance .extension-toolbar{align-items:end;gap:12px;margin:14px 0}.result-governance .badge{white-space:normal}@media (max-width:650px){.result-governance{margin:10px;padding:12px}.result-governance .section-head{flex-wrap:wrap;gap:10px}.result-governance .extension-toolbar{flex-direction:column;align-items:stretch;display:flex}}.nav-module-group{margin-bottom:8px}.nav-group-toggle{text-align:left;letter-spacing:.07em;border:0;gap:8px;width:100%;color:#174f3d!important;background:#e8f0eb!important;border-radius:9px!important;align-items:center!important;margin:0!important;padding:11px 12px!important;font-size:11px!important;font-weight:800!important;display:flex!important}.nav-group-toggle>span{flex:1}.nav-group-toggle small{opacity:.85;font-size:10px}.nav-group-toggle svg{transition:transform .15s}.nav-group-toggle svg.expanded{transform:rotate(180deg)}.nav-group-links button{align-items:center;gap:10px;display:flex}.nav-group-links button>span{text-align:left;flex:1}.mobile-menu-sheet .nav-group-toggle{color:#174f3d!important;background:#e8f0eb!important;font-size:11px!important}.mobile-menu-sheet .nav-group-links>button{width:100%}.sandbox-nav .nav-group-toggle{color:#174f3d!important}.fleet-reminder-list{gap:10px;max-height:350px;display:grid;overflow:auto}.fleet-reminder-list article{background:#f5f8f4;border:1px solid #e0e8db;border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.fleet-reminder-list article>div{flex:1}.fleet-reminder-list p{margin:5px 0;font-size:12px}.fleet-mileage-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:15px;display:grid}.fleet-mileage-grid article{background:#f4f8f5;border-radius:9px;gap:8px;padding:12px;display:grid}@media (max-width:650px){.fleet-reminder-list article{flex-wrap:wrap}.fleet-reminder-list article>div{min-width:65%}.nav-group-toggle{min-height:42px}}.login-portal-choices{gap:16px;margin:26px 0;display:grid}.login-portal-choices>a{color:#174f3d;background:#f2f7f3;border:1px solid #c8dccf;border-radius:14px;align-items:center;gap:15px;padding:22px 18px;text-decoration:none;transition:background .15s,border-color .15s;display:flex}:is(.login-portal-choices>a:hover,.login-portal-choices>a:focus-visible){outline-offset:2px;background:#e2efe6;border-color:#28714e;outline:2px solid #28714e}.login-portal-choices>a>div{flex:1}.login-portal-choices strong{margin-bottom:7px;font-size:18px;display:block}.login-portal-choices span{color:#526d5d;font-size:13px;line-height:1.5;display:block}.portal-switch-link{text-align:center;margin-top:18px;text-decoration:none;display:block}@media (max-width:650px){.login-portal-choices>a{padding:18px 14px}.login-portal-choices strong{font-size:17px}}.login-portal-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px;display:grid}.login-portal-nav a{color:#24523d;text-align:center;background:#f3f7f4;border:1px solid #c7dacf;border-radius:9px;justify-content:center;align-items:center;padding:11px 6px;font-size:12px;font-weight:650;line-height:1.4;text-decoration:none;display:flex}.login-portal-nav a[aria-current=page]{color:#fff;background:#174f3d;border-color:#174f3d}:is(.login-portal-nav a:hover,.login-portal-nav a:focus-visible){outline-offset:2px;outline:2px solid #6a9c7d}.notification-bell{position:relative}.notification-bell>span{color:#fff;background:#b54135;border-radius:9px;min-width:17px;height:17px;padding:1px 4px;font-size:10px;line-height:15px;position:absolute;top:0;right:-3px}.school-notification-popup{z-index:55;background:#fff;border:1px solid #bed8c7;border-left:5px solid #347b53;border-radius:14px;width:min(400px,100vw - 32px);padding:18px;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 42px #183b2833}.school-notification-popup header{justify-content:space-between;align-items:center;gap:12px;display:flex}.school-notification-popup header b{color:#2e6e4d;align-items:center;gap:7px;font-size:12px;display:flex}.school-notification-popup h3{margin:14px 0 7px;font-size:17px}.school-notification-popup p{overflow-wrap:anywhere;font-size:13px;line-height:1.5}.school-notification-popup small{color:#64796a}.school-notification-popup .user-actions{flex-wrap:wrap;margin-top:16px}.notification-dialog{width:min(680px,100vw - 28px)}.notification-tabs{flex-wrap:wrap;gap:8px;margin:15px 0 20px;display:flex}.notification-list{gap:12px;max-height:55vh;display:grid;overflow:auto}.notification-list article{background:#f3f8f4;border:1px solid #d4e3d9;border-radius:10px;padding:16px}.notification-list article.seen{opacity:.8;background:#fafbf9}.notification-list h3{margin:7px 0;font-size:16px}.notification-list p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.notification-switches{gap:14px;margin:20px 0;display:grid}.notification-switches label{align-items:center;gap:12px;display:flex}.notification-switches input{accent-color:#23633e;width:19px;height:19px;margin:0}.notification-actions{flex-wrap:wrap;margin-bottom:16px}@media (max-width:900px){.school-notification-popup{bottom:calc(92px + env(safe-area-inset-bottom));right:16px}.notification-dialog{padding:20px 16px}}@media print{.notification-bell,.school-notification-popup,.notification-overlay{display:none!important}}.feedback-trigger{flex-shrink:0;color:#17634d!important}.feedback-sidebar-link{color:#174f3d;width:100%;font:inherit;text-align:left;background:#edf5ef;border:0;border-radius:10px;align-items:center;gap:10px;margin:8px 0;padding:12px 16px;display:flex}.feedback-sidebar-link:hover{background:#dceee1}.feedback-overlay{z-index:90}.feedback-dialog{width:calc(100vw - 28px);max-width:650px;max-height:85dvh;overflow-y:auto}.feedback-tabs{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.feedback-tabs [aria-pressed=true]{color:#fff;background:#174f3d}.feedback-dialog textarea{resize:vertical;width:100%;min-height:100px}.feedback-check{align-items:center;gap:9px;margin-top:16px;display:flex!important}.feedback-check input{flex-shrink:0;height:17px;width:17px!important}.feedback-list{gap:12px;display:grid}.feedback-list article{border:1px solid #dce8df;border-radius:12px;padding:16px}.feedback-list article p{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-list h3{margin:7px 0}.feedback-thanks{text-align:center;padding:28px 12px}.feedback-thanks svg{color:#197154}.feedback-dialog small{color:#5e7066}@media (max-width:600px){.feedback-dialog .form-grid{grid-template-columns:1fr}.feedback-trigger{padding:6px!important}.feedback-dialog{max-height:88dvh}.feedback-tabs button{padding:8px;font-size:12px}}@media print{.feedback-trigger,.feedback-sidebar-link,.feedback-overlay{display:none!important}}.feedback-trigger{right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:56;background:#17634d;border:1px solid #fff;border-radius:50%;width:44px;min-width:44px;height:44px;min-height:44px;transition:background .15s,box-shadow .15s;position:fixed;box-shadow:0 3px 14px #173e2940;color:#fff!important;padding:0!important}.feedback-trigger:hover{background:#104c3a;box-shadow:0 4px 18px #173e2938}.feedback-trigger svg{pointer-events:none}.school-notification-popup,.toast{bottom:calc(80px + env(safe-area-inset-bottom))}.app-footer{padding-bottom:84px}body:has([aria-modal=true]) .feedback-trigger{visibility:hidden;pointer-events:none}@media (max-width:900px){.feedback-trigger{right:16px;bottom:calc(88px + env(safe-area-inset-bottom))}.school-notification-popup,.toast{bottom:calc(144px + env(safe-area-inset-bottom))}.app-footer{padding-bottom:148px}}.login-shell{isolation:isolate;background:#edf3eb;position:relative}.login-shell:before{content:"";z-index:-1;pointer-events:none;opacity:.84;background-image:url(/brand/school4sense-login-community-left.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.login-shell .login-story{background:linear-gradient(140deg,#123d30e0,#23583ead)}.login-shell .login-story footer{z-index:1;position:relative}.login-shell .login-form-side{background:#f6f8f0b8}.login-shell .login-card{background:#fffffff7;box-shadow:0 18px 55px #203d2520}@media (max-width:700px){.login-shell:before{background-position:top;background-size:auto 640px}.login-shell .login-story{background:#123d30ad}.login-shell .login-form-side{background:#f6f8f0c2}}.story-content h1.login-mission{letter-spacing:-1.5px;font-size:clamp(32px,3.5vw,56px);line-height:1.2}.school-name small{line-height:1.6}.module-page-heading>.illustrated-module{flex-shrink:0}@media (max-width:650px){.module-page-heading{grid-template-columns:minmax(0,1fr) 74px;align-items:start;gap:12px;display:grid}.module-page-heading>.page-title{min-width:0}.module-page-heading>.illustrated-module{align-self:start;width:74px;min-width:74px;margin:0;position:static}.module-page-heading .page-title>div:first-child{padding-right:0}.module-page-heading .title-actions{flex-wrap:wrap}.module-page-heading h1{overflow-wrap:anywhere}}@media (max-width:1100px){.module-page-heading{grid-template-columns:minmax(0,1fr) 96px;align-items:start;gap:12px 16px;margin-bottom:24px;display:grid}.module-page-heading>.page-title{display:contents}.module-page-heading .page-title>div:first-child{grid-area:1/1;min-width:0;padding-right:0}.module-page-heading>.illustrated-module{grid-area:1/2;align-self:start;width:96px;min-width:0;margin:0;padding:3px;position:static}.module-page-heading .title-actions{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:flex-start;gap:10px;min-width:0;display:flex}.module-page-heading .title-actions>*{max-width:100%}.module-page-heading .term-pill{white-space:normal;overflow-wrap:anywhere}.module-page-heading h1{overflow-wrap:anywhere}.module-page-heading .title-actions button{white-space:normal;text-align:center}}@media (max-width:650px){.module-page-heading{grid-template-columns:minmax(0,1fr) 74px;gap:12px}.module-page-heading>.illustrated-module{width:74px}.module-page-heading .page-title h1{font-size:24px;line-height:1.25}}.privacy-shell{max-width:1080px;margin:auto;padding:32px 24px 70px}.privacy-shell>.eyebrow{margin-top:28px;display:block}.privacy-shell>h1{line-height:1.25}.privacy-shell>.panel{margin:22px 0}.privacy-shell .controls{line-height:1.8}.privacy-shell h2{margin:24px 0 12px;font-size:21px}.privacy-shell h2:first-child{margin-top:0}.privacy-shell a,.privacy-link,.app-footer a{color:#236348;text-underline-offset:3px}.privacy-link{margin-top:20px;font-size:12px;display:block}.privacy-tabs{flex-wrap:wrap;gap:10px;margin:24px 0;display:flex}.privacy-records{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;display:grid}.privacy-records article{overflow-wrap:anywhere;border:1px solid #dce6db;border-radius:12px;padding:18px}.privacy-records h3{font-size:16px}.privacy-editor label,.privacy-backup label{margin:16px 0;display:block}.privacy-checkbox{align-items:center;gap:12px;display:flex!important}.privacy-checkbox input{flex:none;width:22px;height:22px;min-height:22px}.privacy-shell summary{cursor:pointer;font-weight:600}.privacy-shell .section-head{flex-wrap:wrap}.privacy-backup{padding:12px 0}.privacy-editor textarea{min-height:90px}@media (max-width:650px){.privacy-shell{padding:22px 16px 70px}.privacy-shell .controls{padding:18px}.privacy-tabs>*{flex:140px}.privacy-shell h1{font-size:28px}}.staff-learning{gap:20px;min-width:0;display:grid}.staff-learning .panel{min-width:0}.staff-learning label{gap:8px;margin:12px 0;display:grid}.staff-learning textarea,.staff-learning select{box-sizing:border-box;width:100%;max-width:100%}.staff-learning fieldset{border:1px solid #dce6e0;border-radius:12px;min-width:0;margin:16px 0;padding:14px}.staff-learning legend{overflow-wrap:anywhere;font-weight:600}.staff-learning .learning-tabs{flex-wrap:wrap}.staff-learning .learning-content{white-space:pre-wrap;overflow-wrap:anywhere}.staff-learning details{border-bottom:1px solid #e5ece7;padding:12px}.staff-learning button{white-space:normal}.staff-learning .learning-card{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.staff-learning .learning-card button{margin-top:auto}@media (max-width:640px){.staff-learning .resource-grid,.staff-learning .form-grid{grid-template-columns:1fr}.staff-learning .panel{padding:16px}}.calendar-explanation,.calendar-day-details{padding:0 20px 18px}.calendar-grid article.has-calendar-events{background:#f0f7ed}.calendar-grid article.calendar-selected{outline:2px solid var(--gold)}.calendar-grid article button.calendar-day{color:inherit;background:0 0;justify-content:space-between;align-items:center;min-height:32px;margin:0;font-weight:700;display:flex}.calendar-dot{background:#508537;border-radius:50%;flex-shrink:0;width:7px;height:7px}.calendar-marker small{margin-top:4px;font-size:10px;line-height:1.4;display:block}.calendar-day-details>button{text-align:left;white-space:normal;margin:8px 0;display:block}.calendar-grid article.today{background:#fff5da}@media (max-width:600px){.calendar-grid article button.calendar-marker{font-size:9px}.calendar-marker small{font-size:8px}.calendar-explanation,.calendar-day-details{padding:0 12px 12px}}.staff-course-card{flex-direction:column;display:flex;overflow:hidden;padding:0!important}.staff-course-card>img{object-fit:cover;width:100%;height:170px}.staff-course-card-copy{flex-direction:column;flex:1;gap:9px;padding:20px;display:flex}.staff-course-card-copy h3,.staff-course-card-copy p{margin:0}.staff-course-card-copy>.primary{margin-top:auto}.staff-course-card-copy .user-actions{flex-wrap:wrap;margin-top:8px}.staff-course-heading,.staff-resources,.staff-legacy{padding:22px}.staff-course-heading .context{align-items:start;gap:12px;display:flex}.staff-course-heading>.primary,.staff-course-heading>.secondary{align-items:center;gap:8px;margin-top:14px;text-decoration:none;display:inline-flex}.staff-study .learning-content{white-space:pre-wrap;max-width:84ch;line-height:1.9}.staff-study h3{margin-top:26px}.study-infographic{background:#f0f6ed;border:1px solid #c7dcc0;border-radius:14px;margin:24px 0;padding:22px}.study-infographic figcaption{color:#184a38;margin-bottom:18px;font-weight:700}.study-infographic ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.study-infographic li{background:#fff;border-top:5px solid #50976b;border-radius:12px;gap:12px;padding:18px;display:flex}.study-infographic li:nth-child(2){border-color:#d3a52d}.study-infographic li:nth-child(3){border-color:#539cab}.study-infographic li>span{color:#234d32;background:#e7f1e0;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.study-infographic p{font-size:13px;line-height:1.6}.training-scenario{margin:24px 0}.training-scenario img{object-fit:cover;border-radius:12px;width:100%;max-height:390px}.training-scenario figcaption{color:var(--muted);margin-top:7px;font-size:12px}.study-example{background:#fff8e5;border-left:5px solid #d3a52d;border-radius:8px;margin:18px 0;padding:20px}.training-answer{padding:10px 0;line-height:1.5;flex-direction:row!important;align-items:start!important;gap:10px!important;display:flex!important}.training-answer input{margin-top:5px;width:auto!important}.staff-study fieldset,.staff-cbt fieldset,.staff-course-editor fieldset{border:1px solid var(--border);border-radius:9px;margin:18px 0;padding:20px}.staff-study legend,.staff-cbt legend{font-weight:600;line-height:1.6}.staff-resources ul{padding-left:24px}.staff-resources li{margin:10px 0}.staff-legacy>summary{cursor:pointer;font-weight:600}.staff-legacy article{border-bottom:1px solid var(--border);padding:12px 0}.staff-course-editor textarea{min-height:90px}.staff-course-editor .learning-tabs{z-index:1;background:#fff;position:sticky;top:0}.staff-study details textarea{border:1px solid var(--border);border-radius:8px;width:100%;padding:12px}.staff-learning>.error{z-index:1;position:relative}@media (max-width:750px){.study-infographic ol{grid-template-columns:1fr}.staff-course-heading,.staff-resources,.staff-legacy{padding:16px}.study-infographic{padding:14px}.staff-course-heading .user-actions{flex-wrap:wrap}.training-scenario img{height:auto}.staff-course-card>img{height:185px}}.course-outcomes{background:#eff6eb;border-left:5px solid #4d8b63;border-radius:8px;margin:18px 0;padding:18px 22px}.course-outcomes h3{margin-top:0!important}.course-outcomes li{margin:8px 0;line-height:1.65}.course-study-guide{counter-reset:lesson-step;margin:20px 0;padding:0;list-style:none}.course-study-guide>li{border-bottom:1px solid var(--border);padding:18px 0}.course-study-guide h4{margin:0 0 10px;font-size:17px}.course-activity{background:#fffaf0;border:1px solid #d8c27e;border-radius:12px;margin:24px 0;padding:20px}.course-activity li{margin:12px 0;line-height:1.7}.course-activity textarea{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:12px}.course-assignments{margin:20px 0;padding:20px}.course-assignments details{padding:15px 0}.course-assignments summary{cursor:pointer;font-weight:600}.course-target-list{border:1px solid var(--border);border-radius:8px;max-height:230px;margin:12px 0;padding:10px;overflow:auto}.course-assignments textarea{border:1px solid var(--border);border-radius:8px;width:100%;padding:12px}.course-assignments progress{accent-color:#38714b;width:100%}.course-assignments .user-actions{flex-wrap:wrap}@media (max-width:600px){.course-assignments,.course-outcomes,.course-activity{padding:14px}}.inventory-workspace{gap:18px;display:grid}.inventory-workspace .context p{margin:5px 0 0}.inventory-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.inventory-metrics .metric{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:20px;display:flex}.inventory-metrics strong{overflow-wrap:anywhere;font-size:26px}.inventory-metrics span,.inventory-metrics small{color:var(--muted)}.inventory-toolbar{flex-wrap:wrap;gap:12px}.inventory-toolbar .learning-tabs{gap:8px;margin:0;padding:0;display:flex}.inventory-toolbar button{align-items:center;gap:6px;display:inline-flex}.inventory-filters{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:end;gap:12px;padding:18px;display:flex}.inventory-filters label{flex-direction:column;flex:150px;gap:6px;min-width:0;font-size:13px;display:flex}.inventory-filters label:first-child{flex-basis:220px}.inventory-filters input,.inventory-filters select{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:10px}.inventory-filters .inventory-check{flex-direction:row;flex:0 190px;align-items:center;min-height:42px}.inventory-check input{width:18px;height:18px}.inventory-workspace .table-wrap{width:100%;overflow:auto}.inventory-workspace table{min-width:900px}.inventory-workspace td{vertical-align:top}.inventory-workspace td .row-actions{flex-wrap:wrap;gap:7px;min-width:150px}.inventory-detail{white-space:normal;overflow-wrap:anywhere;max-width:280px;margin-top:5px;display:block}.inventory-workspace .hint{padding:0 18px;line-height:1.6}.inventory-starters{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.inventory-alert{color:#65491a;background:#fff8e7;border:1px solid #e7d4a1;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:15px 18px;display:flex}.inventory-alert .secondary{margin-left:auto}.inventory-dialog{max-width:800px}.inventory-dialog>form{max-height:78vh;padding:22px;overflow:auto}.inventory-dialog label{flex-direction:column;gap:7px;margin-bottom:15px;display:flex}.inventory-dialog input,.inventory-dialog select,.inventory-dialog textarea{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:11px}.inventory-dialog .context{margin:12px 0}.inventory-dialog .hint{padding:0}.inventory-dialog input:disabled,.inventory-dialog select:disabled{color:#60695e;background:#f0f2ef}.inventory-workspace .learning-tabs button.active{color:#fff;background:#174f39}@media (max-width:900px){.inventory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-metrics strong{font-size:23px}.inventory-toolbar .user-actions{flex-wrap:wrap;width:100%}.inventory-toolbar .user-actions button{flex:140px}.inventory-filters{padding:14px}.inventory-dialog>form{padding:16px}.inventory-alert .secondary{margin-left:0}}@media (max-width:450px){.inventory-metrics{gap:8px}.inventory-metrics .metric{padding:14px}.inventory-metrics strong{font-size:20px}.inventory-metrics small{font-size:11px}.inventory-filters label,.inventory-filters label:first-child{flex-basis:100%}}.inventory-flow{gap:18px;display:grid}.inventory-flow-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.inventory-flow-tabs button{text-align:left;border:1px solid var(--border);color:#244b3a;background:#fff;border-radius:9px;align-items:center;gap:8px;min-height:48px;padding:13px;font-weight:600;display:flex}.inventory-flow-tabs button.active{color:#fff;background:#174f39}.inventory-flow-panel{padding:22px}.inventory-flow-panel>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.inventory-flow-panel h2{margin:0;font-size:21px}.inventory-flow-panel h3{margin:25px 0 15px}.inventory-flow-panel p,.inventory-flow-panel li{line-height:1.65}.inventory-flow-panel td{vertical-align:top;overflow-wrap:anywhere;max-width:320px}.inventory-flow-panel td small,.inventory-flow-panel td strong{margin-top:6px;display:block}.inventory-flow-panel .table-wrap{overflow:auto}.inventory-flow-panel table{min-width:720px}.inventory-flow-panel .user-actions{flex-wrap:wrap;gap:8px}.inventory-flow-panel .user-actions button{min-height:36px;font-size:12px}.inventory-flow-panel details{margin-top:12px;font-size:13px;line-height:1.6}.inventory-queue{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:18px 0;display:flex}.inventory-example{padding:20px}.inventory-example summary{cursor:pointer;margin-bottom:15px;font-weight:600}.inventory-example p{line-height:1.7}.inventory-flow .context p{margin:6px 0;line-height:1.6}.inventory-flow .context small{line-height:1.6;display:block}@media (max-width:900px){.inventory-flow-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-flow-panel{padding:16px}.inventory-queue{flex-direction:column;align-items:flex-start}.inventory-flow-panel h2{font-size:19px}}@media print{.inventory-flow-tabs,.inventory-flow button{display:none!important}}.inventory-workspace button[hidden]{display:none!important}.school-ledger{gap:18px;display:grid}.ledger-tabs{flex-wrap:wrap;gap:8px;display:flex}.ledger-tabs button{border:1px solid var(--border);color:#234b39;background:#fff;border-radius:9px;align-items:center;gap:8px;min-height:46px;padding:12px 15px;display:flex}.ledger-tabs button.active{color:#fff;background:#174f39}.ledger-panel{padding:22px}.ledger-panel>header,.ledger-journal>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.ledger-panel h2{margin:0;font-size:21px}.ledger-panel p,.ledger-panel small,.school-ledger .context{line-height:1.65}.ledger-panel td{vertical-align:top;overflow-wrap:anywhere;max-width:420px}.ledger-panel td strong,.ledger-panel td span,.ledger-panel td small{display:block}.ledger-panel td small{color:var(--muted);margin-top:6px}.ledger-panel .table-wrap{overflow:auto}.ledger-panel table{min-width:700px}.ledger-filters{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.ledger-filters label{flex-direction:column;flex:150px;gap:7px;font-size:13px;display:flex}.ledger-filters label:first-child{flex-basis:240px}.ledger-panel input,.ledger-panel select{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:100%;min-height:42px;padding:10px}.ledger-summary{background:#f0f5ee;border-radius:9px;flex-wrap:wrap;justify-content:space-between;gap:18px;padding:17px;display:flex}.ledger-summary span{flex-direction:column;gap:6px;display:flex}.ledger-opening,.ledger-totals{background:#f0f5ee}.ledger-journal{border-top:1px solid var(--border);padding:20px 0}.ledger-journal>header p{margin:5px 0}.ledger-journal .user-actions{flex-wrap:wrap}.ledger-source{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;padding:14px 0;display:flex}.ledger-source p{margin:5px 0}.ledger-entry-lines{gap:12px;margin:18px 0;display:grid}.ledger-entry{border:1px solid var(--border);background:#f6f7f4;border-radius:9px;grid-template-columns:minmax(160px,2fr) 1fr 1fr;gap:12px;padding:15px;display:grid}.ledger-entry details{grid-column:1/-1}.ledger-entry>button{justify-self:start}.ledger-dialog{max-width:1000px}.ledger-checkbox{align-items:center;flex-direction:row!important}.ledger-checkbox input{height:20px;min-height:20px;width:20px!important}.school-ledger .context small{display:block}.school-ledger .hint{line-height:1.6}.ledger-panel details{margin:18px 0}.ledger-panel summary{cursor:pointer;font-weight:600}@media (max-width:900px){.ledger-panel{padding:16px}.ledger-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ledger-tabs button{padding:11px;font-size:13px}.ledger-entry{grid-template-columns:1fr 1fr}.ledger-entry>label:first-child{grid-column:1/-1}.ledger-source{flex-direction:column;align-items:flex-start}.ledger-summary span{flex:140px}}@media print{.ledger-tabs,.ledger-filters,.school-ledger button{display:none!important}}.fee-bills{margin-bottom:24px}.fee-bill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.fee-bill-card{min-width:0;padding:22px}.fee-bill-card h3{margin:10px 0 20px}.fee-bill-card dl,.fee-bill-preview{margin:16px 0 22px}.fee-bill-card dl>div,.fee-bill-preview>div{justify-content:space-between;gap:16px;padding:10px 0;display:flex}.fee-bill-card dd,.fee-bill-preview dd{white-space:nowrap;font-variant-numeric:tabular-nums;margin:0}.fee-bill-total{border-top:2px solid #d8e5dc;font-size:1.1rem;font-weight:700}.fee-bill-card .primary{justify-content:center;width:100%}.inventory-flow>.context{flex-wrap:wrap;gap:16px}.inventory-flow>.context>div{flex:1;min-width:200px}@media (max-width:1000px){.fee-bill-grid{grid-template-columns:1fr}.fee-bill-card .primary{width:auto}}.admissions-workspace>.context{flex-wrap:wrap;align-items:flex-start}.admissions-workspace>.context>div{flex:1;min-width:220px}.admissions-workspace>.learning-tabs{margin:22px 0}.admission-detail{margin-top:24px}.admission-detail .eyebrow{overflow-wrap:anywhere}.admission-detail-grid{grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:28px;padding:20px;display:grid}.admission-stage-list{margin:0;padding:0;list-style:none}.admission-stage-list>li{border-bottom:1px solid #e8eee9;border-left:3px solid #dbe6de;gap:12px;padding:17px 12px;display:flex}.admission-stage-list>li>svg{flex-shrink:0}.admission-stage-list .current{background:#fff8df;border-left-color:#cf8d28}.admission-stage-list .done{color:#24563b;border-left-color:#3c8b65}.admission-stage-list button{margin-top:8px}.admission-bill{border-top:1px solid #dbe6de;margin-top:24px;padding-top:20px}.admission-bill dl>div{justify-content:space-between;gap:15px;padding:8px 0;display:flex}.admission-bill dd{white-space:nowrap;margin:0}.admission-bill .table-wrap{margin-bottom:16px}.admission-history{border-top:1px solid #dbe6de;padding:20px}.admission-history summary{cursor:pointer;font-weight:600}.admission-history article{border-bottom:1px solid #dbe6de;padding:16px 0}.admission-history article p{white-space:pre-wrap}.admission-queue{border-top:1px solid #dbe6de;justify-content:space-between;align-items:center;gap:20px;padding:18px;display:flex}.admission-queue p{margin:6px 0}.admission-setup li{border-bottom:1px solid #dbe6de;padding:16px 10px}.admission-setup fieldset,.fee-line-editor{border:1px solid #dbe6de;border-radius:8px;margin:16px 0;padding:16px}.admission-setup fieldset{flex-wrap:wrap;gap:16px;display:flex}.admission-setup textarea{min-height:85px}.fee-schedule-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.fee-schedule-actions button{flex:1}.fee-bill-card .fee-schedule-actions .secondary{font-size:.85rem}.admission-dialog label:has(textarea){display:block}.admission-dialog textarea{width:100%}@media (max-width:900px){.admission-detail-grid{grid-template-columns:1fr;padding:12px}.admission-stage-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admission-stage-list>li{padding:12px 8px;font-size:.85rem}.admission-queue,.admissions-workspace .user-actions{flex-wrap:wrap}}@media (max-width:480px){.admission-stage-list{grid-template-columns:1fr}.admission-bill dl>div{font-size:.9rem}}.parent-services{color:#173f33;background:#f6f8f4;max-width:1280px;min-height:100vh;margin:0 auto;padding:24px}.parent-service-header{color:#fff;background:#194e3d;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;padding:20px 24px;display:flex}.parent-service-header>a{color:#fff;align-items:center;gap:14px;font-weight:700;text-decoration:none;display:flex}.parent-service-header img{object-fit:contain;width:66px;height:66px}.parent-service-header nav{flex-wrap:wrap;gap:20px;display:flex}.parent-service-header nav a{color:#fff}.parent-service-hero{max-width:850px;margin:20px 0 30px}.parent-service-hero h1{margin:14px 0;font-size:clamp(2rem,5vw,3.2rem);line-height:1.1}.parent-service-hero p{font-size:1.05rem;line-height:1.65}.parent-service-grid{grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:24px;display:grid}.parent-services .panel{margin-bottom:24px;padding:24px}.parent-services h2{align-items:center;gap:10px;display:flex}.parent-services label,.embedded-fee-centre label{flex-direction:column;gap:7px;margin:14px 0;font-weight:600;display:flex}.parent-services input,.parent-services select,.parent-services textarea,.embedded-fee-centre select{max-width:100%;font:inherit;background:#fff;border:1px solid #cbdacf;border-radius:7px;padding:12px}.parent-services .inventory-check{flex-direction:row;align-items:flex-start;font-size:.95rem}.parent-services .inventory-check input{flex-shrink:0;margin-top:4px}.parent-services .primary,.parent-services .secondary{align-items:center;gap:8px;min-height:42px;text-decoration:none;display:inline-flex}.admission-access textarea{word-break:break-all;width:100%;min-height:72px}.admission-access .primary{margin-left:12px}.parent-application{border-top:1px solid #d9e5dd;padding:20px 0}.parent-stage-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;list-style:none;display:grid}.parent-stage-progress li{background:#fff8e8;border-left:3px solid #d8b777;padding:12px;font-size:.9rem}.parent-stage-progress .done{background:#eaf3e8;border-left-color:#3c8b65}.parent-stage-progress small{margin-top:6px;display:block}.admission-honeypot{width:1px;height:1px;left:-10000px;overflow:hidden;position:absolute!important}.fee-payment-actions{flex-wrap:wrap;align-items:center;gap:12px;padding:20px 0;display:flex}.fee-centre>.learning-tabs{margin:24px 0}.fee-centre td input[type=number]{width:84px}.fee-centre .dialog{max-height:90vh;overflow:auto}.fee-centre .dialog label{flex-direction:column;gap:7px;display:flex}.fee-centre .dialog header{justify-content:space-between;align-items:center;display:flex}.fee-centre .dialog textarea{min-height:80px}.fee-centre>.panel-title h1{font-size:1.75rem}.embedded-fee-centre{margin:26px 0}.admission-login-cta{text-align:center;justify-content:center;gap:8px;margin-top:24px;text-decoration:none;display:flex!important}.payroll-source-panel{margin-bottom:24px}.payroll-source-panel .inventory-metrics{padding:16px 0}.payroll-source-panel .metric strong{font-size:1.5rem}.payroll-source-panel .inventory-alert p{margin:4px 0}.payroll-source-panel td .error{padding:5px;font-size:.8rem}.parent-services footer{text-align:center;color:#567265;padding:25px 0}@media (max-width:850px){.parent-services{padding:12px}.parent-service-header{flex-direction:column;align-items:flex-start;padding:16px}.parent-service-header nav{gap:14px;font-size:.9rem}.parent-service-grid{grid-template-columns:1fr}.parent-stage-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-services .panel{padding:16px}.admission-access .primary{margin:12px 0}.parent-services .form-grid{grid-template-columns:1fr}.fee-payment-actions>*{flex:1}.fee-centre .panel-title{flex-wrap:wrap}}@media (max-width:480px){.parent-stage-progress{grid-template-columns:1fr}.parent-service-header nav{flex-direction:column}.fee-payment-actions{flex-direction:column;align-items:stretch}}.duty-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px;display:grid}.duty-card{border:1px solid var(--line,#d9e5df);background:#fff;border-left:4px solid #205f4c;border-radius:14px;flex-direction:column;gap:12px;padding:18px;display:flex}.duty-card .panel-title,.duty-card p,.duty-card h3{margin:0}.duty-card small,.staff-duty-workspace .hint{line-height:1.6}.duty-card .user-actions{flex-wrap:wrap}.duty-cancelled{opacity:.65;border-left-color:#7b827f}.staff-duty-workspace>.panel,.staff-duty-workspace>.metrics{margin-bottom:20px}.staff-duty-workspace .extension-toolbar{flex-wrap:wrap}.staff-duty-workspace .duty-day>h3{margin-bottom:18px}.app{--sidebar-width:248px}.app>.app-sidebar{width:var(--sidebar-width);overflow:visible}.app>.app-sidebar>nav{flex:1;min-width:0;min-height:100px;overflow-y:auto}.app>.app-sidebar .school-name,.app>.app-sidebar .sidebar-foot{overflow-wrap:anywhere}.sidebar-width-controls{border-top:1px solid var(--border);background:#f6f8f3;flex-shrink:0;padding:12px 22px;font-size:12px}.sidebar-width-controls summary{cursor:pointer;color:#174d3c;padding:4px 0}.sidebar-width-controls label{margin:10px 0;display:block}.sidebar-width-controls input{accent-color:#174d3c;width:100%;margin-top:9px;display:block}.sidebar-width-controls button{padding:4px 0;text-decoration:underline}.sidebar-resize-handle{cursor:col-resize;touch-action:none;z-index:2;background:0 0;width:10px;position:absolute;top:0;bottom:0;right:-5px}:is(.sidebar-resize-handle:hover,.sidebar-resize-handle:focus-visible,.sidebar-resizing .sidebar-resize-handle){background:#3c806b55;outline:0}.sidebar-resizing{-webkit-user-select:none;user-select:none}.admission-form-layout{width:100%;min-width:0;display:block}.admission-form-layout>.panel{width:100%;min-width:0}.admission-helpdesk{width:auto;max-width:100%;height:auto;min-height:0;display:block;position:static;inset:auto}.admission-helpdesk p{overflow-wrap:anywhere;max-width:100%;line-height:1.65}@media (min-width:901px){.app>.main{margin-left:var(--sidebar-width);min-width:0}.app.collapsed>.main{margin-left:0}}@media (max-width:900px){.app>.app-sidebar{width:min(300px,85vw)}.sidebar-resize-handle,.sidebar-width-controls{display:none}.app>.main{margin-left:0}}@media print{.app>.main{margin-left:0!important}.sidebar-resize-handle,.sidebar-width-controls{display:none!important}}.teaching-filters{flex-wrap:wrap;padding:18px}.teaching-panel{padding:22px}.teaching-week-grid{grid-template-columns:repeat(5,minmax(170px,1fr));gap:12px;padding:18px;display:grid;overflow-x:auto}.teaching-day{background:#f6f8f3;border:1px solid #dce5dc;border-radius:10px;min-width:0;padding:10px}.teaching-day>header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.teaching-day h3{margin:5px 0}.teaching-slot{overflow-wrap:anywhere;background:#fff;border:1px solid #dce5df;border-left:4px solid #246a54;border-radius:8px;margin-bottom:12px;padding:12px}.teaching-slot>strong,.teaching-slot>small{margin-bottom:7px;display:block}.teaching-slot h4{margin:9px 0}.teaching-slot p{margin:6px 0;font-size:12px;line-height:1.5}.teaching-slot .user-actions{flex-wrap:wrap;margin-top:12px}.teaching-break{background:#fff8e9;border-left-color:#c69b47}.teaching-workspace>.context{flex-wrap:wrap;align-items:flex-start}.teaching-workspace .learning-tabs{padding:12px 18px}.teaching-workspace .panel>h2,.teaching-workspace .panel>p{margin:18px 22px}.teaching-workspace .table-wrap select{min-width:170px;max-width:100%}.teaching-workspace .form-grid .inventory-check{align-items:center;gap:8px;display:flex}.teaching-workspace .inventory-check input{width:auto}.teaching-workspace .badge{white-space:normal;margin:3px}.teaching-workspace fieldset{border:1px solid #dce5dc;border-radius:8px}.teaching-workspace .dialog .hint{margin:16px 0}@media (max-width:600px){.teaching-week-grid{grid-template-columns:1fr;padding:12px;overflow:visible}.teaching-panel{padding:15px}.teaching-filters>*{width:100%}}@media print{.teaching-week-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:0;overflow:visible}.teaching-slot{break-inside:avoid;padding:6px;font-size:10px}.teaching-day{padding:5px}.teaching-workspace .panel,.teaching-workspace .table-wrap{overflow:visible}.teaching-workspace .table-wrap table{min-width:0}}.login-shell .login-school-identity{align-items:center;gap:18px;margin-bottom:26px;padding-bottom:24px}.login-shell .login-school-identity img{object-fit:contain;flex:0 0 96px;width:96px;height:96px}.login-shell .login-school-identity b{letter-spacing:-.6px;color:#174d3c;overflow-wrap:anywhere;font-size:27px;line-height:1.2}.app>.app-sidebar .school-name{text-align:left;color:#174d3c;flex-shrink:0;align-items:center;gap:10px;padding:12px 14px;font-size:15px;line-height:1.3;display:flex}.app>.app-sidebar .school-logo-small{flex:0 0 48px;width:48px;height:56px;margin:0}.app>.app-sidebar .school-name small{margin-top:4px;font-size:10px;line-height:1.4}.app .topbar{height:auto;min-height:96px;padding-top:12px;padding-bottom:12px}.workspace-school-identity{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.workspace-school-identity>img{object-fit:contain;flex:0 0 64px;width:64px;height:64px}.workspace-school-identity>div{min-width:0}.workspace-school-identity strong{letter-spacing:-.4px;color:#174d3c;overflow-wrap:anywhere;font-size:22px;font-weight:750;line-height:1.2;display:block}.workspace-school-identity span{color:#63776b;margin-top:5px;font-size:12px;line-height:1.4;display:block}@media (max-width:1100px){.workspace-school-identity strong{font-size:19px}.app .topbar{gap:12px}.app .topbar .sync{display:none}}@media (max-width:650px){.login-shell .login-school-identity{gap:14px}.login-shell .login-school-identity img{flex-basis:80px;width:80px;height:80px}.login-shell .login-school-identity b{font-size:23px}.app .topbar{flex-wrap:wrap;gap:10px;padding:12px 14px}.workspace-school-identity{flex-basis:calc(100% - 54px)}.workspace-school-identity>img{flex-basis:54px;width:54px;height:54px}.workspace-school-identity strong{font-size:19px}.app .topbar .top-actions{flex-wrap:wrap;max-width:100%;margin-left:auto}}.app>.app-sidebar .brand.product-brand{flex-direction:row;justify-content:flex-start;gap:10px;padding:9px 14px}.app>.app-sidebar .brand.product-brand>img{flex:0 0 62px;width:62px;height:62px}.app>.app-sidebar .brand.product-brand>span{letter-spacing:1px;white-space:normal;font-size:9px;line-height:1.5}.sidebar-school-copy{min-width:0}.sidebar-school-copy strong{font-size:15px;line-height:1.3;display:block}.app>.app-sidebar>nav{overscroll-behavior:contain;flex:1 1 0;min-height:0}.app>.app-sidebar .nav-group-links button{align-items:flex-start;min-width:0}.app>.app-sidebar .nav-group-links button>span{white-space:normal;overflow-wrap:break-word;flex:1;min-width:0;line-height:1.45}.app>.app-sidebar .nav-group-links button>svg{flex-shrink:0;margin-top:1px}.login-help.login-first-time{color:#315324;text-align:center;cursor:pointer;background:#edf5e5;border:1px solid #64844f;border-radius:3px;min-height:34px;margin:10px auto 0;padding:7px 14px;font-size:12px;font-weight:500;line-height:1.5}.login-first-time strong{font-weight:700;text-decoration:none}.login-help.login-first-time:hover{color:#23461a;background:#e0edcf;border-color:#315324}.login-help.login-first-time:focus-visible{outline-offset:3px;outline:2px solid #315c24}.nav-module-group .nav-group-links>button.active,.nav-module-group .nav-group-links>button.active:hover{color:#fff;background:#174d3c;font-weight:700;box-shadow:inset 3px 0 #d8bd73}.nav-module-group .nav-group-links>button.active svg{color:#fff;stroke:currentColor}.nav-module-group .nav-group-links>button:not(.active):hover{color:#315344;background:#f1f5ec}
