:root{--ink:#12313a;--muted:#65767b;--teal:#147d70;--teal-dark:#0c5e56;--mint:#e8f5f1;--line:#dfe8e6;--bg:#f4f7f6;--white:#fff;--green:#16875f;--red:#bc443a;--orange:#d67a27;--violet:#6f5bb5;--shadow:0 14px 40px rgba(22,54,60,.08)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}a{color:var(--teal);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.eyebrow{color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.12em}.btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:0 16px;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:750;transition:.18s}.btn-primary{color:#fff;background:var(--teal)}.btn-primary:hover{background:var(--teal-dark)}.btn-outline{color:var(--ink);border-color:var(--line);background:#fff}.btn-outline:hover{border-color:#9dbab5}.btn.full{width:100%}.alert{margin:0 0 16px;padding:13px 15px;border-radius:10px;font-size:13px}.alert.error{color:#8e302a;border:1px solid #f0c3bf;background:#fff0ef}.alert.success{color:#096243;border:1px solid #b9e4d2;background:#e9f7f0}.alert.info{color:#155d75;border:1px solid #b8dce7;background:#edf8fb}
label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}input,select,textarea{width:100%;min-height:42px;padding:9px 11px;color:var(--ink);border:1px solid var(--line);border-radius:9px;outline:0;background:#fff}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#7bbcb2;box-shadow:0 0 0 3px rgba(20,125,112,.09)}label small,.helper{color:var(--muted);font-size:11px;font-weight:500;line-height:1.5}.back-link{display:block;margin-bottom:26px;font-size:12px}
.public-body{min-height:100vh;background:linear-gradient(160deg,#f4f9f7 0,#fff 52%,#eef7f4 100%)}.public-header{display:flex;width:min(1180px,calc(100% - 40px));height:86px;align-items:center;justify-content:space-between;margin:auto}.brand,.side-brand{display:flex;align-items:center;gap:12px;color:var(--ink)}.brand>span,.side-brand>span,.auth-mark,.print-logo{display:grid;width:42px;height:42px;place-items:center;color:#fff;border-radius:12px;background:var(--teal);font-size:14px;font-weight:850}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small{margin-top:2px;color:var(--muted);font-size:10px}.public-main{display:grid;width:min(1180px,calc(100% - 40px));grid-template-columns:1.15fr .85fr;gap:90px;align-items:center;margin:70px auto 100px}.hero-copy h1{max-width:680px;margin:17px 0;font-family:Georgia,serif;font-size:clamp(43px,5.4vw,76px);font-weight:500;line-height:1.03;letter-spacing:-.045em}.hero-copy>p{max-width:600px;color:var(--muted);font-size:17px;line-height:1.75}.feature-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;color:var(--teal);font-size:13px;font-weight:720}.lookup-card,.auth-card{padding:30px;border:1px solid rgba(20,125,112,.14);border-radius:22px;background:rgba(255,255,255,.93);box-shadow:var(--shadow)}.lookup-card h2,.auth-card h1{margin:0 0 7px;font-size:24px}.lookup-card>p,.auth-card>p{margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.6}.lookup-card form,.auth-card form{display:grid;gap:16px}.public-result{width:min(1180px,calc(100% - 40px));margin:0 auto 80px}.result-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.result-head h2{margin:6px 0 3px;font-size:27px}.result-head p{margin:0;color:var(--muted);font-size:13px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.summary-grid.three{grid-template-columns:repeat(3,1fr)}.summary-grid article{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.summary-grid small,.summary-grid strong{display:block}.summary-grid small{color:var(--muted);font-size:11px}.summary-grid strong{margin-top:6px;font-size:19px}.summary-grid .due{background:#fff8f0}.summary-grid .due strong{color:var(--orange)}.summary-grid .saving{background:#f3f0fb}.summary-grid .saving strong{color:var(--violet)}.public-footer{padding:25px;color:var(--muted);border-top:1px solid var(--line);font-size:11px;text-align:center}
.auth-body{display:grid;min-height:100vh;place-items:center;padding:25px;background:radial-gradient(circle at top left,#e1f3ed,transparent 42%),var(--bg)}.auth-card{width:min(460px,100%)}.auth-mark{margin-bottom:22px}.setup-link{display:block;margin-top:20px;color:var(--muted);text-align:center}
.admin-body{background:var(--bg)}.admin-layout{display:grid;min-height:100vh;grid-template-columns:255px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;color:#d9e9e6;background:#123f46}.side-brand{margin:0 6px 28px;color:#fff}.side-brand>span{background:#2aa593}.side-brand strong,.side-brand small{display:block}.side-brand strong{font-size:14px}.side-brand small{margin-top:3px;color:#a9c9c5;font-size:10px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;gap:11px;align-items:center;min-height:44px;padding:0 13px;color:#c3d7d4;border-radius:9px;font-size:13px;font-weight:650}.sidebar nav a i{width:20px;font-style:normal;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:rgba(255,255,255,.11)}.scope-box{margin:24px 7px 14px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.06)}.scope-box strong{font-size:11px}.scope-box p{margin:5px 0 0;color:#a9c9c5;font-size:10px;line-height:1.5}.logout-link{display:block;padding:11px 13px;color:#bdd3cf;font-size:12px}.admin-main{min-width:0}.topbar{display:flex;min-height:94px;align-items:center;gap:18px;padding:16px 28px;border-bottom:1px solid var(--line);background:#fff}.topbar>div:nth-child(2){flex:1}.topbar>div>span{color:var(--teal);font-size:9px;font-weight:820;letter-spacing:.12em}.topbar h1{margin:3px 0 0;font-size:22px}.topbar p{margin:3px 0 0;color:var(--muted);font-size:11px}.user-box{display:flex;align-items:center;gap:10px}.user-box>span{display:grid;width:37px;height:37px;place-items:center;color:#fff;border-radius:50%;background:var(--teal);font-weight:800}.user-box strong,.user-box small{display:block}.user-box strong{font-size:12px}.user-box small{color:var(--muted);font-size:10px}.menu-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:9px;background:#fff}.content{padding:24px 28px 50px}.toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:45px;margin-bottom:15px}.toolbar>span:first-child{margin-right:auto;color:var(--muted);font-size:12px}.toolbar form{display:flex;align-items:end;gap:10px}.toolbar label{min-width:145px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:15px}.stats-grid article{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fff}.stats-grid article small,.stats-grid article>strong,.stats-grid article p{display:block}.stats-grid article small{margin-top:12px;color:var(--muted);font-size:11px}.stats-grid article>strong{margin-top:4px;font-size:20px}.stats-grid article p{margin:5px 0 0;color:var(--muted);font-size:9px}.stat-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;font-weight:800}.stat-icon.blue{color:#3279bd;background:#e9f2fb}.stat-icon.green{color:var(--green);background:#e5f6ee}.stat-icon.orange{color:var(--orange);background:#fff0df}.stat-icon.violet{color:var(--violet);background:#f0ecfa}.card{margin-bottom:15px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 4px 16px rgba(23,52,57,.025)}.card.table-card{padding:0;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.table-card>.card-head{padding:16px 18px 0}.card-head span{color:var(--teal);font-size:9px;font-weight:820;letter-spacing:.09em}.card-head h3{margin:3px 0 0;font-size:15px}.card-head a{font-size:11px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:15px}.dashboard-grid>.card{min-width:0}.outstanding-card>span{color:var(--teal);font-size:9px;font-weight:820;letter-spacing:.09em}.outstanding-card h3{margin:12px 0 5px;color:var(--orange);font-size:27px}.outstanding-card p{margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.6}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .full{grid-column:1/-1}.form-grid>button{align-self:end}.stack-form{display:grid;gap:13px}.stack-form hr,.card hr{width:100%;margin:8px 0;border:0;border-top:1px solid var(--line)}.stack-form h4{margin:0;font-size:13px}.text-link{font-size:12px;font-weight:700}.info-list{display:grid;gap:12px;margin:0;padding-left:20px;color:var(--muted);font-size:12px;line-height:1.5}.table-search{max-width:220px;min-height:36px;font-size:11px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 12px;border-top:1px solid #edf1f0;font-size:11px;text-align:left;white-space:nowrap}th{color:var(--muted);background:#f8faf9;font-size:9px;font-weight:800;letter-spacing:.03em}td strong,td small{display:block}td small{margin-top:3px;color:var(--muted);font-size:9px}.empty{padding:30px!important;color:var(--muted);text-align:center}.row-actions{display:flex;align-items:center;gap:9px}.row-actions form{display:inline}.row-actions a,.row-actions button,.inline-form button{padding:0;color:var(--teal);border:0;background:transparent;font-size:10px;font-weight:750}.row-actions .danger,.danger{color:var(--red)}.class-chip{display:inline-flex;padding:4px 8px;color:var(--teal);border-radius:99px;background:var(--mint);font-size:10px;font-weight:750}.status{display:inline-flex;padding:4px 8px;border-radius:99px;font-size:9px;font-weight:760}.status.paid{color:#08734f;background:#e4f6ee}.status.pending{color:#a75a22;background:#fff0df}.amount-in{color:var(--green)}.amount-out{color:var(--red)}.inline-form{display:flex;align-items:center;gap:5px}.inline-form input{min-width:125px;min-height:32px;padding:5px;font-size:10px}.savings-head{align-items:end}.savings-head label{max-width:145px}.compact{min-width:110px;min-height:34px;padding:5px 8px}.check-label{display:flex;align-items:center;gap:7px}.check-label input{width:16px;min-height:16px}.class-checks{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.class-checks label{display:flex;align-items:center;gap:7px;padding:8px;border:1px solid var(--line);border-radius:8px}.class-checks input{width:15px;min-height:15px}.stack-form fieldset{padding:13px;border:1px solid var(--line);border-radius:10px}.stack-form legend{padding:0 6px;font-size:11px;font-weight:800}.report-stats article{padding:18px}.report-toolbar form{margin-right:auto}
.print-body{padding:35px;background:#e9efed}.print-actions{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.print-paper{width:min(900px,100%);min-height:1000px;margin:auto;padding:42px;border-radius:3px;background:#fff;box-shadow:var(--shadow)}.print-header{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding-bottom:20px;border-bottom:2px solid var(--ink)}.print-header strong,.print-header p{display:block}.print-header strong{font-size:15px}.print-header p{margin:4px 0 0;color:var(--muted);font-size:10px}.receipt-label{text-align:right}.receipt-label span,.receipt-label strong{display:block}.receipt-label span{color:var(--muted);font-size:9px;letter-spacing:.09em}.receipt-label strong{margin-top:5px;font-size:12px}.receipt-status{display:flex;justify-content:space-between;margin:22px 0;padding:12px 14px;border-radius:8px;background:var(--mint)}.receipt-status span{color:var(--teal);font-size:10px;font-weight:800}.receipt-status strong{font-size:12px}.receipt-details{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}.receipt-details>div{padding:14px;border:1px solid var(--line)}.receipt-details .full{grid-column:1/-1}.receipt-details dt{color:var(--muted);font-size:9px}.receipt-details dd{margin:5px 0 0;font-size:12px;font-weight:700}.receipt-total{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:18px;color:#fff;border-radius:9px;background:var(--teal)}.receipt-total span{font-size:11px}.receipt-total strong{font-size:24px}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:45px}.signature-grid div{padding-top:55px;border-bottom:1px solid var(--ink);text-align:center}.signature-grid span,.signature-grid strong{display:block}.signature-grid span{position:relative;top:-48px;color:var(--muted);font-size:9px}.signature-grid strong{padding-bottom:5px;font-size:10px}.print-note{margin-top:25px;color:var(--muted);font-size:9px;text-align:center}.student-print{display:flex;align-items:center;justify-content:space-between;padding:22px 0}.student-print small{color:var(--muted);font-size:9px;font-weight:800}.student-print h1{margin:5px 0 3px;font-size:21px}.student-print p{margin:0;color:var(--muted);font-size:10px}.history-print{margin-top:25px}.history-print h3{font-size:13px}.history-print>div{display:grid;grid-template-columns:100px 1fr 120px;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:10px}.history-print b{text-align:right}.statement-footer{display:grid;grid-template-columns:1fr 180px;gap:35px;align-items:end;margin-top:35px}.statement-footer p{color:var(--muted);font-size:9px;line-height:1.6}.statement-footer div{padding-top:45px;border-bottom:1px solid var(--ink);text-align:center}.statement-footer span,.statement-footer strong{display:block}.statement-footer span{position:relative;top:-42px;color:var(--muted);font-size:9px}.statement-footer strong{font-size:10px}tfoot th{font-size:11px}
@media(max-width:1000px){.admin-layout{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;left:0;transform:translateX(-102%);width:255px;transition:.2s}.sidebar.open{transform:translateX(0)}.menu-toggle{display:block}.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.two-col{grid-template-columns:1fr}.public-main{gap:35px}.content{padding:20px}.topbar{padding:15px 20px}}
@media(max-width:700px){.public-header,.public-main,.public-result{width:calc(100% - 28px)}.public-main{grid-template-columns:1fr;margin:40px auto 65px}.hero-copy h1{font-size:44px}.feature-row{gap:9px}.lookup-card{padding:22px}.result-head{align-items:flex-start;flex-direction:column;gap:12px}.summary-grid,.summary-grid.three,.stats-grid{grid-template-columns:1fr 1fr}.topbar p,.topbar>div>span,.user-box div{display:none}.content{padding:16px 12px 35px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.toolbar{align-items:stretch;flex-direction:column}.toolbar>span:first-child{margin:0}.toolbar form{align-items:stretch;flex-direction:column}.class-checks{grid-template-columns:1fr 1fr}.print-body{padding:10px}.print-paper{padding:22px}.print-header{grid-template-columns:auto 1fr}.receipt-label{grid-column:1/-1;text-align:left}.receipt-details{grid-template-columns:1fr}.receipt-details .full{grid-column:auto}.signature-grid,.statement-footer{grid-template-columns:1fr}.student-print{align-items:flex-start;flex-direction:column;gap:15px}}
@media print{@page{size:A4;margin:12mm}.print-actions,.sidebar,.topbar,.toolbar,.alert,.menu-toggle{display:none!important}.print-body,.admin-body{padding:0;background:#fff}.print-paper{width:100%;min-height:0;padding:0;box-shadow:none}.admin-layout{display:block}.content{padding:0}.card{box-shadow:none}.summary-grid{break-inside:avoid}table{break-inside:auto}tr{break-inside:avoid}.report-stats{grid-template-columns:repeat(4,1fr)}}
.print-paper-wide{width:min(1120px,100%)}.summary-grid.monthly-five{grid-template-columns:repeat(5,1fr)}.monthly-five article{padding:12px}.monthly-five strong{font-size:14px}
@media(max-width:700px){.summary-grid.monthly-five{grid-template-columns:1fr 1fr}}
@media print{.summary-grid.monthly-five{grid-template-columns:repeat(5,1fr)}.print-paper-wide th,.print-paper-wide td{padding:7px 8px;font-size:9px}}
.brand>span,.side-brand>span,.auth-mark,.print-logo{color:transparent;background-color:#fff;background-image:url('logo-al-hamidiyah.png');background-position:center;background-repeat:no-repeat;background-size:contain;border:1px solid rgba(33,123,37,.22)}.brand>span,.side-brand>span{border-radius:50%}.auth-mark{width:58px;height:58px;border-radius:50%}.print-logo{width:52px;height:52px;border-radius:50%}.discount-detail dd{color:var(--green)}.discount-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px;padding:11px 14px;color:#116b2b;border:1px solid #b9dfbf;border-radius:9px;background:#eff9f0}.discount-banner strong{font-size:11px}.discount-banner span{font-size:9px;text-align:right}
.statement-print-body{padding:20px;background:#dfe9e2}.statement-sheet{width:min(210mm,100%);margin:auto;padding:7mm;background:#fff;box-shadow:var(--shadow)}.statement-copy{display:flex;height:138mm;flex-direction:column;overflow:hidden;padding:5mm 6mm;border:1px solid #bed2c1;border-radius:3mm;background:linear-gradient(145deg,#fff 0,#fff 80%,#f1f8f2 100%)}.statement-header{display:grid;grid-template-columns:15mm 1fr auto;gap:3mm;align-items:center;padding-bottom:2.5mm;border-bottom:1.5px solid #207b25}.statement-header .print-logo{width:13mm;height:13mm}.statement-school strong,.statement-school span,.statement-title span,.statement-title strong,.statement-title small{display:block}.statement-school strong{color:#155c1d;font-family:Georgia,serif;font-size:12px;letter-spacing:.02em}.statement-school span{margin-top:1mm;color:var(--muted);font-size:7px}.statement-title{text-align:right}.statement-title span{color:#207b25;font-size:8px;font-weight:850;letter-spacing:.1em}.statement-title strong{margin-top:1mm;font-size:9px}.statement-title small{margin-top:1mm;color:var(--muted);font-size:6px}.statement-student{display:grid;grid-template-columns:1.25fr .75fr;gap:4mm;padding:2.5mm 0}.statement-student small,.statement-student strong,.statement-student span{display:block}.statement-student small{color:var(--muted);font-size:6px;font-weight:800;letter-spacing:.08em}.statement-student strong{margin-top:.8mm;font-size:10px}.statement-student span{margin-top:.6mm;color:var(--muted);font-size:7px}.statement-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:2mm;margin-bottom:2mm}.statement-summary.three{grid-template-columns:repeat(3,1fr)}.statement-summary article{padding:2mm 2.5mm;border:1px solid var(--line);border-radius:2mm;background:#f8fbf8}.statement-summary span,.statement-summary strong{display:block}.statement-summary span{color:var(--muted);font-size:6px}.statement-summary strong{margin-top:.7mm;font-size:9px}.statement-summary .danger{border-color:#f0c8c4;background:#fff3f2}.statement-summary .danger strong{color:var(--red)}.statement-summary .saving{border-color:#d8cee9;background:#f6f2fb}.statement-summary .saving strong{color:var(--violet)}.statement-table{table-layout:fixed}.statement-table th,.statement-table td{padding:1.3mm 1.5mm;font-size:7px;line-height:1.15}.statement-table th{font-size:6px}.statement-table th:first-child,.statement-table td:first-child{width:36%;white-space:normal}.statement-table td strong,.statement-table td small{display:block}.statement-table td small{margin-top:.5mm;color:var(--muted);font-size:5.5px;white-space:normal}.statement-table td:last-child strong{color:var(--red)}.statement-bottom{display:grid;grid-template-columns:1fr 40mm;gap:4mm;align-items:end;margin-top:auto;padding-top:2mm}.mini-history>span{color:#207b25;font-size:6px;font-weight:850;letter-spacing:.08em}.mini-history p{margin:1mm 0 0;color:var(--muted);font-size:6px;white-space:normal}.mini-history p b{color:var(--ink)}.mini-history p em{color:var(--green);font-style:normal;font-weight:700}.statement-sign{padding-top:8mm;border-bottom:1px solid var(--ink);text-align:center}.statement-sign span,.statement-sign strong{display:block}.statement-sign span{position:relative;top:-7mm;color:var(--muted);font-size:6px}.statement-sign strong{padding-bottom:1mm;font-size:7px}.statement-meta{display:flex;justify-content:space-between;gap:3mm;margin-top:2mm;padding-top:1.5mm;color:var(--muted);border-top:1px dashed #cbd9cd;font-size:5.5px}.statement-cut{display:flex;height:5mm;align-items:center;color:#7b9380;border-bottom:1px dashed #8da491}.statement-cut span{padding-right:2mm;background:#fff;font-size:8px}.statement-copy.dense{padding-top:3mm;padding-bottom:3mm}.statement-copy.dense .statement-table th,.statement-copy.dense .statement-table td{padding:.8mm 1.2mm;font-size:6.2px}.statement-copy.very-dense .statement-table th,.statement-copy.very-dense .statement-table td{padding:.45mm 1mm;font-size:5.7px}.statement-copy.very-dense .statement-student{padding:1.5mm 0}.statement-copy.very-dense .statement-summary article{padding:1.3mm 2mm}.statement-copy.very-dense .mini-history p{margin:.5mm 0 0}
@media(max-width:700px){.statement-sheet{padding:4mm}.statement-copy{height:auto;min-height:138mm;padding:4mm}.statement-header{grid-template-columns:13mm 1fr}.statement-title{grid-column:1/-1;text-align:left}.statement-student{grid-template-columns:1fr}.statement-summary,.statement-summary.three{grid-template-columns:1fr 1fr}.statement-bottom{grid-template-columns:1fr}.statement-cut{margin:4mm 0}}
@media print{.statement-print-body{padding:0;background:#fff}.statement-sheet{width:100%;margin:0;padding:0;box-shadow:none}.statement-copy{height:138mm;break-inside:avoid;page-break-inside:avoid}.statement-cut{height:5mm}.discount-banner{break-inside:avoid}}
.accounting-stats{grid-template-columns:repeat(3,1fr)}.accounting-note{margin-bottom:15px}
@media(max-width:700px){.accounting-stats{grid-template-columns:1fr 1fr}}
@media print{.accounting-stats{grid-template-columns:repeat(3,1fr)}.accounting-note{display:block!important;padding:8px 10px;font-size:9px}}
