/**
 * import-cadastre.css
 * Styles du module d'import cadastral — Famivest
 *
 * ✅ CSP-compatible : aucun style inline dans le JS.
 *    Ajouter dans le <head> :
 *    <link rel="stylesheet" href="/css/import-cadastre.css" />
 *
 * Remplace l'ancienne injection dynamique de <style> dans import-cadastre.js
 * et les style="width:X%" de buildConfBar().
 */

/* ─── Modal ──────────────────────────────────────────────────────────────── */

.ic-modal-card {
  max-width: 860px;
  width: 95vw;
}

.ic-body {
  min-height: 300px;
  padding: 1.25rem;
}

/* ─── Zone de dépôt ──────────────────────────────────────────────────────── */

.ic-drop-zone {
  border: 2px dashed var(--color-border, #d1d5db);
  border-radius: 10px;
  padding: 2.5rem 1.5rem;
  text-align: center;
  cursor: pointer;
  transition:
    background 0.15s,
    border-color 0.15s;
}

.ic-drop-zone:hover,
.ic-drop-zone.drag-over {
  background: rgba(0, 0, 0, 0.03);
  border-color: #6366f1;
}

.ic-drop-icon {
  font-size: 2.5rem;
  color: #9ca3af;
  display: block;
  margin-bottom: 0.75rem;
}

.ic-drop-title {
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 0.35rem;
}

.ic-drop-sub {
  font-size: 0.8rem;
  color: #6b7280;
}

.ic-hidden-input {
  display: none;
}

/* ─── Prévisualisation fichier ───────────────────────────────────────────── */

.ic-file-preview {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  margin-top: 0.75rem;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 0.875rem;
}

.ic-file-preview.is-hidden {
  display: none;
}

.ic-filename {
  flex: 1;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ic-filesize {
  color: #6b7280;
  white-space: nowrap;
}

.ic-clear-btn {
  padding: 2px 8px !important;
  font-size: 0.75rem !important;
}

/* ─── Vue progression ────────────────────────────────────────────────────── */

.ic-progress-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 2rem 0;
}

.ic-step-icon {
  font-size: 2rem;
}

.ic-step-label {
  font-size: 1rem;
  font-weight: 500;
}

.ic-spinner-track {
  width: 200px;
  height: 4px;
  background: #e5e7eb;
  border-radius: 2px;
  overflow: hidden;
}

.ic-spinner {
  height: 4px;
  background: #6366f1;
  border-radius: 2px;
  animation: icSlide 1.4s ease-in-out infinite;
}

@keyframes icSlide {
  0% {
    width: 0;
    margin-left: 0;
  }
  50% {
    width: 60%;
    margin-left: 20%;
  }
  100% {
    width: 0;
    margin-left: 100%;
  }
}

.ic-progress-detail {
  font-size: 0.8rem;
  color: #6b7280;
}

/* ─── Méta cards ─────────────────────────────────────────────────────────── */

.ic-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
  margin-bottom: 1rem;
}

.ic-meta-card {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 0.6rem 0.875rem;
}

.ic-meta-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  margin-bottom: 2px;
}

.ic-meta-val {
  font-size: 0.875rem;
  font-weight: 500;
}

/* ─── Onglets ────────────────────────────────────────────────────────────── */

.ic-tabs {
  display: flex;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 0;
}

.ic-tab {
  font-size: 0.875rem;
  padding: 0.6rem 1rem;
  cursor: pointer;
  border: none;
  background: none;
  border-bottom: 2px solid transparent;
  color: #6b7280;
  font-weight: 400;
  margin-bottom: -1px;
}

.ic-tab.active {
  color: #111827;
  border-bottom-color: #6366f1;
  font-weight: 500;
}

.ic-tab-count {
  font-size: 0.75rem;
  color: #6b7280;
  margin-left: 4px;
}

/* ─── Tableaux ───────────────────────────────────────────────────────────── */

.ic-table-wrap {
  overflow-x: auto;
  max-height: 320px;
  overflow-y: auto;
}

.ic-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
}

