/* ==========================================================================
   ROTAZIONI — rotation chart (Analisi stagione, sperimentale)
   Colori mai hardcoded: le celle usano i token esistenti a piena tinta e
   variano solo `opacity` in base al valore (presenza/margine) — coerente
   in automatico col tema Arena.
   ========================================================================== */

.rot-wrap { display: flex; gap: 0; margin-top: 4px; }

.rot-labels { display: flex; flex-direction: column; flex-shrink: 0; width: 96px; padding-right: 6px; }
.rot-label {
  height: 22px;
  display: flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rot-label-head { height: 22px; }
.rot-label-margine { font-size: 10px; color: var(--color-text-secondary); font-weight: 800; border-top: 1px solid var(--color-border); margin-top: 2px; padding-top: 2px; }

.rot-scroll { flex: 1; min-width: 0; }
.rot-grid { display: flex; flex-direction: column; width: max-content; }
.rot-riga-corpo { display: flex; }

.rot-cella {
  width: 13px;
  height: 22px;
  flex-shrink: 0;
  box-sizing: border-box;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.rot-cella.rot-sep { border-right: 1px solid var(--color-border-strong); }

.rot-tick {
  height: 18px;
  font-size: 8px;
  font-weight: 800;
  color: var(--color-text-muted);
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  border-bottom: none;
  background: none;
}

.rot-presenza { background: var(--color-brand); }

.rot-margine-pos { background: var(--color-state-positive); }
.rot-margine-neg { background: var(--color-state-negative); }
.rot-margine-zero { background: var(--color-text-muted); }

.rot-legenda { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; font-size: 11px; color: var(--color-text-secondary); }
.rot-legenda-voce { display: flex; align-items: center; gap: 5px; }
.rot-lg-swatch { display: inline-block; width: 12px; height: 12px; border-radius: 2px; border: 1px solid var(--color-border); }
.rot-lg-presenza { background: var(--color-brand); }
.rot-lg-neg { background: var(--color-state-negative); }
.rot-lg-zero { background: var(--color-text-muted); opacity: .15; }
.rot-lg-pos { background: var(--color-state-positive); }

/* Tab Quintetti — Lineup Advanced Box Score */
.rot-lineup-input {
  display: block;
  width: 100%;
  min-height: var(--tap-target);
  padding: 0 10px;
  margin: 8px 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-text-primary);
  background: var(--color-surface);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  box-sizing: border-box;
}
.rot-lineup-input::placeholder { color: var(--color-text-muted); font-weight: 600; }
.rot-quintetto-cella { max-width: 112px; white-space: normal !important; line-height: 1.25; font-size: 11px; }
.rot-apri-giocatori {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; margin: 0 4px 2px 0;
  border-radius: var(--radius-pill); border: 1px solid var(--color-brand-ink);
  background: var(--color-brand-soft); color: var(--color-brand-ink);
  vertical-align: middle; touch-action: manipulation; flex-shrink: 0;
}
.rot-apri-giocatori .ico { width: 11px; height: 11px; }

.rot-lineup-filtri { display: flex; flex-direction: column; gap: 6px; margin-bottom: 4px; }
.rot-toggle {
  display: flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 700; color: var(--color-text-secondary);
  touch-action: manipulation;
}
.rot-toggle input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--color-brand); flex-shrink: 0; }
.rot-soglie { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-top: 2px; }
.rot-soglia {
  display: flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 700; color: var(--color-text-secondary);
}
.rot-soglia input {
  width: 58px; min-height: 30px; padding: 0 6px;
  font-size: 12px; font-weight: 700; color: var(--color-text-primary);
  background: var(--color-surface); border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm); box-sizing: border-box;
}

/* Quintetto + GP + MIN bloccate insieme durante lo scroll orizzontale — sempre
   una vista leggibile su "chi" e "quanto ha giocato" qualunque colonna si stia
   guardando a destra. Larghezze fisse per poter impilare gli offset "left". */
.rot-lineup-tab th:nth-child(1), .rot-lineup-tab td:nth-child(1) { width: 112px; min-width: 112px; max-width: 112px; }
.rot-lineup-tab th:nth-child(2), .rot-lineup-tab td:nth-child(2) { width: 34px; min-width: 34px; max-width: 34px; }
.rot-lineup-tab th:nth-child(3), .rot-lineup-tab td:nth-child(3) { width: 54px; min-width: 54px; max-width: 54px; }
.rot-lineup-tab th:nth-child(1), .rot-lineup-tab td:nth-child(1),
.rot-lineup-tab th:nth-child(2), .rot-lineup-tab td:nth-child(2),
.rot-lineup-tab th:nth-child(3), .rot-lineup-tab td:nth-child(3) { position: sticky; z-index: 1; }
.rot-lineup-tab th:nth-child(1), .rot-lineup-tab td:nth-child(1) { left: 0; }
.rot-lineup-tab th:nth-child(2), .rot-lineup-tab td:nth-child(2) { left: 112px; }
.rot-lineup-tab th:nth-child(3), .rot-lineup-tab td:nth-child(3) { left: 146px; }
.rot-lineup-tab thead th:nth-child(1), .rot-lineup-tab thead th:nth-child(2), .rot-lineup-tab thead th:nth-child(3) { z-index: 3; }
.rot-lineup-tab tbody tr td:nth-child(1), .rot-lineup-tab tbody tr td:nth-child(2), .rot-lineup-tab tbody tr td:nth-child(3) { background: var(--color-bg); }
.rot-lineup-tab tbody tr:nth-child(even) td:nth-child(1), .rot-lineup-tab tbody tr:nth-child(even) td:nth-child(2), .rot-lineup-tab tbody tr:nth-child(even) td:nth-child(3) { background: var(--color-surface); }
/* separatore visivo tra il blocco bloccato e il resto della tabella */
.rot-lineup-tab th:nth-child(3), .rot-lineup-tab td:nth-child(3) { border-right: 1px solid var(--color-border-strong); }
