:root {
  --tfs-primary: #0d6efd;
  --tfs-card: #ffffff;
  --tfs-chip-bg: #f1f5ff;
  --tfs-chip-text: #0d6efd;
}
.sidebar .nav-link { color:#333; }
.sidebar .nav-link.active { background:#e7f1ff; color:#0d6efd; font-weight:600; }
.card-metric .icon {
  font-size: 1.8rem; width: 44px; height: 44px; display:inline-flex; align-items:center; justify-content:center;
  background: var(--tfs-chip-bg); color: var(--tfs-chip-text); border-radius:.75rem;
}
.quick-access .btn { border-radius: 999rem; }
.chart-box { height: 320px; }
footer { position: sticky; bottom:0; }

/* External content frame inside <main> */
.external-frame {
  width: 100%;
  height: calc(100vh - 140px); /* adjust for your header/footer heights if needed */
  border: 0;
  display: block;
}
/* --- Collapsible sidebar --- */
body.sidebar-collapsed #sidebarMenu {
  --tfs-sidebar-collapsed: 72px;
  max-width: var(--tfs-sidebar-collapsed);
  flex: 0 0 var(--tfs-sidebar-collapsed);
}

/* Hide section headers and any small/badge bits when collapsed */
body.sidebar-collapsed #sidebarMenu .text-uppercase,
body.sidebar-collapsed #sidebarMenu .sidebar-sticky .nav .nav-item .badge,
body.sidebar-collapsed #sidebarMenu .sidebar-sticky .nav .nav-item .small,
body.sidebar-collapsed #sidebarMenu .sidebar-sticky .nav .nav-item .submenu {
  display: none !important;
}

/* Make links icon-only by zeroing text size, center the icons */
body.sidebar-collapsed #sidebarMenu .nav-link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  font-size: 0; /* hides the text label safely */
  padding-left: .75rem;
  padding-right: .75rem;
}

/* Keep icons readable when collapsed */
body.sidebar-collapsed #sidebarMenu .nav-link i {
  font-size: 1.25rem;
  margin: 0;
}

/* Expand main area to fill space when collapsed */
body.sidebar-collapsed .container-fluid > .row > main {
  max-width: calc(100% - var(--tfs-sidebar-collapsed));
  flex: 0 0 calc(100% - var(--tfs-sidebar-collapsed));
}

/* Slightly nicer hover target in the sidebar */
#sidebarMenu .nav-link { border-radius: .5rem; margin: 0 .5rem; }
