/* File: /assets/style.css */

/* Stili per la Navigazione Principale */
.main-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #3f51b5;
    padding: 0 20px;
    color: white;
    margin-bottom: 20px;
}
.main-nav a {
    color: white;
    text-decoration: none;
    padding: 15px 20px;
    display: inline-block;
}
.main-nav a:hover {
    background-color: #303f9f;
}
.nav-user {
    display: flex;
    align-items: center;
}
.nav-user span {
    margin-right: 15px;
}


body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    background-color: #f4f4f9;
    color: #333;
    margin: 0;
    padding: 20px;
}

h1 {
    text-align: center;
    color: #1a237e;
}

.controls-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

.search-container {
    margin:0 auto; /* Spinge la ricerca tutta a destra */
}

/* Stile per il nuovo toggle */
.toggle-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

.toggle-container label {
		font-weight: bold;
    font-size: 14px;
    color: #333;
    cursor: pointer;
}

#hideAssignedToggle {
    width: 16px;
    height: 16px;
    cursor: pointer;
}


/* Stile per nascondere le colonne delle statistiche */
#warRoomTable.hide-stats .stats-col {
    display: none;
}

/* Regole per nascondere selettivamente le colonne delle statistiche */
#warRoomTable.hide-quotazione th[data-col="quotazione"],
#warRoomTable.hide-quotazione td[data-col="quotazione"] {
    display: none;
}

#warRoomTable.hide-fpi th[data-col="fpi"],
#warRoomTable.hide-fpi td[data-col="fpi"] {
    display: none;
}

#warRoomTable.hide-titolare th[data-col="titolare"],
#warRoomTable.hide-titolare td[data-col="titolare"] {
    display: none;
}

#warRoomTable.hide-iaa th[data-col="iaa"],
#warRoomTable.hide-iaa td[data-col="iaa"] {
    display: none;
}

/* Stile per i nuovi contenitori dei toggle */
.controls-toggles {
    display: flex;
    align-items: center;
    gap: 15px;
}
.column-toggle-container {
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: #f8f9fa;
    padding: 5px 10px;
    border-radius: 6px;
}
.column-toggle-container > span {
    font-weight: bold;
    font-size: 14px;
}
.checkbox-group {
    display: flex;
    align-items: center;
    gap: 4px;
}
.checkbox-group label {
    font-size: 14px;
    cursor: pointer;
}
.checkbox-group input[type="checkbox"] {
    cursor: pointer;
}

/* Stile per il separatore tra le checkbox */
.toggle-container .separator {
    margin-left: 10px;
    margin-right: 10px;
    color: #ccc;
}

.filter-btn {
    padding: 10px 10px;
    border: 1px solid #ccc;
    background-color: #fff;
    color: #333;
    cursor: pointer;
    border-radius: 5px;
    font-size: 16px;
    transition: all 0.2s ease-in-out;
}

.filter-btn:hover {
    background-color: #e8eaf6;
    border-color: #3f51b5;
}

.filter-btn.active {
    background-color: #3f51b5;
    color: white;
    border-color: #3f51b5;
}

#searchInput {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    width: 150px;
}

table {
    width: 100%;
    margin: 20px auto;
    border-collapse: collapse;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
    background-color: white;
}

th, td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

thead th {
    background-color: #3f51b5;
    color: white;
    cursor: pointer;
    position: relative;
}


thead th[onclick]::after {
    content: ' ↕';
    font-size: 0.8em;
    opacity: 0.6;
}

tbody tr:nth-of-type(even) {
    background-color: #f8f8f8;
}

tbody tr:hover {
    background-color: #e8eaf6;
}

