:root{--brand:#6d28d9;--brand2:#0ea5e9;--dark:#0f172a;--soft:#f8fafc;--ok:#16a34a;--danger:#dc2626;--warn:#f59e0b;--pink:#e11d48;--shadow:0 12px 34px rgba(15,23,42,.10)}
*{font-family:"Hind Siliguri",system-ui,-apple-system,Segoe UI,sans-serif}body{margin:0;background:linear-gradient(135deg,#f6f7ff 0%,#eef6ff 52%,#fff7ed 100%);color:#1f2937}.app-shell{display:flex;min-height:100vh}.sidebar{width:286px;background:linear-gradient(180deg,#111827 0%,#312e81 52%,#6d28d9 100%);color:#fff;position:sticky;top:0;height:100vh;overflow:auto;padding:14px;box-shadow:8px 0 28px rgba(15,23,42,.18);z-index:1040}.brand-wrap{display:flex;align-items:center;gap:12px;padding:10px 8px 18px}.brand-logo{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#22d3ee,#a78bfa,#f472b6);display:grid;place-items:center;font-weight:800;font-size:26px;box-shadow:0 10px 30px rgba(255,255,255,.20)}.brand-text h4{margin:0;font-weight:800;letter-spacing:.3px}.brand-text small{color:#dbeafe}.user-pill{display:flex;align-items:center;gap:10px;margin:0 4px 14px;padding:12px;border-radius:18px;background:rgba(255,255,255,.12);backdrop-filter:blur(6px)}.user-pill i{font-size:26px}.user-pill small{display:block;color:#dbeafe;font-size:12px}.side-menu a{display:flex;align-items:center;gap:10px;color:#e5e7eb;text-decoration:none;padding:10px 12px;border-radius:14px;margin:5px 0;font-weight:500;transition:.18s}.side-menu a i{font-size:17px;width:22px}.side-menu a:hover,.side-menu a.active{background:rgba(255,255,255,.18);color:#fff;transform:translateX(3px)}.side-menu .logout{color:#fde68a}.content{flex:1;padding:24px;min-width:0}.topbar{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.86);border:1px solid rgba(226,232,240,.9);box-shadow:var(--shadow);border-radius:24px;padding:14px 16px;margin-bottom:18px;backdrop-filter:blur(10px)}.topbar h5{margin:0;font-weight:800;color:#0f172a}.topbar small{color:#64748b}.icon-btn{border:0;background:linear-gradient(135deg,#eef2ff,#e0f2fe);color:#312e81;border-radius:14px;width:42px;height:42px;display:inline-grid;place-items:center}.desktop-header-menu{gap:8px;flex-wrap:wrap}.desktop-header-menu a{padding:9px 12px;border-radius:14px;text-decoration:none;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;font-weight:600}.desktop-header-menu a.active,.desktop-header-menu a:hover{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-color:transparent}.card{border:0;border-radius:24px;box-shadow:var(--shadow);background:rgba(255,255,255,.94)}.card h5,.card h4{font-weight:800;color:#0f172a}.stat{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff,#eef2ff)}.stat:after{content:"";position:absolute;right:-25px;top:-25px;width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,rgba(14,165,233,.22),rgba(109,40,217,.22))}.btn{border-radius:14px;font-weight:700}.btn-primary{background:linear-gradient(135deg,#6d28d9,#0ea5e9);border:0}.btn-success{background:linear-gradient(135deg,#16a34a,#22c55e);border:0}.btn-warning{background:linear-gradient(135deg,#f59e0b,#f97316);border:0;color:#fff}.btn-danger{background:linear-gradient(135deg,#e11d48,#dc2626);border:0}.form-control,.form-select{border-radius:14px;border:1px solid #d6dbe6;min-height:46px;font-weight:500;color:#0f172a}.form-control::placeholder{color:#475569;opacity:1}.form-label{font-weight:700;color:#334155;margin-bottom:5px}.table{vertical-align:middle}.table thead,.table tr:first-child{background:#f1f5f9}.badge-soft{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:700}.avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#e5e7eb;border:3px solid #fff;box-shadow:0 4px 12px rgba(15,23,42,.12)}.footer{background:linear-gradient(135deg,#0f172a,#312e81);color:white;border-radius:24px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow)}.dev-avatar{width:52px;height:52px;border-radius:18px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:30px}.alert-scroll{white-space:nowrap;overflow:hidden;border-radius:18px}.alert-scroll span{display:inline-block;animation:scroll 22s linear infinite}@keyframes scroll{from{transform:translateX(100%)}to{transform:translateX(-100%)}}.receipt{width:72mm;font-size:12px;margin:auto;background:#fff;padding:8px}.pos-print{font-family:monospace}.fee-section{display:none}.fee-section.active{display:flex}.sidebar-backdrop{display:none}.csv-help{background:#f8fafc;border:1px dashed #94a3b8;border-radius:18px;padding:12px;color:#475569}
@media(max-width:991px){.sidebar{position:fixed;left:-310px;transition:.25s}.sidebar-open .sidebar{left:0}.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:1030}.content{padding:14px}.topbar{border-radius:18px}.table-responsive{font-size:13px}}
@media(min-width:992px){.sidebar .d-lg-none{display:none!important}}
@media print{.no-print,.sidebar,.topbar,.sidebar-backdrop{display:none!important}.receipt{width:72mm}.content{width:100%!important;padding:0}.card{box-shadow:none}}

.fee-part{display:none}.fee-part[style*=flex]{display:flex}.fee-box{border-left:5px solid #22c55e}
.invoice-wrap{max-width:900px;margin:auto}.invoice-card{background:#fff;border-radius:18px;padding:30px;box-shadow:var(--shadow);color:#334155}.invoice-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.invoice-logo{width:74px;height:74px;border-radius:22px;background:linear-gradient(135deg,#22d3ee,#6d28d9);color:#fff;display:grid;place-items:center;font-size:42px;font-weight:900}.invoice-head h2{margin:0;font-weight:900;color:#1e293b}.invoice-head p{margin:3px 0;color:#64748b}.invoice-title{font-size:26px;font-weight:900;color:#111827;letter-spacing:.5px}.paid-stamp{display:inline-block;margin-top:18px;border:5px solid #22c55e;color:#16a34a;font-weight:900;font-size:30px;letter-spacing:8px;transform:rotate(-11deg);padding:3px 16px;border-radius:8px;opacity:.75}.invoice-table th{background:#f8fafc;color:#475569;padding:16px}.invoice-table td{padding:22px 16px}.total-table td{padding:12px 16px}.total-table .grand{background:#f8fafc;font-size:18px;font-weight:900;color:#0f172a}.invoice-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:52px;gap:20px}.signature-line{width:190px;border-top:1px solid #64748b;margin-bottom:10px}.served{text-align:center;color:#475569}@media print{body{background:#fff}.invoice-card{box-shadow:none;border-radius:0;padding:15px}.invoice-wrap{max-width:100%}.invoice-title{font-size:22px}.paid-stamp{font-size:24px}.footer{display:none!important}}

/* Final colorful UI upgrade */
.student-list-hero{background:linear-gradient(135deg,#ffffff,#eef2ff 55%,#ecfeff)}
.colorful-table thead th,.colorful-table tr:first-child th{background:linear-gradient(135deg,#5b21b6,#2563eb)!important;color:#fff!important;border:0;padding:13px 12px;white-space:nowrap}.colorful-table tbody tr:hover{background:#f8fafc}.fee-model-badge{background:linear-gradient(135deg,#06b6d4,#7c3aed);color:#fff}.student-detail-photo{width:135px;height:135px;border-radius:28px;object-fit:cover;border:5px solid #fff;box-shadow:0 12px 30px rgba(15,23,42,.18)}.student-modal .modal-header{background:linear-gradient(135deg,#6d28d9,#0ea5e9);color:#fff}.student-modal .btn-close{filter:invert(1)}.detail-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px}.text-purple{color:#7c3aed}.receipt-student-photo{width:130px;height:130px;border-radius:26px;object-fit:cover;border:5px solid #fff;box-shadow:0 14px 34px rgba(15,23,42,.16)}.modern-receipt{border-top:8px solid #6d28d9}.colorful-head{background:linear-gradient(135deg,#f8fafc,#eef2ff);border-radius:20px;padding:16px}.receipt-pill{display:inline-block;background:linear-gradient(135deg,#ef4444,#ec4899);color:#fff;border-radius:999px;padding:7px 15px;font-weight:900;margin:7px 0}.student-name-color{color:#16a34a;font-weight:900}.method-badge{display:inline-block;background:#eef2ff;color:#4338ca;border-radius:999px;padding:8px 14px}.colorful-invoice-table thead th{background:linear-gradient(135deg,#6d28d9,#e11d48)!important;color:#fff!important}.colorful-invoice-table tbody td{color:#1f2937}.amount-color{color:#16a34a!important;font-weight:900;font-size:18px}.big-paid-stamp{font-size:48px!important;border-width:7px!important;padding:8px 28px!important;letter-spacing:10px!important}.paid-area{min-height:145px;display:flex;align-items:center;justify-content:center}.signature-space{height:54px}.small-space{height:42px}.portal-hero{background:linear-gradient(135deg,#eef2ff,#fff,#ecfeff)}.portal-photo{width:140px;height:140px;border-radius:34px;object-fit:cover;border:6px solid #fff;box-shadow:0 16px 40px rgba(15,23,42,.18)}.due-alert{background:linear-gradient(135deg,#fee2e2,#fff7ed);border:1px solid #fecaca;border-radius:24px;padding:18px;text-align:center}.due-alert span{display:block;color:#991b1b;font-weight:700}.due-alert strong{display:block;font-size:32px;color:#dc2626}.stat-card{position:relative;overflow:hidden;min-height:120px}.stat-card i{font-size:30px;width:54px;height:54px;border-radius:18px;display:grid;place-items:center;color:#fff;margin-bottom:10px}.stat-card span{color:#64748b;font-weight:700}.stat-card b{font-size:24px;color:#0f172a}.stat-card.blue i{background:linear-gradient(135deg,#2563eb,#06b6d4)}.stat-card.green i{background:linear-gradient(135deg,#16a34a,#22c55e)}.stat-card.orange i{background:linear-gradient(135deg,#f97316,#facc15)}.stat-card.red i{background:linear-gradient(135deg,#dc2626,#e11d48)}.notice-item{border-left:5px solid #6d28d9;background:#f8fafc;border-radius:14px;padding:12px;margin-bottom:10px}.input-group-text{border-radius:14px 0 0 14px;background:#eef2ff;color:#4338ca;border-color:#d6dbe6}
@media(max-width:767px){.big-paid-stamp{font-size:32px!important}.invoice-head{flex-direction:column}.content{padding:10px}.colorful-table{font-size:12px}.portal-photo{width:110px;height:110px}}


/* v6 fixes: desktop collapsible sidebar, searchable fee cards, filters */
@media(min-width:992px){
 body.sidebar-collapsed .sidebar{width:86px;padding:14px 10px;overflow:visible}
 body.sidebar-collapsed .brand-text,body.sidebar-collapsed .user-pill span,body.sidebar-collapsed .side-menu a span,body.sidebar-collapsed .footer{display:none!important}
 body.sidebar-collapsed .brand-wrap{justify-content:center;padding-left:0;padding-right:0}
 body.sidebar-collapsed .brand-logo{width:52px;height:52px}
 body.sidebar-collapsed .user-pill{justify-content:center;padding:12px 4px}
 body.sidebar-collapsed .side-menu a{justify-content:center;padding:12px 8px;position:relative}
 body.sidebar-collapsed .side-menu a i{width:auto;font-size:20px}
 body.sidebar-collapsed .side-menu a:hover::after{content:attr(data-title);position:absolute;left:72px;top:50%;transform:translateY(-50%);white-space:nowrap;background:#111827;color:#fff;padding:7px 10px;border-radius:10px;box-shadow:var(--shadow);z-index:3000}
}
.search-results-box{border:1px solid #dbeafe;background:#fff;border-radius:16px;box-shadow:0 12px 25px rgba(15,23,42,.10);max-height:310px;overflow:auto;margin-bottom:10px;display:none}.search-results-box.active{display:block}.search-result-item{padding:10px 12px;border-bottom:1px solid #eef2ff;cursor:pointer}.search-result-item:hover{background:#eef2ff}.search-result-item b{color:#4338ca}.filter-card{background:linear-gradient(135deg,#fff,#eff6ff);border:1px solid #dbeafe;border-radius:20px;padding:14px}.summary-pill{display:inline-flex;gap:7px;align-items:center;padding:8px 12px;border-radius:999px;font-weight:800}.summary-pill.green{background:#dcfce7;color:#166534}.summary-pill.red{background:#fee2e2;color:#991b1b}.summary-pill.orange{background:#ffedd5;color:#9a3412}.summary-pill.blue{background:#dbeafe;color:#1e40af}.profile-action-card{background:linear-gradient(135deg,#f8fafc,#eef2ff);border:1px solid #e2e8f0;border-radius:20px;padding:14px}.form-control[type=file]{padding-top:10px}.student-search-help{font-size:12px;color:#64748b;margin-top:4px}

/* v7 report, collapsed-sidebar visibility and one-page print fixes */
@media(min-width:992px){
 body.sidebar-collapsed .sidebar{background:linear-gradient(180deg,#111827 0%,#312e81 52%,#6d28d9 100%)!important;overflow-y:auto!important;overflow-x:hidden!important;min-height:100vh;height:100vh}
 body.sidebar-collapsed .side-menu a{background:rgba(255,255,255,.10)!important;color:#fff!important;margin:7px 0!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
 body.sidebar-collapsed .side-menu a i{color:#fff!important;opacity:1!important;text-shadow:0 2px 6px rgba(0,0,0,.25)}
 body.sidebar-collapsed .side-menu a.active{background:linear-gradient(135deg,#22c55e,#2563eb)!important}
 body.sidebar-collapsed .side-menu .logout{background:rgba(225,29,72,.22)!important;color:#fff!important}
}
.student-report-page .report-sheet{background:#fff;border-radius:22px}.report-header{display:flex;justify-content:space-between;gap:18px;align-items:center}.report-header h2{font-weight:900;margin:0;color:#312e81}.report-photo{width:155px;height:155px;border-radius:32px;object-fit:cover;border:6px solid #fff;box-shadow:0 14px 34px rgba(15,23,42,.18)}.section-title{background:linear-gradient(135deg,#eef2ff,#ecfeff);border-left:6px solid #6d28d9;border-radius:14px;padding:10px 12px;font-weight:900;color:#111827}.info-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:9px}.info-grid b{display:block;color:#64748b;font-size:12px}.info-grid span{font-weight:800;color:#0f172a}.report-stat{border-radius:20px;padding:16px;color:#fff;min-height:110px}.report-stat span{display:block;font-weight:700;opacity:.9}.report-stat b{font-size:28px;display:block}.report-stat.blue{background:linear-gradient(135deg,#2563eb,#06b6d4)}.report-stat.green{background:linear-gradient(135deg,#16a34a,#22c55e)}.report-stat.red{background:linear-gradient(135deg,#dc2626,#e11d48)}.report-scroll{max-height:320px;overflow:auto;border:1px solid #eef2ff;border-radius:14px}.report-footer{display:flex;justify-content:space-between;align-items:end;border-top:1px dashed #cbd5e1;padding-top:20px}.month-box.compact{padding:9px}.month-box.compact span{font-size:18px}
@media print{
 @page{size:A4;margin:8mm}
 body{background:#fff!important}.content{padding:0!important}.student-report-page .no-print,.student-portal .no-print,.portal-no-print,.topbar,.sidebar,.footer,.sidebar-backdrop{display:none!important}.student-report-page .card,.student-portal .card{box-shadow:none!important;border:1px solid #e5e7eb!important;border-radius:10px!important}.student-report-page .report-sheet{padding:10px!important}.report-header{font-size:12px}.report-header .invoice-logo{width:46px;height:46px;font-size:28px}.report-photo{width:88px;height:88px;border-radius:18px}.section-title{font-size:13px;padding:6px 8px;margin-bottom:6px}.info-grid>div{padding:5px;font-size:11px}.report-stat{padding:8px;min-height:64px}.report-stat b{font-size:17px}.report-scroll{max-height:none;overflow:visible}.student-report-page table{font-size:10px}.student-report-page .badge{font-size:9px}.student-report-page .row{--bs-gutter-x:.45rem;--bs-gutter-y:.45rem}.student-report-page .mt-4{margin-top:.5rem!important}.student-report-page .mt-2{margin-top:.35rem!important}
 .student-portal{font-size:10.5px}.student-portal .row{--bs-gutter-x:.35rem;--bs-gutter-y:.35rem}.student-portal .card{padding:7px!important;margin-top:5px!important}.student-hero-photo{width:72px!important;height:72px!important;border-radius:15px!important}.mini-stat{padding:5px!important}.mini-stat b{font-size:15px!important}.stat-card{min-height:auto!important;padding:7px!important}.stat-card i{display:none!important}.stat-card b{font-size:16px!important}.fee-line{padding:4px 0!important}.student-portal canvas{max-height:115px!important}.student-portal .table-responsive{max-height:none!important;overflow:visible!important}.student-portal table{font-size:9.5px!important;margin-bottom:4px!important}.student-portal .notice-item{display:none!important}.student-portal .col-xl-4{width:32%!important}.student-portal .col-xl-8{width:68%!important}.student-portal .col-md-3{width:25%!important}.student-portal .col-md-4{width:33.333%!important}.student-portal .col-lg-5{width:38%!important}.student-portal .col-lg-7{width:62%!important}.student-portal .col-lg-6{width:50%!important}.student-portal .month-box{padding:4px!important}.student-portal .month-box span{font-size:13px!important}.student-portal hr{margin:4px 0!important}.student-portal h4{font-size:15px!important}.student-portal h5{font-size:13px!important;margin-bottom:5px!important}
}

/* v8: Web-view-like compact print/PDF for receipts, student dashboard and formatted reports */
@page receiptPrint { size: A4 portrait; margin: 6mm; }
@page reportPrint { size: A4 landscape; margin: 5mm; }
@media print {
  html, body {
    background: #fff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
  .no-print, .portal-no-print, .sidebar, .topbar, .footer, .sidebar-backdrop, .desktop-header-menu {
    display: none !important;
  }
  .app-shell, .content { display: block !important; width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
  .card { box-shadow: none !important; }

  /* Receipt: keep the same colorful web view, but fit on one A4 page */
  .invoice-wrap { page: receiptPrint; max-width: 190mm !important; width: 190mm !important; margin: 0 auto !important; }
  .invoice-card.modern-receipt, .invoice-card { 
    box-shadow: none !important; border: 1px solid #e5e7eb !important; border-radius: 10px !important;
    padding: 7mm !important; margin: 0 !important; overflow: hidden !important;
  }
  .modern-receipt { zoom: .82; }
  .modern-receipt .invoice-head { gap: 10px !important; align-items: flex-start !important; }
  .modern-receipt .invoice-logo { width: 56px !important; height: 56px !important; border-radius: 16px !important; font-size: 32px !important; }
  .modern-receipt h2 { font-size: 24px !important; margin: 0 !important; }
  .modern-receipt h4 { font-size: 18px !important; margin: 2px 0 !important; }
  .modern-receipt h5 { font-size: 15px !important; }
  .modern-receipt p, .modern-receipt div, .modern-receipt td, .modern-receipt th { font-size: 12px !important; line-height: 1.25 !important; }
  .modern-receipt hr { margin: 8px 0 !important; }
  .receipt-student-photo { width: 82px !important; height: 82px !important; object-fit: cover !important; border-radius: 18px !important; }
  .invoice-table th, .colorful-invoice-table th, .receipt-list-table thead th, .colorful-table thead th {
    background: linear-gradient(135deg,#6d28d9,#0ea5e9) !important; color: #fff !important;
  }
  .invoice-table th, .invoice-table td, .total-table td { padding: 7px 10px !important; }
  .paid-stamp.big-paid-stamp, .paid-stamp { font-size: 34px !important; letter-spacing: 8px !important; padding: 4px 18px !important; border-width: 6px !important; margin-top: 5px !important; }
  .paid-area { min-height: 90px !important; display:flex !important; align-items:center !important; justify-content:center !important; }
  .invoice-bottom { margin-top: 18px !important; }
  .signature-space { height: 26px !important; }
  .signature-space.small-space { height: 18px !important; }
  .signature-line { width: 165px !important; margin-top: 4px !important; }

  /* Student formatted report & student dashboard: A4 landscape compact web view */
  .student-report-page, .student-portal { page: reportPrint; width: 100% !important; max-width: 100% !important; overflow: hidden !important; }
  .student-report-page .report-sheet, .student-portal > .row, .student-portal .card { box-shadow: none !important; }
  .student-report-page .report-sheet {
    width: 100% !important; max-width: 100% !important; padding: 4mm !important; border: 1px solid #e5e7eb !important; border-radius: 10px !important; overflow: hidden !important; zoom: .74;
  }
  .student-report-page .report-header { font-size: 11px !important; }
  .student-report-page .report-header h2 { font-size: 21px !important; margin: 0 !important; }
  .student-report-page hr { margin: 5px 0 !important; }
  .student-report-page .report-photo { width: 72px !important; height: 72px !important; border-radius: 16px !important; }
  .student-report-page h4 { font-size: 15px !important; }
  .student-report-page h5, .student-report-page .section-title { font-size: 11px !important; padding: 4px 7px !important; margin-bottom: 4px !important; }
  .student-report-page .row { --bs-gutter-x: .35rem !important; --bs-gutter-y: .35rem !important; }
  .student-report-page .mt-2, .student-report-page .mt-3, .student-report-page .mt-4 { margin-top: .25rem !important; }
  .student-report-page .info-grid>div { padding: 3px 5px !important; font-size: 8.5px !important; }
  .student-report-page .info-grid b { font-size: 8.5px !important; }
  .student-report-page .info-grid span { font-size: 8.5px !important; }
  .student-report-page .report-stat { padding: 5px 8px !important; min-height: 44px !important; border-radius: 10px !important; }
  .student-report-page .report-stat b { font-size: 14px !important; }
  .student-report-page .report-stat span, .student-report-page .report-stat small { font-size: 8px !important; }
  .student-report-page .summary-pill { padding: 3px 6px !important; font-size: 8px !important; }
  .student-report-page .report-scroll { max-height: 118px !important; overflow: hidden !important; }
  .student-report-page table { font-size: 8px !important; margin-bottom: 3px !important; }
  .student-report-page .table>:not(caption)>*>* { padding: 2px 4px !important; }
  .student-report-page .badge { font-size: 7px !important; padding: 3px 5px !important; }
  .student-report-page .month-box { padding: 4px 6px !important; border-radius: 9px !important; }
  .student-report-page .month-box span { font-size: 12px !important; }
  .student-report-page .month-box b, .student-report-page .month-box small { font-size: 7.5px !important; }
  .student-report-page .report-footer { margin-top: 6px !important; font-size: 9px !important; }

  .student-portal { zoom: .66; }
  .student-portal .row { --bs-gutter-x: .45rem !important; --bs-gutter-y: .45rem !important; }
  .student-portal .card { border: 1px solid #e5e7eb !important; border-radius: 12px !important; padding: 8px !important; margin-top: 5px !important; page-break-inside: avoid !important; }
  .student-portal .student-hero-photo { width: 78px !important; height: 78px !important; border-radius: 16px !important; }
  .student-portal h4 { font-size: 17px !important; }
  .student-portal h5 { font-size: 13px !important; margin-bottom: 5px !important; }
  .student-portal .stat-card b, .student-portal .mini-stat b { font-size: 16px !important; }
  .student-portal .stat-card span, .student-portal .mini-stat span, .student-portal td, .student-portal th, .student-portal p, .student-portal small { font-size: 9px !important; line-height: 1.2 !important; }
  .student-portal .table>:not(caption)>*>* { padding: 3px 5px !important; }
  .student-portal canvas { max-height: 145px !important; }
}

/* v9: real print-only compact A4 report to avoid 2/3 page stretched print */
.print-only{display:none!important}
@page reportCompact { size: A4 landscape; margin: 6mm; }
@media print{
  body{background:#fff!important;margin:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .no-print,.portal-no-print,.sidebar,.topbar,.footer,.sidebar-backdrop,.desktop-header-menu{display:none!important}
  .app-shell,.content{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
  .student-report-page{page:reportCompact!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}
  .student-report-page>.report-sheet{display:none!important}
  .student-report-page>.compact-a4-report{display:block!important;width:100%!important;max-width:285mm!important;height:auto!important;max-height:197mm!important;margin:0 auto!important;overflow:hidden!important;background:#fff!important;color:#0f172a!important;font-size:8.6px!important;line-height:1.12!important}
  .compact-a4-report *{box-sizing:border-box!important;line-height:1.12!important}
  .a4-report-head{display:grid!important;grid-template-columns:1.15fr 1.35fr .8fr!important;gap:6px!important;align-items:center!important;border-bottom:1px solid #cbd5e1!important;padding-bottom:5px!important;margin-bottom:5px!important}
  .brand-mini,.student-mini{display:flex!important;align-items:center!important;gap:7px!important}.mini-logo{width:34px!important;height:34px!important;border-radius:10px!important;background:linear-gradient(135deg,#2563eb,#06b6d4)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:20px!important;font-weight:900!important}.brand-mini h2{font-size:17px!important;margin:0!important;color:#312e81!important}.brand-mini span,.date-mini span,.student-mini span{display:block!important;font-size:8px!important;color:#475569!important}.student-mini img{width:44px!important;height:44px!important;border-radius:10px!important;object-fit:cover!important;border:2px solid #e2e8f0!important}.student-mini h3{font-size:14px!important;margin:0!important;color:#0f172a!important}.student-mini b{font-size:9px!important;color:#16a34a!important}.date-mini{text-align:right!important}.date-mini b{font-size:9px!important;color:#111827!important}
  .a4-stats{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:5px!important;margin:4px 0!important}.a4-stats>div{border-radius:8px!important;color:#fff!important;padding:6px 8px!important;min-height:36px!important}.a4-stats span{display:block!important;font-size:8px!important}.a4-stats b{font-size:16px!important;display:block!important}.a4-stats small{font-size:7px!important}.a4-stats .blue{background:linear-gradient(135deg,#2563eb,#06b6d4)!important}.a4-stats .green{background:linear-gradient(135deg,#16a34a,#22c55e)!important}.a4-stats .red{background:linear-gradient(135deg,#dc2626,#e11d48)!important}
  .a4-info-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:3px!important;margin-bottom:5px!important}.a4-info-grid div{border:1px solid #dbeafe!important;background:#f8fafc!important;border-radius:6px!important;padding:3px 5px!important;min-height:23px!important;overflow:hidden!important}.a4-info-grid b{display:block!important;color:#64748b!important;font-size:7px!important}.a4-info-grid span{font-size:8px!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important}
  .a4-two-col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;margin-top:5px!important}.a4-two-col.lower{grid-template-columns:1fr 1fr!important}.compact-a4-report section{border:1px solid #e2e8f0!important;border-radius:8px!important;overflow:hidden!important;break-inside:avoid!important}.compact-a4-report h4{margin:0!important;padding:4px 6px!important;background:linear-gradient(135deg,#6d28d9,#0ea5e9)!important;color:#fff!important;font-size:9px!important;font-weight:800!important}.compact-a4-report table{width:100%!important;border-collapse:collapse!important;margin:0!important;font-size:7.6px!important}.compact-a4-report th{background:#eef2ff!important;color:#111827!important}.compact-a4-report th,.compact-a4-report td{border:1px solid #e5e7eb!important;padding:2px 4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.compact-a4-report tbody tr:nth-child(even){background:#f8fafc!important}
  .mini-months{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:3px!important;padding:5px!important}.mini-months div{border:1px solid #e2e8f0!important;border-radius:6px!important;padding:3px!important;background:#f8fafc!important}.mini-months b,.mini-months span,.mini-months small{display:block!important}.mini-months span{font-weight:900!important;color:#2563eb!important;font-size:10px!important}.mini-months small{font-size:7px!important;color:#475569!important}.a4-sign{display:flex!important;justify-content:space-between!important;align-items:end!important;border-top:1px dashed #cbd5e1!important;margin-top:6px!important;padding-top:6px!important;font-size:8px!important}.a4-sign span{display:block!important;width:125px!important;border-top:1px solid #111827!important;margin-bottom:4px!important}
  /* receipt one page harder fit */
  .invoice-wrap{page:receiptPrint!important;max-width:190mm!important;width:190mm!important;margin:0 auto!important;overflow:hidden!important}.invoice-card.modern-receipt,.invoice-card{zoom:.74!important;padding:6mm!important;max-height:275mm!important;overflow:hidden!important}.invoice-card.modern-receipt .row{--bs-gutter-x:.5rem!important;--bs-gutter-y:.5rem!important}.invoice-card.modern-receipt p,.invoice-card.modern-receipt td,.invoice-card.modern-receipt th,.invoice-card.modern-receipt div{line-height:1.15!important}.invoice-bottom{margin-top:10px!important}.paid-area{min-height:68px!important}
}

/* v37: student dashboard result table readability update */
.student-result-table thead th,
.detailed-result-table thead th,
.online-result-summary-table thead th{
  background:#f8fafc!important;
  color:#0f172a!important;
  font-weight:800!important;
  border-bottom:1px solid #dbeafe!important;
  white-space:nowrap;
}
.student-result-table thead th:nth-child(1), .online-result-summary-table thead th:nth-child(1){background:#eff6ff!important}
.student-result-table thead th:nth-child(2), .online-result-summary-table thead th:nth-child(2){background:#f0fdf4!important}
.student-result-table thead th:nth-child(3), .online-result-summary-table thead th:nth-child(3){background:#fff7ed!important}
.student-result-table thead th:nth-child(4), .online-result-summary-table thead th:nth-child(4){background:#fdf2f8!important}
.student-result-table thead th:nth-child(5), .online-result-summary-table thead th:nth-child(5){background:#f5f3ff!important}
.student-result-table thead th:nth-child(6), .online-result-summary-table thead th:nth-child(6){background:#ecfeff!important}
.student-result-table thead th:nth-child(7), .online-result-summary-table thead th:nth-child(7){background:#fefce8!important}
.student-result-table thead th:nth-child(8){background:#f0f9ff!important}
.student-result-table thead th:nth-child(9){background:#eef2ff!important}
.student-result-table tbody tr:not(.ai-suggestion-row):nth-of-type(4n+1) td,
.online-result-summary-table tbody tr:not(.ai-suggestion-row):nth-of-type(4n+1) td{background:#ffffff!important}
.student-result-table tbody tr:not(.ai-suggestion-row):nth-of-type(4n+3) td,
.online-result-summary-table tbody tr:not(.ai-suggestion-row):nth-of-type(4n+3) td{background:#f8fbff!important}
.ai-suggestion-row td{
  background:linear-gradient(90deg,#fff7ed,#fefce8)!important;
  color:#334155!important;
  border-left:4px solid #f59e0b!important;
  font-size:13px!important;
  line-height:1.55!important;
  white-space:normal!important;
}
.ai-suggestion-row i{color:#f59e0b!important}
.student-result-table .absent-row td{background:#fff1f2!important}


/* v39: student dashboard payment table heading strong/dark */
.payment-detail-table thead th{
  color:#0f172a!important;
  font-weight:900!important;
  text-shadow:none!important;
}
.payment-detail-table thead th:nth-child(1){background:#dbeafe!important}
.payment-detail-table thead th:nth-child(2){background:#dcfce7!important}
.payment-detail-table thead th:nth-child(3){background:#fae8ff!important}
.payment-detail-table thead th:nth-child(4){background:#ffedd5!important}
.payment-detail-table thead th:nth-child(5){background:#ffe4e6!important}
.payment-detail-table thead th:nth-child(6){background:#ccfbf1!important}
.payment-detail-table thead th:nth-child(7){background:#fef3c7!important}
.payment-detail-table tbody tr:nth-child(even) td{background:#f8fbff!important}
.payment-detail-table tbody tr:nth-child(odd) td{background:#ffffff!important}

/* v40 Global rainbow table headings + alternating rows */
.table thead th,
table thead th{
  color:#111827 !important;
  font-weight:900 !important;
  border-bottom:1px solid #dbe4f0 !important;
  vertical-align:middle !important;
}
.table thead th:nth-child(7n+1), table thead th:nth-child(7n+1){background:#dbeafe !important;}
.table thead th:nth-child(7n+2), table thead th:nth-child(7n+2){background:#dcfce7 !important;}
.table thead th:nth-child(7n+3), table thead th:nth-child(7n+3){background:#fae8ff !important;}
.table thead th:nth-child(7n+4), table thead th:nth-child(7n+4){background:#ffe4e6 !important;}
.table thead th:nth-child(7n+5), table thead th:nth-child(7n+5){background:#fef3c7 !important;}
.table thead th:nth-child(7n+6), table thead th:nth-child(7n+6){background:#ccfbf1 !important;}
.table thead th:nth-child(7n), table thead th:nth-child(7n){background:#ffedd5 !important;}
.table tbody tr:nth-child(odd):not(.ai-row-tr) td,
table tbody tr:nth-child(odd):not(.ai-row-tr) td{background:#ffffff;}
.table tbody tr:nth-child(even):not(.ai-row-tr) td,
table tbody tr:nth-child(even):not(.ai-row-tr) td{background:#f8fbff;}
.ai-row-tr td{background:#f8fafc !important;border-left:6px solid #7c3aed !important;color:#334155 !important;}

/* v42: Student dashboard KPI cards - premium gradient glass effect */
@media screen {
  .student-portal .portal-kpi-card{
    position:relative!important;
    overflow:hidden!important;
    min-height:150px!important;
    border:0!important;
    border-radius:28px!important;
    padding:20px!important;
    color:#fff!important;
    box-shadow:0 22px 45px rgba(15,23,42,.16)!important;
    backdrop-filter: blur(14px);
    isolation:isolate;
    transform:translateZ(0);
  }
  .student-portal .portal-kpi-card:before{
    content:"";
    position:absolute;
    inset:1px;
    border-radius:27px;
    background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.08));
    border:1px solid rgba(255,255,255,.36);
    z-index:-1;
  }
  .student-portal .portal-kpi-card:after{
    content:"";
    position:absolute;
    width:145px;
    height:145px;
    right:-54px;
    top:-58px;
    border-radius:50%;
    background:rgba(255,255,255,.22);
    box-shadow:-55px 80px 0 rgba(255,255,255,.09);
    z-index:-1;
  }
  .student-portal .portal-kpi-card i{
    width:54px!important;
    height:54px!important;
    border-radius:20px!important;
    display:grid!important;
    place-items:center!important;
    margin-bottom:13px!important;
    font-size:28px!important;
    color:#fff!important;
    background:rgba(255,255,255,.22)!important;
    border:1px solid rgba(255,255,255,.34)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 10px 20px rgba(15,23,42,.12)!important;
  }
  .student-portal .portal-kpi-card span{
    display:block!important;
    color:rgba(255,255,255,.90)!important;
    font-weight:800!important;
    letter-spacing:.1px;
    font-size:15px!important;
  }
  .student-portal .portal-kpi-card b{
    display:block!important;
    color:#fff!important;
    font-size:31px!important;
    line-height:1.1!important;
    margin-top:5px!important;
    text-shadow:0 3px 12px rgba(15,23,42,.18)!important;
  }
  .student-portal .portal-kpi-card small{
    display:block!important;
    margin-top:8px!important;
    color:rgba(255,255,255,.88)!important;
    font-weight:700!important;
    font-size:12px!important;
    white-space:normal;
  }
  .student-portal .attendance-rate-card{background:linear-gradient(135deg,#2563eb 0%,#06b6d4 52%,#22c55e 100%)!important;}
  .student-portal .total-attendance-card{background:linear-gradient(135deg,#16a34a 0%,#22c55e 48%,#14b8a6 100%)!important;}
  .student-portal .receipt-count-card{background:linear-gradient(135deg,#f59e0b 0%,#f97316 48%,#ec4899 100%)!important;}
  .student-portal .due-balance-card{background:linear-gradient(135deg,#ef4444 0%,#e11d48 48%,#7c3aed 100%)!important;}
  .student-portal .portal-kpi-card:hover{transform:translateY(-3px);transition:.18s ease;box-shadow:0 26px 52px rgba(15,23,42,.22)!important;}
}

@media (max-width: 767.98px){
  .student-portal .portal-kpi-card{min-height:132px!important;padding:16px!important;border-radius:23px!important;}
  .student-portal .portal-kpi-card i{width:46px!important;height:46px!important;font-size:23px!important;margin-bottom:9px!important;}
  .student-portal .portal-kpi-card b{font-size:25px!important;}
}


/* v43: Professional Session, Batch & Batch Fee setup UI */
.setup-page{--p1:#7c3aed;--p2:#06b6d4;--p3:#22c55e;--p4:#f97316;--p5:#e11d48;}
.setup-hero{position:relative;overflow:hidden;border:0;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#eef2ff 45%,#ecfeff 100%);box-shadow:0 22px 50px rgba(15,23,42,.12);padding:22px;margin-bottom:18px;}
.setup-hero:before{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:linear-gradient(135deg,rgba(124,58,237,.22),rgba(14,165,233,.18));}
.setup-hero:after{content:"";position:absolute;left:35%;bottom:-85px;width:210px;height:210px;border-radius:50%;background:linear-gradient(135deg,rgba(34,197,94,.18),rgba(249,115,22,.14));}
.setup-hero>*{position:relative;z-index:1}.setup-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid #dbeafe;color:#3730a3;font-weight:900;font-size:13px}.setup-title{font-weight:900;color:#0f172a;margin:10px 0 4px}.setup-subtitle{color:#475569;font-weight:600;margin:0}.setup-icon{width:62px;height:62px;border-radius:22px;display:grid;place-items:center;color:#fff;font-size:30px;background:linear-gradient(135deg,#7c3aed,#06b6d4);box-shadow:0 18px 34px rgba(79,70,229,.25)}
.setup-stat{border:0!important;border-radius:24px!important;padding:18px!important;box-shadow:0 14px 32px rgba(15,23,42,.09)!important;position:relative;overflow:hidden}.setup-stat:after{content:"";position:absolute;right:-28px;top:-28px;width:95px;height:95px;border-radius:999px;background:rgba(255,255,255,.22)}.setup-stat .sicon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#fff;font-size:22px;margin-bottom:10px}.setup-stat span{display:block;font-weight:800;color:#334155}.setup-stat b{font-size:26px;color:#0f172a}.setup-stat.purple{background:linear-gradient(135deg,#f5f3ff,#eef2ff)}.setup-stat.purple .sicon{background:linear-gradient(135deg,#7c3aed,#4f46e5)}.setup-stat.green{background:linear-gradient(135deg,#ecfdf5,#f0fdf4)}.setup-stat.green .sicon{background:linear-gradient(135deg,#16a34a,#22c55e)}.setup-stat.orange{background:linear-gradient(135deg,#fff7ed,#fffbeb)}.setup-stat.orange .sicon{background:linear-gradient(135deg,#f97316,#f59e0b)}.setup-stat.blue{background:linear-gradient(135deg,#eff6ff,#ecfeff)}.setup-stat.blue .sicon{background:linear-gradient(135deg,#2563eb,#06b6d4)}
.setup-form-card{border:0!important;border-radius:28px!important;box-shadow:0 18px 42px rgba(15,23,42,.10)!important;overflow:hidden}.setup-card-head{padding:16px 18px;color:#fff;background:linear-gradient(135deg,#6d28d9,#0ea5e9);display:flex;align-items:center;justify-content:space-between;gap:12px}.setup-card-head h5{margin:0;color:#fff!important;font-weight:900}.setup-card-head .head-icon{width:42px;height:42px;border-radius:15px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:22px}.setup-body{padding:18px}.fancy-input-group{position:relative}.fancy-input-group .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:3;color:#6d28d9}.fancy-input-group .form-control,.fancy-input-group .form-select{padding-left:42px;background:#f8fbff;border-color:#dbeafe}.form-help{font-size:12px;color:#64748b;font-weight:600;margin-top:4px}.gradient-save-btn{border:0!important;color:#fff!important;border-radius:18px!important;padding:12px 18px!important;background:linear-gradient(135deg,#16a34a,#0ea5e9,#7c3aed)!important;box-shadow:0 14px 28px rgba(14,165,233,.22)!important}.soft-action{border-radius:14px!important;padding:7px 10px!important;text-decoration:none!important;font-weight:800!important;display:inline-flex;align-items:center;gap:6px}.soft-edit{background:#eef2ff;color:#4338ca!important}.soft-delete{background:#fee2e2;color:#b91c1c!important}.soft-archive{background:#ffedd5;color:#c2410c!important}.setup-table-card{border-radius:28px!important;overflow:hidden}.setup-table thead th{background:#0f172a!important;color:#fff!important;border:0!important;padding:13px 12px!important}.setup-table thead th:nth-child(7n+1){background:#2563eb!important}.setup-table thead th:nth-child(7n+2){background:#16a34a!important}.setup-table thead th:nth-child(7n+3){background:#7c3aed!important}.setup-table thead th:nth-child(7n+4){background:#f97316!important}.setup-table thead th:nth-child(7n+5){background:#e11d48!important}.setup-table thead th:nth-child(7n+6){background:#0f766e!important}.setup-table thead th:nth-child(7n){background:#334155!important}.setup-table tbody tr:nth-child(even) td{background:#f8fbff}.setup-table tbody tr:nth-child(odd) td{background:#fff}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;font-weight:900;font-size:12px}.status-active{background:#dcfce7;color:#166534}.status-inactive{background:#f1f5f9;color:#475569}.status-closed{background:#fee2e2;color:#991b1b}.status-archived{background:#ede9fe;color:#5b21b6}.series-card{border:1px solid #e2e8f0;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fbff);padding:12px;display:flex;gap:10px;align-items:center}.series-card .day-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#f97316,#e11d48);font-size:20px}.fee-model-card{border:1px solid #e2e8f0;border-radius:24px;padding:16px;background:#fff;position:relative;overflow:hidden}.fee-model-card:before{content:"";position:absolute;right:-40px;top:-40px;width:110px;height:110px;border-radius:50%;background:rgba(14,165,233,.10)}.fee-model-card h6{font-weight:900}.fee-model-card.monthly{background:linear-gradient(135deg,#eff6ff,#fff)}.fee-model-card.course{background:linear-gradient(135deg,#ecfdf5,#fff)}.fee-model-card.lecture{background:linear-gradient(135deg,#fff7ed,#fff)}.fee-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:20px;margin-right:10px}.fee-icon.monthly{background:linear-gradient(135deg,#2563eb,#06b6d4)}.fee-icon.course{background:linear-gradient(135deg,#16a34a,#22c55e)}.fee-icon.lecture{background:linear-gradient(135deg,#f97316,#f59e0b)}.batch-title-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:900}.money-preview{border-radius:18px;background:linear-gradient(135deg,#f8fafc,#eef2ff);padding:12px;border:1px solid #e2e8f0}.money-preview b{font-size:22px;color:#0f172a}.quick-preset{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-weight:800;font-size:12px}.quick-preset i{color:#7c3aed}@media(max-width:767px){.setup-hero{border-radius:22px;padding:18px}.setup-icon{width:52px;height:52px}.setup-title{font-size:22px}.setup-body{padding:14px}}

/* v44 - Student admission professional UI */
.student-admission-shell{--s-blue:#2563eb;--s-cyan:#06b6d4;--s-green:#16a34a;--s-purple:#7c3aed;--s-pink:#db2777;--s-orange:#f97316;}
.student-hero-card{display:flex;align-items:center;gap:16px;padding:22px;border-radius:26px;background:linear-gradient(135deg,#2563eb 0%,#7c3aed 48%,#db2777 100%);color:#fff;box-shadow:0 20px 45px rgba(37,99,235,.22);position:relative;overflow:hidden;}
.student-hero-card:before{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.16)}
.student-hero-card:after{content:"";position:absolute;left:25%;bottom:-80px;width:220px;height:220px;border-radius:50%;background:rgba(6,182,212,.20)}
.student-hero-card>*{position:relative;z-index:1}.student-hero-card .hero-icon{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px);font-size:32px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.student-hero-card h3{font-weight:900;letter-spacing:.2px}.student-hero-card p{opacity:.9;font-weight:600}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.hero-actions .btn{font-weight:800;border-radius:999px}.hero-actions .btn.active{box-shadow:0 0 0 4px rgba(255,255,255,.18)}
.revo-tabs{background:#fff;border:1px solid #e6eaf6;border-radius:999px;padding:8px;box-shadow:0 10px 24px rgba(15,23,42,.06);display:inline-flex;gap:8px;}
.revo-tabs .nav-link{border-radius:999px;color:#334155;font-weight:900;padding:10px 18px;display:flex;align-items:center;gap:8px;}
.revo-tabs .nav-link.active{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 10px 20px rgba(124,58,237,.25)}
.revo-form-card,.revo-list-card{border:1px solid rgba(226,232,240,.95)!important;border-radius:26px!important;box-shadow:0 18px 44px rgba(15,23,42,.08)!important;background:rgba(255,255,255,.96)!important;}
.form-section-head{display:flex;gap:14px;align-items:center;padding:20px 24px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(6,182,212,.12),rgba(124,58,237,.10));border-bottom:1px solid #e6eaf6;}
.form-section-head>div:first-child{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#06b6d4,#2563eb);font-size:24px;box-shadow:0 12px 24px rgba(37,99,235,.22)}
.form-section-head h5{font-weight:900;color:#0f172a}.form-section-head small{color:#64748b;font-weight:700}.revo-section-title{display:flex;align-items:center;gap:10px;font-weight:900;color:#0f172a;margin-bottom:12px;padding:10px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(14,165,233,.16),rgba(34,197,94,.12));border:1px solid rgba(14,165,233,.16);}
.revo-section-title i{width:32px;height:32px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#0ea5e9,#22c55e);box-shadow:0 8px 18px rgba(14,165,233,.22)}
.student-admission-shell .form-label{font-weight:800;color:#334155;margin-bottom:6px}.student-admission-shell .form-control,.student-admission-shell .form-select{border-radius:14px;border:1px solid #dbe4f0;background:#fbfdff;min-height:46px;box-shadow:none;}.student-admission-shell textarea.form-control{min-height:92px}.student-admission-shell .form-control:focus,.student-admission-shell .form-select:focus{border-color:#7c3aed;box-shadow:0 0 0 .22rem rgba(124,58,237,.12);background:#fff}.fee-pro-card{border-radius:22px;background:linear-gradient(135deg,#f8fbff,#f5f3ff);border:1px solid #e6eaf6;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.revo-save-btn{border:0;border-radius:18px;background:linear-gradient(135deg,#16a34a,#2563eb,#7c3aed);font-weight:900;box-shadow:0 15px 30px rgba(37,99,235,.24)}
.csv-import-strip{border-radius:20px!important;border:1px dashed rgba(37,99,235,.35)!important;background:linear-gradient(135deg,rgba(37,99,235,.06),rgba(34,197,94,.06))!important}.revo-color-table{border-radius:18px;overflow:hidden;border:1px solid #e6eaf6}.revo-color-table th{color:#0f172a!important;font-weight:900!important;border:0!important}.revo-color-table th:nth-child(1){background:#dbeafe!important}.revo-color-table th:nth-child(2){background:#dcfce7!important}.revo-color-table th:nth-child(3){background:#fef3c7!important}.revo-color-table th:nth-child(4){background:#fae8ff!important}.revo-color-table th:nth-child(5){background:#ffe4e6!important}.revo-color-table th:nth-child(6){background:#ccfbf1!important}.revo-color-table th:nth-child(7){background:#e0e7ff!important}.revo-color-table tr:nth-child(even) td{background:#f8fbff}.revo-color-table tr:hover td{background:#eef6ff}.revo-list-card h5{font-weight:900;color:#0f172a}.student-admission-shell .avatar{border:3px solid #fff;box-shadow:0 6px 14px rgba(15,23,42,.12)}
@media(max-width:768px){.student-hero-card{align-items:flex-start;flex-direction:column}.hero-actions{width:100%;justify-content:flex-start}.revo-tabs{width:100%;display:flex}.revo-tabs .nav-item{flex:1}.revo-tabs .nav-link{justify-content:center}.form-section-head{padding:16px}}


/* v45 - Professional All Students page redesign: no gradients, deeper readable headers */
.all-students-pro{display:flex;flex-direction:column;gap:16px}.all-students-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffff;border:1px solid #dbe3f0;border-radius:22px;padding:18px 20px;box-shadow:0 14px 34px rgba(15,23,42,.07)}.all-students-topbar .title-wrap{display:flex;align-items:center;gap:14px}.all-students-topbar .title-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#1d4ed8;color:#fff;font-size:25px;box-shadow:0 12px 22px rgba(29,78,216,.18)}.all-students-topbar h4{font-weight:900;color:#0f172a}.all-students-topbar p{color:#475569;font-weight:600}.student-count-box{min-width:135px;text-align:center;border-radius:18px;background:#f8fafc;border:1px solid #cbd5e1;padding:10px 16px}.student-count-box span{display:block;color:#475569;font-weight:800;font-size:12px}.student-count-box b{display:block;font-size:30px;line-height:1;color:#0f172a}.all-students-filter-card,.csv-panel-clean,.all-students-table-card{background:#fff;border:1px solid #dbe3f0;border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.055)}.all-students-filter-card .form-label,.csv-panel-clean .form-label{font-weight:900;color:#0f172a}.csv-panel-clean{border-style:dashed}.csv-panel-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.csv-panel-head>i{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#dcfce7;color:#15803d;font-size:22px}.csv-panel-head b{display:block;font-weight:900;color:#0f172a}.csv-panel-head small{display:block;color:#64748b;font-weight:700}.all-students-rich-table{min-width:1280px;border-collapse:separate!important;border-spacing:0!important}.all-students-rich-table thead th{color:#ffffff!important;font-weight:950!important;font-size:13px;letter-spacing:.15px;white-space:nowrap;text-align:center;border:0!important;padding:14px 10px!important;vertical-align:middle}.all-students-rich-table thead th:nth-child(1){background:#0f172a!important}.all-students-rich-table thead th:nth-child(2){background:#1d4ed8!important}.all-students-rich-table thead th:nth-child(3){background:#047857!important}.all-students-rich-table thead th:nth-child(4){background:#6d28d9!important}.all-students-rich-table thead th:nth-child(5){background:#be123c!important}.all-students-rich-table thead th:nth-child(6){background:#c2410c!important}.all-students-rich-table thead th:nth-child(7){background:#0369a1!important}.all-students-rich-table thead th:nth-child(8){background:#0f766e!important}.all-students-rich-table thead th:nth-child(9){background:#92400e!important}.all-students-rich-table thead th:nth-child(10){background:#15803d!important}.all-students-rich-table thead th:nth-child(11){background:#b91c1c!important}.all-students-rich-table thead th:nth-child(12){background:#4338ca!important}.all-students-rich-table thead th:nth-child(13){background:#334155!important}.all-students-rich-table tbody td{padding:12px 10px!important;border-bottom:1px solid #e2e8f0!important;text-align:center;vertical-align:middle;color:#172033}.all-students-rich-table tbody tr:nth-child(odd) td{background:#ffffff}.all-students-rich-table tbody tr:nth-child(even) td{background:#f6f9ff}.all-students-rich-table tbody tr:hover td{background:#eef6ff!important}.all-students-rich-table tbody tr:last-child td{border-bottom:0!important}.student-photo-mini{width:46px;height:46px;border-radius:16px;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 18px rgba(15,23,42,.14)}.row-num{font-weight:900;color:#0f172a}.batch-chip,.sid-chip,.phone-chip,.att-chip,.fee-model-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:7px 10px;font-weight:900;white-space:nowrap;border:1px solid transparent}.batch-chip{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.sid-chip{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.phone-chip{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.att-chip{background:#e0f2fe;color:#075985;border-color:#bae6fd}.fee-model-pill{background:#f5f3ff;color:#5b21b6;border-color:#ddd6fe}.student-name-cell{text-align:left;min-width:140px}.student-name-cell b{display:block;font-weight:950;color:#0f172a}.student-name-cell small{display:block;color:#64748b;font-weight:700}.money-cell{font-weight:950;white-space:nowrap}.money-cell.payable{color:#1d4ed8}.money-cell.paid{color:#15803d}.money-cell.due{color:#dc2626}.action-stack{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}.student-list-hero{background:#fff!important;border:1px solid #dbe3f0!important;border-radius:22px!important;box-shadow:0 12px 30px rgba(15,23,42,.055)!important}.student-list-hero h4{font-weight:950;color:#0f172a}.student-list-hero + .card{border-radius:22px!important;border:1px solid #dbe3f0!important;box-shadow:0 12px 30px rgba(15,23,42,.055)!important}.student-list-hero + .card .colorful-table{min-width:1280px}.student-list-hero + .card .colorful-table thead th{background:#1f2937!important;color:#fff!important;font-weight:950!important}.student-list-hero + .card .colorful-table thead th:nth-child(1){background:#0f172a!important}.student-list-hero + .card .colorful-table thead th:nth-child(2){background:#1d4ed8!important}.student-list-hero + .card .colorful-table thead th:nth-child(3){background:#047857!important}.student-list-hero + .card .colorful-table thead th:nth-child(4){background:#6d28d9!important}.student-list-hero + .card .colorful-table thead th:nth-child(5){background:#be123c!important}.student-list-hero + .card .colorful-table thead th:nth-child(6){background:#c2410c!important}.student-list-hero + .card .colorful-table thead th:nth-child(7){background:#0369a1!important}.student-list-hero + .card .colorful-table thead th:nth-child(8){background:#0f766e!important}.student-list-hero + .card .colorful-table thead th:nth-child(9){background:#92400e!important}.student-list-hero + .card .colorful-table thead th:nth-child(10){background:#15803d!important}.student-list-hero + .card .colorful-table thead th:nth-child(11){background:#b91c1c!important}.student-list-hero + .card .colorful-table thead th:nth-child(12){background:#4338ca!important}.student-list-hero + .card .colorful-table thead th:nth-child(13){background:#334155!important}.student-list-hero + .card .colorful-table tbody tr:nth-child(even) td{background:#f6f9ff!important}.student-list-hero + .card .colorful-table tbody tr:hover td{background:#eef6ff!important}@media(max-width:768px){.all-students-topbar{flex-direction:column;align-items:flex-start}.student-count-box{width:100%}.all-students-rich-table{font-size:13px}.all-students-rich-table thead th{font-size:12px}}

/* v46 - Fully redesigned All Students page */
.all-students-showcase{gap:18px!important;}
.students-showcase-hero{
  position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:22px; border-radius:28px; border:1px solid rgba(255,255,255,.7);
  background:
    radial-gradient(650px 180px at 10% 0%, rgba(14,165,233,.28), transparent 60%),
    radial-gradient(650px 220px at 95% 10%, rgba(168,85,247,.27), transparent 60%),
    linear-gradient(135deg,#0f172a 0%,#1e1b4b 46%,#4c1d95 100%);
  color:#fff; box-shadow:0 22px 55px rgba(30,27,75,.25);
}
.students-showcase-hero:after{content:"";position:absolute;right:-70px;bottom:-90px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.10);filter:blur(1px)}
.students-hero-left{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.students-hero-icon{width:68px;height:68px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,#22c55e,#0ea5e9,#a855f7);font-size:32px;box-shadow:0 18px 34px rgba(14,165,233,.24)}
.students-showcase-hero h4{font-weight:950;font-size:28px;letter-spacing:.2px}.students-showcase-hero p{color:#e0f2fe;font-weight:700}.students-hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.students-hero-actions .btn{border-radius:999px;font-weight:900;padding:10px 15px;box-shadow:0 12px 24px rgba(15,23,42,.18)}
.students-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.student-kpi-card{min-height:128px;border-radius:24px;padding:17px 18px;color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 38px rgba(15,23,42,.12);border:1px solid rgba(255,255,255,.35)}
.student-kpi-card:after{content:"";position:absolute;width:115px;height:115px;border-radius:50%;right:-36px;bottom:-50px;background:rgba(255,255,255,.18)}.student-kpi-card i{font-size:28px;width:54px;height:54px;border-radius:19px;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);margin-bottom:11px}.student-kpi-card span{display:block;font-size:13px;font-weight:850;opacity:.92}.student-kpi-card b{display:block;font-size:25px;line-height:1.2;font-weight:950;white-space:nowrap}.kpi-blue{background:linear-gradient(135deg,#2563eb,#06b6d4)}.kpi-green{background:linear-gradient(135deg,#16a34a,#22c55e)}.kpi-purple{background:linear-gradient(135deg,#7c3aed,#ec4899)}.kpi-orange{background:linear-gradient(135deg,#f97316,#f59e0b)}
.filter-showcase-card{background:linear-gradient(135deg,#ffffff,#f8fbff)!important;border:1px solid #dbeafe!important;border-radius:24px!important;box-shadow:0 16px 40px rgba(37,99,235,.08)!important}.filter-showcase-card .form-control,.filter-showcase-card .form-select{border-radius:16px!important;border:1px solid #cbd5e1!important;padding:11px 13px!important}.filter-showcase-card .form-label{font-weight:950;color:#1e293b!important}.filter-showcase-card .btn{border-radius:16px!important;font-weight:900}
.student-directory-card{border-radius:28px!important;border:1px solid #dbeafe!important;box-shadow:0 18px 46px rgba(15,23,42,.08)!important;padding:0!important;overflow:hidden;background:#fff!important}.directory-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;background:linear-gradient(135deg,#f8fafc,#eef6ff);border-bottom:1px solid #e2e8f0}.directory-card-head h5{font-weight:950;color:#0f172a}.directory-card-head small{font-weight:750;color:#64748b}.directory-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:900;border:1px solid #86efac}
.all-students-rich-table{min-width:1320px!important}.all-students-rich-table thead th{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.18);font-size:13px!important;letter-spacing:.15px;border-right:1px solid rgba(255,255,255,.18)!important}.all-students-rich-table thead th:nth-child(1){background:#111827!important}.all-students-rich-table thead th:nth-child(2){background:#1d4ed8!important}.all-students-rich-table thead th:nth-child(3){background:#047857!important}.all-students-rich-table thead th:nth-child(4){background:#6d28d9!important}.all-students-rich-table thead th:nth-child(5){background:#be123c!important}.all-students-rich-table thead th:nth-child(6){background:#c2410c!important}.all-students-rich-table thead th:nth-child(7){background:#0369a1!important}.all-students-rich-table thead th:nth-child(8){background:#0f766e!important}.all-students-rich-table thead th:nth-child(9){background:#92400e!important}.all-students-rich-table thead th:nth-child(10){background:#15803d!important}.all-students-rich-table thead th:nth-child(11){background:#b91c1c!important}.all-students-rich-table thead th:nth-child(12){background:#4338ca!important}.all-students-rich-table thead th:nth-child(13){background:#334155!important}.all-students-rich-table tbody td{font-size:14px!important}.all-students-rich-table tbody tr:nth-child(odd) td{background:#fff!important}.all-students-rich-table tbody tr:nth-child(even) td{background:#f5f9ff!important}.all-students-rich-table tbody tr:hover td{background:#eaf4ff!important;transition:.18s ease}.student-photo-mini{width:50px!important;height:50px!important;border-radius:18px!important;border:3px solid #fff!important;box-shadow:0 8px 18px rgba(15,23,42,.17)!important}.student-name-cell b{font-size:15px}.batch-chip,.sid-chip,.phone-chip,.att-chip,.fee-model-pill{box-shadow:0 4px 10px rgba(15,23,42,.05)}.action-stack .btn{border-radius:999px!important;font-weight:850!important}.csv-panel-clean{background:linear-gradient(135deg,#ffffff,#f0fdf4)!important;border-radius:24px!important}
@media(max-width:1100px){.students-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.students-showcase-hero{flex-direction:column;align-items:flex-start}.students-hero-actions{width:100%}.students-hero-actions .btn{flex:1}}
@media(max-width:640px){.students-kpi-grid{grid-template-columns:1fr}.students-showcase-hero h4{font-size:22px}.student-kpi-card b{font-size:21px}.directory-card-head{flex-direction:column;align-items:flex-start}}
@media print{.students-hero-actions,.all-students-filter-card,.csv-panel-clean,.action-stack{display:none!important}.students-showcase-hero{background:#fff!important;color:#111827!important;border:1px solid #ddd;box-shadow:none}.student-kpi-card{box-shadow:none!important}.all-students-rich-table{font-size:11px!important}.all-students-rich-table thead th{color:#fff!important}}


/* v47 - All Students table redesigned header: batch-setup inspired, solid and highly readable */
.all-students-pro .v47-directory-card,
.all-students-pro .student-directory-card{
  border-radius:30px!important;
  border:1px solid #cbd5e1!important;
  background:#ffffff!important;
  box-shadow:0 24px 58px rgba(2,6,23,.10)!important;
  overflow:hidden!important;
}
.all-students-pro .directory-card-head{
  background:#ffffff!important;
  border-bottom:1px solid #dbe3f0!important;
  padding:18px 22px!important;
}
.all-students-pro .directory-card-head h5{color:#0f172a!important;font-size:20px!important;}
.all-students-pro .directory-chip{background:#eef2ff!important;color:#3730a3!important;border-color:#c7d2fe!important;}
.all-students-rich-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  min-width:1380px!important;
  background:#fff!important;
}
.all-students-rich-table thead{
  position:relative!important;
}
.all-students-rich-table thead th{
  color:#ffffff!important;
  font-weight:950!important;
  font-size:13px!important;
  letter-spacing:.1px!important;
  white-space:nowrap!important;
  text-align:center!important;
  vertical-align:middle!important;
  padding:15px 12px!important;
  border:0!important;
  border-right:2px solid rgba(255,255,255,.22)!important;
  box-shadow: inset 0 -3px 0 rgba(255,255,255,.16)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.22)!important;
}
.all-students-rich-table thead th:first-child{border-top-left-radius:18px!important;}
.all-students-rich-table thead th:last-child{border-top-right-radius:18px!important;border-right:0!important;}
.all-students-rich-table thead th .th-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:28px!important;
}
.all-students-rich-table thead th .th-badge i{
  font-size:15px!important;
  opacity:1!important;
}
/* Same rhythm as setup-table header, but deeper and clearer */
.all-students-rich-table thead th:nth-child(7n+1){background:#2563eb!important;}
.all-students-rich-table thead th:nth-child(7n+2){background:#16a34a!important;}
.all-students-rich-table thead th:nth-child(7n+3){background:#7c3aed!important;}
.all-students-rich-table thead th:nth-child(7n+4){background:#f97316!important;}
.all-students-rich-table thead th:nth-child(7n+5){background:#e11d48!important;}
.all-students-rich-table thead th:nth-child(7n+6){background:#0f766e!important;}
.all-students-rich-table thead th:nth-child(7n){background:#334155!important;}
.all-students-rich-table tbody td{
  padding:13px 11px!important;
  border-bottom:1px solid #e2e8f0!important;
  color:#111827!important;
  background:#fff!important;
}
.all-students-rich-table tbody tr:nth-child(even) td{background:#f8fbff!important;}
.all-students-rich-table tbody tr:nth-child(odd) td{background:#ffffff!important;}
.all-students-rich-table tbody tr:hover td{background:#eef6ff!important;box-shadow:inset 0 0 0 9999px rgba(14,165,233,.035)!important;}
.all-students-rich-table .row-num{
  display:inline-grid;place-items:center;width:30px;height:30px;border-radius:12px;background:#eff6ff;color:#1d4ed8!important;font-weight:950!important;
}
.all-students-rich-table .money-cell.payable{color:#1d4ed8!important;background:transparent!important;}
.all-students-rich-table .money-cell.paid{color:#15803d!important;background:transparent!important;}
.all-students-rich-table .money-cell.due{color:#dc2626!important;background:transparent!important;}
.all-students-rich-table .batch-chip{background:#ecfdf5!important;color:#065f46!important;border-color:#86efac!important;}
.all-students-rich-table .sid-chip{background:#eef2ff!important;color:#3730a3!important;border-color:#c7d2fe!important;}
.all-students-rich-table .phone-chip{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important;}
.all-students-rich-table .att-chip{background:#e0f2fe!important;color:#075985!important;border-color:#bae6fd!important;}
.all-students-rich-table .fee-model-pill{background:#f5f3ff!important;color:#5b21b6!important;border-color:#ddd6fe!important;}
@media print{
  .all-students-rich-table thead th{color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
}

/* =========================================================
   v51 Professional Unified UI Refresh (UI only)
   Reference style inspired by admin_4.zip: clean glass UI,
   compact professional layout, category sidebar + header submenus.
   Functionality/PHP logic remains unchanged.
   ========================================================= */
:root{
  --ui-bg:#f4f7ff;
  --ui-paper:#ffffff;
  --ui-ink:#101827;
  --ui-muted:#667085;
  --ui-line:#e6eaf3;
  --ui-purple:#6f42c1;
  --ui-blue:#0d6efd;
  --ui-cyan:#0dcaf0;
  --ui-green:#198754;
  --ui-orange:#fd7e14;
  --ui-red:#dc3545;
  --ui-shadow:0 14px 34px rgba(16,24,40,.08);
  --ui-shadow-sm:0 8px 20px rgba(16,24,40,.06);
  --ui-radius:18px;
}
*{scrollbar-width:thin;scrollbar-color:#c7d2fe transparent}
body.admin-mode, body:not(.student-mode){
  background:
    radial-gradient(850px 460px at 8% 0%, rgba(111,66,193,.13), transparent 62%),
    radial-gradient(850px 460px at 94% 8%, rgba(13,110,253,.10), transparent 60%),
    radial-gradient(900px 520px at 48% 100%, rgba(13,202,240,.09), transparent 58%),
    linear-gradient(180deg,#f8fbff,#f3f6ff 60%,#f8fafc)!important;
  color:var(--ui-ink);
}
body.admin-mode .app-shell, body:not(.student-mode) .app-shell{gap:0;min-height:100vh}
body.admin-mode .sidebar, body:not(.student-mode) .sidebar{
  width:268px!important;
  background:rgba(255,255,255,.90)!important;
  color:var(--ui-ink)!important;
  border-right:1px solid rgba(16,24,40,.08)!important;
  box-shadow:10px 0 30px rgba(16,24,40,.06)!important;
  backdrop-filter:blur(16px)!important;
  padding:14px!important;
}
body.admin-mode .brand-wrap, body:not(.student-mode) .brand-wrap{
  margin-bottom:10px!important;
  padding:12px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,rgba(111,66,193,.94),rgba(13,110,253,.90),rgba(13,202,240,.78))!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(13,110,253,.16)!important;
  border:1px solid rgba(255,255,255,.22)!important;
}
body.admin-mode .brand-logo, body:not(.student-mode) .brand-logo{
  width:42px!important;height:42px!important;border-radius:15px!important;
  background:rgba(255,255,255,.20)!important;color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)!important;
  font-size:22px!important;font-weight:900!important;
}
body.admin-mode .brand-text h4, body:not(.student-mode) .brand-text h4{color:#fff!important;font-size:19px!important;font-weight:900!important;margin:0!important;line-height:1.1!important}
body.admin-mode .brand-text small, body:not(.student-mode) .brand-text small{color:rgba(255,255,255,.90)!important;font-weight:700!important}
body.admin-mode .user-pill, body:not(.student-mode) .user-pill{
  background:#fff!important;color:var(--ui-ink)!important;
  border:1px solid rgba(16,24,40,.07)!important;box-shadow:var(--ui-shadow-sm)!important;
  padding:10px 12px!important;border-radius:17px!important;margin:10px 2px 12px!important;
}
body.admin-mode .user-pill i, body:not(.student-mode) .user-pill i{color:var(--ui-purple)!important;font-size:25px!important}
body.admin-mode .user-pill small, body:not(.student-mode) .user-pill small{color:var(--ui-muted)!important;font-weight:700!important}
body.admin-mode .side-menu, body:not(.student-mode) .side-menu{padding-bottom:16px!important}
body.admin-mode .side-menu a, body:not(.student-mode) .side-menu a{
  min-height:42px!important;padding:9px 10px!important;margin:6px 0!important;border-radius:15px!important;
  background:rgba(255,255,255,.76)!important;color:#111827!important;
  border:1px solid rgba(16,24,40,.06)!important;box-shadow:0 8px 18px rgba(16,24,40,.035)!important;
  font-weight:850!important;letter-spacing:.05px!important;transform:none!important;
}
body.admin-mode .side-menu a i, body:not(.student-mode) .side-menu a i{
  width:31px!important;height:31px!important;border-radius:12px!important;display:grid!important;place-items:center!important;
  color:#fff!important;background:linear-gradient(135deg,var(--ui-purple),var(--ui-blue))!important;font-size:15px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)!important;
}
body.admin-mode .side-menu a:hover, body:not(.student-mode) .side-menu a:hover{transform:translateY(-1px)!important;box-shadow:0 12px 24px rgba(16,24,40,.08)!important;background:#fff!important;color:#0f172a!important}
body.admin-mode .side-menu a.active, body:not(.student-mode) .side-menu a.active{
  background:linear-gradient(135deg,#ffffff,#eef6ff)!important;border-color:rgba(13,110,253,.24)!important;
  box-shadow:0 12px 26px rgba(13,110,253,.12)!important;color:#0f172a!important;
}
body.admin-mode .side-menu a.active i, body:not(.student-mode) .side-menu a.active i{background:linear-gradient(135deg,#198754,#0dcaf0)!important}
body.admin-mode .side-menu a em, body:not(.student-mode) .side-menu a em{margin-left:auto;font-style:normal;font-size:11px;background:#eef2ff;color:#4338ca;border-radius:999px;padding:2px 8px;font-weight:900}
body.admin-mode .side-menu .logout, body:not(.student-mode) .side-menu .logout{color:#b42318!important;background:#fff7ed!important}
body.admin-mode .side-menu .logout i, body:not(.student-mode) .side-menu .logout i{background:linear-gradient(135deg,#f97316,#dc3545)!important}
body.admin-mode .content, body:not(.student-mode) .content{padding:16px 18px 26px!important;min-width:0!important}
body.admin-mode .topbar, body:not(.student-mode) .topbar{
  border-radius:22px!important;background:rgba(255,255,255,.92)!important;border:1px solid rgba(16,24,40,.08)!important;
  box-shadow:var(--ui-shadow)!important;backdrop-filter:blur(14px)!important;padding:12px 14px!important;margin-bottom:16px!important;
  position:sticky;top:10px;z-index:50;
}
body.admin-mode .topbar-title h5, body.admin-mode .topbar h5,
body:not(.student-mode) .topbar-title h5, body:not(.student-mode) .topbar h5{
  font-weight:900!important;color:#111827!important;font-size:19px!important;margin:0!important;letter-spacing:.1px!important;
}
body.admin-mode .topbar small, body:not(.student-mode) .topbar small{font-size:12px!important;color:var(--ui-muted)!important;font-weight:700!important}
body.admin-mode .icon-btn, body:not(.student-mode) .icon-btn{
  width:43px!important;height:43px!important;border-radius:16px!important;background:linear-gradient(135deg,#eef2ff,#e0f2fe)!important;
  color:#312e81!important;border:1px solid rgba(16,24,40,.05)!important;box-shadow:0 8px 18px rgba(13,110,253,.08)!important;
}
body.admin-mode .context-header-menu, body:not(.student-mode) .context-header-menu{gap:8px;align-items:center;overflow-x:auto;max-width:65vw;padding-bottom:2px;scrollbar-width:none}
body.admin-mode .desktop-header-menu a, body:not(.student-mode) .desktop-header-menu a{
  border-radius:999px!important;background:#fff!important;border:1px solid rgba(16,24,40,.08)!important;color:#111827!important;
  padding:8px 12px!important;font-size:13px!important;font-weight:900!important;white-space:nowrap!important;box-shadow:0 8px 18px rgba(16,24,40,.04)!important;
}
body.admin-mode .desktop-header-menu a.active, body.admin-mode .desktop-header-menu a:hover,
body:not(.student-mode) .desktop-header-menu a.active, body:not(.student-mode) .desktop-header-menu a:hover{
  background:linear-gradient(135deg,var(--ui-purple),var(--ui-blue))!important;color:#fff!important;border-color:transparent!important;
}
/* Global compact page typography/cards/forms */
body.admin-mode .card, body:not(.student-mode) .card,
body.admin-mode .cardx, body:not(.student-mode) .cardx{
  border:1px solid rgba(16,24,40,.07)!important;border-radius:20px!important;background:rgba(255,255,255,.94)!important;box-shadow:var(--ui-shadow-sm)!important;
}
body.admin-mode .card-body, body:not(.student-mode) .card-body{padding:16px!important}
body.admin-mode .card-header, body:not(.student-mode) .card-header{
  background:linear-gradient(135deg,#ffffff,#f8fbff)!important;border-bottom:1px solid var(--ui-line)!important;border-radius:20px 20px 0 0!important;font-weight:900!important;color:#111827!important;padding:12px 16px!important;
}
body.admin-mode h1, body:not(.student-mode) h1{font-size:28px!important;font-weight:950!important;letter-spacing:-.3px!important}
body.admin-mode h2, body:not(.student-mode) h2{font-size:24px!important;font-weight:930!important}
body.admin-mode h3, body:not(.student-mode) h3{font-size:21px!important;font-weight:900!important}
body.admin-mode h4, body:not(.student-mode) h4{font-size:18px!important;font-weight:900!important}
body.admin-mode h5, body:not(.student-mode) h5{font-size:16px!important;font-weight:900!important}
body.admin-mode .form-control, body.admin-mode .form-select,
body:not(.student-mode) .form-control, body:not(.student-mode) .form-select{
  min-height:42px!important;border-radius:14px!important;border:1px solid #d9e0ec!important;background:#fff!important;font-weight:700!important;color:#101827!important;
  box-shadow:none!important;
}
body.admin-mode .form-control:focus, body.admin-mode .form-select:focus,
body:not(.student-mode) .form-control:focus, body:not(.student-mode) .form-select:focus{
  border-color:#93c5fd!important;box-shadow:0 0 0 4px rgba(13,110,253,.10)!important;
}
body.admin-mode .form-label, body:not(.student-mode) .form-label{font-size:13px!important;font-weight:900!important;color:#344054!important;margin-bottom:5px!important}
body.admin-mode .btn, body:not(.student-mode) .btn{border-radius:14px!important;font-weight:900!important;min-height:38px!important;display:inline-flex;align-items:center;justify-content:center;gap:7px}
body.admin-mode .btn-sm, body:not(.student-mode) .btn-sm{min-height:30px!important;border-radius:11px!important;font-size:12px!important;padding:5px 9px!important}
body.admin-mode .btn-primary, body:not(.student-mode) .btn-primary{background:linear-gradient(135deg,#6f42c1,#0d6efd)!important;border:0!important;color:#fff!important}
body.admin-mode .btn-success, body:not(.student-mode) .btn-success{background:linear-gradient(135deg,#198754,#20c997)!important;border:0!important;color:#fff!important}
body.admin-mode .btn-warning, body:not(.student-mode) .btn-warning{background:linear-gradient(135deg,#fd7e14,#ffc107)!important;border:0!important;color:#fff!important}
body.admin-mode .btn-danger, body:not(.student-mode) .btn-danger{background:linear-gradient(135deg,#dc3545,#e11d48)!important;border:0!important;color:#fff!important}
/* Page hero/large wasted space compaction */
body.admin-mode .page-hero, body.admin-mode .admin-hero, body.admin-mode .hero,
body:not(.student-mode) .page-hero, body:not(.student-mode) .admin-hero, body:not(.student-mode) .hero{
  min-height:auto!important;padding:16px!important;border-radius:20px!important;margin-bottom:14px!important;background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(16,24,40,.08)!important;box-shadow:var(--ui-shadow-sm)!important;
}
body.admin-mode .stat, body.admin-mode .stat-card, body.admin-mode .kpi, body.admin-mode .kpi-card,
body:not(.student-mode) .stat, body:not(.student-mode) .stat-card, body:not(.student-mode) .kpi, body:not(.student-mode) .kpi-card{
  min-height:auto!important;padding:13px!important;border-radius:18px!important;background:#fff!important;border:1px solid rgba(16,24,40,.07)!important;box-shadow:var(--ui-shadow-sm)!important;
}
body.admin-mode .stat:after, body:not(.student-mode) .stat:after{display:none!important}
/* Tables: professional rainbow headers + readable rows */
body.admin-mode .table-responsive, body:not(.student-mode) .table-responsive{border-radius:18px!important;box-shadow:var(--ui-shadow-sm)!important;background:#fff!important;border:1px solid rgba(16,24,40,.07)!important;overflow:auto!important}
body.admin-mode table, body:not(.student-mode) table{border-collapse:separate!important;border-spacing:0!important;width:100%!important}
body.admin-mode .table, body:not(.student-mode) .table{margin-bottom:0!important;background:#fff!important;vertical-align:middle!important}
body.admin-mode .table thead th, body.admin-mode table thead th,
body:not(.student-mode) .table thead th, body:not(.student-mode) table thead th{
  color:#fff!important;font-weight:950!important;font-size:13px!important;white-space:nowrap!important;padding:11px 12px!important;border:0!important;text-align:left!important;
}
body.admin-mode .table thead th:nth-child(7n+1), body.admin-mode table thead th:nth-child(7n+1),
body:not(.student-mode) .table thead th:nth-child(7n+1), body:not(.student-mode) table thead th:nth-child(7n+1){background:#2563eb!important}
body.admin-mode .table thead th:nth-child(7n+2), body.admin-mode table thead th:nth-child(7n+2),
body:not(.student-mode) .table thead th:nth-child(7n+2), body:not(.student-mode) table thead th:nth-child(7n+2){background:#16a34a!important}
body.admin-mode .table thead th:nth-child(7n+3), body.admin-mode table thead th:nth-child(7n+3),
body:not(.student-mode) .table thead th:nth-child(7n+3), body:not(.student-mode) table thead th:nth-child(7n+3){background:#7c3aed!important}
body.admin-mode .table thead th:nth-child(7n+4), body.admin-mode table thead th:nth-child(7n+4),
body:not(.student-mode) .table thead th:nth-child(7n+4), body:not(.student-mode) table thead th:nth-child(7n+4){background:#e11d48!important}
body.admin-mode .table thead th:nth-child(7n+5), body.admin-mode table thead th:nth-child(7n+5),
body:not(.student-mode) .table thead th:nth-child(7n+5), body:not(.student-mode) table thead th:nth-child(7n+5){background:#f97316!important}
body.admin-mode .table thead th:nth-child(7n+6), body.admin-mode table thead th:nth-child(7n+6),
body:not(.student-mode) .table thead th:nth-child(7n+6), body:not(.student-mode) table thead th:nth-child(7n+6){background:#0f766e!important}
body.admin-mode .table thead th:nth-child(7n), body.admin-mode table thead th:nth-child(7n),
body:not(.student-mode) .table thead th:nth-child(7n), body:not(.student-mode) table thead th:nth-child(7n){background:#334155!important}
body.admin-mode .table tbody td, body.admin-mode table tbody td,
body:not(.student-mode) .table tbody td, body:not(.student-mode) table tbody td{
  padding:10px 12px!important;border-bottom:1px solid #edf1f7!important;color:#1f2937!important;font-weight:650!important;background:#fff;
}
body.admin-mode .table tbody tr:nth-child(even) td, body.admin-mode table tbody tr:nth-child(even) td,
body:not(.student-mode) .table tbody tr:nth-child(even) td, body:not(.student-mode) table tbody tr:nth-child(even) td{background:#f8fbff!important}
body.admin-mode .table tbody tr:hover td, body.admin-mode table tbody tr:hover td,
body:not(.student-mode) .table tbody tr:hover td, body:not(.student-mode) table tbody tr:hover td{background:#eef6ff!important}
body.admin-mode .badge, body:not(.student-mode) .badge{font-weight:900!important;border-radius:999px!important;padding:.45rem .65rem!important}
body.admin-mode .badge-soft, body:not(.student-mode) .badge-soft{background:#eef2ff!important;color:#4338ca!important;border:1px solid #c7d2fe!important;font-weight:900!important}
/* Tabs/pills */
body.admin-mode .nav-tabs, body:not(.student-mode) .nav-tabs{border-bottom:0!important;gap:8px!important;margin-bottom:12px!important}
body.admin-mode .nav-tabs .nav-link, body:not(.student-mode) .nav-tabs .nav-link,
body.admin-mode .nav-pills .nav-link, body:not(.student-mode) .nav-pills .nav-link{
  border-radius:999px!important;border:1px solid rgba(16,24,40,.08)!important;background:#fff!important;color:#111827!important;font-weight:900!important;padding:8px 13px!important;
}
body.admin-mode .nav-tabs .nav-link.active, body:not(.student-mode) .nav-tabs .nav-link.active,
body.admin-mode .nav-pills .nav-link.active, body:not(.student-mode) .nav-pills .nav-link.active{
  background:linear-gradient(135deg,#6f42c1,#0d6efd)!important;color:#fff!important;border-color:transparent!important;
}
/* Unified footer */
body.admin-mode .footer, body:not(.student-mode) .footer{
  background:rgba(255,255,255,.9)!important;color:#111827!important;border:1px solid rgba(16,24,40,.08)!important;border-radius:20px!important;box-shadow:var(--ui-shadow-sm)!important;padding:13px 16px!important;
}
body.admin-mode .dev-avatar, body:not(.student-mode) .dev-avatar{background:linear-gradient(135deg,#6f42c1,#0d6efd)!important;color:#fff!important;width:44px!important;height:44px!important;border-radius:16px!important;font-size:24px!important}
/* Desktop collapsed sidebar */
@media(min-width:992px){
  body.sidebar-collapsed.admin-mode .sidebar, body.sidebar-collapsed:not(.student-mode) .sidebar{width:82px!important;padding:12px 10px!important}
  body.sidebar-collapsed.admin-mode .brand-text, body.sidebar-collapsed.admin-mode .user-pill span, body.sidebar-collapsed.admin-mode .side-menu a span, body.sidebar-collapsed.admin-mode .side-menu a em,
  body.sidebar-collapsed:not(.student-mode) .brand-text, body.sidebar-collapsed:not(.student-mode) .user-pill span, body.sidebar-collapsed:not(.student-mode) .side-menu a span, body.sidebar-collapsed:not(.student-mode) .side-menu a em{display:none!important}
  body.sidebar-collapsed.admin-mode .brand-wrap, body.sidebar-collapsed:not(.student-mode) .brand-wrap{justify-content:center!important;padding:10px 6px!important}
  body.sidebar-collapsed.admin-mode .user-pill, body.sidebar-collapsed:not(.student-mode) .user-pill{justify-content:center!important;padding:10px 6px!important}
  body.sidebar-collapsed.admin-mode .side-menu a, body.sidebar-collapsed:not(.student-mode) .side-menu a{justify-content:center!important;padding:9px 6px!important}
  body.sidebar-collapsed.admin-mode .side-menu a i, body.sidebar-collapsed:not(.student-mode) .side-menu a i{margin:0!important}
}
@media(max-width:991px){
  body.admin-mode .content, body:not(.student-mode) .content{padding:12px!important}
  body.admin-mode .topbar, body:not(.student-mode) .topbar{top:0;border-radius:18px!important;align-items:flex-start!important}
  body.admin-mode .context-header-menu, body:not(.student-mode) .context-header-menu{display:flex!important;width:100%!important;max-width:100%!important;margin-top:8px!important}
  body.admin-mode .topbar, body:not(.student-mode) .topbar{flex-wrap:wrap!important}
  body.admin-mode .desktop-header-menu a, body:not(.student-mode) .desktop-header-menu a{font-size:12px!important;padding:7px 10px!important}
  body.admin-mode .card-body, body:not(.student-mode) .card-body{padding:13px!important}
  body.admin-mode .table thead th, body:not(.student-mode) .table thead th{font-size:12px!important;padding:9px 10px!important}
  body.admin-mode .table tbody td, body:not(.student-mode) .table tbody td{font-size:12px!important;padding:8px 10px!important}
}
@media print{
  body.admin-mode .topbar, body.admin-mode .sidebar, body.admin-mode .footer,
  body:not(.student-mode) .topbar, body:not(.student-mode) .sidebar, body:not(.student-mode) .footer{display:none!important}
  body.admin-mode .content, body:not(.student-mode) .content{padding:0!important}
}
