/* ==========================================================================
   STYLE DUO HIGH-CONTRAST (Sombre & Clair)
   ========================================================================== */

body {
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: -0.01em;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* --------------------------------------------------------------------------
   1. THÈME SOMBRE (PALETTE CISCO DUO DIRECTE)
   -------------------------------------------------------------------------- */
[data-bs-theme="dark"] body {
  background-color: #0c1017 !important;
  color: #e6edf3;
}

/* Navbar & barres */
[data-bs-theme="dark"] .navbar {
  background-color: #0c1017 !important;
  border-bottom: 1px solid #1e2638 !important;
}

/* Cartes Duo (arrondis doux 12px, fond contrasté sans agressivité) */
[data-bs-theme="dark"] .card {
  background-color: #141a24 !important;
  border: 1px solid #20293a !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
}

[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .card-footer {
  background-color: transparent !important;
  border-color: #20293a !important;
}

/* Tableaux style Duo Logs */
[data-bs-theme="dark"] .table {
  --tblr-table-bg: transparent;
  --tblr-table-color: #e6edf3;
  --tblr-table-border-color: #1b2333;
}

[data-bs-theme="dark"] .table thead th {
  background-color: #10151f !important;
  color: #8b949e !important;
  border-bottom: 1px solid #20293a !important;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-bs-theme="dark"] .table-hover tbody tr:hover {
  background-color: #18202d !important;
}

/* Sous-lignes clients dépliables */
[data-bs-theme="dark"] .cve-subrow {
  background-color: #0f141d !important;
  border-left: 3px solid #2590eb !important;
}

[data-bs-theme="dark"] .client-card-item {
  background-color: #161c28 !important;
  border: 1px solid #242e42 !important;
  border-radius: 8px;
}

/* Champs de recherche & inputs */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .patch-input {
  background-color: #0f141d !important;
  color: #ffffff !important;
  border: 1px solid #2a364d !important;
  border-radius: 6px;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .patch-input:focus {
  border-color: #2590eb !important;
  box-shadow: 0 0 0 2px rgba(37, 144, 235, 0.25) !important;
}

/* Badges & Accents Duo */
[data-bs-theme="dark"] .badge-version {
  background-color: #1f2737 !important;
  color: #cbd5e1 !important;
  border: 1px solid #2e3a50 !important;
}

[data-bs-theme="dark"] .text-info {
  color: #38bdf8 !important;
}

/* --------------------------------------------------------------------------
   2. THÈME CLAIR HOMOLOGUE (ÉQUILIBRÉ & DÉCOUPÉ)
   -------------------------------------------------------------------------- */
[data-bs-theme="light"] body {
  background-color: #f1f4f9 !important;
  color: #1e293b !important;
}

/* Navbar */
[data-bs-theme="light"] .navbar {
  background-color: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

/* Cartes claires */
[data-bs-theme="light"] .card {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
}

[data-bs-theme="light"] .card-header,
[data-bs-theme="light"] .card-footer {
  background-color: transparent !important;
  border-color: #eef2f6 !important;
}

/* Tableaux clairs */
[data-bs-theme="light"] .table {
  --tblr-table-bg: #ffffff;
  --tblr-table-color: #1e293b;
  --tblr-table-border-color: #edf2f7;
}

[data-bs-theme="light"] .table thead th {
  background-color: #f8fafc !important;
  color: #64748b !important;
  border-bottom: 1px solid #e2e8f0 !important;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-bs-theme="light"] .table-hover tbody tr:hover {
  background-color: #f8fafc !important;
}

/* Sous-lignes clients en clair */
[data-bs-theme="light"] .cve-subrow {
  background-color: #f8fafc !important;
  border-left: 3px solid #0284c7 !important;
}

[data-bs-theme="light"] .client-card-item {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px;
}

/* Champs en clair */
[data-bs-theme="light"] .form-control,
[data-bs-theme="light"] .form-select,
[data-bs-theme="light"] .patch-input {
  background-color: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px;
}

[data-bs-theme="light"] .badge-version {
  background-color: #f1f5f9 !important;
  color: #334155 !important;
  border: 1px solid #cbd5e1 !important;
}

[data-bs-theme="light"] .text-info {
  color: #0284c7 !important;
}

/* --------------------------------------------------------------------------
   3. COULEURS FONCTIONNELLES COMMUNES (DUO ACCENTS)
   -------------------------------------------------------------------------- */
.badge-cisa {
  background-color: #f43f5e !important;
  color: #ffffff !important;
  font-weight: 700;
  border-radius: 4px;
}

.text-duo-success {
  color: #10b981 !important;
}

.btn-duo-primary {
  background-color: #2590eb !important;
  color: #ffffff !important;
  border: none;
  font-weight: 600;
}

.btn-duo-primary:hover {
  background-color: #1d74be !important;
  color: #ffffff !important;
}