/* ═══════════════════════════════════════════════════════════════════════
   ATELIER SIGNATURE V3 — Pattern partagé entre tous les modules
   ═══════════════════════════════════════════════════════════════════════
   Source de vérité : css/detections.css (module pilote)
   Décisions : cerveau/DESIGN-EVOLUTION.md (Q7 RÉVISÉ, Q10, Atelier V3)
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Rail vert signature (wrapper page) ── */
.atelier-wrap,
.bib-wrap,
.crm-wrap,
.devl-wrap:not(:has(.devis-edit-view.active)),
.chantier-wrap,
.histo-wrap,
.dash-wrap,
.pao-wrap,
.plan-wrap,
.ouv-wrap,
.point-wrap,
.param-wrap,
.paramia-wrap,
.admin-wrap,
.rap-wrap,
.rel-wrap,
.relh-wrap,
.fact-wrap,
.veh-wrap {
  /* Rail vert désactivé — la sidebar v3 porte déjà la barre verte signature */
  padding-left: 0;
}

/* ── Header V3 (brand-mark + eyebrow + titre + sous-titre) ── */
.atelier-header {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--soma-border, #E8ECE5);
}
.atelier-header .page-header-icon { display: none; }
.atelier-header .brand-mark { flex: 0 0 auto; padding-top: 4px; }

.atelier-info { flex: 1; min-width: 0; }

