/* ---------- tableau (seules les cases visibles sont dessinées) ---------- */
/* Tableau à hauteur d'écran : la grille se réduit quand la fiche d'un nom s'ouvre dessous. */
.zone-tableau{padding:12px;display:flex;flex-direction:column;height:calc(100dvh - var(--haut, 64px) - var(--barre) - 22px)}
.zone-tableau h2{margin-bottom:12px}
.zone-tableau .note{display:none}
.grille{display:grid;grid-template-columns:var(--rw) minmax(0,1fr);grid-template-rows:var(--ch) minmax(0,1fr);flex:1 1 auto;min-height:150px;border-radius:var(--r-md);background:var(--fond);box-shadow:var(--creux);overflow:hidden;font-family:var(--mono);font-size:12.5px;outline:none;padding:3px}
.grille:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.g-coin{display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:11px;border-right:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.g-cols,.g-lignes{position:relative;overflow:hidden}
.g-cols{border-bottom:1px solid var(--ligne)}
.g-lignes{border-right:1px solid var(--ligne)}
.g-piste{position:absolute;top:0;left:0;will-change:transform}
.g-corps{position:relative;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.g-espace{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}
.g-cases{position:absolute;top:0;left:0}
.gc,.gh{position:absolute;display:flex;align-items:center;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc{width:var(--cw);height:var(--ch);border-right:1px solid var(--ligne);border-bottom:1px solid var(--ligne);color:var(--text-2);cursor:pointer}
.gc:hover{background:var(--accent-soft);color:var(--text)}
.grille:focus-visible .gc.curseur{box-shadow:inset 0 0 0 2px var(--accent);color:var(--text)}
.gc.over{opacity:.2}
.gc.miss{opacity:.15}
.gc.hit{color:var(--accent-texte);font-weight:600}
.gc.fav{box-shadow:inset 3px 0 0 var(--accent);color:var(--text)}
.gc.ex{text-decoration:line-through;opacity:.3}
.gh{color:color-mix(in oklch,var(--tc) 75%,var(--text));font-weight:600;cursor:pointer}
.gh:hover{background:var(--accent-soft)}
.gh.col{width:var(--cw);height:var(--ch);border-right:1px solid var(--ligne)}
.gh.lig{width:var(--rw);height:var(--ch);justify-content:flex-end;border-bottom:1px solid var(--ligne);padding:0 6px;font-size:11px}
.g-vide{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px;padding:12px;box-shadow:var(--creux-sm);border-radius:var(--r-sm);color:var(--text-2);font-size:13.5px}
.gc.choisi{box-shadow:inset 0 0 0 2px var(--accent);color:var(--text);font-weight:600}
.g-fiche{flex:none;margin-top:12px;padding:12px 14px;border-radius:var(--r-md);background:var(--fond);box-shadow:var(--relief-sm)}
.g-fiche[hidden]{display:none}
.fiche-tete{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fiche-nom{font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fiche-nom.exclu{text-decoration:line-through;color:var(--text-3)}
.g-fiche .meta,.g-fiche .descriptif{justify-content:flex-start;margin-top:8px}
/* Téléphone : fiche réduite à l'essentiel (nom, actions, variantes sur la même ligne) ; le détail reste dans la forge. */
@media (max-width:900px){
  .g-fiche{margin-top:8px;padding:8px 10px}
  .fiche-nom{font-size:20px}
  .fiche-tete .mini.x{min-height:32px;min-width:32px;padding:0 8px}
  .g-fiche .meta,.g-fiche .descriptif{display:none}
  .fiche-origine{margin-top:4px}
  .fiche-actions{display:flex;align-items:center;gap:8px;margin-top:6px}
  .fiche-btns{display:flex;gap:6px;margin-top:0;flex:none}
  .fiche-btns .btn-rond{width:38px;height:38px;border-radius:11px}
  .fiche-btns .btn-rond .ico{width:18px;height:18px}
  .fiche-var{flex:1;min-width:0;margin-top:0;padding:4px 4px}
  .fiche-var .hint{display:none}
  .fiche-var .vchip{min-height:34px;padding:4px 9px;font-size:12px}
  .zone-tableau:has(.g-fiche:not([hidden])) .g-statut{display:none}
  .fiche-origine .mini.petit{min-height:30px}
}
.fiche-origine{margin:8px 0 0;font-size:12.5px;color:var(--text-3);display:flex;align-items:center;gap:8px}
.fiche-origine .mini.petit{margin-left:0}
.fiche-btns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
.fiche-btns .btn-rond{height:44px}
.fiche-btns .fiche-forge{color:var(--accent-texte)}
.fiche-tete .mini.x{min-height:38px}
/* Variantes sur une ligne qui défile de côté, pour garder la fiche basse. */
.fiche-var{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:10px 4px 6px;margin-top:6px;scrollbar-width:thin}
.fiche-var .hint{flex:none}
.fiche-var .vchip{flex:none}
.g-statut{margin:10px 2px 0;font-family:var(--mono);font-size:12.5px;color:var(--text-3);min-height:1.4em}
