/* MIT Fees — Global Styles */
:root {
  --primary: #c12a42;
  --primary-dark: #a82339;
  --primary-light: #fdf2f4;
  --sidebar-width: 260px;
}
body { font-family:'Inter','Segoe UI',Roboto,sans-serif; background:#f1f5f9; overflow-x:hidden; }

/* Sidebar */
.sidebar { width:var(--sidebar-width); position:fixed; left:0; top:0; height:100vh; z-index:999; overflow-y:auto; background:#0f172a; transition:transform .3s ease; }

/* Top header */
.top-header { position:fixed; top:0; right:0; left:var(--sidebar-width); height:56px; background:#fff; border-bottom:1px solid #e2e8f0; display:flex; align-items:center; padding:0 20px; z-index:40; box-shadow:0 1px 3px rgba(0,0,0,.06); }

/* Main content */
.main-content { margin-left:var(--sidebar-width); padding:24px; min-height:100vh; background:#f1f5f9; padding-top:calc(56px + 24px); }

/* Mobile */
@media(max-width:991px){
  .sidebar { transform:translateX(-100%); }
  .sidebar.show { transform:translateX(0); }
  .top-header { left:0 !important; }
  .main-content { margin-left:0; padding:12px; padding-top:calc(56px + 12px); }
}

/* Sidebar overlay */
.sidebar-overlay { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:998; display:none; }
.sidebar-overlay.show { display:block; }

/* Cards */
.card { background:#fff; border:none; border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.07); margin-bottom:20px; transition:box-shadow .2s; }
.card:hover { box-shadow:0 4px 16px rgba(0,0,0,.1); }

/* Stat cards */
.stat-card { border-left:4px solid; transition:transform .2s,box-shadow .2s; }
.stat-card:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.1)!important; }

/* Tables */
.table th { font-weight:600; font-size:.75rem; text-transform:uppercase; letter-spacing:.6px; color:#64748b; border-bottom:2px solid #f1f5f9; padding:12px 16px; background:#f8fafc; }
.table td { vertical-align:middle; font-size:.875rem; padding:11px 16px; color:#334155; border-bottom:1px solid #f1f5f9; }
.table-hover tbody tr:hover { background:#fdf2f4; }
@media(max-width:768px){ .table-responsive{ overflow-x:auto; -webkit-overflow-scrolling:touch; } }

/* Buttons */
.btn-primary { background:var(--primary); border-color:var(--primary); font-weight:500; }
.btn-primary:hover,.btn-primary:focus { background:var(--primary-dark); border-color:var(--primary-dark); }

/* Badges */
.badge { font-weight:500; font-size:.72rem; padding:4px 10px; border-radius:20px; }

/* Forms */
.form-control:focus,.form-select:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(193,42,66,.12); }

/* Top bar (page sub-header) */
.top-bar { background:#fff; padding:14px 20px; border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.07); margin-bottom:20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }

/* Portal */
.portal-navbar { background:var(--primary); padding:14px 24px; position:sticky; top:0; z-index:100; }
.portal-body { background:#f1f5f9; min-height:100vh; padding:28px 20px; }
.portal-card { background:#fff; border-radius:12px; padding:24px; box-shadow:0 1px 3px rgba(0,0,0,.07); margin-bottom:20px; }

/* Print */
@media print {
  .sidebar,.top-header,.top-bar,.no-print,.toast-wrap { display:none!important; }
  .main-content { margin-left:0!important; padding:0!important; background:white!important; }
}