.ic-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  text-align: left;
  padding: 6px 8px;
  font-size: 0.7rem;
  font-weight: 500;
  color: #6b7280;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  white-space: nowrap;
}

.ic-table td {
  padding: 7px 8px;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: middle;
}

.ic-table tr:last-child td {
  border-bottom: none;
}

.ic-table tr:hover td {
  background: #f9fafb;
}

.ic-table tr.ic-selected td {
  background: #eff6ff;
}

.ic-table tr.ic-low-conf td {
  background: #fffbeb;
}

.ic-th-check {
  width: 32px;
}

.ic-th-conf {
  width: 90px;
}

/* ─── Barre de confiance ─────────────────────────────────────────────────── */

.ic-conf-bar {
  display: flex;
  align-items: center;
  gap: 4px;
}

.ic-conf-track {
  flex: 1;
  height: 4px;
  background: #e5e7eb;
  border-radius: 2px;
}

.ic-conf-fill {
  height: 4px;
  border-radius: 2px;
}

.ic-conf-fill.high {
  background: #10b981;
}
.ic-conf-fill.mid {
  background: #f59e0b;
}
.ic-conf-fill.low {
  background: #ef4444;
}

.ic-conf-val {
  font-size: 0.7rem;
  color: #6b7280;
  min-width: 28px;
  text-align: right;
}

/*
 * ✅ Remplacement de style="width:X%" — CSP-compatible
 *
 * Classes ic-conf-w-{0..100} pour la largeur de .ic-conf-fill.
 * Générées ici au pas de 1 via le patron ci-dessous.
 * Si vous utilisez un bundler (PostCSS, Sass), vous pouvez remplacer
 * ce bloc par une boucle @for.
 */

