/* Contrôleur de migration, Nemo Ciment
   Se charge après outils.css (formulaire, .r-table, .pastille, .r-ed, .verdicts) ; reprend le champ fichier
   et les options du générateur de redirections 301, les filtres et pastilles de code de l'extracteur de liens. */

.outil .champ textarea.adresses { min-height: 190px; font: 14.5px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; }
.outil .fichier-ligne { margin: 0 0 22px; }
.outil .fichier-ligne label { display: block; font-family: var(--font-display); font-size: 17px; color: var(--ink); margin: 0 0 8px; }
.outil .fichier-ligne input[type="file"] { display: block; max-width: 100%; color: var(--muted); font: 14px var(--font-body); }
.outil .fichier-ligne input[type="file"]::file-selector-button { font: 600 14px var(--font-body); color: #0a0a0a; background: var(--pink); border: 0; border-radius: 999px; padding: 8px 16px; margin-right: 12px; }
.outil .fichier-ligne .aide { font-size: 13.5px; color: var(--muted-2); margin: 6px 0 0; }
.outil .domaines { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.outil .actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 22px; }
.outil .actions .btn { min-height: 46px; }
.outil .actions .btn:disabled { opacity: .6; }
.btn[hidden] { display: none !important; } /* .btn impose son display, qui l'emporte sur l'attribut hidden */
.outil .estimation { font-size: 14px; line-height: 1.55; color: #d0d0d4; margin: -6px 0 18px; }
.outil .estimation:empty, .outil .verdicts:empty { display: none; }
.outil .verdicts { margin: 0 0 18px; }

.lp-body p.m-progres { margin: 14px 0 0; font-size: 14.5px; color: #d0d0d4; }
.m-resume { max-width: 560px; }
.m-resume td.m-nb { white-space: nowrap; width: 1%; text-align: right; font-variant-numeric: tabular-nums; }
.m-resume th:nth-child(n+2) { text-align: right; }
.lp-body p.m-total, .lp-body p.l-compte { margin: 10px 0 0; font-size: 13.5px; color: var(--muted); }

.pastille.m-ok { background: rgba(34,197,94,.16); color: #4ade80; }
.pastille.m-noter { background: rgba(245,165,36,.16); color: #f5c264; }
.pastille.m-corriger { background: rgba(239,68,68,.16); color: #f87171; }
.pastille.m-gris { background: rgba(255,255,255,.08); color: var(--muted); }
.r-statut .pastille, .m-verdict .pastille { white-space: nowrap; }

.l-filtres { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; margin: 22px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); }
.l-filtres label { display: flex; align-items: center; gap: 8px; font-size: 14.5px; color: var(--muted); font-family: var(--font-body); letter-spacing: 0; text-transform: none; }
.l-filtres .btn { min-height: 40px; padding-top: 8px; padding-bottom: 8px; font-size: 14.5px; }

.m-table th, .m-table td { padding: 10px 8px; }
.m-table td { font-size: 14px; }
.m-table td.m-n { color: var(--muted-2); white-space: nowrap; width: 1%; }
.m-table td.m-code { white-space: nowrap; width: 1%; }
.m-table td.m-url { font: 12.5px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; min-width: 180px; }
.m-table td.m-url .r-ed { font-family: var(--font-body); }
.m-table td.m-url .code-http { margin-left: 4px; }
.m-table td.m-verdict { min-width: 210px; }
.m-chaine { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.m-pbs { margin: 6px 0 0; padding-left: 16px; font-size: 13px; line-height: 1.45; color: #d0d0d4; overflow-wrap: anywhere; }
.m-pbs li { margin: 2px 0; }
.m-vide { color: var(--muted-2); }

.code-http { display: inline-block; min-width: 3.2em; text-align: center; font: 600 13.5px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; padding: 2px 9px; border-radius: 999px; background: rgba(255,255,255,.08); color: var(--muted); }
.code-http.c-ok { background: rgba(34,197,94,.16); color: #4ade80; }
.code-http.c-redir { background: rgba(96,165,250,.16); color: #93c5fd; }
.code-http.c-erreur { background: rgba(245,165,36,.16); color: #f5c264; }

@media (max-width: 900px) {
  .outil .champ textarea.adresses { font-size: 16px; }
}
@media (max-width: 640px) {
  .outil .domaines { grid-template-columns: 1fr; }
  .m-resume tbody tr { grid-template-columns: 1fr auto auto; }
  /* Une carte par ligne : chaque cellule porte son libellé. */
  .m-table tbody tr { display: block; }
  .m-table td { display: block; width: auto !important; min-width: 0 !important; margin: 0 0 6px; }
  .m-table td[data-l]::before { content: attr(data-l); display: block; font: 600 11.5px/1.4 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--muted-2); margin-bottom: 2px; }
  .m-table td.m-n::before { content: "#"; margin-right: 2px; }
}
