/* Outil · Liste de plans (Shot list), id shotlist : seulement ce qui lui est propre (le reste vient de app/kit.css).
   Préfixe des classes : sh-
   À gauche : le tableau des plans (en-tête, lignes de hauteur fixe dans une zone fixe qui défile ; le plan choisi
   souligné), le total, Exporter .csv, Copier, Imprimer et le lien vers Valeurs de plan. À droite : le projet, les
   actions sur le plan choisi (ajouter, dupliquer, monter, descendre, supprimer) et sa fiche. */
.sh .outil-fixe { align-items: stretch; }
.sh-tableau { display: flex; flex-direction: column; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--filet-doux); padding: 6px 8px; }
.sh-entete, .sh-ligne { display: grid; grid-template-columns: 34px 52px 58px minmax(0, 1fr) 62px 52px; gap: 8px; align-items: center; padding: 0 8px; }
.sh-entete { height: 34px; border-bottom: 1px solid var(--filet-doux); font: 500 10px/1 var(--mono); letter-spacing: .06em; color: var(--texte2); }
.sh-lignes { height: 380px; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; padding-top: 4px; }
.sh-ligne { flex: none; height: 54px; grid-template-rows: auto auto; row-gap: 3px; border: 0; border-radius: 10px; background: none; cursor: pointer; text-align: left; color: var(--papier);
  transition: background .2s var(--courbe); }
.sh-ligne:hover { background: rgba(242, 240, 235, .04); }
.sh-ligne.actuelle { background: rgba(242, 240, 235, .08); box-shadow: inset 0 0 0 1px var(--papier); }
.sh-ligne b { font: 700 15px/1 var(--display); color: var(--peche); }
.sh-ligne span { font: 500 12.5px/1.2 var(--mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sh-ligne i { grid-column: 2 / -1; font: 400 11.5px/1.2 var(--corps); font-style: normal; color: var(--texte2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; height: 1.2em; }
.sh-vide { margin: 40px 0; text-align: center; font: var(--valeur); letter-spacing: .06em; color: var(--texte2); }
.sh-info { flex: none; height: 1lh; margin: 0; overflow: hidden; }
.sh-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.sh-actions .pastille { cursor: pointer; }
.sh-actions .pastille:hover { translate: none; }
.sh-actions .pastille:disabled { opacity: .3; cursor: default; }

.sh-outils { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sh-outils .pastille { cursor: pointer; }
.sh-outils .pastille:hover { translate: none; }
.sh-outils .pastille:disabled { opacity: .3; cursor: default; }
.sh-rond { width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; cursor: pointer; background: none;
  box-shadow: inset 0 0 0 1px var(--filet); color: var(--papier); font: 500 15px/1 var(--corps); }
.sh-rond svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.sh-rond:disabled { opacity: .25; cursor: default; }
.sh-fiche { display: flex; flex-direction: column; gap: 14px; transition: opacity .3s var(--courbe); }
.sh-gris { opacity: .3; pointer-events: none; }
.sh-deux { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sh-puces .puce { cursor: pointer; }
@media (max-width: 559px) { .sh-entete, .sh-ligne { grid-template-columns: 24px 38px 44px minmax(0, 1fr) 0 58px; gap: 6px; } .sh-entete span { overflow: hidden; text-overflow: ellipsis; } .sh-entete span:nth-child(5), .sh-ligne span:nth-child(5) { display: none; } }