.ic-conf-w-0 {
  width: 0%;
}
.ic-conf-w-1 {
  width: 1%;
}
.ic-conf-w-2 {
  width: 2%;
}
.ic-conf-w-3 {
  width: 3%;
}
.ic-conf-w-4 {
  width: 4%;
}
.ic-conf-w-5 {
  width: 5%;
}
.ic-conf-w-6 {
  width: 6%;
}
.ic-conf-w-7 {
  width: 7%;
}
.ic-conf-w-8 {
  width: 8%;
}
.ic-conf-w-9 {
  width: 9%;
}
.ic-conf-w-10 {
  width: 10%;
}
.ic-conf-w-11 {
  width: 11%;
}
.ic-conf-w-12 {
  width: 12%;
}
.ic-conf-w-13 {
  width: 13%;
}
.ic-conf-w-14 {
  width: 14%;
}
.ic-conf-w-15 {
  width: 15%;
}
.ic-conf-w-16 {
  width: 16%;
}
.ic-conf-w-17 {
  width: 17%;
}
.ic-conf-w-18 {
  width: 18%;
}
.ic-conf-w-19 {
  width: 19%;
}
.ic-conf-w-20 {
  width: 20%;
}
.ic-conf-w-21 {
  width: 21%;
}
.ic-conf-w-22 {
  width: 22%;
}
.ic-conf-w-23 {
  width: 23%;
}
.ic-conf-w-24 {
  width: 24%;
}
.ic-conf-w-25 {
  width: 25%;
}
.ic-conf-w-26 {
  width: 26%;
}
.ic-conf-w-27 {
  width: 27%;
}
.ic-conf-w-28 {
  width: 28%;
}
.ic-conf-w-29 {
  width: 29%;
}
.ic-conf-w-30 {
  width: 30%;
}
.ic-conf-w-31 {
  width: 31%;
}
.ic-conf-w-32 {
  width: 32%;
}
.ic-conf-w-33 {
  width: 33%;
}
.ic-conf-w-34 {
  width: 34%;
}
.ic-conf-w-35 {
  width: 35%;
}
.ic-conf-w-36 {
  width: 36%;
}
.ic-conf-w-37 {
  width: 37%;
}
.ic-conf-w-38 {
  width: 38%;
}
.ic-conf-w-39 {
  width: 39%;
}
.ic-conf-w-40 {
  width: 40%;
}
.ic-conf-w-41 {
  width: 41%;
}
.ic-conf-w-42 {
  width: 42%;
}
.ic-conf-w-43 {
  width: 43%;
}
.ic-conf-w-44 {
  width: 44%;
}
.ic-conf-w-45 {
  width: 45%;
}
.ic-conf-w-46 {
  width: 46%;
}
.ic-conf-w-47 {
  width: 47%;
}
.ic-conf-w-48 {
  width: 48%;
}
.ic-conf-w-49 {
  width: 49%;
}
.ic-conf-w-50 {
  width: 50%;
}
.ic-conf-w-51 {
  width: 51%;
}
.ic-conf-w-52 {
  width: 52%;
}
.ic-conf-w-53 {
  width: 53%;
}
.ic-conf-w-54 {
  width: 54%;
}
.ic-conf-w-55 {
  width: 55%;
}
.ic-conf-w-56 {
  width: 56%;
}
.ic-conf-w-57 {
  width: 57%;
}
.ic-conf-w-58 {
  width: 58%;
}
.ic-conf-w-59 {
  width: 59%;
}
.ic-conf-w-60 {
  width: 60%;
}
.ic-conf-w-61 {
  width: 61%;
}
.ic-conf-w-62 {
  width: 62%;
}
.ic-conf-w-63 {
  width: 63%;
}
.ic-conf-w-64 {
  width: 64%;
}
.ic-conf-w-65 {
  width: 65%;
}
.ic-conf-w-66 {
  width: 66%;
}
.ic-conf-w-67 {
  width: 67%;
}
.ic-conf-w-68 {
  width: 68%;
}
.ic-conf-w-69 {
  width: 69%;
}
.ic-conf-w-70 {
  width: 70%;
}
.ic-conf-w-71 {
  width: 71%;
}
.ic-conf-w-72 {
  width: 72%;
}
.ic-conf-w-73 {
  width: 73%;
}
.ic-conf-w-74 {
  width: 74%;
}
.ic-conf-w-75 {
  width: 75%;
}
.ic-conf-w-76 {
  width: 76%;
}
.ic-conf-w-77 {
  width: 77%;
}
.ic-conf-w-78 {
  width: 78%;
}
.ic-conf-w-79 {
  width: 79%;
}
.ic-conf-w-80 {
  width: 80%;
}
.ic-conf-w-81 {
  width: 81%;
}
.ic-conf-w-82 {
  width: 82%;
}
.ic-conf-w-83 {
  width: 83%;
}
.ic-conf-w-84 {
  width: 84%;
}
.ic-conf-w-85 {
  width: 85%;
}
.ic-conf-w-86 {
  width: 86%;
}
.ic-conf-w-87 {
  width: 87%;
}
.ic-conf-w-88 {
  width: 88%;
}
.ic-conf-w-89 {
  width: 89%;
}
.ic-conf-w-90 {
  width: 90%;
}
.ic-conf-w-91 {
  width: 91%;
}
.ic-conf-w-92 {
  width: 92%;
}
.ic-conf-w-93 {
  width: 93%;
}
.ic-conf-w-94 {
  width: 94%;
}
.ic-conf-w-95 {
  width: 95%;
}
.ic-conf-w-96 {
  width: 96%;
}
.ic-conf-w-97 {
  width: 97%;
}
.ic-conf-w-98 {
  width: 98%;
}
.ic-conf-w-99 {
  width: 99%;
}
.ic-conf-w-100 {
  width: 100%;
}

/* ─── Badges nature ──────────────────────────────────────────────────────── */

.ic-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 500;
  padding: 1px 7px;
  border-radius: 99px;
  white-space: nowrap;
}

.ic-badge.bati {
  background: #eff6ff;
  color: #1d4ed8;
}
.ic-badge.nonbati {
  background: #f0fdf4;
  color: #15803d;
}

/* ─── Select type de bien ────────────────────────────────────────────────── */

.ic-type-select {
  font-size: 0.75rem;
  padding: 2px 4px;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  max-width: 140px;
}

/* ─── Avertissement confiance basse ──────────────────────────────────────── */

.ic-warn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding: 0.6rem 0.875rem;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 8px;
  font-size: 0.8rem;
  color: #92400e;
}

