body { background: #f4f6f9; font-size: .925rem; }
.sidebar { width: 230px; flex-shrink: 0; min-height: 100vh; background: #1f2a3c; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
.sidebar .brand { color: #fff; font-weight: 600; font-size: 1.05rem; }
.sidebar .nav-link { color: #c3cbd8; padding: .35rem .6rem; border-radius: .375rem; font-size: .9rem; }
.sidebar .nav-link:hover { color: #fff; background: rgba(255,255,255,.06); }
.sidebar .nav-link.active { color: #fff; background: #0d6efd; }
.sidebar .nav-link.disabled { color: #6c7a90; }
.sidebar .nav-link .badge { font-size: .6rem; }
.sidebar .nav-head { color: #7d8aa0; text-transform: uppercase; font-size: .7rem; letter-spacing: .05em; margin: .9rem .6rem .25rem; }
.min-vw-0 { min-width: 0; }
.card { border: 0; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.stat .value { font-size: 1.5rem; font-weight: 600; }
.table td, .table th { vertical-align: middle; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.doc { background: #fff; max-width: 900px; margin: 0 auto; padding: 32px; }
.doc table { font-size: .875rem; }
@media print {
  .no-print { display: none !important; }
  body { background: #fff; font-size: 12px; }
  main { padding: 0 !important; }
  .doc { padding: 0; box-shadow: none; }
  @page { size: A4; margin: 12mm; }
}
