.lineup-controls{display:flex;flex-wrap:wrap;gap:18px;margin:20px 0}.lineup-controls .select-control{flex:1;min-width:220px}.lineup-editor select{max-width:100%;width:100%;padding:10px;border:1px solid var(--border,#dce3dd);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit}.lineup-editor input[type=number]{width:76px;padding:9px;border:1px solid var(--border,#dce3dd);border-radius:8px;font:inherit}.lineup-bench-group{margin:20px 0}.lineup-role-note{display:block;font-size:11px;margin-top:5px;color:var(--muted,#68756d)}.lineup-role-note.invalid{color:#a24b2b}#lineupValidation{white-space:pre-line}button.formation-card{text-align:left;font:inherit;cursor:pointer;color:inherit}button.formation-card:focus-visible{outline:3px solid #9ea94d;outline-offset:3px}

.auth-modal[hidden]{display:none!important}.auth-modal .season-modal{max-height:85vh;overflow:auto}.auth-modal input{width:100%;font:inherit;padding:11px;border:1px solid var(--border,#dce3dd);border-radius:8px}.auth-modal label{display:block;margin:12px 0 6px}.auth-modal #leagueAuthStatus{white-space:pre-line}.auth-modal #leagueRoundForm{border-top:1px solid var(--border,#dce3dd);margin-top:20px;padding-top:16px}

/* Il pulsante di accesso contiene testo, anziche una sola icona. */
.topbar-right #leagueLoginButton{flex:0 0 auto;width:auto;min-width:82px;max-width:180px;height:34px;margin-left:0;margin-right:12px;padding:0 14px;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:640px){.topbar-right #leagueLoginButton{min-width:70px;max-width:140px;height:30px;padding:0 10px;margin-right:6px;font-size:10px}}

.topbar-right #leagueLoginButton{background:#146b3b;border-color:#146b3b;color:#fff;box-shadow:0 3px 9px #146b3b24}
.topbar-right #leagueLoginButton:hover{background:#0e542d;border-color:#0e542d;color:#fff}
.topbar-right #leagueLoginButton:focus-visible{outline:3px solid #92cfa7;outline-offset:3px}

[data-league-admin][hidden]{display:none!important}

#lineupFixtures{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.lineup-fixtures-group{padding:16px;border:1px solid #dce3dd;border-radius:12px}.lineup-fixtures-group button{background:transparent;border:0;color:#146b3b;font:inherit;cursor:pointer;text-decoration:underline}.auth-modal select{width:100%;padding:10px;border:1px solid #dce3dd;border-radius:8px}#leagueRoundStatus{white-space:pre-line;color:#146b3b}

#leagueUsers{border-top:1px solid #dce3dd;margin-top:24px;padding-top:18px}#leagueUsersList p{padding:12px;background:#edf7ef;border-radius:8px}#leagueInviteStatus,#leaguePasswordStatus{white-space:pre-line}

/* Respect hidden controls in the account dialog, including forms with layout rules. */
#leagueAuthModal [hidden]{display:none!important}
#leagueAuthModal.invitation-mode #leagueLoginForm,
#leagueAuthModal.invitation-mode #leagueRoundForm,
#leagueAuthModal.invitation-mode #leagueUsers,
#leagueAuthModal.invitation-mode .season-modal > .season-modal-actions,
#leagueAuthModal.invitation-mode #leaguePasswordForm > h3{display:none!important}

.topbar-right .league-management-button{width:auto;min-width:0;flex:0 0 auto;padding:0 12px;font-size:11px;white-space:nowrap}
#leagueAuthModal #leagueUsers{border-top:0;margin-top:0;padding-top:0}
#leagueAuthModal #leagueUsers > h3{display:none}
@media(max-width:700px){.topbar-right{flex-wrap:wrap;gap:6px}.topbar-right .league-management-button{font-size:10px;padding:0 8px}}

/* The participant enters the lineup directly; administration stays with the president. */
body.league-coach #pageMatchday > .control-strip,
body.league-coach #pageMatchday > .upload-section,
body.league-coach #qualifierGrid,
body.league-coach #matches,
body.league-coach #closeLineupEditor,
body.league-coach [data-page="season"],
body.league-coach [data-goto="season"],
body.league-coach #pageSeason{display:none!important}
#coachRoundSummary{white-space:pre-line;padding:12px 16px;border-radius:10px;background:#edf7ef;color:#146b3b}
#coachRoundSummary[hidden],body:not(.league-coach) #coachRoundSummary{display:none!important}

/* Match the existing general calendar presentation. */
#lineupFixtures{display:block;margin:0 0 24px}
#lineupFixtures .lineup-calendar-card{display:grid;grid-template-columns:minmax(0,1fr);max-width:880px;overflow:hidden;background:#fff;border:1px solid #dce8df;border-radius:16px;box-shadow:0 5px 18px #123b2505}
#lineupFixtures .lineup-calendar-card.has-cups{grid-template-columns:repeat(2,minmax(0,1fr))}
#lineupFixtures .lineup-calendar-section{min-width:0;padding:20px}
#lineupFixtures .lineup-calendar-section h3{margin:0 0 12px;color:#226b40;font-size:14px;line-height:1.4;font-weight:700}
#lineupFixtures .lineup-calendar-cups{min-width:0;background:#f6faf7}
#lineupFixtures .has-cups .lineup-calendar-cups{border-left:1px solid #dce8df}
#lineupFixtures .lineup-calendar-note{margin:0 0 12px;color:#7a9181;font-size:12px;line-height:1.5}
#lineupFixtures ol{list-style:none;padding:0;margin:0}
#lineupFixtures li{display:flex;align-items:center;gap:4px;min-height:40px;border-bottom:1px solid #e1ebe4;color:#56735f;font-size:12px}
#lineupFixtures li:last-child{border-bottom:0}
#lineupFixtures button{min-width:0;padding:8px 0;border:0;border-radius:3px;background:transparent;color:#56735f;font:inherit;line-height:1.4;text-align:left;text-decoration:none;overflow-wrap:anywhere;cursor:pointer}
#lineupFixtures button:hover{color:#087843;background:#edf7ef}
#lineupFixtures button:focus-visible{outline:2px solid #087843;outline-offset:3px}
#lineupFixtures .lineup-calendar-dash{flex:none;color:#8ca294}
#lineupFixtures .lineup-calendar-cups .lineup-calendar-section + .lineup-calendar-section{border-top:1px solid #dce8df}
@media(max-width:600px){#lineupFixtures .lineup-calendar-card.has-cups{grid-template-columns:minmax(0,1fr)}#lineupFixtures .has-cups .lineup-calendar-cups{border-left:0;border-top:1px solid #dce8df}#lineupFixtures .lineup-calendar-section{padding:16px}}

#lineupFixtures .lineup-calendar-card{max-width:none}
#lineupFixtures .lineup-calendar-date{margin:-6px 0 12px;color:#7a9181;font:500 11px var(--mono,monospace);letter-spacing:.06em}
.lineup-same-formation{display:flex;align-items:center;gap:12px;flex:1;min-width:240px;padding:14px 16px;border:1px solid #dce8df;border-radius:10px;background:#f6faf7;color:#226b40;font-size:14px;cursor:pointer}
.lineup-same-formation input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:#087843}
#lineupScopeLabel[hidden]{display:none!important}

.topbar-right #leagueLogout{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-width:64px;height:34px;padding:0 14px;border:1px solid #b7d0bf;border-radius:9px;background:#fff;color:#226b40;font-size:11px;font-weight:700;white-space:nowrap}
.topbar-right #leagueLogout[hidden]{display:none!important}
.topbar-right #leagueLogout:hover{background:#edf7ef}
.topbar-right #leagueLogout:focus-visible{outline:2px solid #087843;outline-offset:3px}

/* Each header element occupies its own grid cell. */
.topbar{display:grid!important;grid-template-columns:minmax(0,1fr) 170px auto;grid-template-rows:auto;align-items:center;gap:12px 20px;height:auto;padding-block:12px}
.topbar > .nav-list{grid-column:1;grid-row:1;min-width:0;max-width:100%;justify-self:start;overflow-x:auto}
.topbar > .topbar-maker{position:static;transform:none;grid-column:2;grid-row:1;justify-self:center;width:170px;min-width:0}
.topbar > .topbar-maker > .brand-personal-logo{width:100%;max-width:170px;height:58px;object-fit:contain}
.topbar > .topbar-right{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 12px;min-width:0;max-width:100%}
.topbar > .topbar-right > .icon-button{margin:0;flex-shrink:0}
.topbar > .topbar-right > #globalStatus{overflow-wrap:anywhere}
body.league-admin .topbar{grid-template-columns:170px minmax(0,1fr);grid-template-rows:auto auto}
body.league-admin .topbar > .topbar-maker{grid-column:1;grid-row:1;justify-self:start}
body.league-admin .topbar > .topbar-right{grid-column:2;grid-row:1;justify-self:stretch}
body.league-admin .topbar > .nav-list{grid-column:1/-1;grid-row:2;justify-self:start;max-width:100%}
@media(max-width:1000px){
 body:not(.league-admin) .topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}
 body:not(.league-admin) .topbar > .nav-list{grid-column:1/-1;grid-row:1}
 body:not(.league-admin) .topbar > .topbar-maker{grid-column:1;grid-row:2;justify-self:start}
 body:not(.league-admin) .topbar > .topbar-right{grid-column:2;grid-row:2}
}
@media(max-width:620px){
 .topbar{gap:10px;padding:10px}
 body.league-admin .topbar{grid-template-columns:120px minmax(0,1fr)}
 .topbar > .topbar-maker{width:120px}
 .topbar > .topbar-maker > .brand-personal-logo{height:44px}
 .topbar > .nav-list{justify-self:stretch!important}
 .topbar > .topbar-right{gap:8px}
}
