
:root{--et-primary:#3b82f6;--et-bg:#f5f7fb;--et-card:#ffffff;--et-ring:rgba(59,130,246,.15)}
*{box-sizing:border-box}body{background:var(--et-bg);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#111827}
.navbar-neo{background: radial-gradient(140% 120% at 0% 0%, #e0f2fe 0%, #e9d5ff 35%, #ffffff 70%) !important;}
.navbar-neo .nav-link{border-radius:12px;margin-right:.5rem;padding:.45rem .8rem;color:#334155}
.navbar-neo .nav-link:hover{background:#e2e8f0;color:#0f172a}
.navbar-neo .nav-link.active{background:linear-gradient(180deg,#93c5fd,#60a5fa);color:#0b1220 !important;box-shadow:0 4px 12px rgba(37,99,235,.25)}
.card{border:0;border-radius:18px;box-shadow:0 8px 24px rgba(16,24,40,.06);background:var(--et-card)}
.badge-status{font-size:.8rem;border-radius:999px;padding:.45rem .65rem}
.table-modern{border-collapse:separate;border-spacing:0;width:100%}
.table-modern thead th{position:sticky;top:0;background:#f1f5f9;text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;color:#475569;border-bottom:1px solid #e2e8f0;padding:.75rem .9rem}
.table-modern tbody td{padding:.75rem .9rem;border-bottom:1px solid #eef2f7;vertical-align:middle}.table-modern tbody tr:hover{background:#f8fafc}
.table-modern .row-index{width:48px;color:#64748b}
.form-control,.form-select{border-radius:12px;border:1px solid #e5e7eb}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .25rem var(--et-ring);border-color:#3b82f6}
.kpi{display:flex;gap:12px;align-items:center}.kpi .val{font-size:1.6rem;font-weight:700}.kpi .lbl{font-size:.85rem;color:#64748b}


/* Sidebar layout */
.sidebar{ width:260px; min-height:100vh; position:sticky; top:0; }
.sidebar.collapsed{ width:0; overflow:hidden; }
.topbar{ min-height:48px; }
.table-modern thead th{ white-space:nowrap; }
.row-index{ width:40px; color:#6c757d; }
.badge-status{ font-weight:600; }


/* Compact charts */
canvas[height="110"]{ max-height:110px; }
.card.p-2>.mb-2{ margin-bottom:.4rem!important; }

/* Tiny charts */
canvas[height="90"]{ max-height:90px; }


/* === Navbar/Sidebar polish (2025-09-25) === */
.app{min-height:100vh;}
.sidebar{flex:0 0 260px;width:260px;transition:width .25s ease, flex-basis .25s ease;will-change:width}
.sidebar.collapsed{flex:0 0 0;width:0;overflow:hidden}
.sidebar-neo{background:linear-gradient(180deg,#f8fafc 0%, #ffffff 60%);backdrop-filter:blur(6px)}
.sidebar .list-group-item{border:0;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.55rem .95rem}
.sidebar .list-group-item .bi{opacity:.8}
.sidebar .list-group-item.active{background:linear-gradient(180deg,#e0f2fe 0%, #e9d5ff 100%);color:#0b1220;box-shadow:inset 0 0 0 1px rgba(59,130,246,.25)}
.sidebar .list-group-item:hover{background:#f1f5f9}
.topbar{height:56px;min-height:56px;padding-top:0!important;padding-bottom:0!important}
.topbar .btn,.topbar .navbar-text{line-height:1.25}
.topbar *{white-space:nowrap}
/* Smooth hide/show button shape */
#toggleSidebar{border-radius:999px}
/* Subtle shadow under topbar for depth */
.topbar{box-shadow:0 1px 0 0 rgba(15,23,42,.04), 0 6px 20px -12px rgba(15,23,42,.15)}
/* Prevent content jump when switching menus */
.content{contain:layout}
