/* =============================================================================
   TerraTrack — Audit Parc PL (TD-031)
   =============================================================================
   Outil rendu inline dans l'écran Boîte à outils. TD-028 : fichier dédié.
   Saisie état parc → taux rechapage / prestation vs cibles → écart = opportunité.
   ========================================================================= */

.pa-root {
  max-width: 880px;
  margin: 0 auto;
  padding: 8px 4px 32px;
}

/* ------------------------------- En-tête ------------------------------- */
.pa-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px 6px 6px;
  margin-bottom: 16px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 10px;
  background: var(--surface, #fff);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted, #64748b);
  cursor: pointer;
}

.pa-back:hover {
  border-color: var(--accent, #2563eb);
  color: var(--accent, #2563eb);
}

.pa-head {
  margin-bottom: 20px;
}

.pa-head-title {
  display: flex;
  align-items: center;
  gap: 14px;
}

.pa-head-icon {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: var(--accent-soft, rgba(37, 99, 235, 0.1));
  color: var(--accent, #2563eb);
}

.pa-title {
  font-size: 20px;
  font-weight: 700;
  margin: 0;
  color: var(--text, #0f172a);
}

.pa-sub {
  margin: 2px 0 0;
  font-size: 13px;
  color: var(--text-muted, #64748b);
  max-width: 56ch;
}

/* ------------------------------- Cartes ------------------------------- */
.pa-card {
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 16px;
  background: var(--surface, #fff);
  padding: 18px 18px 20px;
  margin-bottom: 16px;
}

.pa-section-title {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted, #64748b);
}

.pa-field-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.pa-field-grid-2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: 460px;
}

.pa-field-grid-3 {
  max-width: 620px;
}

.pa-section-hint {
  margin: -8px 0 14px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-muted, #94a3b8);
  max-width: 60ch;
}

.pa-field {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.pa-field-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text, #0f172a);
}

.pa-field-hint {
  font-size: 11px;
  color: var(--text-muted, #94a3b8);
  min-height: 14px;
}

.pa-input {
  margin-top: 4px;
  width: 100%;
  padding: 9px 11px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 10px;
  background: var(--bg, #f8fafc);
  font-size: 15px;
  font-weight: 600;
  color: var(--text, #0f172a);
  font-variant-numeric: tabular-nums;
}

.pa-input:focus {
  outline: none;
  border-color: var(--accent, #2563eb);
  background: var(--surface, #fff);
  box-shadow: 0 0 0 3px var(--accent-soft, rgba(37, 99, 235, 0.12));
}

.pa-field-target .pa-target-input {
  position: relative;
  display: block;
}

.pa-field-target .pa-input {
  padding-right: 30px;
}

.pa-target-unit {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(calc(-50% + 2px));
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted, #94a3b8);
  pointer-events: none;
}

/* ------------------------------ Résultats ----------------------------- */
.pa-fleet {
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 12px;
  background: var(--bg, #f8fafc);
}

.pa-fleet-head,
.pa-fleet-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 150px 120px;
  align-items: center;
  gap: 12px;
}

.pa-fleet-head {
  padding: 9px 12px;
  background: var(--surface, #fff);
  border-bottom: 1px solid var(--border, #e2e8f0);
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted, #64748b);
}

.pa-fleet-row {
  padding: 9px 12px;
}

.pa-fleet-row + .pa-fleet-row {
  border-top: 1px solid var(--border, #e2e8f0);
}

.pa-fleet-type {
  font-size: 13px;
  font-weight: 700;
  color: var(--text, #0f172a);
}

.pa-fleet-tires {
  font-size: 12px;
  color: var(--text-muted, #64748b);
  font-variant-numeric: tabular-nums;
}

.pa-fleet-count {
  margin-top: 0;
  text-align: right;
}

.pa-total-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 12px 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--accent-soft, rgba(37, 99, 235, 0.18));
  border-radius: 14px;
  background: var(--accent-soft, rgba(37, 99, 235, 0.08));
  color: var(--text, #0f172a);
}

.pa-total-strip span {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted, #64748b);
}

.pa-total-strip strong {
  font-size: 26px;
  line-height: 1;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.pa-results {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}

.pa-empty {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 36px 20px;
  border: 1px dashed var(--border, #e2e8f0);
  border-radius: 16px;
  color: var(--text-muted, #94a3b8);
  text-align: center;
}

.pa-empty p {
  margin: 0;
  font-size: 14px;
}

.pa-metric {
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 16px;
  background: var(--surface, #fff);
  padding: 18px;
  border-top: 3px solid var(--border, #e2e8f0);
}

.pa-metric.is-ok {
  border-top-color: var(--success, #16a34a);
}

.pa-metric.is-gap {
  border-top-color: var(--accent, #2563eb);
}

.pa-metric-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.pa-metric-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text, #0f172a);
}

.pa-metric-target {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted, #94a3b8);
}

.pa-metric-rate {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 10px 0 12px;
}

.pa-metric-value {
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
  color: var(--text, #0f172a);
  font-variant-numeric: tabular-nums;
}

.pa-metric-count {
  font-size: 12px;
  color: var(--text-muted, #64748b);
  font-variant-numeric: tabular-nums;
}

/* Barre de progression avec repère de cible. */
.pa-bar {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: var(--bg, #eef2f7);
  overflow: hidden;
  margin-bottom: 14px;
}

.pa-bar-fill {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: 999px;
  background: var(--accent, #2563eb);
  transition: width 0.25s ease;
}

.is-ok .pa-bar-fill {
  background: var(--success, #16a34a);
}

/* Repère vertical de la cible. overflow:hidden masque le débord → on garde le
   trait dans la piste. */
.pa-bar-target {
  position: absolute;
  top: -2px;
  bottom: -2px;
  width: 2px;
  background: var(--text, #0f172a);
  opacity: 0.55;
  transform: translateX(-1px);
}

.pa-verdict {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
}

.pa-verdict-ok {
  background: var(--success-soft, rgba(22, 163, 74, 0.12));
  color: var(--success, #16a34a);
}

.pa-verdict-gap {
  background: var(--accent-soft, rgba(37, 99, 235, 0.12));
  color: var(--accent, #2563eb);
}

.pa-metric-action {
  margin: 10px 0 0;
  font-size: 12.5px;
  color: var(--text-muted, #64748b);
}

/* ------------------ Opportunité chiffrée (pneus + €) ----------------- */
/* Bandeau pleine largeur sous les deux cartes de taux : traduit l'écart aux
   cibles en pneus économisés ET en euros — l'argument commercial quantifié. */
.pa-opp {
  grid-column: 1 / -1;
  border: 1px solid var(--accent-soft, rgba(37, 99, 235, 0.28));
  border-radius: 16px;
  background: linear-gradient(180deg, var(--accent-soft, rgba(37, 99, 235, 0.08)), var(--surface, #fff) 70%);
  padding: 18px 20px 16px;
}

.pa-opp-ok {
  display: flex;
  align-items: center;
  gap: 10px;
  border-color: var(--success-soft, rgba(22, 163, 74, 0.3));
  background: var(--success-soft, rgba(22, 163, 74, 0.1));
  color: var(--success, #16a34a);
}

.pa-opp-ok p {
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
}

.pa-opp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--accent, #2563eb);
}

.pa-opp-title {
  margin: 8px 0 2px;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--text, #0f172a);
  font-variant-numeric: tabular-nums;
}

.pa-opp-title span {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-muted, #64748b);
}

.pa-opp-eur {
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 700;
  color: var(--accent-strong, #1d4ed8);
}

.pa-opp-levers {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.pa-opp-lever {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 12px;
  background: var(--surface, #fff);
}

.pa-opp-lever.is-ok {
  border-color: var(--success-soft, rgba(22, 163, 74, 0.35));
}

.pa-opp-lever-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted, #64748b);
}

.pa-opp-lever-main {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--text, #0f172a);
  font-variant-numeric: tabular-nums;
}

.pa-opp-lever.is-ok .pa-opp-lever-main {
  font-size: 14px;
  color: var(--success, #16a34a);
}

.pa-opp-lever-eur {
  font-size: 13px;
  font-weight: 700;
  color: var(--accent-strong, #1d4ed8);
  font-variant-numeric: tabular-nums;
}

.pa-opp-lever-detail {
  margin-top: 3px;
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--text-muted, #64748b);
}

.pa-opp-foot {
  margin: 14px 0 0;
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-muted, #94a3b8);
}

/* ------------------------- Actions (export PDF) ---------------------- */
.pa-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}

.pa-export {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 10px;
  background: var(--surface, #fff);
  color: var(--text, #0f172a);
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.pa-export:hover {
  border-color: var(--accent, #2563eb);
  color: var(--accent, #2563eb);
}

.pa-export.pa-save-error {
  border-color: var(--danger, #dc2626);
  color: var(--danger, #dc2626);
}

/* ----------------- Enregistrement + historique (Dossier) ------------- */
.pa-savebar {
  display: flex;
  align-items: flex-end;
  gap: 14px;
}

.pa-field-label-only {
  flex: 1 1 auto;
}

.pa-input-text {
  font-weight: 500;
  font-size: 14px;
}

.pa-save {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border: 1px solid var(--accent, #2563eb);
  border-radius: 10px;
  background: var(--accent, #2563eb);
  color: #fff;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.pa-save:hover {
  background: var(--accent-strong, #1d4ed8);
  border-color: var(--accent-strong, #1d4ed8);
}

.pa-save:disabled {
  opacity: 0.6;
  cursor: default;
}

.pa-save.pa-save-error {
  background: var(--danger, #dc2626);
  border-color: var(--danger, #dc2626);
}

.pa-history-empty {
  margin: 0;
  font-size: 13px;
  color: var(--text-muted, #94a3b8);
}

.pa-history-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pa-history-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 12px;
  background: var(--bg, #f8fafc);
}

.pa-history-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.pa-history-meta strong {
  font-size: 13.5px;
  color: var(--text, #0f172a);
}

.pa-history-date {
  font-size: 11px;
  color: var(--text-muted, #94a3b8);
}

.pa-history-stats {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pa-history-stat {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted, #64748b);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.pa-history-stat.is-ok {
  color: var(--success, #16a34a);
}

.pa-history-stat.is-gap {
  color: var(--accent, #2563eb);
}

/* ----------------------------- Mention ------------------------------ */
.pa-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 4px 0 0;
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--text-muted, #94a3b8);
}

.pa-disclaimer svg {
  flex: 0 0 auto;
  margin-top: 2px;
}

/* ------------------------------ Mobile ------------------------------ */
/* --------- Barre de rattachement client (mode Boîte à outils) --------- */
.pa-client {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  margin-bottom: 16px;
  border-radius: 13px;
  border: 1px solid var(--border, #e2e8f0);
  background: var(--surface, #fff);
}

.pa-client-empty {
  border-style: dashed;
  background: var(--accent-soft, rgba(37, 99, 235, 0.06));
}

.pa-client-icon {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--accent-soft, rgba(37, 99, 235, 0.1));
  color: var(--accent, #2563eb);
}

.pa-client-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pa-client-text strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--text, #0f172a);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pa-client-text span {
  font-size: 12px;
  color: var(--text-muted, #64748b);
}

.pa-client-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 6px;
}

.pa-client-attach,
.pa-client-change {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 12px;
  border-radius: 9px;
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.pa-client-attach {
  background: var(--accent, #2563eb);
  color: #fff;
}

.pa-client-attach:hover {
  filter: brightness(1.05);
}

.pa-client-change {
  background: var(--surface, #fff);
  border-color: var(--border, #e2e8f0);
  color: var(--text-muted, #64748b);
}

.pa-client-change:hover {
  border-color: var(--accent, #2563eb);
  color: var(--accent, #2563eb);
}

.pa-client-detach {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  border: 1px solid var(--border, #e2e8f0);
  background: var(--surface, #fff);
  color: var(--text-muted, #64748b);
  cursor: pointer;
}

.pa-client-detach:hover {
  border-color: #ef4444;
  color: #ef4444;
}

/* --------- Overlay « Rattacher un client » --------- */
.ca-overlay {
  position: fixed;
  inset: 0;
  z-index: 2200;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 64px 16px 16px;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(2px);
}

.ca-dialog {
  width: min(460px, 100%);
  max-height: calc(100vh - 96px);
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: var(--surface, #fff);
  border: 1px solid var(--border, #e2e8f0);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.25);
  overflow: hidden;
}

.ca-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--border, #e2e8f0);
}

.ca-head strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--text, #0f172a);
}

.ca-head em {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-style: normal;
  color: var(--text-muted, #64748b);
}

.ca-close {
  flex: 0 0 auto;
  margin-left: auto;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid var(--border, #e2e8f0);
  background: var(--surface, #fff);
  color: var(--text-muted, #64748b);
  cursor: pointer;
}

.ca-close:hover {
  border-color: var(--accent, #2563eb);
  color: var(--accent, #2563eb);
}

.ca-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 18px 18px;
  overflow-y: auto;
}

/* Les vues toggle via l'attribut [hidden] — un display:flex le défait sinon. */
.ca-body[hidden],
.ca-create[hidden] {
  display: none;
}

.ca-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 10px;
  border: 1px solid var(--border, #e2e8f0);
  color: var(--text-muted, #64748b);
}

.ca-search:focus-within {
  border-color: var(--accent, #2563eb);
}

.ca-input {
  flex: 1 1 auto;
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
  color: var(--text, #0f172a);
}

.ca-results {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 320px;
  overflow-y: auto;
}

.ca-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--border, #e2e8f0);
  background: var(--surface, #fff);
  text-align: left;
  cursor: pointer;
  color: var(--text-muted, #64748b);
}

.ca-row:hover {
  border-color: var(--accent, #2563eb);
}

.ca-row-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.ca-row-body strong {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text, #0f172a);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ca-row-body em {
  font-size: 11.5px;
  font-style: normal;
  color: var(--text-muted, #64748b);
}

.ca-row-kind {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--accent-soft, rgba(37, 99, 235, 0.1));
  color: var(--accent, #2563eb);
}

.ca-empty {
  padding: 16px 12px;
  text-align: center;
  font-size: 13px;
  color: var(--text-muted, #64748b);
}

.ca-new-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px dashed var(--border, #e2e8f0);
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  color: var(--accent, #2563eb);
  cursor: pointer;
}

.ca-new-toggle:hover {
  border-color: var(--accent, #2563eb);
  background: var(--accent-soft, rgba(37, 99, 235, 0.06));
}

.ca-create {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 18px 18px;
}

.ca-create-hint {
  margin: 0;
  font-size: 12px;
  color: var(--text-muted, #64748b);
}

.ca-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ca-field > span {
  font-size: 12px;
  font-weight: 600;
  color: var(--text, #0f172a);
}

.ca-field > span i {
  color: #ef4444;
  font-style: normal;
}

.ca-field input {
  padding: 9px 11px;
  border-radius: 9px;
  border: 1px solid var(--border, #e2e8f0);
  font-size: 14px;
  color: var(--text, #0f172a);
  background: var(--surface, #fff);
}

.ca-field input:focus {
  outline: none;
  border-color: var(--accent, #2563eb);
}

.ca-field-row {
  display: grid;
  grid-template-columns: 1fr 130px;
  gap: 10px;
}

.ca-create-err {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: #ef4444;
}

.ca-create-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 2px;
}

.ca-create-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 9px 12px;
  border-radius: 9px;
  border: 1px solid var(--border, #e2e8f0);
  background: var(--surface, #fff);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted, #64748b);
  cursor: pointer;
}

.ca-create-back:hover {
  border-color: var(--accent, #2563eb);
  color: var(--accent, #2563eb);
}

.ca-create-submit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  border-radius: 9px;
  border: none;
  background: var(--accent, #2563eb);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.ca-create-submit:hover {
  filter: brightness(1.05);
}

@media (max-width: 1023px) {
  .pa-root { padding: 4px 2px 24px; }

  .pa-client {
    flex-wrap: wrap;
  }

  .pa-client-empty .pa-client-attach {
    flex: 1 1 100%;
    justify-content: center;
  }

  .ca-overlay {
    padding: 16px;
    align-items: flex-end;
  }

  .ca-dialog {
    width: 100%;
    max-height: 88vh;
  }

  .pa-field-grid,
  .pa-field-grid-2 {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .pa-fleet-head {
    display: none;
  }

  .pa-fleet-row {
    grid-template-columns: minmax(0, 1fr) 92px;
    grid-template-areas:
      "type count"
      "tires count";
    gap: 3px 10px;
    padding: 11px 12px;
  }

  .pa-fleet-type {
    grid-area: type;
  }

  .pa-fleet-tires {
    grid-area: tires;
  }

  .pa-fleet-count {
    grid-area: count;
  }

  .pa-results {
    grid-template-columns: 1fr;
  }

  .pa-opp-levers {
    grid-template-columns: 1fr;
  }

  .pa-opp-title {
    font-size: 21px;
  }

  .pa-savebar {
    flex-direction: column;
    align-items: stretch;
  }

  .pa-save {
    justify-content: center;
  }

  .pa-history-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .pa-history-stats {
    justify-content: flex-start;
  }
}

/* --------- Conteneur modal Audit Parc dans le Dossier Client --------- */
.dc-parc-audit-modal {
  width: min(920px, 96vw);
  max-height: 92vh;
  overflow-y: auto;
}

.dc-parc-audit-modal .pa-root {
  padding-top: 0;
}