/* Eyebrow : barre verte 24×2 + texte caps + ornament Lora */
.atelier-eyebrow {
  font-family: 'Lato', sans-serif;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--soma-muted, #7A9480);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.atelier-eyebrow::before {
  content: "";
  width: 24px;
  height: 2px;
  background: var(--green, #2FBF7A);
}
.atelier-eyebrow .ornament {
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  color: var(--green, #2FBF7A);
  font-weight: 500;
  font-size: 14px;
  line-height: .8;
  vertical-align: -1px;
  margin: 0 6px;
}

/* Titre module : Lato 900 38px (Q7 RÉVISÉ) */
.atelier-title {
  font-family: 'Lato', sans-serif;
  font-weight: 900;
  font-size: 38px;
  letter-spacing: -.02em;
  color: var(--soma-text, #0D1B0F);
  line-height: 1;
  margin-bottom: 4px;
}

/* Sous-titre */
.atelier-sub {
  font-size: 14px;
  color: var(--soma-muted, #7A9480);
  margin-top: 8px;
}

/* ── Footer signature 1981 ── */
.atelier-footer {
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 11px;
  color: var(--soma-muted, #7A9480);
  text-align: center;
  padding: 24px 0 16px;
  border-top: 1px solid var(--soma-border, #E8ECE5);
  margin-top: 32px;
}

/* ═══════════════════════════════════════════════════════════════════════
   KPI CARDS — Pattern unifié (référence : .det-stat dans detections.css)
   Appliqué sur TOUS les modules qui ont des KPI cards.
   ═══════════════════════════════════════════════════════════════════════ */

/* Grilles KPI */
.pao-wrap .pao-stats,
.bib-wrap .bib-stats-grid,
.histo-wrap .histo-stats,
.dash-wrap .dash-kpi-grid {
  display: grid;
  gap: 16px;
  margin-bottom: 24px;
}
.pao-wrap .pao-stats { grid-template-columns: repeat(4, 1fr); }
.bib-wrap .bib-stats-grid { grid-template-columns: repeat(3, 1fr); }

/* Cards KPI — style unifié Détections */
.pao-wrap .pao-stat,
.bib-wrap .bib-stat-card,
.histo-wrap .histo-stat,
.dash-wrap .dash-kpi {
  background: var(--soma-card, #FFFFFF);
  border: 1px solid var(--soma-border, #E8ECE5);
  border-radius: var(--soma-r-lg, 22px);
  padding: 20px 24px;
  position: relative;
  overflow: hidden;
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  animation: atelierKpiIn .5s cubic-bezier(.16, 1, .3, 1) both;
}
.pao-wrap .pao-stat:nth-child(1), .bib-wrap .bib-stat-card:nth-child(1), .histo-wrap .histo-stat:nth-child(1), .dash-wrap .dash-kpi:nth-child(1) { animation-delay: .15s; }
.pao-wrap .pao-stat:nth-child(2), .bib-wrap .bib-stat-card:nth-child(2), .histo-wrap .histo-stat:nth-child(2), .dash-wrap .dash-kpi:nth-child(2) { animation-delay: .20s; }
.pao-wrap .pao-stat:nth-child(3), .bib-wrap .bib-stat-card:nth-child(3), .histo-wrap .histo-stat:nth-child(3), .dash-wrap .dash-kpi:nth-child(3) { animation-delay: .25s; }
.pao-wrap .pao-stat:nth-child(4), .bib-wrap .bib-stat-card:nth-child(4), .histo-wrap .histo-stat:nth-child(4), .dash-wrap .dash-kpi:nth-child(4) { animation-delay: .30s; }
.pao-wrap .pao-stat:nth-child(5), .bib-wrap .bib-stat-card:nth-child(5), .histo-wrap .histo-stat:nth-child(5), .dash-wrap .dash-kpi:nth-child(5) { animation-delay: .35s; }
@keyframes atelierKpiIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Barre verte hover */
.pao-wrap .pao-stat::before,
.bib-wrap .bib-stat-card::before,
.histo-wrap .histo-stat::before,
.dash-wrap .dash-kpi::before {
  content: "";
  position: absolute;
  left: 0; top: 20px; bottom: 20px;
  width: 3px;
  background: transparent;
  border-radius: 0 2px 2px 0;
  transition: background .25s cubic-bezier(.16, 1, .3, 1);
}
.pao-wrap .pao-stat:hover::before,
.bib-wrap .bib-stat-card:hover::before,
.histo-wrap .histo-stat:hover::before,
.dash-wrap .dash-kpi:hover::before {
  background: var(--green, #2FBF7A);
}
.pao-wrap .pao-stat:hover,
.bib-wrap .bib-stat-card:hover,
.histo-wrap .histo-stat:hover,
.dash-wrap .dash-kpi:hover {
  border-color: rgba(47, 191, 122, .2);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(13, 27, 15, .06);
}

/* Labels KPI — eyebrow style */
.pao-wrap .pao-stat-label,
.bib-wrap .bib-stat-label,
.histo-wrap .histo-stat-lbl,
.dash-wrap .dash-kpi-label {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--soma-muted, #7A9480);
  font-weight: 900;
  margin-bottom: 12px;
}

/* Valeurs KPI — Lato 900 36px */
.pao-wrap .pao-stat-val,
.bib-wrap .bib-stat-value,
.histo-wrap .histo-stat-val,
.dash-wrap .dash-kpi-value {
  font-family: 'Lato', sans-serif;
  font-weight: 900;
  font-size: 36px;
  line-height: 1;
  color: var(--soma-text, #0D1B0F);
  letter-spacing: -.02em;
}

/* Sous-texte KPI — Lora italic */
.pao-wrap .pao-stat-sub,
.bib-wrap .bib-stat-sub,
.histo-wrap .histo-stat-note,
.dash-wrap .dash-kpi-sub {
  font-size: 11px;
  color: var(--soma-muted, #7A9480);
  margin-top: 6px;
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
}

/* Couleurs valeurs */
.pao-stat-val.green, .bib-stat-value.green, .histo-stat-val.green, .dash-kpi-value.green { color: var(--green, #2FBF7A); }
.pao-stat-val.red, .bib-stat-value.red, .histo-stat-val.red, .dash-kpi-value.red { color: var(--red, #E02020); }
.pao-stat-val.orange, .bib-stat-value.orange, .histo-stat-val.orange, .dash-kpi-value.orange { color: var(--yellow, #C97800); }

/* ── Compat : les classes .det-* de detections.css restent la référence ── */
/* Ce fichier fournit les mêmes classes sous préfixe .atelier-* pour les
   modules qui ne chargent pas detections.css. Les modules pilotes
   (Détections, Commercial) continuent d'utiliser .det-eyebrow etc. */
