:root { --brand: #2f63f6; }
* { -webkit-tap-highlight-color: transparent; }
body { overflow-x: hidden; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.nav-item.active { background: #1737b0; color: #fff; }
.nav-item.active i { color: #fff; }

.fade-in { animation: fadeIn .25s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.skeleton { background: linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 37%,#e2e8f0 63%); background-size: 400% 100%; animation: sk 1.4s ease infinite; border-radius: 8px; }
@keyframes sk { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

.status-chip { display:inline-flex; align-items:center; gap:4px; padding:2px 10px; border-radius:999px; font-size:11px; font-weight:600; }

table.data th { position: sticky; top: 0; }

.toast { min-width: 260px; }

@media (max-width: 768px) {
  #sidebar { position: fixed; inset: 0 auto 0 0; z-index: 60; transform: translateX(-100%); transition: transform .25s ease; }
  #sidebar.open { transform: none; }
  #sidebar-overlay { display: none; }
  #sidebar-overlay.open { display: block; }
}
