/* Compact Minimalist Theme Overrides (scoped to body.compact) */
.compact {
  --sidebar-width: 210px; /* was 280px */
  --header-height: 50px;  /* was 70px */
  --border-radius: 6px;   /* slightly tighter */
}

/* Base typography tighter */
.compact html, .compact body, body.compact {
  font-size: 13px; /* default ~16 -> 13 */
  line-height: 1.35;
}

.compact h1 { font-size: 1.5rem; margin-bottom: .5rem; }
.compact h2 { font-size: 1.25rem; margin-bottom: .5rem; }
.compact h3 { font-size: 1.1rem; margin-bottom: .4rem; }
.compact .interface-title { font-size: 1.25rem; }
.compact .interface-subtitle { font-size: .9rem; }

/* Header tighter */
.compact .top-header { padding: 0 10px; height: var(--header-height) !important; }
.compact .user-avatar { font-size: 1.6rem; }
.compact .header-btn { padding: 4px 6px; gap: 6px; font-size: .82rem; }
.compact .notification-badge { font-size: .65rem; min-width: 16px; padding: 1px 5px; }

/* Ensure space for bell icon + badge and avoid overlap (tighter spacing) */
.compact #notificationsBtn { padding-right: 12px; }
.compact #notificationsBtn i { display: inline-block; line-height: 1; font-size: 1rem; }
.compact #notificationsBtn { position: relative; }
.compact #notificationsBtn .notification-badge {
  position: absolute;
  top: -2px;      /* slightly above icon */
  left: 14px;     /* align over 1rem bell to match other buttons */
  right: auto;
  z-index: 2;
}

/* Sidebar tighter */
.compact .sidebar-header { padding: 10px; }
.compact .logo { font-size: 1rem; gap: 8px; }
.compact .logo i { font-size: 1.2rem; }
.compact .sidebar-nav { padding: 6px 0; }
.compact .nav-header { padding: 8px 12px; font-size: .78rem; }
.compact .nav-item, .compact .nav-subitem { padding: 8px 12px; gap: 8px; }
.compact .nav-subitem { padding-left: 28px; font-size: .8rem; }

/* Main content tighter */
.compact .main-content { padding: 10px; }
.compact .dashboard-home { padding: 10px; }

/* Cards and sections */
.compact .card { margin-bottom: 8px; }
.compact .card-header { padding: 8px 10px; }
.compact .card-body { padding: 8px 10px; }

/* Stats grid compact */
.compact .stats-overview { padding: 10px; margin-bottom: 10px; }
.compact .stats-grid { gap: 10px; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.compact .stat-card { padding: 12px; }
.compact .stat-number { font-size: 22px; margin-bottom: 4px; }
.compact .stat-label { font-size: 12px; }

/* Activity list compact */
.compact .activity-header { padding: 8px 10px; }
.compact .activity-list { max-height: 320px; }
.compact .activity-item { padding: 8px 12px; gap: 10px; }
.compact .activity-icon { width: 28px; height: 28px; font-size: 13px; }
.compact .activity-description { font-size: .85rem; }
.compact .activity-time { font-size: .7rem; }

/* Tab navigation compact */
.compact .tab-navigation-container { min-height: 36px; }
.compact .tab-navigation { min-height: 36px; max-width: calc(100% - 68px); }
.compact .tab-item { padding: 5px 7px; min-width: 104px; max-width: 180px; }
.compact .tab-icon { font-size: 12px; margin-right: 6px; }
.compact .tab-title { font-size: 12px; }
.compact .tab-scroll-btn { min-width: 24px; height: 24px; padding: 0; }

/* Inputs, buttons, tables compact */
.compact .btn { padding: .28rem .45rem; font-size: .82rem; border-radius: .3rem; }
.compact .btn-sm { padding: .22rem .35rem; font-size: .78rem; }
.compact .form-control, .compact .form-select { padding: .26rem .4rem; font-size: .83rem; border-radius: .3rem; }
.compact .input-group-text { padding: .3rem .5rem; font-size: .85rem; }
.compact .badge { font-size: .6rem; padding: .18em .4em; }
.compact .table > :not(caption) > * > * { padding: .3rem .4rem; }

/* Adjust containers to use more width (less whitespace) */
.compact .container, .compact .container-fluid { padding-left: 10px; padding-right: 10px; }

/* Labels and helpers */
.compact label, .compact .form-label { font-size: .82rem; margin-bottom: .2rem; }
.compact .form-text { font-size: .7rem; }

/* Modals */
.compact .modal-header { padding: .5rem .75rem; }
.compact .modal-body { padding: .75rem; }
.compact .modal-footer { padding: .5rem .75rem; }

/* Reduce shadows for a flatter minimalist look */
.compact .card, .compact .top-header { box-shadow: none; }

/* Scrollbars thinner */
.compact ::-webkit-scrollbar { width: 8px; height: 8px; }
.compact ::-webkit-scrollbar-thumb { background: #c7c9ce; border-radius: 8px; }

/* Responsive tweaks */
@media (max-width: 768px) {
  .compact html, .compact body, body.compact { font-size: 13px; }
  .compact .sidebar { transform: translateX(-100%); }
  .compact .sidebar.open { transform: translateX(0); }
}
