@font-face{font-family:'Cairo';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cairo/cairo-400.ttf') format('truetype')}
@font-face{font-family:'Cairo';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/cairo/cairo-500.ttf') format('truetype')}
@font-face{font-family:'Cairo';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/cairo/cairo-600.ttf') format('truetype')}
@font-face{font-family:'Cairo';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/cairo/cairo-700.ttf') format('truetype')}
:root{--primary:#166534;--primary-dark:#14532d;--soft:#f6f8f7;--border:#e5e7eb;--text:#1f2937}
*{box-sizing:border-box}body{background:var(--soft);color:var(--text);font-family:'Cairo',Tahoma,Arial,sans-serif}.app-shell{min-height:100vh}.sidebar{width:240px;background:linear-gradient(180deg,var(--primary-dark),#0f3d24);color:#fff;padding:20px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px}.brand small{display:block;opacity:.75;margin-top:3px}.logo-circle{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--primary);font-weight:700;flex:0 0 auto}.sidebar .nav-link{color:rgba(255,255,255,.85);border-radius:10px;padding:10px 12px}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:rgba(255,255,255,.13);color:#fff}.sidebar-footer{padding-top:22px}.main-area{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 24px;position:sticky;top:0;z-index:10}.content{max-width:1450px;margin:auto}.card{border:1px solid var(--border);border-radius:14px;box-shadow:0 2px 9px rgba(0,0,0,.025)}.card-header{background:#fff;border-bottom:1px solid var(--border);padding:14px 16px}.stat-card,.mini-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;height:100%}.stat-card span,.mini-card small{display:block;color:#6b7280;margin-bottom:8px}.stat-card strong,.mini-card b{font-size:1.35rem;display:block}.stat-card.warning strong,.mini-card.balance b{color:#b42318}.quick-action{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;text-decoration:none;color:inherit;display:flex;gap:12px;align-items:center;height:100%}.quick-action>span{font-size:1.7rem}.quick-action small{display:block;color:#6b7280;margin-top:3px}.quick-action:hover{border-color:#b7d5c0;box-shadow:0 5px 18px rgba(0,0,0,.05)}.student-head{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;justify-content:space-between;gap:15px;align-items:center}.student-strip{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:12px}.financial-summary>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--border)}.financial-summary .total{font-size:1.1rem;border-bottom:0;padding-top:16px}.financial-summary .total b{color:#b42318}.empty-state{border:1px dashed #cbd5e1;background:#fff;border-radius:14px;padding:36px;text-align:center;color:#64748b}.form-control,.form-select{border-radius:9px;min-height:42px}.btn{border-radius:9px}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.table>:not(caption)>*>*{padding:.82rem .8rem}.receipt-sheet{background:#fff;border-radius:12px;padding:20px}.receipt-copy{padding:12px}.receipt-header{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:2px solid #111;padding-bottom:12px}.receipt-header h3{font-size:1.15rem;margin:0 0 4px}.receipt-header h4{font-size:1rem;margin:6px 0 0}.receipt-info{padding:16px 0}.cut-line{text-align:center;color:#777;margin:20px 0}.login-page{min-height:100vh;display:grid;place-items:center;background:#eef6f0}.login-card{width:min(430px,92vw);background:#fff;padding:30px;border-radius:18px;box-shadow:0 20px 55px rgba(0,0,0,.09)}
@media(max-width:900px){.app-shell{display:block!important}.sidebar{width:100%;height:auto;position:static;padding:12px}.sidebar .brand{margin-bottom:8px}.sidebar nav{flex-direction:row!important;overflow:auto;margin-top:10px!important}.sidebar .nav-link{white-space:nowrap}.sidebar-footer{display:none}.topbar{position:static;height:auto;padding:12px 16px}.student-head{align-items:flex-start;flex-direction:column}}
@media print{body{background:#fff}.content{max-width:none!important;padding:0!important}.receipt-sheet{padding:0;border:0}.receipt-copy{page-break-inside:avoid}.cut-line{margin:10px 0}.card,.receipt-sheet{box-shadow:none}}
.school-logo{display:block;object-fit:contain;background:#fff;flex-shrink:0}.login-logo{width:150px;height:150px}.sidebar-logo{width:64px;height:64px;border-radius:10px;padding:3px}.receipt-logo{width:80px;height:80px}.login-page{padding:24px 0}

button,input,select,textarea{font-family:inherit}