.ic-warn.is-hidden {
  display: none;
}

/* ─── Vue succès ─────────────────────────────────────────────────────────── */

.ic-success-view {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 2.5rem 0;
}

.ic-success-icon {
  font-size: 3rem;
  color: #10b981;
}

.ic-success-msg {
  font-size: 1.1rem;
  font-weight: 600;
}

.ic-success-sub {
  font-size: 0.875rem;
  color: #6b7280;
}

/* ─── Footer ─────────────────────────────────────────────────────────────── */

.ic-footer-row {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  width: 100%;
}

.ic-footer-row.is-hidden {
  display: none;
}

/* ─── Compteur import ────────────────────────────────────────────────────── */

.ic-import-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 99px;
  font-size: 0.75rem;
  font-weight: 600;
  margin-left: 4px;
}
/* ============================================================
   import-cadastre.css — delta v2
   À AJOUTER à la fin de votre fichier import-cadastre.css existant.
   Pas de style inline, pas de style=, CSP-compatible.
   ============================================================ */

/* ── Tailles des nouvelles colonnes ─────────────────────────── */
.ic-modal-card {
  max-width: 1100px;
} /* plus large pour les colonnes supplémentaires */

.ic-cell-lib {
  min-width: 140px;
}
.ic-cell-cp {
  min-width: 65px;
  max-width: 70px;
}
.ic-cell-ville {
  min-width: 110px;
}
.ic-cell-section {
  min-width: 80px;
}
.ic-cell-prefixe {
  min-width: 90px;
}
.ic-cell-plan {
  min-width: 80px;
}
.ic-cell-type {
  min-width: 130px;
}
.ic-cell-lot {
  min-width: 70px;
}
.ic-cell-rc {
  min-width: 55px;
  text-align: right;
}
.ic-cell-surface {
  min-width: 80px;
}

/* ── Inputs compacts dans les cellules ──────────────────────── */
.ic-table td .form-input,
.ic-table td .form-select {
  font-size: 0.75rem;
  padding: 3px 5px;
  height: 26px;
  border-radius: 4px;
  width: 100%;
}

.ic-table td .form-select {
  padding-right: 20px; /* espace pour la flèche native */
}

