:root{
  --side:#0b1220;--side2:#111827;--accent:#2563eb;--accent2:#06b6d4;--bg:#f3f6fb;--card:#ffffff;--text:#111827;--muted:#64748b;--border:#e5e7eb;--soft:#eef6ff;
}
.dark{--bg:#0f172a;--card:#111827;--text:#e5e7eb;--muted:#94a3b8;--border:#243244;--soft:#172554}
*{box-sizing:border-box} body{background:linear-gradient(135deg,var(--bg),#eef2ff);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;min-height:100vh}.dark body,.dark{background:#0f172a}
.sidebar{min-height:100vh;background:linear-gradient(180deg,var(--side),var(--side2));color:#fff;box-shadow:8px 0 24px #0f172a22}.sidebar a{color:#d1d5db;text-decoration:none;display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:12px;margin:4px 0;font-weight:500;transition:.18s}.sidebar a:hover,.sidebar a.active{background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff;transform:translateX(3px)}.sidebar hr{border-color:#334155}.brand-title{font-weight:800;letter-spacing:.4px;margin-bottom:2px}.brand-sub{color:#93c5fd;font-size:.8rem}
.page-title{font-weight:800;margin:0}.page-subtitle{color:var(--muted);margin:2px 0 0}.content-card{background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:20px;padding:20px;box-shadow:0 12px 30px #0f172a12;backdrop-filter:blur(8px)}.dark .content-card{background:rgba(17,24,39,.92)}.kpi{border-left:6px solid var(--accent);position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;background:var(--soft);border-radius:50%;opacity:.75}.kpi h3{font-weight:800}.kpi .text-muted,.text-muted{color:var(--muted)!important}
.btn{border-radius:11px;font-weight:600}.btn-primary{background:linear-gradient(90deg,var(--accent),#1d4ed8);border:0}.btn-danger{background:linear-gradient(90deg,#dc2626,#ef4444);border:0}.btn-success{background:linear-gradient(90deg,#16a34a,#22c55e);border:0}.btn-warning{background:linear-gradient(90deg,#f59e0b,#fbbf24);border:0;color:#111827}.table{color:var(--text)}.table thead th{background:var(--soft);color:var(--text);border-bottom:0}.table td,.table th{vertical-align:middle;border-color:var(--border)}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:rgba(37,99,235,.035);color:var(--text)}.form-control,.form-select{border-radius:12px;border-color:var(--border);background:var(--card);color:var(--text)}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem rgba(37,99,235,.16)}
.badge{border-radius:999px;padding:.45rem .65rem}.soft-pill{background:var(--soft);color:var(--accent);border:1px solid #bfdbfe}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.confirm-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:12px}.dark .confirm-box{background:#431407;border-color:#9a3412}.danger-zone{border:1px dashed #ef4444;background:#fff1f2;border-radius:14px;padding:12px}.dark .danger-zone{background:#450a0a}.print-header{text-align:center;border-bottom:1px solid #222;margin-bottom:12px}.receipt-box{max-width:820px;margin:auto;background:#fff;color:#111;padding:24px}.table-sm td,.table-sm th{padding:.35rem}.mobile-sidebar{position:sticky;top:0;z-index:9}.modal-content{border-radius:20px;border:0;box-shadow:0 22px 60px #0004}.dark .modal-content{background:#111827;color:#e5e7eb}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border-radius:10px;border:1px solid var(--border);padding:6px 10px;background:var(--card);color:var(--text)}
@media(max-width:768px){.sidebar{min-height:auto}.hide-mobile{display:none}main{padding:16px!important}.content-card{padding:14px}.toolbar{width:100%}}
.student-search-results{position:absolute;z-index:2000;max-height:320px;overflow:auto;width:calc(100% - 2rem);border-radius:14px;margin-top:4px;display:none}.content-card{position:relative}.fee-action-btn{border-radius:999px}
.sidebar .sub-link{font-size:.92rem;margin-left:.4rem;padding:.45rem .7rem;border-left:2px solid rgba(255,255,255,.16);opacity:.92}
.sidebar .sub-link:hover{border-left-color:#fff;opacity:1}
@media print{.sidebar,.btn,.dataTables_filter,.dataTables_length,.dataTables_paginate,.dataTables_info{display:none!important} main{width:100%!important}.content-card,.stat-card{box-shadow:none!important;border:1px solid #ddd!important}}
