:root{--primary:#31326f;--secondary:#4fb7b3;--accent:#a8fbd3;--soft:#f4f7fb;--text:#202436;--muted:#737a8c;--danger:#c0392b;--warning:#b7791f;--success:#147d64;--border:#e5e9f2;--white:#fff;--shadow:0 10px 30px rgba(49,50,111,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--soft);color:var(--text);font-family:"Noto Sans Arabic",Tahoma,Arial,sans-serif;font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;right:0;top:0;bottom:0;width:265px;background:linear-gradient(180deg,#292a60,#31326f);color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 20px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:44px;height:44px;border-radius:14px;background:var(--accent);color:var(--primary);font-size:25px;font-weight:900;display:grid;place-items:center}.brand strong{display:block;font-size:15px}.brand small{opacity:.7}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:18px;overflow:auto}.sidebar nav a{color:rgba(255,255,255,.78);text-decoration:none;padding:11px 13px;border-radius:11px;display:flex;gap:10px;align-items:center;transition:.2s}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(168,251,211,.15);color:#fff}.sidebar nav a.active{box-shadow:inset -3px 0 var(--accent)}.sidebar-user{margin-top:auto;padding:16px 10px 0;border-top:1px solid rgba(255,255,255,.12)}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user small{opacity:.7}.sidebar-user a{display:inline-block;color:var(--accent);margin-top:7px}.main{margin-right:265px;width:calc(100% - 265px);min-height:100vh}.topbar{background:#fff;min-height:86px;padding:18px 28px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar h1{margin:0;font-size:23px}.topbar p{margin:3px 0 0;color:var(--muted)}.menu-button{display:none;border:0;background:var(--soft);font-size:23px;width:42px;height:42px;border-radius:10px}.content{padding:26px}.footer{text-align:center;color:var(--muted);padding:15px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow);padding:20px}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--accent);opacity:.22;left:-24px;top:-28px}.stat-card span{color:var(--muted)}.stat-card strong{display:block;font-size:28px;margin-top:8px}.stat-card small{color:var(--secondary)}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar form{display:flex;gap:8px;flex-wrap:wrap}.btn{border:0;border-radius:10px;padding:10px 16px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font:inherit;font-weight:700}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--secondary);color:#fff}.btn-light{background:#eef1f6;color:var(--text)}.btn-danger{background:#fde8e7;color:var(--danger)}.btn-sm{padding:6px 10px;font-size:12px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:13px}.table{width:100%;border-collapse:collapse;background:#fff;white-space:nowrap}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--border);text-align:right;vertical-align:middle}.table th{background:#f8fafc;color:#50566a;font-size:12px;position:sticky;top:0}.table tr:hover td{background:#fbfcff}.badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}.badge-success{background:#e7f8f3;color:var(--success)}.badge-danger{background:#fdebea;color:var(--danger)}.badge-warning{background:#fff4d6;color:var(--warning)}.badge-info{background:#e8eefc;color:var(--primary)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1/-1}.form-group label{font-weight:700;color:#4e5364}.input,select,textarea{width:100%;border:1px solid #d9deea;background:#fff;border-radius:10px;padding:11px 12px;font:inherit;outline:none}.input:focus,select:focus,textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 3px rgba(79,183,179,.12)}textarea{min-height:90px;resize:vertical}.alert{padding:12px 15px;border-radius:11px;margin-bottom:15px;transition:.4s}.alert.success{background:#e7f8f3;color:#11634f}.alert.error{background:#fdebea;color:#9f2923}.alert.warning{background:#fff4d6;color:#8c5c00}.alert.fade{opacity:.25}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}.section-title h2{margin:0;font-size:18px}.progress{height:9px;background:#e9edf4;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--secondary),var(--primary))}.summary-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary-box{background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:13px}.summary-box span{display:block;color:var(--muted);font-size:12px}.summary-box strong{display:block;margin-top:5px;font-size:18px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eefcf6,#e9ebf8)}.login-card{width:min(440px,92vw);background:#fff;border-radius:24px;padding:34px;box-shadow:0 25px 70px rgba(49,50,111,.17)}.login-logo{width:74px;height:74px;background:var(--primary);color:var(--accent);border-radius:22px;display:grid;place-items:center;font-size:35px;font-weight:900;margin:0 auto 18px}.login-card h1{text-align:center;margin:0}.login-card>p{text-align:center;color:var(--muted);margin-bottom:24px}.pagination{display:flex;gap:5px;margin-top:15px;flex-wrap:wrap}.pagination a{padding:7px 11px;background:#fff;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text)}.pagination a.active{background:var(--primary);color:#fff}.empty{text-align:center;padding:35px;color:var(--muted)}.receipt{max-width:760px;margin:auto;background:#fff;padding:35px;border:1px solid #ddd}.receipt-header{display:flex;justify-content:space-between;border-bottom:2px solid var(--primary);padding-bottom:18px;margin-bottom:22px}.receipt-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed #ddd}.print-only{display:none}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.summary-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{transform:translateX(105%);transition:.25s}.menu-open .sidebar{transform:translateX(0)}.main{margin-right:0;width:100%}.menu-button{display:block}.content{padding:16px}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.summary-list{grid-template-columns:1fr}.topbar{padding:14px 16px}.topbar h1{font-size:18px}}
@media print{.sidebar,.topbar,.footer,.no-print{display:none!important}.main{margin:0;width:100%}.content{padding:0}.receipt{border:0;box-shadow:none}.print-only{display:block}}

/* Student discount controls */
.field-hint{color:var(--muted);font-size:12px}.input-with-suffix{position:relative}.input-with-suffix .input{padding-left:62px}.input-with-suffix span{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:#eef1f6;color:var(--primary);font-weight:800;font-size:12px;padding:5px 8px;border-radius:7px}.discount-preview{min-height:46px;border:1px solid rgba(79,183,179,.35);background:linear-gradient(135deg,rgba(168,251,211,.28),rgba(99,122,185,.08));border-radius:11px;padding:8px 12px;display:flex;flex-direction:column;justify-content:center;gap:3px}.discount-preview span{font-size:12px;color:var(--muted)}.discount-preview strong{color:var(--primary);font-size:14px}

/* Colorful A5 landscape payment receipt */
.receipt-actions{width:min(100%,210mm);margin:0 auto 12px;display:flex;gap:8px}.receipt-sheet{width:min(100%,210mm);min-height:148mm;margin:0 auto;background:#fff;position:relative;overflow:hidden;border-radius:22px;border:1px solid rgba(49,50,111,.14);box-shadow:0 24px 70px rgba(49,50,111,.17);padding:8mm;display:flex;flex-direction:column;gap:4mm;isolation:isolate}.receipt-sheet:before{display:none}.receipt-sheet:after{content:"";position:absolute;right:0;bottom:0;width:54mm;height:11mm;background:linear-gradient(90deg,rgba(168,251,211,.9),rgba(79,183,179,.95));clip-path:polygon(22% 0,100% 0,100% 100%,0 100%);z-index:-1}.receipt-decoration{position:absolute;border-radius:50%;z-index:-1;opacity:.18}.receipt-decoration-one{width:54mm;height:54mm;left:-25mm;top:22mm;background:#4fb7b3}.receipt-decoration-two{width:42mm;height:42mm;right:-22mm;bottom:20mm;background:#637ab9}.receipt-brand-header{display:grid;grid-template-columns:1.3fr 1fr .78fr;align-items:center;gap:5mm;min-height:24mm;color:#fff;background:linear-gradient(90deg,#31326f 0%,#637ab9 48%,#4fb7b3 100%);margin:-8mm -8mm 0;padding:5mm 8mm 4mm}.receipt-school{display:flex;align-items:center;gap:3mm}.receipt-logo{width:15mm;height:15mm;border-radius:4mm;background:#a8fbd3;color:#31326f;display:grid;place-items:center;font-size:8mm;line-height:1;font-weight:950;box-shadow:0 3px 12px rgba(0,0,0,.12)}.receipt-school h2{font-size:5mm;line-height:1.25;margin:0}.receipt-school p{font-size:2.7mm;margin:1mm 0 0;opacity:.86}.receipt-title-block{text-align:center;display:flex;flex-direction:column;gap:.7mm}.receipt-title-block span{font-size:4.2mm;font-weight:900}.receipt-title-block strong{font-family:Arial,sans-serif;font-size:2.5mm;letter-spacing:1.6px;color:#a8fbd3}.receipt-number-box{justify-self:end;min-width:40mm;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);border-radius:3.5mm;padding:2.2mm 3mm;text-align:center;backdrop-filter:blur(6px)}.receipt-number-box small,.receipt-number-box span{display:block;font-size:2.5mm}.receipt-number-box strong{display:block;font-family:Arial,sans-serif;font-size:4mm;margin:.5mm 0;color:#fff;overflow-wrap:anywhere}.receipt-student-info{display:grid;grid-template-columns:1.45fr .8fr 1.35fr .75fr;gap:2.3mm;background:#f7f9fd;border:1px solid #e1e7f2;border-radius:4mm;padding:3mm}.receipt-student-info>div{min-width:0;border-left:1px solid #dfe5ef;padding-left:2.5mm}.receipt-student-info>div:nth-child(4),.receipt-student-info>div:nth-child(6){border-left:0}.receipt-student-info>div:nth-child(5),.receipt-student-info>div:nth-child(6){grid-column:span 2}.receipt-student-info span,.receipt-summary-grid span,.receipt-note>span,.receipt-signatures span{display:block;color:#737a8c;font-size:2.55mm;margin-bottom:.7mm}.receipt-student-info strong{font-size:3.15mm;line-height:1.25;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receipt-finance-area{display:grid;grid-template-columns:.9fr 1.55fr;gap:3mm}.receipt-amount-panel{border-radius:5mm;background:linear-gradient(145deg,#31326f,#637ab9);color:#fff;padding:4mm;display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative;overflow:hidden}.receipt-amount-panel:after{content:"";position:absolute;width:30mm;height:30mm;border-radius:50%;background:#a8fbd3;opacity:.12;left:-12mm;top:-15mm}.receipt-amount-panel>span{font-size:3mm;opacity:.85}.receipt-amount-panel>strong{font-family:Arial,"Noto Sans Arabic",sans-serif;font-size:8.2mm;line-height:1.15;margin:2mm 0;color:#a8fbd3;white-space:nowrap}.receipt-payment-meta{display:flex;justify-content:center;gap:4mm;font-size:2.6mm}.receipt-payment-meta b{color:#fff}.receipt-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2mm}.receipt-summary-grid>div{background:#fff;border:1px solid #e1e7f2;border-radius:3mm;padding:2.4mm 3mm;display:flex;flex-direction:column;justify-content:center;min-height:14mm}.receipt-summary-grid strong{font-family:Arial,"Noto Sans Arabic",sans-serif;color:#31326f;font-size:3.4mm;white-space:nowrap}.receipt-summary-grid .receipt-discount strong{font-size:2.9mm}.receipt-summary-grid .receipt-balance{grid-column:span 2;background:linear-gradient(135deg,rgba(168,251,211,.55),rgba(79,183,179,.13));border-color:rgba(79,183,179,.45)}.receipt-summary-grid .receipt-balance strong{font-size:4.2mm;color:#147d64}.receipt-bottom-row{display:grid;grid-template-columns:.95fr 1.6fr;gap:3mm;align-items:stretch}.receipt-note{background:#fff9e9;border:1px solid #f0dda7;border-radius:3mm;padding:2.5mm 3mm;min-height:16mm}.receipt-note p{font-size:2.65mm;margin:0;line-height:1.45}.receipt-note small{display:block;margin-top:1mm;color:#9f2923}.receipt-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm}.receipt-signatures>div{border-bottom:1px dashed #aab2c2;padding:2mm 2mm 1.5mm;text-align:center}.receipt-signatures strong{font-size:2.8mm;display:block;min-height:5mm}.receipt-mini-footer{position:absolute;right:8mm;left:8mm;bottom:2.5mm;height:5mm;display:flex;align-items:flex-end;justify-content:space-between;font-size:2.3mm;color:#31326f;font-weight:800;padding:0 1mm}.receipt-void-stamp{position:absolute;top:65mm;left:55mm;z-index:8;transform:rotate(-16deg);border:2mm solid rgba(192,57,43,.55);color:rgba(192,57,43,.62);font-size:10mm;font-weight:950;padding:2mm 7mm;border-radius:3mm}.receipt-is-void{filter:saturate(.55)}

@media(max-width:900px){.receipt-sheet{padding:18px;min-height:auto}.receipt-brand-header{grid-template-columns:1fr}.receipt-number-box{justify-self:stretch}.receipt-student-info{grid-template-columns:repeat(2,1fr)}.receipt-student-info>div{border-left:0}.receipt-finance-area,.receipt-bottom-row{grid-template-columns:1fr}.receipt-summary-grid{grid-template-columns:repeat(2,1fr)}.receipt-summary-grid .receipt-balance{grid-column:span 2}.receipt-signatures{grid-template-columns:1fr}}

@page{size:A5 landscape;margin:0}
@media print{
 html,body{width:210mm;height:148mm;margin:0!important;padding:0!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 .app-shell,.main,.content{width:210mm!important;height:148mm!important;min-height:148mm!important;margin:0!important;padding:0!important;display:block!important;background:#fff!important}
 .receipt-sheet{width:210mm!important;height:148mm!important;min-height:148mm!important;margin:0!important;padding:8mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;page-break-after:auto!important;overflow:hidden!important}
 .receipt-actions,.sidebar,.topbar,.footer,.no-print{display:none!important}
 .receipt-brand-header{grid-template-columns:1.3fr 1fr .78fr!important}
 .receipt-student-info{grid-template-columns:1.45fr .8fr 1.35fr .75fr!important}
 .receipt-finance-area{grid-template-columns:.9fr 1.55fr!important}
 .receipt-bottom-row{grid-template-columns:.95fr 1.6fr!important}
 .receipt-signatures{grid-template-columns:repeat(3,1fr)!important}
}