/* Classi per evidenziare i giocatori */
.is-bargain { background-color: #c8e6c9 !important; /* Verde chiaro per gli affari */ }
.is-trap { background-color: #ffcdd2 !important; /* Rosso chiaro per le trappole */ }




/* Stili per l'icona delle statistiche */
.stats-icon {
    font-size: 18px;
    text-align: center;
    cursor: pointer;
    transition: transform 0.2s;
}

.stats-icon:hover {
    transform: scale(1.2);
}

/* Stili per il modale delle statistiche */
#statsModal .modal-content {
    max-width: 800px;
}

.stats-season-card {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
}

.stats-season-card h4 {
    margin-top: 0;
    margin-bottom: 15px;
    border-bottom: 2px solid #3f51b5;
    padding-bottom: 10px;
    color: #3f51b5;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px 20px;
}

.stats-grid div {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    border-bottom: 1px solid #e9ecef;
}

.stats-grid span {
    color: #6c757d;
}

.stats-grid strong {
    color: #343a40;
}


/* Stili per la sezione Calcolo FPI */
.fpi-details {
    margin-top: 20px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
}

.fpi-details summary {
    padding: 12px 15px;
    background-color: #f8f9fa;
    cursor: pointer;
    font-size: 1.1em;
    color: #3f51b5;
    border-radius: 8px 8px 0 0;
}

.fpi-details[open] summary {
    border-bottom: 1px solid #dee2e6;
}

.fpi-calculation-steps {
    padding: 15px;
}

.fpi-calculation-steps h4 {
    margin-top: 15px;
    margin-bottom: 10px;
    color: #333;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
}

.fpi-step {
    padding-left: 15px;
    margin-bottom: 15px;
}

.fpi-step ul {
    list-style-type: '- ';
    padding-left: 20px;
}

.fpi-final-score {
    margin-top: 20px;
    padding: 15px;
    background-color: #e8eaf6;
    border: 2px solid #3f51b5;
    border-radius: 8px;
    text-align: center;
}

.fpi-final-score h3 {
    margin: 0;
    color: #1a237e;
}

.fpi-final-score strong {
    font-size: 1.2em;
}



/* =================================== */
/* NUOVI STILI PER GESTIONE TAG        */
/* =================================== */

/* Sotto-riga nella tabella */
tr.tags-sub-row > td {
    padding: 8px 15px;
    background-color: #f8f9fa; /* Grigio chiaro per distinguerla */
    border-bottom: 2px solid #3f51b5; /* Bordo blu per separare i giocatori */
}
tr.player-assigned.tags-sub-row > td {
    background-color: #e9ecef; /* Grigio più scuro per i giocatori già assegnati */
}


/* Contenitore dei tag nella sotto-riga */
.tags-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-height: 28px; /* Altezza minima per allineamento */
}

/* "Pillole" dei tag */
.player-tag-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 15px;
    font-size: 13px;
    font-weight: 500;
    color: white;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    cursor: default;
}

/* Pulsante 'X' per rimuovere il tag */
.remove-tag-btn {
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s;
}
.remove-tag-btn:hover {
    opacity: 1;
}

/* Pulsante 'Aggiungi Tag +' */
.add-tag-button {
    background-color: #e0e0e0;
    color: #333;
    border: none;
    border-radius: 15px;
    padding: 4px 12px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s;
}
.add-tag-button:hover {
    background-color: #bdbdbd;
}

/* Contenitore popup per l'input del tag */
.tag-input-popup {
    position: relative;
    display: inline-block;
}
.tag-input-popup input[type="text"] {
    padding: 6px 10px;
    border: 1px solid #3f51b5;
    border-radius: 15px;
    outline: none;
    width: 200px;
}
.tag-input-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    z-index: 1001;
    max-height: 150px;
    overflow-y: auto;
    width: 100%;
}
.tag-suggestion-item {
    padding: 8px 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}
.tag-suggestion-item:hover {
    background-color: #f0f0f0;
}
.tag-suggestion-item.new-tag {
    font-style: italic;
    color: #007bff;
}
.tag-color-preview {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: inline-block;
    border: 1px solid #ccc;
}


/* =================================== */
/* NUOVI STILI PER FILTRO TAG AVANZATO */
/* =================================== */

.tag-filter-container {
	border-radius: 25px !important;
    border: 1px solid #3f51b5 !important;
    position: relative;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 5px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    min-width: 300px;
    max-width: 500px;
    flex-grow: 1;
}
.tag-filter-pills .player-tag-pill { /* Riusiamo lo stile delle pillole */
    font-size: 12px;
    padding: 5px 10px;
	margin-right: 2px;
}
#tag-filter-input {
    border: none;
    outline: none;
    padding: 5px;
    font-size: 16px;
    flex-grow: 1;
}
#tag-filter-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: white;
    border: 1px solid #ccc;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 100;
    max-height: 200px;
    overflow-y: auto;
    display: none; /* Nascosto di default */
	border-radius: 18px !important;
    border: 1px solid #3f51b5 !important;
}





