/* ---- Assistant Cerfa : accès au tableau de bord des pièces ---- */
/* onglet « Tableau de bord » en fin de barre d'étapes, distinct des rubriques du formulaire */
.steps a.cf-dash { margin-left: auto; background: #fff; color: var(--blue-700); border-color: var(--blue-400); }
.steps a.cf-dash::before { content: "\2190\00a0"; }
.steps a.cf-dash:hover { background: var(--blue-050); }
/* bulle après téléchargement réussi */
.mp-bubble.cf-done { margin: 16px 0 0; background: var(--green-050); border-color: #bfe3c6; }
.mp-bubble.cf-done strong { color: var(--green-600); }
/* bas de page : Précédent, Tableau de bord, Suivant */
.cf-nav { align-items: center; }
.cf-nav .cf-nav-dash { text-decoration: underline; text-underline-offset: 3px; }
/* ---- Étape 3.1 : parcelles du terrain reportées dans le Cerfa (Correction 8) ---- */
.cf-parc-carte { margin: 0 0 14px; align-items: center; }
.cf-parc-carte .hint, .cf-parc-btns .hint { align-self: center; margin: 0; }
.cf-parc-etat { margin: 0 0 8px; }
.cf-parc-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.cf-parc-table { width: 100%; border-collapse: collapse; font-size: .9rem; font-variant-numeric: tabular-nums; }
.cf-parc-table th, .cf-parc-table td { padding: 7px 10px; text-align: left; border-bottom: 1px solid var(--line); }
.cf-parc-table tbody tr:last-child td { border-bottom: 0; }
.cf-parc-table thead th { font-size: .76rem; font-weight: 700; color: var(--ink-soft); background: #f6f8fb; }
.cf-parc-table .cf-num { text-align: right; }
.cf-parc-table tr.cf-parc-g th { font-size: .76rem; font-weight: 700; color: var(--blue-700); background: var(--blue-050); padding: 5px 10px; }
.cf-vide { color: var(--amber-600); font-weight: 700; font-size: .8rem; white-space: nowrap; }
.cf-parc-total { margin: 10px 0 0; font-size: .9rem; }
.cf-parc-total.cf-parc-manque { color: var(--amber-600); }
.cf-parc-vide { margin: 0; font-size: .88rem; color: var(--ink-soft); }
.cf-parc-avert { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.cf-av { display: flex; gap: 8px; align-items: flex-start; padding: 7px 10px; border-radius: 8px; font-size: .84rem; line-height: 1.45; }
.cf-av-ic { flex-shrink: 0; }
.cf-av-attention { background: var(--amber-050); color: #7a5410; border: 1px solid #f0ddb8; }
.cf-av-info { background: var(--blue-050); color: var(--blue-800); border: 1px solid #cfe0f7; }
.cf-parc-btns { margin: 12px 0 0; align-items: center; }
@media (max-width: 640px) {
  /* champs en 16 px (pas de zoom d'iOS), boutons du choix des parcelles de 44 px */
  .cf-q input[type=text], .cf-q input[type=date], .cf-q textarea { font-size: 16px; }
  .cf-parc-table { font-size: .86rem; }
  .cf-parc-table th, .cf-parc-table td { padding: 7px 6px; }
  .cf-parc-btns .btn, .cf-parc-carte .btn { min-height: 44px; }
}
@media (max-width: 560px) {
  .steps a.cf-dash { margin-left: 0; }
  .cf-recap-btns .btn { flex: 1 1 100%; }
  .cf-nav { display: grid; grid-template-columns: 1fr 1fr; }
  .cf-nav .btn { width: 100%; padding-left: 10px; padding-right: 10px; }
  .cf-nav .cf-nav-dash { grid-column: 1 / -1; order: 3; }
}
