/* CosmeLab — habillage de l'interface d'administration */
:root, :root[data-theme="light"] {
  --primary: #2f5d50;
  --secondary: #24483e;
  --accent: #e9c46a;
  --header-color: #f3efe6;
  --header-link-color: #ffffff;
  --header-branding-color: #ffffff;
  --link-fg: #2f6b5a;
  --link-hover-color: #1d4337;
  --button-bg: #2f5d50;
  --button-hover-bg: #24483e;
  --default-button-bg: #2f5d50;
  --default-button-hover-bg: #1d4337;
  --selected-row: #fbf6e6;
  --breadcrumbs-bg: #3d7565;
  --cl-carte: #ffffff;
  --cl-fond-kpi: #f6f8f7;
  --cl-bord: #dfe5e2;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --cl-carte: #1f2523; --cl-fond-kpi: #1a1f1d; --cl-bord: #33403b; }
}
:root[data-theme="dark"] { --cl-carte: #1f2523; --cl-fond-kpi: #1a1f1d; --cl-bord: #33403b; }

#header { background: var(--secondary); }
.cl-marque { font-weight: 600; letter-spacing: .2px; }
.cl-marque small { font-weight: 400; opacity: .75; font-size: .8em; }
.cl-logo { color: var(--accent); }

/* Boutons d'action sur les fiches */
.object-tools li { margin-left: 6px; }
.cl-form-action { display: inline-flex; gap: 6px; align-items: center; margin: 0; }
.cl-form-action label { font-size: 11px; color: var(--body-quiet-color); display: inline-flex; gap: 4px; align-items: center; }
.cl-form-action input { width: 110px; padding: 4px 6px; }
.object-tools .cl-btn, .cl-btn {
  display: inline-block; padding: 6px 12px; border-radius: 15px; border: 0; cursor: pointer;
  background: var(--object-tools-bg, #888); color: #fff !important; font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .5px; text-decoration: none; line-height: 16px;
}
.cl-btn.primaire { background: var(--primary); }
.cl-btn.danger { background: #b4442c; }
.cl-btn:hover { opacity: .9; }

/* Tableaux et alertes dans les fiches */
.cl-table { border-collapse: collapse; margin-top: 4px; }
.cl-table th, .cl-table td { padding: 4px 10px; border-bottom: 1px solid var(--cl-bord); text-align: left; }
.cl-alertes { margin: 6px 0 0; padding-left: 18px; color: #a1260d; }
.cl-alertes li { list-style: disc; }

/* Tableau de bord */
.cl-dashboard { margin-bottom: 30px; }
.cl-raccourcis { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.cl-raccourcis .cl-btn { background: var(--primary); }
.cl-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 18px; }
.cl-kpi { background: var(--cl-fond-kpi); border: 1px solid var(--cl-bord); border-radius: 10px; padding: 14px 16px;
  display: flex; flex-direction: column; gap: 4px; color: var(--body-fg) !important; text-decoration: none; }
.cl-kpi span { font-size: 12px; color: var(--body-quiet-color); }
.cl-kpi b { font-size: 24px; font-variant-numeric: tabular-nums; }
.cl-kpi small { font-size: 11px; color: var(--body-quiet-color); }
.cl-kpi-alerte { border-left: 4px solid #c0563a; }
.cl-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 12px; }
.cl-carte { background: var(--cl-carte); border: 1px solid var(--cl-bord); border-radius: 10px; padding: 12px 16px; }
.cl-carte h3 { margin: 0 0 8px; font-size: 14px; display: flex; justify-content: space-between; }
.cl-carte h3 em { font-style: normal; background: var(--cl-fond-kpi); border-radius: 10px; padding: 0 8px; font-size: 12px; }
.cl-carte p { margin: 0; padding: 5px 0; border-top: 1px solid var(--cl-bord); display: flex; gap: 6px; align-items: baseline; }
.cl-carte p small { color: var(--body-quiet-color); }
.cl-droite { margin-left: auto; white-space: nowrap; font-size: 12px; }
.cl-rouge { color: #b4442c; }
.cl-orange { color: #a86a00; }
.cl-vide { color: var(--body-quiet-color); font-style: italic; }
@media (max-width: 767px) { .cl-grille { grid-template-columns: 1fr; } }
