/* V54.49 — LISTA CAMPIONATI */
.leagues-status{font-size:11px;color:#829ab3;margin:10px 2px 16px}
.leagues-status[data-kind="error"]{color:#ff8a8a}
.leagues-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.leagues-count{font-size:12px;color:#829ab3}
.leagues-count strong{color:#49aeff;font-size:16px}
.leagues-bulk{display:flex;gap:10px;flex-wrap:wrap}
.lg-bulk-btn{background:#08182a;border:1px solid #284d73;color:#a9bed2;border-radius:8px;padding:9px 14px;font-size:10px;font-weight:800;cursor:pointer}
.lg-bulk-btn:hover{border-color:#2c8ee7;color:#fff}
.leagues-search{width:100%;box-sizing:border-box;background:#04111d;border:1px solid #224b70;color:#eaf4ff;border-radius:11px;padding:13px 16px;font-size:13px;margin-bottom:16px}
.leagues-search:focus{outline:none;border-color:#2c8ee7}
.leagues-search::placeholder{color:#5c7891}
.leagues-list{display:flex;flex-direction:column;gap:10px;max-height:min(68vh,720px);overflow-y:auto;padding-right:4px}
.leagues-empty{color:#7e96ae;font-size:12px;padding:18px 4px}
/* flex-shrink:0 è IMPORTANTE: senza, in un flex column con max-height+overflow:auto,
   Chrome schiaccia ogni riga a ~2px (solo il bordo, niente testo/checkbox visibili —
   il bug delle "righe azzurre vuote") invece di farle scorrere a dimensione naturale.
   Dettaglio tecnico: con 150+ righe il contenuto totale supera enormemente il
   max-height della lista; l'algoritmo flexbox prova a farle entrare TUTTE riducendone
   l'altezza (flex-shrink:1 di default) fino quasi a zero, perché la "dimensione minima
   automatica" di un flex item con overflow diverso da visible è 0 per specifica CSS.
   flex-shrink:0 dice al browser di non restringere mai le righe sotto la loro
   dimensione naturale, lasciando che sia lo scroll (overflow-y:auto) a gestire
   l'eccesso di contenuto, come previsto. */
.leagues-country{border:1px solid #173d61;background:linear-gradient(145deg,#071827,#05111e);border-radius:13px;overflow:hidden;flex-shrink:0}
.leagues-country-summary{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;user-select:none}
.leagues-country-arrow{display:inline-block;color:#5fa8e8;font-size:11px;transition:transform .15s;flex:0 0 auto}
.leagues-country.collapsed .leagues-country-arrow{transform:rotate(-90deg)}
.leagues-country-flag{font-size:17px;line-height:1;flex:0 0 auto}
.leagues-country-name{font-size:14px;font-weight:900;flex:1;color:#eaf4ff}
.leagues-country-meta{font-size:9px;letter-spacing:.6px;font-weight:800;color:#49aeff;border:1px solid #20527d;padding:5px 9px;border-radius:20px;white-space:nowrap}
.leagues-country-toggle-all{display:flex;align-items:center;gap:6px;font-size:9px;color:#a9bed2;font-weight:800;cursor:pointer}
.leagues-country-toggle-all input{width:16px;height:16px;accent-color:#1689ff}
.leagues-country-body{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;border-top:1px solid #122d45;padding:8px}
.leagues-country.collapsed .leagues-country-body{display:none}
.leagues-row{display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:9px;cursor:pointer}
.leagues-row:hover{background:#09182a}
.leagues-row input{width:17px;height:17px;accent-color:#1689ff;flex:0 0 auto}
.leagues-row-name{font-size:12px;font-weight:700;flex:1;color:#eaf4ff}
.leagues-row-count{font-size:9px;color:#718ca6;white-space:nowrap}
.leagues-save-bar{position:sticky;bottom:12px;margin-top:18px;background:#06182ceb;border:1px solid #245b8f;border-radius:12px;padding:14px 16px;display:flex;justify-content:flex-end;align-items:center;gap:14px;backdrop-filter:blur(10px)}
.leagues-save-status{font-size:11px;color:#829bb4;flex:1;text-align:right}
.leagues-save-status.ok{color:#43df83}
.leagues-save-status.error{color:#ff7b88}
@media(max-width:700px){
  .leagues-country-body{grid-template-columns:1fr}
  .leagues-toolbar{flex-direction:column;align-items:flex-start}
  .leagues-save-bar{flex-direction:column;align-items:stretch}
  .leagues-save-status{text-align:left}
}
