:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#14213d;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}aside{background:#071e3d;color:#fff;padding:24px 16px}.logo{display:flex;gap:10px;align-items:center;padding:6px 8px 28px}.logo>span{font-size:30px}.logo b{display:block;font-size:18px}.logo small{font-size:8px;color:#d6b74c;letter-spacing:.5px}nav{display:grid;gap:6px}nav button{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:12px;border-radius:10px;cursor:pointer}nav button:hover{background:#ffffff12;color:#fff}nav span{display:inline-block;width:28px}.content header{height:72px;background:#fff;border-bottom:1px solid #e8edf4;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.content header>div{display:flex;align-items:center;gap:12px}.content header h2{font-size:17px}.content header #menu{display:none}.user span{font-size:13px;text-align:right}.user small{display:block;color:#778}.user button,.toolbar button,.welcome button,.form2 button{border:0;background:#08734c;color:#fff;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}main{padding:28px;max-width:1300px;width:100%;margin:auto}.welcome{background:linear-gradient(115deg,#082653,#08734c);color:#fff;padding:30px;border-radius:20px;display:flex;justify-content:space-between;align-items:center}.welcome h1{margin:5px 0}.welcome p{margin:0;color:#dce9e4}.welcome small{color:#e1c35a}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.cards article{background:#fff;padding:20px;border-radius:16px;box-shadow:0 6px 24px #0b1f3a0b}.cards article span{float:right;font-size:24px}.cards b{font-size:27px;display:block}.cards small{color:#667085}.panel{background:#fff;border-radius:16px;padding:22px;margin:18px 0;box-shadow:0 6px 24px #0b1f3a0b}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick button{background:#f7f9fc;border:1px solid #e7ecf2;text-align:left;padding:18px;border-radius:12px;cursor:pointer;color:#14213d}.quick b,.quick small{display:block}.quick small{color:#667085;margin-top:5px}.toolbar{display:flex;justify-content:space-between;align-items:center}.toolbar h1{margin-bottom:5px}.toolbar p{margin-top:0;color:#667085}.tr{display:grid;grid-template-columns:1fr 2fr 1fr;gap:12px;padding:14px 6px;border-bottom:1px solid #edf0f4;align-items:center}.tr>div>b,.tr>div>small{display:block}.tr>div>small{margin-top:5px;color:#667085;line-height:1.5}.pill{background:#e9f8ef;color:#08734c;border-radius:999px;padding:5px 9px;width:max-content;text-transform:capitalize}.empty{padding:30px;text-align:center;color:#7a8494}.form2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form2 label{font-size:12px;font-weight:700}.form2 input,.form2 select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #dce2ea;border-radius:9px;background:#fff}.form2 button{grid-column:1/-1}.note{padding:12px;background:#e9f8ef;border-radius:9px;margin-top:12px}.note.bad{background:#ffecec;color:#9d1c1c}.bigstat b{font-size:40px;display:block}.bigstat span{color:#667085}.mini{grid-template-columns:1fr 1fr}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(130deg,#071e3d,#0b6b49)}.login>section{background:#fff;width:min(430px,92vw);padding:32px;border-radius:20px}.loginbrand{text-align:center}.loginbrand>div{font-size:40px}.loginbrand h1{margin:8px 0;color:#082653}.loginbrand p{color:#667085}.switch{display:flex;background:#f1f4f8;padding:4px;border-radius:10px;margin:20px 0}.switch button{flex:1;border:0;padding:10px;background:transparent;border-radius:8px}.switch .active{background:#fff;box-shadow:0 2px 8px #0001}.login form{display:grid;gap:14px}.login label{font-size:12px;font-weight:700}.login input{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #dce2ea;border-radius:9px}.login form button{border:0;padding:13px;background:#08734c;color:#fff;border-radius:10px;font-weight:700}@media(max-width:850px){.app{grid-template-columns:1fr}aside{position:fixed;z-index:5;width:250px;height:100vh;transform:translate(-100%);transition:.2s}aside.open{transform:none}.content header #menu{display:block;border:0;background:transparent;font-size:20px}.cards,.quick{grid-template-columns:1fr 1fr}}@media(max-width:560px){main{padding:16px}.content header{padding:0 14px}.user span{display:none}.welcome,.toolbar{align-items:flex-start;flex-direction:column;gap:16px}.cards,.quick,.form2,.tr{grid-template-columns:1fr}.form2 button{grid-column:auto}}.attendance-row{display:grid;grid-template-columns:2fr 1fr 2fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0f4}.attendance-row small{display:block;color:#667085;margin-top:3px}.attendance-row select,.attendance-row input{padding:10px;border:1px solid #dce2ea;border-radius:9px;background:#fff}.save-attendance{margin-top:18px;border:0;background:#08734c;color:#fff;padding:12px 18px;border-radius:10px;font-weight:700;cursor:pointer}@media(max-width:650px){.attendance-row{grid-template-columns:1fr}.attendance-row select,.attendance-row input{width:100%}}.bill-row{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:12px;align-items:center;padding:13px 5px;border-bottom:1px solid #edf0f4}.bill-row small,.payment-row small{display:block;color:#667085;margin-top:4px}.payment-row{display:grid;grid-template-columns:2fr 1fr auto;gap:14px;align-items:center;padding:13px 5px;border-bottom:1px solid #edf0f4}.payment-row button{border:1px solid #08734c;background:#fff;color:#08734c;border-radius:9px;padding:8px 11px;cursor:pointer}@media(max-width:760px){.bill-row,.payment-row{grid-template-columns:1fr}.bill-row span{display:flex;justify-content:space-between}.bill-row .pill{display:block}}.score-row{display:grid;grid-template-columns:2fr 120px 120px 80px 1.4fr;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #edf0f4}.score-row small{display:block;color:#667085}.score-row label{font-size:11px;font-weight:700}.score-row input{width:100%;padding:9px;border:1px solid #dce2ea;border-radius:8px}.score-row>span{text-align:center;font-weight:800;padding:9px;background:#f1f7f4;border-radius:8px}@media(max-width:760px){.score-row{grid-template-columns:1fr 1fr}.score-row>div,.score-row>input{grid-column:1/-1}}.report-card{max-width:950px;margin:auto}.report-head{text-align:center;border-bottom:3px solid #0b714b;padding:12px}.report-head h2{color:#082653;margin:0}.student-strip,.report-summary{display:flex;justify-content:space-between;gap:15px;padding:15px 0}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{border:1px solid #dfe4ea;padding:9px;text-align:center}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-summary{font-size:16px}.publish-state{text-align:center;font-weight:700;color:#0b714b}@media print{body *{visibility:hidden}.report-card,.report-card *{visibility:visible}.report-card{position:absolute;left:0;top:0;width:100%;box-shadow:none;border:0}.no-print,.sidebar,.topbar{display:none!important}}@media(max-width:700px){.student-strip,.report-summary{flex-direction:column}.report-card{overflow-x:auto}}.parent-children{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.child-card h3{margin-bottom:2px;color:#082653}.child-card>p{margin-top:0;color:#667085}.child-stats{display:flex;justify-content:space-between;background:#f6f8fa;padding:12px;border-radius:10px;margin:12px 0}.portal-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0f4;font-size:14px}.announcement{padding:12px 0;border-bottom:1px solid #edf0f4}.announcement p{margin:5px 0;color:#475467}.muted{color:#667085;font-size:14px}@media(max-width:600px){.parent-children{grid-template-columns:1fr}.portal-row,.child-stats{flex-direction:column}}.announcement-list{display:grid;gap:12px}.announcement-card{border:1px solid #e4e7ec;border-radius:12px;padding:16px;background:#fff}.announcement-card>div{display:flex;justify-content:space-between;gap:15px}.announcement-card b{color:#082653;font-size:16px}.announcement-card small{color:#667085}.announcement-card p{white-space:pre-wrap;color:#344054;line-height:1.5}.form2 textarea{width:100%;padding:10px;border:1px solid #dce2ea;border-radius:8px;font:inherit;resize:vertical}@media(max-width:600px){.announcement-card>div{flex-direction:column}}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.analytics-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.metric-row{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #edf0f4}.metric-row:last-child{border-bottom:0}@media(max-width:800px){.analytics-grid{grid-template-columns:1fr}}@media print{#analyticsPrint,#analyticsPrint *{visibility:visible}#analyticsPrint{position:absolute;left:0;top:0;width:100%}.analytics-grid{grid-template-columns:1fr 1fr}}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-grid .wide{grid-column:1/-1}.inline-form,.grade-form{display:flex;gap:8px;align-items:end;margin-bottom:14px}.inline-form input,.grade-form input{flex:1;min-width:0;padding:10px;border:1px solid #dce2ea;border-radius:8px}.setup-list{display:grid;gap:7px}.setup-list span{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf0f4}.setup-list small{color:#667085}.weight-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.weight-preview span{background:#f6f8fa;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:5px}@media(max-width:800px){.settings-grid{grid-template-columns:1fr}.grade-form,.inline-form{flex-direction:column;align-items:stretch}.weight-preview{grid-template-columns:1fr}}.user-list{display:grid;gap:8px}.user-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #edf0f4}.user-row>div{display:flex;flex-direction:column}.user-row small{color:#667085;margin-top:3px}.status-pill{font-size:12px;font-weight:700;padding:5px 9px;border-radius:999px}.status-pill.on{background:#e8f7ef;color:#087443}.status-pill.off{background:#f2f4f7;color:#667085}@media(max-width:650px){.user-row{grid-template-columns:1fr auto}.user-row button{grid-column:1/-1}}.super-school-list{display:grid;gap:8px}.school-admin-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f4}.school-admin-row>div{display:flex;flex-direction:column}.school-admin-row small{color:#667085;margin-top:4px}.subscription-placeholder{display:flex;justify-content:space-between;gap:12px;padding:16px;border:1px dashed #cfd6df;border-radius:10px;background:#f8fafc}.subscription-placeholder span{color:#667085}@media(max-width:700px){.school-admin-row{grid-template-columns:1fr auto}.school-admin-row button{grid-column:1/-1}.subscription-placeholder{flex-direction:column}}.brand-logo{display:block;width:190px;max-height:125px;object-fit:contain;margin:0 auto 6px}.brand-logo.compact{width:58px;height:48px;object-fit:cover;object-position:top;border-radius:8px;margin:0}.logo{gap:10px;align-items:center}.loginbrand .brand-logo{width:220px;max-height:145px}.setup-brand{text-align:center;margin-bottom:12px}.setup-brand .brand-logo{width:210px;max-height:135px}.password-wrap{position:relative;margin-top:6px}.password-wrap input{margin-top:0;padding-right:64px}.password-wrap button{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#08734c;font-weight:700;cursor:pointer}.text-link{display:block;margin:12px auto 0;border:0;background:transparent;color:#08734c;font-weight:700;cursor:pointer}.form2 button:disabled,.login form button:disabled{opacity:.65;cursor:not-allowed}.student-row{display:grid;grid-template-columns:2fr auto auto;gap:12px;align-items:center;padding:14px 6px;border-bottom:1px solid #edf0f4}.student-row>div{display:flex;flex-direction:column}.student-row small{color:#667085;margin-top:4px}.manage-student{border:1px solid #08734c;background:#fff;color:#08734c;border-radius:9px;padding:8px 11px;font-weight:700;cursor:pointer}@media(max-width:650px){.student-row{grid-template-columns:1fr auto}.student-row .manage-student{grid-column:1/-1}}.report-head{display:flex;align-items:center;justify-content:center;gap:16px}.report-logo{width:58px;height:58px;object-fit:contain}.print-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.print-details>div{border:1px solid #dfe4ea;border-radius:8px;padding:12px}.print-details>div:last-child{grid-column:1/-1}.print-details p{margin:7px 0 0;min-height:22px}.report-signatures{display:flex;justify-content:space-between;gap:60px;margin-top:38px}.report-signatures>div{width:45%;text-align:center}.report-signatures span{display:block;border-top:1px solid #667085;margin-bottom:7px}@media print{@page{size:A4 portrait;margin:12mm}.report-card{max-width:none!important;padding:0!important;font-size:11pt}.report-head{padding:6px 0 12px}.report-logo{width:52px;height:52px}.student-strip{padding:10px 0}.report-table th,.report-table td{padding:7px}.report-summary{padding:10px 0}.print-details{display:grid!important}.report-signatures{display:flex!important;margin-top:34px}.publish-state{margin-top:14px}body{background:#fff!important}}.revision-warning{margin:18px 0;padding:16px 18px;border:1px solid #e6b84a;border-radius:14px;background:#fff8df;color:#5b4300}.revision-warning b{display:block;font-size:16px;margin-bottom:5px}.revision-warning p{margin:0;line-height:1.45}.curriculum-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.curriculum-head h3{margin:0 0 6px;color:#082653}.curriculum-head p{margin:0}.curriculum-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.curriculum-option{display:flex;align-items:center;gap:12px;border:1px solid #dfe6e2;border-radius:12px;padding:14px;background:#fbfdfc;cursor:pointer}.curriculum-option input{width:18px;height:18px;accent-color:#08734c}.curriculum-option span{display:flex;flex-direction:column;gap:4px}.curriculum-option small{color:#667085}.curriculum-option.disabled{background:#f7f8fa;cursor:default;opacity:.8}.primary-action{border:0;background:#08734c;color:#fff;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}.primary-action:disabled{opacity:.65;cursor:not-allowed}@media(max-width:700px){.curriculum-options{grid-template-columns:1fr}.curriculum-head{flex-direction:column}}.shs-subjects{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px;padding-left:4px}.shs-area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.shs-area{border:1px solid #dfe6e2;border-radius:12px;padding:14px;background:#fbfdfc}.shs-area-title{display:flex;gap:9px;align-items:center;color:#082653}.shs-area-title input,.shs-subjects input{width:17px;height:17px;accent-color:#08734c}.shs-subjects{display:grid;gap:8px;margin-top:12px;padding-left:4px}.shs-subjects label{display:flex;align-items:center;gap:8px;font-size:14px}.shs-note{margin-top:12px}@media(max-width:700px){.shs-area-list{grid-template-columns:1fr}}.curriculum-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%;align-items:stretch}.curriculum-card{display:flex!important;align-items:flex-start!important;gap:12px!important;width:auto!important;min-width:0!important;padding:16px!important;border:1px solid #d8e1dc!important;border-radius:14px!important;background:#fff!important;line-height:1.35!important}.curriculum-card input[type=checkbox]{flex:0 0 auto;width:18px!important;height:18px!important;margin:3px 0 0!important}.curriculum-card span{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important}.curriculum-card b{display:block!important}.curriculum-card small{display:block!important;color:#667085!important}@media(max-width:720px){.curriculum-grid{grid-template-columns:1fr!important}}.application-row{grid-template-columns:minmax(0,1fr) auto auto!important}.application-row small{display:block;margin-top:4px}.status-pill.pending{background:#fff4d6;color:#7a5200}.application-detail{margin-top:18px;padding:18px;border:1px solid #dfe7e3;border-radius:14px;background:#fbfdfc}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.detail-grid>div{padding:12px;border:1px solid #e3e9e6;border-radius:10px;background:#fff}.detail-grid small,.detail-grid b{display:block}@media(max-width:720px){.application-row{grid-template-columns:1fr!important}.detail-grid{grid-template-columns:1fr}}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.plan-card{display:flex;gap:10px;padding:18px;border:1px solid #dbe5e0;border-radius:14px;background:#fff;cursor:pointer}.plan-card span,.plan-card b,.plan-card strong,.plan-card small{display:block}.plan-card strong{font-size:1.35rem;color:#087f5b;margin:6px 0}.promo-box{padding:16px;border:1px solid #dbe5e0;border-radius:14px;margin:14px 0}.promo-box input{width:100%;margin-top:7px}.subscription-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.subscription-summary>div{padding:14px;border:1px solid #e1e8e4;border-radius:12px}.subscription-summary small,.subscription-summary b{display:block}@media(max-width:720px){.plan-grid,.subscription-summary{grid-template-columns:1fr}}.review-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.review-actions .danger{background:#fff;color:#a32626;border:1px solid #c94b4b}.panel.narrow{max-width:760px;margin-left:auto;margin-right:auto}#continuePlan,#paySubscription{border:0;background:#08734c;color:#fff;border-radius:10px;padding:12px 18px;font-weight:700;cursor:pointer}#continuePlan:disabled,#paySubscription:disabled{opacity:.65;cursor:not-allowed}#paySubscription{width:100%;margin-top:14px;font-size:15px}#payStatus{margin-top:10px}.settings-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:20px;align-items:start}.school-crest-preview{display:block;width:150px;height:150px;object-fit:contain;border:1px solid #dfe5ec;border-radius:18px;background:#fff;padding:12px;margin:18px auto}.school-crest-placeholder{width:150px;height:150px;border:2px dashed #cbd5e1;border-radius:18px;margin:18px auto;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:42px;color:#667085;background:#f8fafc}.school-crest-placeholder small{font-size:12px;margin-top:8px;text-align:center}.upload-box{display:flex;align-items:center;justify-content:center;border:1px dashed #9aa7b8;border-radius:12px;padding:14px;background:#f8fafc;cursor:pointer;font-weight:700}.upload-box input{margin-left:12px;max-width:220px}.settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}button.secondary{background:#fff;color:#10213d;border:1px solid #b8c2cf}.welcome-school{display:flex;align-items:center;gap:16px}.dashboard-school-crest{width:70px;height:70px;object-fit:contain;background:#fff;border-radius:14px;padding:6px;border:1px solid #dfe5ec}@media(max-width:850px){.settings-grid{grid-template-columns:1fr}.welcome-school{align-items:flex-start}.dashboard-school-crest{width:58px;height:58px}}.content{min-width:0}.settings-grid>.panel{min-width:0}.upload-box{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;width:100%;min-width:0;padding:14px;line-height:1.35}.upload-box input[type=file]{display:block;width:100%;max-width:100%;min-width:0;margin:0;font-weight:400;color:#344054}.upload-box input[type=file]::file-selector-button{margin-right:10px;border:1px solid #b8c2cf;background:#fff;color:#10213d;border-radius:8px;padding:8px 10px;cursor:pointer}#schoolSettingsForm,#schoolSettingsForm label,#schoolSettingsForm input{min-width:0}@media(max-width:1100px){.settings-grid{grid-template-columns:1fr}}@media(max-width:560px){.settings-grid .panel{padding:18px}.school-crest-preview,.school-crest-placeholder{width:132px;height:132px}.settings-actions{flex-direction:column}.settings-actions button{width:100%}}.shs-selection-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 10px}.shs-selection-actions .secondary-action{background:#fff;color:#073763;border:1px solid #b8c8d8;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer}.shs-selection-actions .secondary-action:hover{background:#f5f8fb}.sidebar-backdrop,.sidebar-close{display:none}@media(max-width:850px){aside{top:0;left:0;bottom:0;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:28px;z-index:1001}aside .logo{position:relative;padding-right:42px}.sidebar-close{display:grid;place-items:center;position:absolute;top:0;right:0;width:38px;height:38px;border:0;border-radius:10px;background:#ffffff14;color:#fff;font-size:28px;line-height:1;cursor:pointer}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:1000;border:0;padding:0;background:#071e3d6b;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.sidebar-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}body.sidebar-open{overflow:hidden}aside nav{padding-bottom:max(18px,env(safe-area-inset-bottom))}}
