/* ==========================================================================
   THÈME : COMPACT
   Information dense — pour utilisateurs power qui veulent voir un max
   --------------------------------------------------------------------------
   - Tout est plus petit et plus serré
   - Coins peu arrondis
   - Espacements réduits
   - Police légèrement plus petite
   ========================================================================== */

body.theme-compact {
  --font: 'Inter', system-ui, sans-serif;

  --shadow-xs: none;
  --shadow-sm: none;
  --shadow-md: 0 1px 2px rgba(28,37,48,.04);
  --shadow-lg: 0 8px 24px -12px rgba(28,37,48,.18);
  --shadow-xl: 0 16px 40px -16px rgba(28,37,48,.22);

  --radius-sm: 3px;
  --radius-md: 5px;
  --radius-lg: 7px;
  --radius-xl: 9px;

  font-family: var(--font);
  font-size: 13px;
}

/* ─── BOUTONS Compact ─── */
body.theme-compact .btn {
  height: 28px;
  padding: 0 10px;
  font-size: 12px;
  border-radius: 5px;
  gap: 5px;
}
body.theme-compact .btn-sm {
  height: 24px;
  padding: 0 8px;
  font-size: 11px;
}
body.theme-compact .btn-xs {
  height: 22px;
  padding: 0 7px;
  font-size: 10.5px;
}

/* ─── INPUTS Compact ─── */
body.theme-compact .form-control {
  height: 30px;
  padding: 0 10px;
  font-size: 12.5px;
  border-radius: 5px;
}
body.theme-compact textarea.form-control {
  height: auto;
  min-height: 60px;
  padding: 6px 10px;
}
body.theme-compact .form-label {
  font-size: 11px;
  margin-bottom: 3px;
}
body.theme-compact .form-group {
  margin-bottom: 8px;
}

/* ─── CARDS Compact ─── */
body.theme-compact .card {
  border-radius: 7px;
}
body.theme-compact .card-header {
  padding: 9px 12px;
}
body.theme-compact .card-title {
  font-size: 13px;
}
body.theme-compact .card-body {
  padding: 12px;
}

/* ─── KPI Cards Compact ─── */
body.theme-compact .kpi-card {
  padding: 12px;
  border-radius: 7px;
}
body.theme-compact .kpi-icon {
  width: 28px;
  height: 28px;
  font-size: 12px;
}
body.theme-compact .kpi-value {
  font-size: 20px;
}
body.theme-compact .kpi-label {
  font-size: 10.5px;
}

/* ─── BADGES Compact ─── */
body.theme-compact .badge {
  padding: 1px 6px;
  font-size: 10px;
  border-radius: 3px;
}
body.theme-compact .status-pill {
  padding: 2px 8px;
  font-size: 10.5px;
  border-radius: 4px;
}

/* ─── TABLE Compact ─── */
body.theme-compact .data-table {
  border-radius: 6px;
}
body.theme-compact .data-table thead th {
  font-size: 10.5px;
  padding: 7px 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.theme-compact .data-table tbody td {
  padding: 7px 10px;
  font-size: 12px;
}

/* ─── MODAL Compact ─── */
body.theme-compact .modal {
  border-radius: 9px;
}
body.theme-compact .modal-header {
  padding: 11px 14px;
}
body.theme-compact .modal-title {
  font-size: 13.5px;
}
body.theme-compact .modal-body {
  padding: 14px;
}
body.theme-compact .modal-footer {
  padding: 10px 14px;
}

/* ─── SIDEBAR Compact ─── */
body.theme-compact .nav-section {
  font-size: 10px;
  padding: 10px 16px 4px;
}
body.theme-compact .nav-item {
  padding: 5px 12px;
  margin: 1px 6px;
  font-size: 12px;
  border-radius: 4px;
}
body.theme-compact .nav-badge {
  font-size: 10px;
  padding: 0 5px;
}

/* ─── TOPBAR ─── */
body.theme-compact .topbar {
  padding: 8px 14px;
}

/* ─── STAT PILLS ─── */
body.theme-compact .stat-pill {
  height: 24px;
  padding: 4px 10px;
  font-size: 11px;
  border-radius: 5px;
}

/* ─── SECTION HEADER ─── */
body.theme-compact .section-header {
  margin-bottom: 14px;
}
body.theme-compact .section-title {
  font-size: 16px;
}
body.theme-compact .section-desc {
  font-size: 11.5px;
}

/* ─── FOCUS ─── */
body.theme-compact *:focus-visible {
  outline-width: 2px;
  outline-offset: 1px;
}
