/* Penyesuaian kecil di atas Bootstrap 5 */
:root { --kas-sidebar-w: 240px; }
body { background: #f5f7fa; }
.card { border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.stat-card .stat-label { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; opacity: .75; }
.stat-card .stat-value { font-size: 1.4rem; font-weight: 700; line-height: 1.2; }
.table > :not(caption) > * > * { vertical-align: middle; }

/* Sidebar */
aside.app-sidebar { background: #212529 !important; color: #fff; }
aside.app-sidebar .nav-link { border-radius: .5rem; }
aside.app-sidebar .nav-link:hover:not(.active) { background: rgba(255,255,255,.08); }
@media (min-width: 992px) {
  aside.app-sidebar {
    position: fixed !important; top: 0; left: 0; bottom: 0;
    width: var(--kas-sidebar-w); z-index: 1030;
    transform: none !important; visibility: visible !important;
    overflow-y: auto; display: flex !important;
  }
  .app-main { margin-left: var(--kas-sidebar-w); }
}

/* Cetak */
@media print {
  .no-print, aside.app-sidebar, .navbar { display: none !important; }
  .app-main { margin: 0 !important; padding: 0 !important; }
  body { background: #fff; }
  .card { box-shadow: none; border: 1px solid #ddd; }
}

/* Tabel matriks: kolom pertama menempel saat digeser (HP) */
.table .sticky-col { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 0 #dee2e6; }
.table thead .sticky-col, .table tfoot .sticky-col { background: #f8f9fa; }

/* Cetak laporan (PART 8) */
@media print {
  @page { margin: 12mm; }
  body { font-size: 11pt; }
  .table-responsive { overflow: visible !important; }
  .badge { border: 1px solid #999; color: #000 !important; background: #fff !important; }
  .stat-card .stat-value { font-size: 1.1rem; }
  tr, .card { page-break-inside: avoid; }
  thead { display: table-header-group; }
  a { color: inherit !important; text-decoration: none !important; }
  .text-success, .text-danger, .text-warning { color: #000 !important; }
}