/* ── Champ libellé en erreur ────────────────────────────────── */
.ic-table td .form-input.is-danger {
  border-color: var(--color-border-danger, #ef4444);
  outline: none;
}

/* ── Ligne ignorée ──────────────────────────────────────────── */
.ic-table tr.ic-ignored td {
  opacity: 0.4;
  text-decoration: line-through;
}

/* ── Icône succès après validation ─────────────────────────── */
.ic-valid-ok {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-success, #10b981);
  font-size: 1.1rem;
}

/* ── Astérisque champ obligatoire ──────────────────────────── */
.ic-required {
  color: var(--color-text-danger, #ef4444);
  font-size: 0.75rem;
  margin-left: 2px;
}

/* ── Autocomplete dans les cellules ─────────────────────────── */
.ic-cell-lib,
.ic-cell-ville {
  position: relative;
}

.ic-cell-lib .autocomplete-suggestions,
.ic-cell-ville .autocomplete-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 200;
  min-width: 180px;
  max-height: 160px;
  overflow-y: auto;
  background: var(--color-background-primary, #fff);
  border: 1px solid var(--color-border-secondary, #e5e7eb);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

/* ── Barre de confiance : classes ic-conf-w-0 à ic-conf-w-100 ─ */
/* Générées par boucle — placées ici pour éviter tout style= inline */
.ic-conf-w-0 {
  width: 0%;
}
.ic-conf-w-5 {
  width: 5%;
}
.ic-conf-w-10 {
  width: 10%;
}
.ic-conf-w-15 {
  width: 15%;
}
.ic-conf-w-20 {
  width: 20%;
}
.ic-conf-w-25 {
  width: 25%;
}
.ic-conf-w-30 {
  width: 30%;
}
.ic-conf-w-35 {
  width: 35%;
}
.ic-conf-w-40 {
  width: 40%;
}
.ic-conf-w-45 {
  width: 45%;
}
.ic-conf-w-50 {
  width: 50%;
}
.ic-conf-w-55 {
  width: 55%;
}
.ic-conf-w-60 {
  width: 60%;
}
.ic-conf-w-65 {
  width: 65%;
}
.ic-conf-w-70 {
  width: 70%;
}
.ic-conf-w-75 {
  width: 75%;
}
.ic-conf-w-80 {
  width: 80%;
}
.ic-conf-w-85 {
  width: 85%;
}
.ic-conf-w-86 {
  width: 86%;
}
.ic-conf-w-87 {
  width: 87%;
}
.ic-conf-w-88 {
  width: 88%;
}
.ic-conf-w-89 {
  width: 89%;
}
.ic-conf-w-90 {
  width: 90%;
}
.ic-conf-w-91 {
  width: 91%;
}
.ic-conf-w-92 {
  width: 92%;
}
.ic-conf-w-93 {
  width: 93%;
}
.ic-conf-w-94 {
  width: 94%;
}
.ic-conf-w-95 {
  width: 95%;
}
.ic-conf-w-96 {
  width: 96%;
}
.ic-conf-w-97 {
  width: 97%;
}
.ic-conf-w-98 {
  width: 98%;
}
.ic-conf-w-99 {
  width: 99%;
}
.ic-conf-w-100 {
  width: 100%;
}
/* ============================================================
   import-cadastre.css — delta v2
   À AJOUTER à la fin de votre fichier import-cadastre.css existant.
   Pas de style inline, pas de style=, CSP-compatible.
   ============================================================ */

/* ── Tailles des nouvelles colonnes ─────────────────────────── */
.ic-modal-card {
  max-width: 1100px;
} /* plus large pour les colonnes supplémentaires */

.ic-cell-lib {
  min-width: 140px;
}
.ic-cell-cp {
  min-width: 65px;
  max-width: 70px;
}
.ic-cell-ville {
  min-width: 110px;
}
.ic-cell-section {
  min-width: 80px;
}
.ic-cell-prefixe {
  min-width: 90px;
}
.ic-cell-plan {
  min-width: 80px;
}
.ic-cell-type {
  min-width: 130px;
}
.ic-cell-lot {
  min-width: 70px;
}
.ic-cell-rc {
  min-width: 55px;
  text-align: right;
}
.ic-cell-surface {
  min-width: 80px;
}

/* ── Inputs compacts dans les cellules ──────────────────────── */
.ic-table td .form-input,
.ic-table td .form-select {
  font-size: 0.75rem;
  padding: 3px 5px;
  height: 26px;
  border-radius: 4px;
  width: 100%;
}

.ic-table td .form-select {
  padding-right: 20px; /* espace pour la flèche native */
}

/* ── Champ libellé en erreur ────────────────────────────────── */
.ic-table td .form-input.is-danger {
  border-color: var(--color-border-danger, #ef4444);
  outline: none;
}

/* ── Ligne ignorée ──────────────────────────────────────────── */
.ic-table tr.ic-ignored td {
  opacity: 0.4;
  text-decoration: line-through;
}

/* ── Icône succès après validation ─────────────────────────── */
.ic-valid-ok {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-success, #10b981);
  font-size: 1.1rem;
}

/* ── Astérisque champ obligatoire ──────────────────────────── */
.ic-required {
  color: var(--color-text-danger, #ef4444);
  font-size: 0.75rem;
  margin-left: 2px;
}

/* ── Autocomplete dans les cellules ─────────────────────────── */
.ic-cell-lib,
.ic-cell-ville {
  position: relative;
}

.ic-cell-lib .autocomplete-suggestions,
.ic-cell-ville .autocomplete-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 200;
  min-width: 180px;
  max-height: 160px;
  overflow-y: auto;
  background: var(--color-background-primary, #fff);
  border: 1px solid var(--color-border-secondary, #e5e7eb);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

/* ── Barre de confiance : classes ic-conf-w-0 à ic-conf-w-100 ─ */
/* Générées par boucle — placées ici pour éviter tout style= inline */
.ic-conf-w-0 {
  width: 0%;
}
.ic-conf-w-5 {
  width: 5%;
}
.ic-conf-w-10 {
  width: 10%;
}
.ic-conf-w-15 {
  width: 15%;
}
.ic-conf-w-20 {
  width: 20%;
}
.ic-conf-w-25 {
  width: 25%;
}
.ic-conf-w-30 {
  width: 30%;
}
.ic-conf-w-35 {
  width: 35%;
}
.ic-conf-w-40 {
  width: 40%;
}
.ic-conf-w-45 {
  width: 45%;
}
.ic-conf-w-50 {
  width: 50%;
}
.ic-conf-w-55 {
  width: 55%;
}
.ic-conf-w-60 {
  width: 60%;
}
.ic-conf-w-65 {
  width: 65%;
}
.ic-conf-w-70 {
  width: 70%;
}
.ic-conf-w-75 {
  width: 75%;
}
.ic-conf-w-80 {
  width: 80%;
}
.ic-conf-w-85 {
  width: 85%;
}
.ic-conf-w-86 {
  width: 86%;
}
.ic-conf-w-87 {
  width: 87%;
}
.ic-conf-w-88 {
  width: 88%;
}
.ic-conf-w-89 {
  width: 89%;
}
.ic-conf-w-90 {
  width: 90%;
}
.ic-conf-w-91 {
  width: 91%;
}
.ic-conf-w-92 {
  width: 92%;
}
.ic-conf-w-93 {
  width: 93%;
}
.ic-conf-w-94 {
  width: 94%;
}
.ic-conf-w-95 {
  width: 95%;
}
.ic-conf-w-96 {
  width: 96%;
}
.ic-conf-w-97 {
  width: 97%;
}
.ic-conf-w-98 {
  width: 98%;
}
.ic-conf-w-99 {
  width: 99%;
}
.ic-conf-w-100 {
  width: 100%;
}

/* ============================================================
   import-cadastre.css — delta v3
   ============================================================ */

/* ── [FIX 1] Dropdown libellé au-dessus du modal ────────────────
   Le modal a overflow:hidden sur .modal-body qui coupe les
   suggestions. On force le z-index et on sort du flux normal. */

.ic-modal-card .modal-body {
  overflow: visible; /* permet aux dropdowns de déborder */
}

.ic-cell-lib,
.ic-cell-ville {
  position: relative;
}

.ic-cell-lib .autocomplete-suggestions,
.ic-cell-ville .autocomplete-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 9999; /* au-dessus de tout le reste du modal */
  min-width: 200px;
  max-height: 180px;
  overflow-y: auto;
  background: var(--color-background-primary, #fff);
  border: 1px solid var(--color-border-secondary, #e5e7eb);
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

/* ── [FIX 4] Adresse plus large ─────────────────────────────── */
.ic-cell-adresse {
  min-width: 160px;
  max-width: 200px;
}
.ic-th-adresse {
  min-width: 160px;
}

/* ── [FIX 3] Bouton discret Lot + RC — dans la cellule Actions ─
   Plus de colonne séparée : le bouton ⊕ est dans .actions,
   toujours visible à droite de valider/ignorer.               */

/* Cellule Actions : largeur fixe, sticky pour rester visible   */
.ic-th-actions,
.ic-td-actions {
  white-space: nowrap;
  min-width: 90px;
}

.ic-extra-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: none;
  background: transparent;
  cursor: pointer;
  color: var(--color-text-tertiary, #9ca3af);
  border-radius: 4px;
  transition:
    color 0.12s,
    background 0.12s;
  vertical-align: middle;
}

.ic-extra-btn:hover {
  color: var(--color-text-secondary, #6b7280);
  background: var(--color-background-secondary, #f3f4f6);
}

/* Cellules Lot + RC masquées par défaut (togglées via JS) */
.ic-extra-cell.is-hidden {
  display: none;
}
.ic-extra-cell {
  min-width: 70px;
}

.ic-cell-lot {
  min-width: 70px;
}
.ic-cell-rc {
  min-width: 60px;
  text-align: right;
  font-size: 0.8rem;
  color: var(--color-text-secondary, #6b7280);
  white-space: nowrap;
}
