/* B4U — import des fichiers Excel : zone de dépôt, aperçu, dernier import, points à vérifier.
   Une colonne centrée, un seul bouton noir à la fois. Aucune couleur d'alerte hors le rouge d'un fichier illisible. */
.imp { display: flex; flex-direction: column; gap: 20px; max-width: 860px; margin: 0 auto; width: 100%; }
.imp-tete h1 { font-size: 28px; font-weight: 800; letter-spacing: -.01em; line-height: 1.15; }
.imp-tete .sous { color: var(--encre-2); font-size: 16px; margin-top: 2px; }
.imp-titre { display: flex; align-items: baseline; gap: 4px 12px; flex-wrap: wrap; margin-bottom: 10px; }
.imp-titre h2 { font-size: 20px; font-weight: 800; }
.imp-titre .sous { color: var(--encre-2); min-width: 0; overflow-wrap: anywhere; }
.imp-titre button.lien { margin-left: auto; }
/* Aperçu : le bouton principal est en tête, à droite du titre (on n'a pas à le chercher sous les cartes) */
.imp-titre-apercu { align-items: center; }
.imp-titre-apercu .btn { margin-left: auto; }
.imp-gris { color: var(--encre-2); font-weight: 400; }

/* Zone de dépôt */
.imp-depot { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 40px 24px 36px; border-style: dashed; border-color: var(--bord-fort); }
.imp-depot > .ic { width: 36px; height: 36px; color: var(--encre-3); stroke-width: 1.4; }
.imp-depot > b { font-size: 18px; font-weight: 800; }
.imp-depot > p { color: var(--encre-2); max-width: 460px; }
.imp-depot .imp-choisir { margin-top: 10px; cursor: pointer; position: relative; }
.imp-choisir:focus-within { box-shadow: 0 0 0 3px var(--halo); }
.imp-attente { opacity: .5; pointer-events: none; }
.imp.imp-survol .imp-depot, .imp.imp-survol .imp-apercu { outline: 3px solid var(--bleu-600); outline-offset: 4px; border-radius: 14px; }
.imp-erreur { margin-top: 10px; overflow-wrap: anywhere; }
.imp-autres { color: var(--encre-2); }
.imp-autres label { cursor: pointer; color: var(--bleu-600); position: relative; }
.imp-autres label:hover { text-decoration: underline; text-underline-offset: 2px; }

