/* Outil · TVA (VAT) : seulement ce qui lui est propre (le reste vient de app/kit.css).
   Préfixe des classes : tv-
   À gauche : HT, TVA, TTC (le résultat cherché en pêche ; toucher une ligne la copie), le montant à tous les taux du pays
   (4 lignes fixes), l'info, Copier le détail. À droite : le montant, HT / TTC, le pays, le taux (4 places + Autre). */
.tv .outil-fixe { align-items: stretch; }
.tv-carte { display: flex; flex-direction: column; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--filet-doux); padding: 6px 18px; }
.tv-ligne { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; height: 64px; align-items: center; border: 0; background: none; padding: 0;
  border-bottom: 1px solid var(--filet-doux); cursor: copy; color: var(--papier); }
.tv-ligne:last-child { border-bottom: 0; }
.tv-ligne span { font: var(--repere); letter-spacing: .1em; color: var(--texte2); }
.tv-ligne b { font: 700 26px/1 var(--display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tv-ligne[data-ligne="tva"] b { font-size: 19px; color: var(--texte2); }
.tv-ligne.tv-cible b { color: var(--peche); }
.tv-tous .groupe { margin-bottom: 4px; }
.tv-rangee { cursor: default; height: 44px; }
.tv-rangee .val { font-variant-numeric: tabular-nums; }
.tv-rangee.vide { border-bottom-color: transparent; }
.tv-info { flex: none; height: 2lh; margin: 0; overflow: hidden; }
.tv-actions { display: flex; justify-content: center; }
.tv-actions .pastille { cursor: pointer; }
.tv-actions .pastille:hover { translate: none; }
.tv-actions .pastille:disabled { opacity: .3; cursor: default; }

/* Les taux : 4 places fixes, puis « Autre » */
.tv-taux { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.tv-taux .puces { flex-wrap: nowrap; }
.tv-taux .puce { width: 76px; padding-inline: 0; justify-content: center; text-align: center; }   /* largeur fixe : « Autre » ne bouge pas d'un pays à l'autre */
.puce.tv-vide { visibility: hidden; }
.tv-libre { position: relative; width: 110px; flex: none; }
.tv-libre .saisie { padding-right: 32px; text-align: right; }
.tv-libre .saisie.actif { box-shadow: inset 0 0 0 1px var(--papier); }
.tv-libre i { position: absolute; right: 14px; top: 50%; translate: 0 -50%; font-style: normal; color: var(--texte2); pointer-events: none; }

/* Téléphone : le montant et HT / TTC d'abord (ce qu'on touche en premier) */
@media (max-width: 959px) { .tv-premier { order: -1; } }
