/* Campionato e componenti condivisi con Coppa. Richiede dashboard.css. */

:root {
    --champ-bg: var(--bg-main);
    --champ-panel: var(--bg-card);
    --champ-border: var(--border-color);
    --champ-border-strong: var(--border-strong);
    --champ-text: var(--text-main);
    --champ-muted: var(--text-muted);
    --champ-accent: var(--accent-primary);
    --champ-accent-hover: var(--accent-primary-hover);
    --champ-accent-soft: var(--accent-soft);
}

.championship-container { width: min(1360px,100%); margin: 0 auto; padding: 1.5rem; color: var(--champ-text); background: var(--champ-bg); }
.championship-header { margin-bottom: 1.25rem; }
.eyebrow, .panel-kicker { margin: 0 0 .3rem; color: var(--champ-muted); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.championship-header h1 { margin: 0; color: var(--champ-text); font-size: 1.75rem; }
.championship-subtitle { margin: .4rem 0 0; color: var(--champ-muted); }
.championship-empty, .panel-empty { padding: 1rem; color: var(--champ-muted); background: var(--champ-panel); border: var(--border-width) solid var(--champ-border); border-radius: 9px; }

.round-navigation { display: flex; align-items: end; justify-content: center; gap: .75rem; margin-bottom: 1rem; }
.round-arrow { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; color: var(--accent-strong); background: var(--champ-panel); border: var(--border-width) solid var(--champ-border-strong); border-radius: 7px; font-size: 1.5rem; line-height: 1; }
.round-arrow:hover { color: #fff; background: var(--champ-accent); border-color: var(--champ-accent); }
.round-arrow.disabled { color: #a5b5a7; background: #f4f7f4; border-color: #e0e8e1; cursor: default; }
.round-picker { min-width: 220px; }
.round-picker label { display: block; margin-bottom: .3rem; color: var(--champ-muted); font-size: .78rem; font-weight: 700; }
.round-picker select, .matchday-select { width: 100%; min-height: 38px; padding: .45rem .6rem; color: var(--champ-text); background: var(--champ-panel); border: var(--border-width) solid var(--champ-border-strong); border-radius: 6px; }

.round-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin: 0 0 1rem; }
.round-summary > div { min-width: 0; padding: .85rem .95rem; background: var(--champ-panel); border: var(--border-width) solid var(--champ-border); border-radius: 8px; }
.summary-label { display: block; margin-bottom: .25rem; color: var(--champ-muted); font-size: .74rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.round-summary strong { color: var(--champ-text); }
.home-text { color: var(--accent-strong) !important; }
.neutral-text { color: var(--warning) !important; }
.double-round-note { margin: 0 0 1rem; padding: .8rem 1rem; color: #5d4600; background: var(--warning-soft); border: var(--border-width) solid #ecd28d; border-radius: 8px; line-height: 1.4; }

.championship-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); gap: 1rem; align-items: start; }
.championship-panel { min-width: 0; overflow: hidden; color: var(--champ-text); background: var(--champ-panel); border: var(--border-width) solid var(--champ-border); border-radius: 10px; box-shadow: 0 2px 7px rgba(20,58,31,.05); }
.panel-title-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem; background: #f9fcf9; border-bottom: var(--border-subtle-width) solid var(--champ-border); }
.panel-title-row h2 { margin: 0; color: var(--champ-text); font-size: 1.12rem; }
.round-badge, .you-badge { display: inline-flex; align-items: center; min-height: 26px; padding: .25rem .55rem; color: var(--accent-strong); background: var(--champ-accent-soft); border: var(--border-subtle-width) solid #b8dec4; border-radius: 999px; font-size: .75rem; font-weight: 800; white-space: nowrap; }

.fixture-list { display: grid; gap: .75rem; padding: 1rem; }
.league-fixture { padding: .9rem; color: var(--champ-text); background: var(--champ-panel); border: var(--border-width) solid var(--champ-border); border-radius: 8px; }
.league-fixture.my-fixture { background: #f1faf3; border-color: #8fcfa2; }
.fixture-number { margin-bottom: .65rem; color: var(--champ-muted); font-size: .76rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.fixture-teams { display: grid; grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr); gap: .5rem; align-items: center; }
.fixture-team { display: flex; align-items: center; min-width: 0; gap: .5rem; }
.fixture-team.home { justify-content: flex-end; text-align: right; }
.fixture-team.away { justify-content: flex-start; text-align: left; }
.fixture-team-name { overflow: hidden; min-width: 0; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; }
.fixture-logo { width: 30px; height: 30px; flex: 0 0 30px; object-fit: contain; }
.fixture-versus { color: var(--champ-muted); font-size: .82rem; text-align: center; }
.fixture-meta { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-top: .75rem; color: var(--champ-muted); font-size: .82rem; }

.fixture-lineups { margin-top: .8rem; padding-top: .8rem; border-top: var(--border-subtle-width) solid var(--champ-border); }
.lineups-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 42px; padding: .6rem .75rem; color: var(--accent-strong); background: var(--champ-panel); border: var(--border-width) solid var(--champ-border-strong); border-radius: 7px; cursor: pointer; font: inherit; font-weight: 700; text-align: left; }
.lineups-toggle:hover, .lineups-toggle[aria-expanded="true"] { background: var(--champ-accent-soft); border-color: var(--champ-accent); }
.lineups-toggle[aria-expanded="true"] { border-bottom-right-radius: 0; border-bottom-left-radius: 0; }
.lineups-chevron { font-size: 1.15rem; transition: transform .18s ease; }
.lineups-toggle[aria-expanded="true"] .lineups-chevron { transform: rotate(180deg); }
.lineups-detail { display: none; overflow: hidden; background: #fbfdfb; border: var(--border-width) solid var(--champ-accent); border-top: 0; border-bottom-right-radius: 7px; border-bottom-left-radius: 7px; }
.lineups-detail.is-open { display: block; }
.lineups-columns { display: grid; grid-template-columns: 1fr 1fr; }
.lineup-side { min-width: 0; padding: .9rem; }
.lineup-side + .lineup-side { border-left: var(--border-subtle-width) solid var(--champ-border); }
.lineup-side-header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .75rem; }
.lineup-side-team { display: flex; align-items: center; min-width: 0; gap: .45rem; }
.lineup-side-team img { width: 24px; height: 24px; object-fit: contain; }
.lineup-side-team strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lineup-module { flex: 0 0 auto; color: var(--champ-muted); font-size: .82rem; }
.lineup-side h4 { margin: .75rem 0 .4rem; color: var(--champ-muted); font-size: .76rem; letter-spacing: .05em; text-transform: uppercase; }
.lineup-side h4:first-of-type { margin-top: 0; }
.lineup-player-list { display: grid; gap: .28rem; }
.lineup-player { display: flex; align-items: center; gap: .45rem; color: var(--champ-text); font-size: .87rem; line-height: 1.3; }
.lineup-position { flex: 0 0 20px; width: 20px; color: var(--accent-strong); font-weight: 800; text-align: center; }
.lineup-bench-list { opacity: .72; }
.lineup-missing { padding: .85rem 0; color: var(--champ-muted); font-size: .9rem; }
.lineups-locked { display: block; padding: .65rem .75rem; color: var(--champ-muted); background: #f7faf7; border: var(--border-width) solid var(--champ-border); border-radius: 7px; font-size: .88rem; }

.standings-scroll { overflow-x: auto; width: 100%; -webkit-overflow-scrolling: touch; }
.standings-table { width: 100%; min-width: 620px; border-collapse: collapse; color: var(--champ-text); font-size: .86rem; }
.standings-table th, .standings-table td { padding: .7rem .55rem; border-bottom: var(--border-subtle-width) solid #e7eee8; text-align: center; white-space: nowrap; }
.standings-table th { color: var(--champ-muted); background: #f9fcf9; font-size: .72rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.standings-table th:nth-child(2), .standings-table td:nth-child(2) { text-align: left; }
.standings-table tbody tr:hover { background: var(--bg-hover); }
.standings-table .my-standing { background: var(--champ-accent-soft); }
.standing-team { display: flex; align-items: center; min-width: 155px; gap: .5rem; }
.standing-logo { width: 26px; height: 26px; flex: 0 0 26px; object-fit: contain; }
.table-points { color: var(--accent-strong); font-weight: 800; }
.standings-note { margin: 0; padding: .85rem 1rem; color: var(--champ-muted); border-top: var(--border-subtle-width) solid var(--champ-border); font-size: .84rem; line-height: 1.4; }

@media (max-width: 900px) { .championship-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
    .championship-container { padding: 1rem; }
    .round-summary { grid-template-columns: 1fr; gap: .5rem; }
    .round-summary > div { display: flex; justify-content: space-between; gap: .75rem; align-items: center; }
    .fixture-list { padding: .75rem; }
    .lineups-columns { grid-template-columns: 1fr; }
    .lineup-side + .lineup-side { border-top: var(--border-subtle-width) solid var(--champ-border); border-left: 0; }
}
