:root { --brand: #1F4E78; --brand-2: #2F75B5; --sidebar-w: 250px; }
body { background: #f4f6f9; font-size: .95rem; }
.sidebar { width: var(--sidebar-w); min-height: 100vh; background: var(--brand); position: fixed; top: 0; left: 0; }
.sidebar .brand { padding: 1rem; text-align: center; border-bottom: 1px solid rgba(255,255,255,.15); }
.sidebar .brand img { width: 72px; height: 72px; object-fit: contain; }
.sidebar .brand .name { color: #fff; font-weight: 700; margin-top: .4rem; line-height: 1.2; }
.sidebar .nav-link { color: rgba(255,255,255,.85); padding: .55rem 1.1rem; border-radius: .4rem; margin: .1rem .6rem; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { background: rgba(255,255,255,.15); color: #fff; }
.sidebar .nav-link.disabled { color: rgba(255,255,255,.35); }
.sidebar .section { color: rgba(255,255,255,.5); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; padding: .9rem 1.4rem .3rem; }
.main { margin-left: var(--sidebar-w); min-height: 100vh; }
.topbar { background: #fff; border-bottom: 1px solid #e3e6ea; padding: .6rem 1.5rem; }
.content { padding: 1.5rem; }
.card { border: none; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.card-header { background: #fff; font-weight: 600; }
.stat { border-left: 4px solid var(--brand-2); }
.login-page { min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--brand), var(--brand-2)); }
.login-card { width: 100%; max-width: 420px; }
.flag { height: 5px; background: linear-gradient(90deg, #008751 0 33.3%, #FCD116 33.3% 66.6%, #E8112D 66.6%); }
@media (max-width: 991px) {
  .sidebar { position: static; width: 100%; min-height: auto; }
  .main { margin-left: 0; }
}