/* Stili per il Pannello di Amministrazione */

.admin-card {
	margin-top: 18px;
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    flex: 1;
}
.admin-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.admin-form input {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
}
.admin-form button {
    width: 170px;
    
    padding: 10px;
    border: none;
    background-color: #2e7d32; /* Verde */
    color: white;
    font-size: 16px;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.2s;
}
.admin-form button:hover {
    background-color: #388e3c;
}
.lega-card {
    background-color: #f9f9f9;
    border: 1px solid #eee;
    padding: 15px;
    margin-top: 15px;
    border-radius: 5px;
}
.lega-card h3 span {
    font-weight: normal;
    color: #666;
}
.partecipanti-list {
    list-style-type: none;
    padding-left: 0;
}
.partecipanti-list li {
    background-color: #fff;
    padding: 8px;
    border-radius: 4px;
    margin-bottom: 5px;
    border: 1px solid #e0e0e0;
}


/* Stili per il form di modifica crediti */
.form-crediti-inline {
    display: inline-flex;
    gap: 5px;
    margin-left: auto;
    align-items: center;
	flex-direction: row !important;
}
.partecipanti-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.crediti-input {
    width: 70px;
    text-align: right;
}


/* Stili per il layout a due colonne dell'admin panel */
.admin-layout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}
.league-list-panel {
    flex: 1; /* Occupa 1/3 dello spazio */
}
.league-detail-panel {
    flex: 2; /* Occupa 2/3 dello spazio */
}
.league-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.league-list li a {
    display: block;
    padding: 12px 15px;
    text-decoration: none;
    color: #3f51b5;
    border-radius: 5px;
    transition: background-color 0.2s, color 0.2s;
    font-weight: 500;
}
.league-list li a:hover {
    background-color: #e8eaf6;
}
.league-list li a.active {
    background-color: #3f51b5;
    color: white;
    font-weight: bold;
}


.partecipante-user {
    font-size: 13px;
    color: #6c757d; /* Un grigio scuro */
    margin-top: -6px; /* Riduce lo spazio dal nome squadra */
    margin-bottom: 2px;
}

/* Applica queste regole solo se la larghezza dello schermo è 768px o inferiore */
@media (max-width: 768px) {
    .admin-layout {
        /* Cambia la direzione da 'riga' (default) a 'colonna' */
        flex-direction: column;
    }

    .partecipanti-dashboard {
        /* Regole per il contenitore, se necessarie */
    }

    /* Nelle card dei partecipanti, vai a 2 colonne invece di 6 per essere più leggibile */
    .partecipante-card {
        flex-basis: calc(100% / 2 - 16px);
    }
       
    .controls-container {
        flex-direction: column;
    }
	
	.league-list-panel{
    	width: 100%;
	}
	
	.admin-card, .league-detail-panel{
		width: 95%;
	}
}