/* Aperçu et rapport : une carte par fichier */
.imp-apercu, .imp-dernier { display: flex; flex-direction: column; gap: 14px; }
.imp-dernier { scroll-margin-top: 16px; }
.imp-apercu > .imp-titre, .imp-dernier > .imp-titre { margin-bottom: -4px; }
.imp-fichier .carte-titre h3 { overflow-wrap: anywhere; }
.imp-rg { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 2px 16px; padding: 10px 0; border-top: 1px solid var(--ligne); }
.imp-rg > div { min-width: 0; overflow-wrap: anywhere; }
.imp-etats { display: flex; flex-direction: column; gap: 3px; }
.imp-etat b { font-weight: 700; }
.imp-ecarts { padding: 10px 0 2px; border-top: 1px solid var(--ligne); }
.imp-ecarts ul { margin: 4px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.imp-ecarts li, .imp-ecarts p { overflow-wrap: anywhere; }
.imp-ecarts p { margin-top: 4px; }
.imp-bilan { color: var(--encre-2); font-size: 13.5px; }
.imp-msg { overflow-wrap: anywhere; color: var(--t-rouge); }
.imp-rien { color: var(--encre-2); }
.imp-rien b { color: var(--encre); }
.imp-bilan-import p + p { margin-top: 8px; }
.imp-liens { display: flex; gap: 6px 20px; flex-wrap: wrap; align-items: baseline; }

/* Points à vérifier : une liste à cocher ; la ligne ouvre la commande */
.imp-liste { overflow: hidden; }
.imp-liste-tete { display: flex; align-items: baseline; gap: 4px 12px; flex-wrap: wrap; padding: 16px 20px 12px; }
.imp-liste-tete h3 { font-size: 16px; font-weight: 800; }
.imp-liste-tete .sous { color: var(--encre-2); }
.imp-liste-tete button.lien { margin-left: auto; }
.imp-resume-anomalies { padding: 0 20px 16px; color: var(--encre-2); }
.imp-resume-anomalies::first-letter { text-transform: uppercase; }
.imp-outils { display: flex; flex-direction: column; gap: 10px; padding: 12px 20px 12px; }
.imp-outils .onglets { margin-bottom: 0; gap: 16px; }
.imp-outils .onglet { padding: 6px 0 8px; gap: 6px; white-space: nowrap; }
.imp-outils .onglet .n { color: var(--encre-3); font-weight: 600; }
.imp-outils .champ-recherche { max-width: none; }
.imp-pt { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 12px 20px; border-top: 1px solid var(--ligne); }
.imp-pt.sans-coche { grid-template-columns: minmax(0, 1fr) auto; }
.imp-coche { width: 22px; height: 22px; margin-top: 1px; border-radius: 6px; border: 1.75px solid var(--encre-3); background: var(--surface); display: grid; place-items: center; color: transparent; padding: 0; }
.imp-coche:hover { border-color: var(--encre); color: var(--encre); background: var(--fond-2); }
.imp-coche .ic { width: 14px; height: 14px; stroke-width: 2.5; }
.imp-coche.fait { background: var(--encre); border-color: var(--encre); color: #fff; }
.imp-coche:disabled { opacity: .45; cursor: default; }
.imp-pt-corps { min-width: 0; color: inherit; display: block; }
.imp-pt-corps b { display: block; font-size: 15px; font-weight: 700; overflow-wrap: anywhere; }
.imp-pt-corps small { display: block; font-size: 13.5px; color: var(--encre-2); margin-top: 2px; overflow-wrap: anywhere; }
a.imp-pt-corps:hover { text-decoration: none; }
a.imp-pt-corps:hover b { text-decoration: underline; text-underline-offset: 2px; }
.imp-pt.vu .imp-pt-corps b { font-weight: 500; color: var(--encre-2); }
.imp-pt-fam { font-size: 13px; font-weight: 600; color: var(--encre-2); white-space: nowrap; padding-top: 2px; }
.imp-rien-liste { padding: 22px 20px; color: var(--encre-2); text-align: center; border-top: 1px solid var(--ligne); }
.imp-points .note-bas { margin-top: 12px; }
.imp-pied { margin-top: 4px; }

/* Contact d'une boutique importée (`contactBoutique`) : le texte du fichier, tel quel, retours à la ligne compris */
.imp-contact { margin-top: 3px; font-size: 13.5px; color: var(--encre-2); display: flex; gap: 2px 12px; flex-wrap: wrap; overflow-wrap: anywhere; }
.imp-contact span { min-width: 0; overflow-wrap: anywhere; white-space: pre-line; }
.imp-contact a { white-space: nowrap; font-weight: 600; }

@media (max-width: 760px) {
  .imp-tete h1 { font-size: 24px; }
  .imp-depot { padding: 28px 16px; }
  .imp-rg { grid-template-columns: minmax(0, 1fr); }
  .imp-pt { padding: 12px 14px; gap: 12px; grid-template-columns: 22px minmax(0, 1fr); }
  .imp-pt.sans-coche { grid-template-columns: minmax(0, 1fr); }
  .imp-pt-fam { display: none; }
  .imp-liste-tete, .imp-outils { padding-left: 14px; padding-right: 14px; }
  .imp-resume-anomalies { padding: 0 14px 14px; }
  .imp-titre-apercu .btn { width: 100%; margin: 8px 0 2px; white-space: normal; height: auto; min-height: 46px; padding: 10px 16px; }
  .imp-dernier { scroll-margin-top: 70px; }
}
