:root{
  --fw-primary:#2563eb;
  --fw-bg:#f6f8fb;
  --fw-card-bg:#ffffff;
  --fw-border:#e5e7eb;
  --fw-muted:#6b7280;
  --fw-radius:14px;
  --fw-shadow:0 8px 18px rgba(16,24,40,.08);
  --fw-sidebar:#0B1220;
  --fw-sidebar-width: 260px;
}
html, body { height:100%; }
body{ background:var(--fw-bg); }
a{ text-decoration:none; }
.layout{ display:flex; min-height:100vh; }
.sidebar{
  width:var(--fw-sidebar-width);
  background:var(--fw-sidebar);
  color:#cbd5e1;
  position:sticky;
  top:0;
  align-self:flex-start;
  height:100vh;
  padding:16px 12px;
}
.sidebar .brand{ color:#fff; font-weight:700; font-size:1.1rem; margin-bottom:12px; display:block; }
.sidebar .nav-link{ color:#cbd5e1; border-radius:8px; padding:10px 12px; display:flex; align-items:center; gap:.5rem; }
.sidebar .nav-link:hover,.sidebar .nav-link.active{ background:rgba(255,255,255,.08); color:#fff; }
.sidebar .filter{ margin:8px 0 16px; }
.sidebar select{ width:100%; background:#11182c; color:#e2e8f0; border:1px solid #243045; border-radius:8px; padding:8px; }
.content{ flex:1; padding:24px; }
.card{ background:var(--fw-card-bg); border:1px solid var(--fw-border); border-radius:var(--fw-radius); box-shadow:var(--fw-shadow); }
.small-muted{ color:var(--fw-muted); font-size:.9rem; }
.table thead th{ color:#475569; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; background:#f8fafc; }
footer .muted{ color:var(--fw-muted); }
@media (max-width: 991.98px){
  .sidebar{ position:fixed; left:0; top:0; height:100%; transform:translateX(-100%); transition:transform .2s ease; z-index:1040; }
  .sidebar.open{ transform:translateX(0); }
  .content{ padding-top:64px; }
  .mobile-topbar{ position:fixed; left:0; right:0; top:0; z-index:1030; background:#0B1220; color:#fff; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; }
  .hamburger{ background:transparent; border:0; color:#fff; font-size:1.25rem; }
}
.dataTables_wrapper .dataTables_filter input{ border:1px solid var(--fw-border); border-radius:8px; padding:6px 8px; }
.dataTables_wrapper .dataTables_length select{ border:1px solid var(--fw-border); border-radius:8px; padding:4px 6px; }