/* Stili per la Danger Zone */
.danger-zone {
    border: 2px solid #dc3545;
    border-radius: 8px;
    margin-top: 20px;
    background-color: #fff6f6;
}
.danger-zone h4 {
    margin: 0;
    padding: 12px 15px;
    background-color: #dc3545;
    color: white;
    border-radius: 6px 6px 0 0;
}
.danger-zone-content {
    padding: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.danger-zone-content p {
    margin: 0;
    font-size: 14px;
    color: #555;
    flex-grow: 1;
}
.btn-delete-major {
    padding: 10px 15px;
    border: none;
    background-color: #dc3545; /* Rosso */
    color: white;
    font-size: 15px;
    font-weight: bold;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.2s;
    flex-shrink: 0; /* Impedisce al pulsante di rimpicciolirsi */
}
.btn-delete-major:hover {
    background-color: #c82333;
}

/* Stile per i bottoni in generale (riutilizzabile) */
.btn-primary, .btn-secondary, .btn-delete, .btn-edit, .btn-add, .btn-remove {
    padding: 8px 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}
.btn-primary { background-color: #007bff; color: white; }
.btn-primary:hover { background-color: #0069d9; }
.btn-secondary { background-color: #6c757d; color: white; }
.btn-secondary:hover { background-color: #5a6268; }
.btn-delete { background-color: #dc3545; color: white; }
.btn-delete:hover { background-color: #c82333; }
.btn-edit { background-color: #ffc107; color: #212529; }
.btn-edit:hover { background-color: #e0a800; }
.btn-add { background-color: #28a745; color: white; }
.btn-add:hover { background-color: #218838; }
.btn-remove { background-color: #ffc107; color: #212529; }
.btn-remove:hover { background-color: #e0a800; }





/* Stili per la Gestione Utenti */
.user-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.user-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
}
.user-list li:last-child {
    border-bottom: none;
}
.user-list li:hover {
    background-color: #f8f9fa;
}
.user-info {
    display: flex;
    flex-direction: column;
}
.user-name {
    font-size: 16px;
    font-weight: 500;
}
.user-email {
    font-size: 14px;
    color: #6c757d;
}
.user-actions {
    display: flex;
    gap: 10px;
}


/* Stili per la Sezione a Comparsa (Gestione Utenti) */
.collapsible-section {
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
}
.collapsible-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    cursor: pointer;
    background-color: #f8f9fa;
    user-select: none; /* Impedisce di selezionare il testo del titolo */
}
.collapsible-header h2 {
    margin: 15px 0;
    font-size: 1.2em;
}
.collapsible-header:hover {
    background-color: #e9ecef;
}
.toggle-indicator {
    font-size: 2em;
    font-weight: 300;
    color: #6c757d;
    transition: transform 0.2s ease-in-out;
}
.collapsible-section[open] > .collapsible-header > .toggle-indicator {
    transform: rotate(45deg);
}
.collapsible-content {
    padding: 20px;
    border-top: 1px solid #ddd;
}
.content-actions {
    margin-bottom: 20px;
}
/* Rimuove la freccia di default del <details> */
summary::-webkit-details-marker {
  display: none;
}
summary {
  list-style: none;
}


/* Stili per il nuovo modale di amministrazione */
.admin-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

.admin-modal-overlay.visible {
    opacity: 1;
    visibility: visible;
}

.admin-modal-content {
    background-color: #fff;
    padding: 25px 30px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    width: 100%;
    max-width: 400px;
}

.admin-modal-content h2 {
    margin-top: 0;
    margin-bottom: 20px;
    text-align: center;
}

.admin-modal-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 14px;
}

.admin-modal-form input[type="text"], .admin-modal-form input[type="password"]{
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box; /* Importante per il padding */
}

.admin-modal-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
}


.partecipante-actions > .btn-edit{
	margin-right: 6px;
    margin-top: 6px;
}



/* --- STILI PER IL MODAL BUDGET AGGIORNATO --- */

.admin-modal-content {
    max-width: 550px; /* Un po' più stretto per raggruppare meglio */
    padding: 30px;
}

.budget-roles-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Due colonne */
    gap: 20px; /* Spazio tra i gruppi di ruoli */
    margin-top: 20px;
    margin-bottom: 20px;
}

.budget-role-group {
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra orizzontalmente gli elementi all'interno */
    background-color: #f9f9f9;
}

.budget-role-group label {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 1.1em;
    color: #333;
}

.budget-min-max-inputs {
    display: flex;
    gap: 10px; /* Spazio tra i campi min e max */
    width: 100%; /* Occupa tutta la larghezza disponibile nel gruppo */
    justify-content: center; /* Centra i campi min/max */
}

.budget-min-max-inputs input[type="number"] {
    width: 80px; /* Larghezza fissa per i campi */
    text-align: center;
    padding: 8px 5px;
    border: 1px solid #ddd;
    border-radius: 5px;
    -moz-appearance: textfield; /* Nasconde le frecce su Firefox */
}

/* Nasconde le frecce per gli input di tipo number in Chrome, Safari, Edge */
.budget-min-max-inputs input[type="number"]::-webkit-outer-spin-button,
.budget-min-max-inputs input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Stili per il summary del budget sotto i campi */
.budget-summary {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    padding: 10px 0;
    border-top: 1px solid #eee;
    font-size: 1.1em;
    font-weight: bold;
}

.budget-summary span {
    color: #555;
}

.budget-summary strong {
    font-weight: bold;
}

.budget-summary #allocati-max-value {
    color: #28a745; /* Verde di default */
}
.budget-summary #allocati-max-value.error {
    color: #dc3545; /* Rosso se supera il totale */
}


/* Stili per le etichette "Min" e "Max" */
.budget-input-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.budget-input-wrapper span {
    font-size: 0.8em;
    color: #777;
    margin-bottom: 5px;
    font-weight: bold;
}




/* Stile generale del contenitore del form */


/* Contenitore degli input */
.composizione-rosa-inputs {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Due colonne per gli input */
    gap: 25px; /* Spazio tra gli input */
    margin-bottom: 30px;
}

/* Gruppo di ogni singolo input (label + input) */
.input-group {
    display: flex;
    flex-direction: column;
    text-align: left;
}

/* Stile delle label */
.input-group label {
    font-weight: 600;
    margin-bottom: 8px;
    color: #555;
    font-size: 1em;
}

/* Stile dei campi di input */
.input-group input[type="number"] {
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 1em;
    color: #333;
    transition: all 0.3s ease;
    width: 100%; /* Larghezza completa all'interno del suo gruppo */
}

.input-group input[type="number"]:focus {
    border-color: #007bff; /* Bordo blu all'attivazione */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15);
    outline: none;
}




/* Media query per schermi più piccoli (es. cellulari) */
@media (max-width: 600px) {
    .form-composizione-rosa {
        padding: 20px;
    }
    .composizione-rosa-inputs {
        grid-template-columns: 1fr; /* Una sola colonna per gli input su schermi stretti */
    }
}





/* =================================== */
/* NUOVI STILI PER LA DASHBOARD ASTA   */
/* =================================== */



/* 3. Aggiungiamo un effetto al passaggio del mouse */
.partecipante-card:hover {
    transform: translateY(-5px); /* Solleva leggermente la card */
    box-shadow: 0 4px 12px rgba(0,0,0,0.10); /* Ombra più pronunciata */
}

/* 2. Aggiungiamo un bordo speciale alla TUA card */
.partecipante-card.my-card {
    border: 2px solid #007bff; /* Un bel blu per evidenziarla */
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.2); /* Ombra colorata */
}





/* Usiamo CSS Grid per definire le 3 colonne */
.main-header {
    display: grid;
    grid-template-columns: 1fr 2fr 1.5fr; /* Proporzioni: 1:2:1.5 (puoi modificarle) */
    align-items: center; /* Centra verticalmente gli elementi */
    gap: 30px;
    margin-bottom: 20px;
}

/* Allineamento interno delle colonne */
.header-column.center {
    text-align: center;
}
.header-column.right {
    display: flex;
    justify-content: flex-end;
}

/* Adattabilità per schermi più piccoli: le colonne vanno una sotto l'altra */
@media (max-width: 1200px) {
    .main-header {
        grid-template-columns: 1fr; /* Una sola colonna */
    }
    .header-column.left {
        display: none; /* Nascondiamo la colonna sinistra vuota */
    }
    .header-column.right {
        justify-content: center; /* Centriamo il widget */
    }
}


.page-title h1 {
    margin-bottom: 5px;
}

/* Il nuovo widget del budget */
.my-budget-widget {
    width: 100%; /* Occupa tutta la colonna di destra */
    max-width: 550px; /* Limite massimo di larghezza */
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.budget-bar-title {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
    color: #343a40;
}

.my-budget-widget .budget-trackers-container {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Due colonne per riga */
    grid-template-rows: auto auto; /* Due righe */
    gap: 15px; /* Spazio tra gli elementi */
}

/* Stili per le progress bar (invariati ma riportati per completezza) */
.budget-info { display: flex; justify-content: space-between; width: 100%; font-size: 13px; margin-bottom: 4px; }
.budget-spent { color: #666; }
.progress-bar-container { height: 10px; background-color: #e9ecef; border-radius: 5px; overflow: hidden; }
.progress-bar.warning { background-color: #ffc107; }
.progress-bar.danger { background-color: #dc3545; }
.progress-bar {
    height: 100%;
     background-color: #28a745;
    border-radius: 4px;
    transition: width 0.4s ease-in-out, background-color 0.4s;
}

.progress-bar.success {
    background-color: #28a745; /* Verde che indica "in linea con il piano" */
}


.adaptive-budget {
    font-weight: bold;
    color: #dc3545; /* Rosso, per indicare che è un valore riadattato al ribasso */
    margin-left: 5px;
}


.surplus-budget {
    font-weight: bold;
    color: #28a745; /* Verde, per indicare un bonus */
    margin-left: 5px;
}



.budget-general-header{
	text-align: center;
	margin-bottom: 10px;
}
.budget-strategic-summary, .budget-general-summary{
	text-align: center;
}







/* La griglia di card compatte (invariata) */
.partecipanti-dashboard {
    display: grid;
    grid-template-columns: repeat(var(--num-colonne, 7), 1fr);
    gap: 15px;
}

/* Adattabilità per schermi piccoli: fa andare il widget sotto il titolo */
@media (max-width: 1200px) {
    .main-header {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }
    .my-budget-widget {
        flex-basis: auto; /* Rimuovi la larghezza fissa */
    }
}






/* 2. La griglia di card compatte */
.partecipanti-dashboard {
    display: grid;
    grid-template-columns: repeat(var(--num-colonne, 7), 1fr);
    gap: 15px;
    margin-top: 20px;
}

.partecipante-card {
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 12px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
}

.partecipante-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.10);
}

/* Stile per la TUA card nella griglia */
.partecipante-card.my-card {
    border: 2px solid #007bff;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.2);
}


/* Stili interni delle card (compattati) */
.partecipante-name { font-weight: bold; font-size: 15px; margin-bottom: 2px; }
.partecipante-user { font-size: 12px; color: #6c757d; margin-bottom: 8px; }
.crediti { font-size: 14px; font-weight: bold; color: #28a745; margin-bottom: 8px; }
.rosa-summary { display: flex; justify-content: space-around; font-size: 12px; width: 100%; }




.partecipante-name {
	text-align: center;
    font-weight: bold;
    font-size: 1em;
    color: #37474f;
}

.crediti {
    font-size: 1em;
    font-weight: bold;
    color: #2e7d32; /* Verde */
}

.rosa-summary {
    font-size: 0.85em;
    color: #546e7a;
    display: flex;
    gap: 12px;
}

.link-back {
    display: block;
    text-align: center;
    margin-bottom: 20px;
}


/* Stile per la riga di un giocatore già assegnato */
#warRoomTable tr.player-assigned {
    background-color: #f1f3f5; /* Un grigio chiaro */
    color: #868e96; /* Testo più sbiadito */
}

/* Stile per la cella "Azione" quando il giocatore è assegnato */
#warRoomTable tr.player-assigned .azione-cell {
    font-style: italic;
    font-size: 14px;
    text-align: center;
}

/* Stile per la colonna e l'icona dei preferiti */
.favorite-star {
    font-size: 20px;
    text-align: center;
    cursor: pointer;
    color: #adb5bd; /* Grigio stella vuota */
    transition: transform 0.2s, color 0.2s;
}

.favorite-star:hover {
    transform: scale(1.3);
}

.favorite-star.active {
    color: #ffc107; /* Giallo oro stella piena */
}

/* Stile per evidenziare l'intera riga di un preferito */
tr.is-favorite {
    background-color: #fff3cd !important; /* Un giallo paglierino molto leggero */
}
tr.is-favorite.player-assigned {
    background-color: #e9ecef !important; /* Un grigio leggermente diverso per i preferiti già assegnati */
}

/* Stile per l'icona delle note */
.notes-icon {
    font-size: 18px;
    text-align: center;
    cursor: pointer;
    opacity: 0.3; /* L'icona è sbiadita di default */
    transition: opacity 0.2s, transform 0.2s;
}
.notes-icon:hover {
    transform: scale(1.2);
    opacity: 1;
}
.notes-icon.active {
    opacity: 1; /* L'icona è piena se c'è una nota */
}

/* Stile per il campo di testo nel modale delle note */
#playerNoteText {
    width: 100%;
    min-height: 150px;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    resize: vertical;
    font-family: inherit;
    font-size: 14px;
}




/* Stili per il Modale (Popup) */
.modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.6); }
.modal-content { background-color: #fefefe; margin: 10% auto; padding: 20px; border: 1px solid #888; width: 80%; max-width: 700px; border-radius: 8px; }
.modal-content table { width: 100%; }
.close-btn { color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer; }
.partecipante-card.clickable { cursor: pointer; }
.partecipante-card.clickable:hover { border-color: #3f51b5; }

/* Stili per il riepilogo budget nel modale */

.roster-summary {
    display: flex;
    justify-content: space-around;
    padding: 10px;
    background-color: #f1f1f1;
    border-radius: 5px;
    margin-bottom: 15px;
    font-size: 1.1em;
}
.roster-summary span strong {
    color: #3f51b5;
}

/* Stili per gli input e bottoni nel modale */
.prezzo-input-modal {
    width: 60px;
    padding: 5px;
    text-align: center;
}
.azione-cell-modal {
    display: flex;
    gap: 5px;
}
.action-btn-save {
    padding: 5px 10px;
    border: 1px solid #ccc;
    background-color: #e8f5e9;
    color: #2e7d32;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
}

.segnaposto-grid {
    display: grid;
    grid-template-columns: 80px 1fr 1fr 100px auto;
    gap: 10px;
    align-items: center;
}

/* Stile per la riga del segnaposto nella tabella del modale */
.placeholder-row {
    background-color: #f8f9fa; /* Un grigio molto chiaro */
    color: #6c757d;
}

/* Stile per il form di aggiunta segnaposto nel modale */
.segnaposto-form-modal {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #dee2e6;
    display: flex;
    align-items: center;
    gap: 10px;
}

.segnaposto-form-modal h4 {
    margin: 0;
    white-space: nowrap;
}

/* Distribuzione dello spazio per gli input */
.segnaposto-form-modal .segnaposto-input {
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 100%; /* Occupa lo spazio assegnato dal flex container */
}

#modal-segnaposto-ruolo { flex: 2; }
#modal-segnaposto-nome { flex: 4; }
#modal-segnaposto-squadra { flex: 3; }
#modal-segnaposto-prezzo { flex: 2; }


/* Stili per il tracker del budget personale */
.budget-trackers-container {
    width: 100%;
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.budget-tracker {
    width: 100%;
}
.budget-info {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: 12px;
    margin-bottom: 2px;
}
.budget-spent {
    color: #666;
}
.progress-bar-container {
    width: 100%;
    height: 8px;
    background-color: #e9ecef;
    border-radius: 4px;
    overflow: hidden;
}

.progress-bar.warning {
    background-color: #ffc107; /* Giallo */
}
.progress-bar.danger {
    background-color: #dc3545; /* Rosso */
}

/*
==============================================
Stili per il Form di Gestione Budget nel Modale
==============================================
*/

/* Contenitore principale */
.budget-form-container {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #dee2e6;
}

.budget-form-container h4 {
    margin-top: 0;
    margin-bottom: 20px;
    text-align: center;
    font-size: 16px;
    color: #333;
}

/* Gruppo di input (la griglia!) */
.budget-input-group {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 colonne di larghezza uguale */
    gap: 15px; /* Spazio tra gli elementi */
    margin-bottom: 15px;
}

/* Stile per ogni blocco Label + Input */
.budget-input-item {
    display: flex;
    flex-direction: column;
}

.budget-input-item label {
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 5px;
    color: #555;
}

.budget-input-item input[type="number"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-align: center;
    font-size: 16px;
    box-sizing: border-box;
}

/* Riepilogo (Allocati / Rimanenti) */
.budget-summary {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 14px;
}

.budget-summary strong {
    font-size: 16px;
}

/* Pulsante Salva */
.budget-form-container .action-btn-save {
    width: 100%;
    padding: 10px;
    font-size: 16px;
}

/* Adattabilità per schermi più piccoli (es. cellulari) */
@media (max-width: 600px) {
    .budget-input-group {
        grid-template-columns: repeat(2, 1fr); /* Diventa una griglia 2x2 */
    }
}





/* Stili per la Pagina Statistiche */

#playerSearchInput{
	width: 250px;
}

.stats-page-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.stats-controls-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-end;
    padding: 20px;
}

.control-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.control-group label {
    font-weight: bold;
    font-size: 14px;
    color: #555;
}

.control-group select,
.control-group input {
    padding: 10px;
    font-size: 16px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

.stats-table-container {
    width: 100%;
    overflow-x: auto; /* Permette lo scorrimento orizzontale su schermi piccoli */
}

#statsTable {
    width: 100%;
}

#statsTable thead th {
    background-color: #34495e;
}

#statsTable tbody td {
    vertical-align: middle;
}

#statsTable tbody td small {
    font-size: 0.85em;
    color: #7f8c8d;
}

.loading-cell {
    text-align: center;
    padding: 40px;
    font-size: 1.2em;
    color: #999;
}





