
:root{font-family:Segoe UI,Arial,sans-serif;color:#213d39;background:#f4f6f3;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #dce4df;background:white;padding:10px 16px;border-radius:7px;color:#25453f}button:hover{background:#eaf1ed}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #95c5b5;outline-offset:2px}.primary{background:#155d4b;color:white;border-color:#155d4b}.primary:hover{background:#104a3c}aside{width:235px;position:fixed;inset:0 auto 0 0;background:#113d32;color:#eef7f0;padding:32px 20px;display:flex;flex-direction:column}.school{display:flex;align-items:center;gap:12px}.brand-mark{width:45px;height:48px;display:grid;place-items:center;background:#e4c981;border-radius:12px 12px 20px 20px;color:#173e33;font-family:Georgia,serif;font-size:31px;font-weight:bold}.school strong{font-size:23px;letter-spacing:3px}.school small{display:block;color:#b6cbc0;font-size:11px;margin-top:4px}.workspace{color:#8ca99b;font-size:10px;letter-spacing:1.6px;margin:48px 10px 16px}nav{display:grid;gap:7px}nav button{background:transparent;border:0;color:#bfd2c8;text-align:left;padding:14px 13px;display:flex;gap:14px}nav button span{font-size:18px;width:20px}nav button:hover,nav button.active{background:#285748;color:#fff}.sidebar-bottom{margin-top:auto;font-size:11px;color:#afc8ba;line-height:1.9}.sidebar-bottom small{display:block;font-size:10px}.status-dot{display:inline-block;width:7px;height:7px;background:#91c996;border-radius:100%;margin-right:6px}.main{margin-left:235px}header{display:flex;align-items:center;justify-content:space-between;padding:28px 38px;background:#fff;border-bottom:1px solid #e2e8e1}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:600;color:#778f82}h1{font-size:29px;margin:7px 0 0;font-weight:650;letter-spacing:-.8px}h2{font-size:18px;margin:0;font-weight:600}.header-actions{display:flex;gap:8px}main#content{padding:28px 38px;min-height:calc(100vh - 165px)}.welcome{background:#e8eee3;border:1px solid #dce5d4;border-radius:12px;padding:30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.welcome h2{font-family:Georgia,serif;font-size:30px;font-weight:normal;margin:12px 0}.welcome p{color:#687c69;margin-bottom:0}.seal{border:1px solid #a6b99e;border-radius:50%;height:118px;width:118px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:Georgia,serif;font-size:25px;color:#6c8162}.seal span{font-family:Segoe UI,sans-serif;font-size:6px;letter-spacing:1px;margin-top:9px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stats article{padding:22px;background:#fff;border:1px solid #e2e8df;border-radius:10px;min-width:0}.stats small{color:#657b6d}.stats strong{display:block;font-size:24px;margin:14px 0;font-weight:650;overflow-wrap:anywhere}.stats span{font-size:11px;color:#879489}.panels{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:24px}.panel{background:white;border:1px solid #e2e8df;border-radius:10px;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:22px;gap:12px}.pill{display:inline-block;background:#edf2e9;color:#5d7654;border-radius:5px;padding:5px 9px;font-size:11px}.pill.expense{color:#a45d43;background:#fcf0e8}.pill.investment{color:#5375a0;background:#edf2fb}.people-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:10px 22px 25px}.people-stats strong{display:block;font-size:28px}.people-stats small{display:block;font-size:11px;color:#7b897f;margin-top:9px}.muted{color:#7a8b80;font-size:12px;line-height:1.7}.panel>p{padding:0 22px 14px}.quick{padding:0 22px 15px}.quick button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-bottom:1px solid #e9eee6;border-radius:0;text-align:left;padding:14px 0}.quick small{display:block;margin-top:5px;color:#869487;font-size:11px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{background:#f8faf6;font-size:10px;letter-spacing:.5px;color:#7c8b7d;font-weight:600;text-transform:uppercase;padding:15px 20px}td{padding:16px 20px;border-bottom:1px solid #edf0e9;font-size:12px;max-width:350px;white-space:normal;overflow-wrap:anywhere}tr:last-child td{border-bottom:0}.empty{text-align:center;padding:35px;color:#7d8b7f}.empty strong{font-size:16px;color:#546c5c}.empty p{font-size:12px}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:20px}.toolbar>#search{flex:1;min-width:160px}.toolbar input,.toolbar select{width:auto}.date-filter{font-size:10px;display:flex;align-items:center;gap:6px}.date-filter input{font-size:11px;padding:9px}.row-actions{white-space:nowrap}.row-actions button{font-size:11px;padding:6px 9px;margin-right:5px}.danger{color:#a25041}.table-summary{background:#f8faf6;border-top:1px solid #e6ebe2;padding:16px 20px;font-size:12px;color:#597360}footer{padding:18px 38px;color:#94a092;font-size:11px;border-top:1px solid #e3e9de}footer span{float:right}dialog{width:620px;max-width:95vw;border:0;border-radius:12px;padding:0;color:#25453f;box-shadow:0 20px 100px #132e3244}dialog::backdrop{background:#122e3666}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:10px 24px 20px}label{display:block;font-size:12px;font-weight:500}input,select{display:block;width:100%;border:1px solid #d7e1d7;border-radius:6px;background:#fff;padding:11px;margin-top:7px;color:#25453f}.dialog-actions{padding:20px 24px;background:#f6f8f3;display:flex;justify-content:flex-end;gap:10px}#form-error{color:#a25041;padding:0 24px}#auth-error{color:#a25041}.login{margin:9vh auto;padding:36px;max-width:460px;background:#fff;border:1px solid #e0e7dc;border-radius:12px}.login>.brand-mark{margin-bottom:25px}.login h1{font-size:28px}.login>p{line-height:1.7;color:#7c897f}.login form{display:grid;gap:18px;margin:28px 0}.login small{color:#859382;font-size:11px}#toast{position:fixed;bottom:25px;right:25px;z-index:20;background:#173f32;color:white;padding:15px 22px;border-radius:8px;max-width:90vw;opacity:0;pointer-events:none}#toast.show{opacity:1}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.panels{grid-template-columns:1fr}.people-stats{grid-template-columns:repeat(4,1fr)}header,main#content{padding:24px}.seal{display:none}}@media(max-width:700px){aside{position:static;width:100%;padding:18px}.school{margin-bottom:18px}.workspace,.sidebar-bottom{display:none}nav{grid-template-columns:repeat(3,1fr);gap:4px}nav button{font-size:10px;padding:10px 5px;gap:4px}nav button span{font-size:13px;width:14px}.main{margin:0}header{align-items:flex-start;gap:12px;padding:18px}h1{font-size:24px}.header-actions{flex-direction:column}.header-actions button{font-size:10px;padding:8px}.eyebrow{font-size:8px}main#content{padding:16px}.welcome{padding:22px}.welcome h2{font-size:25px}.stats{gap:10px}.stats article{padding:16px}.stats strong{font-size:19px}.people-stats{grid-template-columns:repeat(2,1fr);gap:22px}.section-top{align-items:flex-start}.section-top button{white-space:nowrap}.form-grid{grid-template-columns:1fr}.toolbar{padding:14px}.toolbar button{font-size:11px}footer{padding:16px}.login{margin:30px 15px}}@media print{aside,.header-actions,.toolbar button,.row-actions,.actions-heading,.section-top button,footer,#toast,dialog{display:none!important}.main{margin:0}header,main#content{padding:12px}.panel{border:0}.table-scroll{overflow:visible}table{white-space:normal}td,th{padding:8px;font-size:10px}body{background:white}.toolbar{padding:8px}.stats,.panels,.welcome{break-inside:avoid}}
.school-logo{object-fit:contain;background:white;border-radius:50%;flex-shrink:0}.brand-mark.school-logo{width:52px;height:52px}.login>.school-logo{width:90px;height:90px}.seal.school-logo{width:132px;height:132px;border:0}
.receipt-remove{display:inline-block;width:auto;margin-right:8px}a{color:#155d4b}
.import-body{padding:0 24px 24px}.import-body>p{line-height:1.7}.import-errors{background:#fff0e9;color:#8c4936;padding:16px;border-radius:6px;margin-bottom:16px}#import-error{color:#a25040}
.teacher-profile{padding:0 24px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.teacher-profile strong{font-size:12px}.teacher-profile p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0;color:#647c70}dialog{max-height:90vh;overflow:auto}@media(max-width:700px){.teacher-profile{grid-template-columns:1fr}}
.investment-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:20px 20px 0}@media print{.investment-tabs button{display:none}.investment-tabs button.primary{display:block;color:#155d4b;background:white;border:0}}

[hidden]{display:none!important}.finance-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.finance-notice{display:flex;gap:12px;align-items:center;padding:18px;background:#e8eee3;border-radius:10px}.finance-notice span{color:#657b6d;font-size:12px;line-height:1.6}.finance-filters{align-items:end}.finance-filters label{flex:1;min-width:140px}.finance-filters select,.finance-filters input{width:100%}.finance-help{padding:0 22px;line-height:1.7;font-size:12px;color:#647c70}#f-body{margin-top:18px}#f-body>.panel>.section-top{padding:20px 22px 0}#f-body>.panel>.section-top h2{margin:0}dialog:has(.finance-form){width:1050px}.finance-form{padding:0 24px 24px}.finance-form>.form-grid{padding:10px 0 20px}.finance-form label{margin-bottom:12px}.finance-form fieldset{border:1px solid #d7e1d7;border-radius:6px;margin:14px 0;display:flex;gap:20px;flex-wrap:wrap}.f-jline{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #e6ebe2}.f-jline label{min-width:0}#f-form-error{padding:0 24px;color:#a25041}#f-body svg{display:block;width:100%;max-height:210px}.finance-form .table-scroll td{white-space:pre-wrap}#f-body .row-actions{max-width:none}@media(max-width:850px){.f-jline{grid-template-columns:1fr 1fr}.f-jline>label:first-child,.f-jline>label:nth-child(4){grid-column:1/-1}.finance-notice{align-items:start;flex-direction:column}.finance-tabs button{font-size:11px;padding:9px}.finance-filters label{min-width:120px}}@media print{.finance-tabs,.finance-filters,.finance-notice{display:none}#f-body .row-actions{display:none}#f-body .stats{grid-template-columns:repeat(4,1fr)}}
dialog:has(.voucher-form){width:1150px}.voucher-content{padding:0 22px 20px}.voucher-content fieldset{border:1px solid #cad9ce;border-radius:8px;padding:16px;margin-bottom:18px}.voucher-content legend{padding:0 8px;color:#155d4b;font-weight:600}.voucher-header-grid,.voucher-line-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:12px}.voucher-header-grid label,.voucher-line-grid label{min-width:0}.voucher-wide{grid-column:span 2}.voucher-line-grid>button{align-self:end;margin-bottom:0}.voucher-totals{display:flex;justify-content:flex-end;gap:35px;padding:20px;background:#eef4ee;border-radius:8px;margin-top:16px}.voucher-totals small,.voucher-totals strong{display:block}.voucher-totals strong{margin-top:8px;font-size:18px}.voucher-contra-row{background:#e9f2eb}.voucher-table tbody{min-height:180px}.voucher-table th,.voucher-table td{padding:12px}.voucher-table button{font-size:11px;padding:5px 8px}.voucher-footer-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.voucher-buttons{justify-content:flex-start;flex-wrap:wrap}.voucher-content small{color:#778b7e}#voucher-error{color:#a25041}.voucher-content fieldset[hidden]{display:none}@media(max-width:800px){.voucher-header-grid,.voucher-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voucher-totals{gap:20px;justify-content:space-between}.voucher-totals strong{font-size:14px}.voucher-content{padding:0 14px 14px}}@media(max-width:480px){.voucher-header-grid,.voucher-line-grid,.voucher-footer-fields{grid-template-columns:1fr}.voucher-wide{grid-column:auto}.voucher-totals{gap:10px;flex-wrap:wrap}.voucher-buttons button{font-size:11px;padding:8px}}
.accounts-menu{margin-bottom:18px}.accounts-menu .toolbar{flex-wrap:wrap}.accounts-menu .toolbar button{white-space:normal}.accounts-menu+.section-top{margin-top:12px}
.reports-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;align-items:start}.reports-menu details{border-top:1px solid #dce4df;padding:12px 0}.reports-menu summary{cursor:pointer;font-weight:600;color:#155d4b}.reports-menu details button{display:block;width:100%;text-align:left;margin-top:6px;border:0;background:transparent}.reports-menu details button.active{background:#e9f2eb;color:#155d4b}.reports-layout .toolbar{flex-wrap:wrap}.reports-layout label{display:flex;flex-direction:column;gap:6px}.reports-layout #school-report-accounts{margin:12px 0}.reports-layout select[multiple]{width:100%;max-width:650px}@media(max-width:900px){.reports-layout{grid-template-columns:1fr}.reports-menu details button{padding:9px}.reports-layout .toolbar{gap:12px}}
.salary-sheet input{min-width:115px;width:130px;border:1px solid #dce4df;border-radius:3px;padding:9px;background:#fff}.salary-sheet [data-salary-field=remarks]{width:220px}.salary-sheet td{padding:8px}.salary-sheet th{white-space:nowrap}.salary-sheet tbody tr:focus-within{background:#eef6ef}.salary-sheet .salary-invalid{background:#fff0ed}.salary-panel .toolbar{flex-wrap:wrap}.salary-panel label{display:flex;flex-direction:column;gap:5px}#salary-error{color:#a25041}#salary-status{font-weight:600;color:#155d4b}.salary-sheet td[data-salary-net]{white-space:nowrap;font-weight:600}@media(max-width:700px){.salary-sheet input{width:115px}.salary-panel .toolbar{gap:10px}}
.insights-answer{white-space:pre-wrap;border-left:4px solid #155d4b;background:#eef6ef;padding:20px;margin-top:16px;overflow-wrap:anywhere}.insights-alert{padding:14px;margin:10px 0;border-left:3px solid #ad843b;background:#fff9ed}.insights-suggestions{flex-wrap:wrap}.insights-suggestions button{text-align:left}#insights-data>.panel{margin-top:18px}#insights-question textarea{width:100%;padding:12px;border:1px solid #cad9ce;border-radius:8px;font:inherit}#insights-error{color:#a25041}#insights-model-label{display:flex;align-items:center;gap:8px}#insights-model-label[hidden]{display:none}#insights-model{width:auto}#insights-data .stats strong{font-size:22px}
.accounts-dropdown{margin-bottom:18px}.accounts-dropdown select{width:260px;max-width:100%;padding:12px 16px;border:1px solid #155d4b;border-radius:8px;color:#155d4b;font:inherit;font-weight:600;background:#fff;cursor:pointer}.accounts-dropdown select:focus{outline:2px solid #86af95;outline-offset:2px}
.voucher-subheading{position:relative;min-width:0;display:flex;flex-direction:column;gap:6px}.voucher-subheading>span{font-size:13px;font-weight:600}.voucher-subheading #voucher-subheading-toggle{text-align:left;background:#fff;min-height:43px;border:1px solid #cad9ce;white-space:normal}#voucher-subheading-panel{position:absolute;top:100%;left:0;right:0;z-index:20;background:#fff;border:1px solid #cad9ce;border-radius:8px;padding:10px;box-shadow:0 8px 24px #153c3926}#voucher-subheading-panel[hidden]{display:none}#voucher-subheading-search{width:100%;margin-bottom:8px}#voucher-subheading-list{max-height:230px;overflow:auto}#voucher-subheading-list button{display:block;width:100%;text-align:left;margin-bottom:3px;border:0;background:#fff;padding:10px}#voucher-subheading-list button strong,#voucher-subheading-list button small{display:block}#voucher-subheading-list button:hover,#voucher-subheading-list button.picker-active,#voucher-subheading-list button[aria-selected=true]{background:#e9f2eb}#voucher-subheading-list button small{margin-top:4px}
.voucher-subheading select[hidden]{display:none!important}.voucher-subheading #voucher-subheading-toggle{position:relative;padding-right:32px}.voucher-subheading #voucher-subheading-toggle::after{content:'▾';position:absolute;right:12px;top:12px}
.report-paper{background:#fff;padding:28px;margin-bottom:24px;border:1px solid #dce4df;color:#202b29}.report-brand{position:static;display:flex;align-items:center;gap:22px;padding:0;border:0;min-height:0;background:white}.report-brand img{width:72px;height:72px;object-fit:contain}.report-brand h2{font-size:21px;margin:0 0 8px}.report-brand h3{font-size:15px;margin:0 0 8px}.report-brand p{margin:0;font-size:12px}.report-account{display:flex;justify-content:space-between;gap:20px;margin-top:20px}.report-print-table{margin-top:18px;border-top:2px solid #a25041}.report-print-table th{background:white;border-bottom:1px solid #999;font-size:12px}.report-print-table td{font-size:12px;vertical-align:top;white-space:normal}.report-print-table .report-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.report-row-head{background:#eef4ee;font-weight:bold}.report-row-group{font-weight:bold}.report-row-detail td:nth-child(2){padding-left:24px}.report-row-subtotal,.report-row-total{font-weight:bold;border-top:1px solid #777}.report-row-closing{font-weight:bold;color:#a25041;border-top:1px solid #777}.report-row-opening{font-weight:bold}.report-footnote{font-size:10px;color:#778078;margin-top:18px}.reports-layout [hidden]{display:none!important}@media(max-width:700px){.report-paper{padding:14px}.report-brand{gap:12px}.report-brand h2{font-size:17px}.report-brand img{width:52px;height:52px}.report-account{flex-direction:column;gap:8px}}@media print{.reports-menu,.reports-layout>.panel>.toolbar,.reports-layout>.panel>h2,.report-footnote{display:none}.reports-layout{display:block}.report-paper{border:0;padding:0;break-before:page}.report-paper:first-child{break-before:auto}.report-brand{display:flex!important}.report-print-table thead{display:table-header-group}.report-print-table tr{break-inside:avoid}.report-print-table td,.report-print-table th{font-size:10px}}
.report-brand{justify-content:flex-start}.report-brand>div{flex:1;text-align:center}
.mobile-menu{display:none}
@media screen and (max-width:900px){
 aside{position:sticky;top:0;inset-inline:0;width:100%;padding:12px 16px;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;box-shadow:0 2px 10px #113d321a}
 aside .school{margin:0;gap:10px}aside .brand-mark.school-logo{width:40px;height:40px}aside .school strong{font-size:20px}aside .school small{font-size:10px}
 .workspace,.sidebar-bottom{display:none}.mobile-menu{display:block;min-height:44px;background:#285748;color:white;border-color:#547b69;padding:10px 14px}
 aside nav{display:none;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));max-height:65dvh;overflow-y:auto;gap:5px;padding-top:6px}
 aside.mobile-nav-open nav{display:grid}aside nav button{min-height:46px;font-size:13px;padding:12px;gap:9px;align-items:center}aside nav button span{font-size:16px;width:18px;flex-shrink:0}
 .main{margin-left:0;min-width:0}header{padding:20px;gap:14px}main#content{padding:20px;min-width:0}.panel,.panels>* ,.reports-layout>*{min-width:0}
 .section-top,.panel-title{flex-wrap:wrap}.section-top>div{min-width:0}.section-top button{white-space:normal}.toolbar>*{max-width:100%}
 button,input,select,textarea{min-height:44px}input,select,textarea{font-size:16px}.row-actions button{min-height:40px;min-width:44px}
 .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:600px}.table-scroll th,.table-scroll td{min-width:120px}.table-scroll th:first-child,.table-scroll td:first-child{min-width:150px}
 .table-scroll::before{content:'Swipe left or right to see all columns';display:block;position:sticky;left:0;width:100%;padding:10px 14px;background:#f8faf6;color:#657b6d;font-size:11px}
 .report-paper{max-width:100%;overflow-x:auto}.report-paper .report-brand{min-width:0}.report-print-table{min-width:580px}
 dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);margin:auto}.dialog-actions{flex-wrap:wrap;position:sticky;bottom:0;z-index:1}
 .form-grid{grid-template-columns:1fr;gap:14px}.form-grid label,.finance-form label{min-width:0}.finance-form fieldset{min-width:0}.finance-form{padding-inline:16px}
 .login{width:calc(100% - 32px);max-width:460px;margin:32px auto;padding:26px}.login h1{font-size:25px}
 footer{padding:16px 20px}footer span{float:none;display:block;margin-top:6px}#toast{bottom:max(16px,env(safe-area-inset-bottom));right:16px;left:16px;max-width:none}
}
@media screen and (max-width:480px){
 header{padding:18px 16px;flex-wrap:wrap;align-items:center}h1{font-size:24px;overflow-wrap:anywhere}.header-actions{flex-direction:row;flex-wrap:wrap;gap:8px}.header-actions button{font-size:12px;padding:9px 12px}
 main#content{padding:16px 12px}.welcome{padding:18px}.welcome h2{font-size:24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats article{padding:14px 12px}.stats strong,#insights-data .stats strong{font-size:19px}
 .toolbar{padding:14px;gap:12px}.toolbar>input,.toolbar>select,.toolbar>label,.toolbar>#search,.finance-filters label{width:100%;min-width:0;flex-basis:100%}.date-filter{flex-wrap:wrap;font-size:12px}.date-filter input{flex:1;min-width:0;font-size:16px}
 .finance-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-tabs button{font-size:12px;padding:10px}.form-grid{padding-inline:16px}.dialog-actions{padding:14px 16px}.panel-title{padding:16px}
 .voucher-content fieldset{padding:12px;min-width:0}.voucher-footer-fields{grid-template-columns:1fr}.report-brand{align-items:flex-start}.report-brand h2{font-size:15px}.report-brand img{width:42px;height:42px}.report-account{overflow-wrap:anywhere}
}
@media print{.mobile-menu{display:none!important}}
