/* Stili aggiunti nel porting. Il tema originale resta in main.css / style.css. */

.benvenuto { color: #fff; font-weight: bold; }
.banner-nero { background-color: #000; }
.login-modal .login-form .form-control { font-size: 16px; }

/* Sfondo d'erba delle pagine interne (prima: Panel con BackImageUrl in ogni pagina) */
.sfondo-erba {
    background: #000 url("/images/banner-bgs/erba_sfondo.jpg") no-repeat center / cover fixed;
    padding: 30px 0;
    min-height: 400px;
}

/* Tabelle ordinabili cliccando l'intestazione (prima: GridView AllowSorting) */
table[data-ordinabile] th { cursor: pointer; user-select: none; white-space: nowrap; }
table[data-ordinabile] th[aria-sort="ascending"]::after { content: " \25B2"; font-size: .7em; }
table[data-ordinabile] th[aria-sort="descending"]::after { content: " \25BC"; font-size: .7em; }
.table td.num, .table th.num { text-align: center; }

/* Titoli: barra nera con testo bianco, come gli h4 del tema (anche per gli h3) */
.titolo-sezione { margin: 10px 0 15px; padding: 15px 0; background: #202020; color: #fff;
    font-size: 16px; font-weight: bold; text-transform: uppercase; text-align: center; overflow: visible; }
.titolo-sezione span { padding: 0; }
.titolo-sezione span::before { display: none; }

.selettore-giornata { color: #fff; margin-bottom: 15px; }
.selettore-giornata select { color: #000; padding: 2px 6px; }

.messaggio { background: #fff; padding: 20px; border-radius: 4px; }

/* DashBoard */
.sfondo-dashboard { background-image: url("/images/sfondi/1920x900/pallafuoco.jpg"); }
.collegamenti-rapidi { display: flex; background: #fff; margin-bottom: 20px; }
.collegamenti-rapidi a { flex: 1; text-align: center; padding: 12px 4px; color: #000; font-weight: bold; }
.collegamenti-rapidi a:hover { background: #f0f0f0; text-decoration: none; }
.info-squadra th { width: 40%; }
.info-squadra .crediti { font-size: 14pt; font-weight: bold; }
.classifica-mini { font-size: 8pt; }
.classifica-mini .mia-squadra td { background: #ffe9a8; font-weight: bold; }
.calendario-squadra { max-height: 1050px; overflow-y: auto; }

/* Rosa: colori per ruolo come nel sito originale */
table.rosa { background: #e3eaeb; font-size: 10pt; font-weight: bold; }
table.rosa thead th { background: #1c5e55; color: #fff; }
table.rosa tbody tr { cursor: pointer; }
/* Testo centrato in verticale in tutte le tabelle del sito nuovo (il tema lo allinea in alto) */
.table > thead > tr > th, .table > tbody > tr > td { vertical-align: middle; }
table.rosa tbody tr:nth-child(even) { background: #fff; }
table.rosa tbody tr:hover, table.rosa tbody tr:focus { background: #c5bbaf; outline: none; }
.ruolo-P { color: darkorange; }
.ruolo-D { color: darkblue; }
.ruolo-C { color: darkred; }
.ruolo-A { color: darkgreen; }
.statistiche-giocatore { font-size: 9pt; }
.statistiche-giocatore thead th { background: darkgreen; color: #fff; font-weight: normal; }

/* Tabellino */
.tabellino-testata { margin-bottom: 15px; }
.tabellino-indietro a { color: #fff; }
.tabellino-squadra span { display: inline-block; text-align: center; }
table.tabellino { background: whitesmoke; font-size: 9pt; margin-bottom: 0; table-layout: fixed; width: 100%; }
table.tabellino td { vertical-align: middle; }
table.tabellino-riserve { border-top: 3px solid #999; }
/* Larghezze fisse: titolari e riserve sono due tabelle e devono restare allineate */
table.tabellino .col-ruolo { width: 7%; }
table.tabellino .col-cambio { width: 7%; }
table.tabellino .col-nome { width: 36%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
table.tabellino .col-voto { width: 10%; }
table.tabellino .col-bonus { width: 28%; }
table.tabellino .col-fv { width: 12%; }
table.tabellino .capitano { color: red; font-weight: bold; }
table.tabellino tr.rigorista-calciato td { background: green; color: #fff; }
.tabellino-punteggio { margin: 10px 0 20px; font-size: 20px; }
.tabellino-invio { color: #fff; font-weight: bold; text-shadow: 0 0 3px #000; }

/* Home: fasce con immagine di sfondo (prima: Panel con BackImageUrl) */
.sezione-home { background: #000 no-repeat center / cover fixed; padding: 30px 0; }
.link-bianco, .link-bianco:hover { color: #fff; font-weight: bold; }

/* Rose: intestazione con stemma e presidente */
.rosa-testata { display: flex; align-items: center; gap: 20px; padding: 10px 0; margin-bottom: 15px;
    color: #fff; text-shadow: 0 0 4px #000; }
.rosa-testata h4 { background: none; color: #fff; padding: 0; text-align: left; }

/* Chi gioca */
.chigioca-partita { margin-bottom: 30px; }
.chigioca-testata { display: flex; align-items: center; gap: 15px; margin-bottom: 10px; color: #fff; text-shadow: 0 0 4px #000; }
.chigioca-testata h4 { background: none; color: #fff; padding: 0; margin: 0 0 4px; text-align: left; }
.chigioca-testata h4::before, .chigioca-testata h4::after { display: none; }
.chigioca-bonus { font-size: 15px; }
.chigioca-bonus strong { font-size: 22px; color: #ff2a2a; margin-left: 6px; }
table.chigioca { background: whitesmoke; font-size: 9pt; margin-bottom: 10px; }
table.chigioca tbody td { font-weight: normal; }
table.chigioca thead th { background: darkgray; color: #000; }
table.chigioca tr.titolare td { background: lightgreen; }
table.chigioca td.capitano { color: red; font-weight: bold; }
table.chigioca td.cambio { color: darkorange; font-weight: bold; }
.chigioca-invio { color: #fff; font-weight: bold; text-shadow: 0 0 3px #000; }

/* Formazione */
.formazione-stato, .formazione-aiuto { color: #fff; text-shadow: 0 0 3px #000; }
.formazione-stato { font-weight: bold; margin-bottom: 15px; }
.formazione-opzioni { color: #fff; text-shadow: 0 0 3px #000; margin-bottom: 15px; }
.formazione-opzioni label { display: block; margin: 8px 0 2px; color: #fff; font-weight: bold; text-shadow: 0 1px 2px #000; }
.formazione-opzioni select { width: 100%; color: #000; padding: 4px; text-shadow: none; }
.formazione-avviso { display: none; }
.esito-ok { background: #dff0d8; color: #3c763d; font-weight: bold; }
.esito-errore { background: #f2dede; color: #a94442; }
.esito-errore ul { margin: 5px 0 0; }
table.rosa-formazione { background: #e3eaeb; font-size: 10pt; font-weight: bold; }
table.rosa-formazione thead th { background: #1c5e55; color: #fff; }
table.rosa-formazione tbody tr { cursor: pointer; }
table.rosa-formazione tbody tr:hover td, table.rosa-formazione tbody tr:focus td { background: #c5bbaf; outline: none; }
table.rosa-formazione tr.in-campo td { background: #7bd17b; }
table.rosa-formazione tr.in-panchina td { background: #ffc067; }
.apri-voti { border: none; background: none; padding: 0 4px; color: #1c5e55; font-size: 16px; }
.campo { background: #4c9a4c url("/images/campo.png") no-repeat center / 100% 100%; border: 2px solid #000;
    min-height: 460px; padding: 10px 4px; display: flex; flex-direction: column; justify-content: space-around; margin-bottom: 15px; }
.campo-reparto { display: flex; justify-content: space-around; }
.campo-slot { width: 24%; max-width: 90px; text-align: center; font-size: 8pt; font-weight: bold; color: #000; }
.campo-slot[data-id] { cursor: pointer; }
.campo-slot img { display: block; margin: 0 auto 2px; }
.campo-slot .nome { display: inline-block; max-width: 100%; padding: 1px 3px; border-radius: 3px; background: rgba(255,255,255,.85);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.campo-slot.capitano .nome { color: red; }
.campo-slot.switch .nome { outline: 2px solid darkorange; }
.etichetta-switch { display: inline-block; margin-top: 2px; padding: 0 4px; border-radius: 3px; background: darkorange; color: #fff; font-size: 7pt; font-weight: bold; }
.panchina li.switch { background: #ffe1b3; }
table.rosa-formazione tr.switch td:nth-child(2)::after { content: " \21C4"; color: darkorange; }
.campo-slot .segnaposto { display: inline-block; width: 32px; height: 32px; line-height: 28px; border: 2px dashed rgba(255,255,255,.85);
    border-radius: 50%; color: #fff; }
.panchina { background: whitesmoke; list-style: none; padding: 0; margin: 0 0 15px; font-size: 9pt; font-weight: bold; }
.panchina li { display: flex; align-items: center; gap: 6px; padding: 4px 6px; border-bottom: 1px solid #ddd; }
.panchina .num-panchina { width: 20px; color: #666; }
.panchina .ruolo { width: 14px; }
.panchina .nome { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.panchina button { border: 1px solid #999; background: #fff; padding: 0 6px; line-height: 20px; }
.panchina button:disabled { opacity: .3; }
.panchina-vuota { color: #888; font-style: italic; }
.formazione-invia { margin: 20px 0; }

/* Admin */
.menu-admin { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 15px; }
.menu-admin a { flex: 1; min-width: 120px; padding: 10px; background: #202020; color: #fff; text-align: center; font-weight: bold; text-transform: uppercase; }
.menu-admin a:hover { background: #444; text-decoration: none; }
.menu-admin a.attiva { background: #1c5e55; }
.riquadro-admin { background: #fff; padding: 15px; margin-bottom: 20px; }
.riquadro-admin h4 { margin-top: 0; }
.riquadro-admin h4 .punti-provvisori { display: block; margin-top: 6px; font-size: 14px; color: #ffd54f; text-transform: none; }
.riquadro-admin label { margin-top: 8px; }
.riquadro-admin .btn { margin-top: 10px; }
.riquadro-pericolo { border-left: 6px solid #c00; }
.aiuto-admin { color: #666; font-size: 9pt; margin: 8px 0 0; }
.selettori-admin { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 12px; margin-bottom: 25px; }
.selettori-admin label { margin: 0; }
.selettori-admin select { width: auto; }
.selettori-admin select + label { margin-left: 20px; }
.tabella-admin { font-size: 10pt; margin-bottom: 0; }
.tabella-admin thead th { background: #202020; color: #fff; }
.tabella-admin tr.selezionata td { background: #ffe9a8; }
.tabella-calcolo tr.senza-voto td { color: red; font-weight: bold; }
.tabella-calcolo tr.sostituito td { background: #fff3cd; }
.tabella-calcolo tr.inizio-riserve td { border-top: 3px solid #999; }
.azione-calcolo { margin-top: 10px; }
.azione-calcolo label { margin: 0 4px 0 0; }
.azione-calcolo .btn { margin-top: 0; }
.voto-ufficio { width: 70px !important; }
.sostituzione-calcolo { display: flex; align-items: center; justify-content: center; gap: 20px; }
.sostituzione-scelte { display: flex; flex-direction: column; min-width: 0; flex: 0 1 260px; }
.sostituzione-scelte label { margin: 4px 0 2px; }
.log-admin { max-height: 500px; overflow: auto; font-size: 9pt; white-space: pre-wrap; }
.log-ok { border-left: 6px solid #3c763d; }
.log-errore { border-left: 6px solid #a94442; }
