/* ═══════════════════════════════════════════════════════════
   Classes spécifiques au jeu de pronostics
   Appliquées dynamiquement depuis PHP — ne pas supprimer
   ═══════════════════════════════════════════════════════════ */

/* Pointer sur tous les boutons */
button, [type="submit"], [type="button"], [role="button"] { cursor: pointer; }

/* Cellule pronostic de base */
.cellProno {
    padding: 4px 6px;
    text-align: center;
    font-size: 0.8rem;
    border-radius: 3px;
}

/* Neutre / risques (définis en premier pour que les résultats priment) */
.cellProno.normal     { background-color: transparent; }
.cellProno.pasrisque  { background-color: transparent; }

/* Niveaux de risque (couleurs progressives rouge → vert) */
.cellProno.risque11, .cellProno.risque12 { background-color: #a8e6cf; }
.cellProno.risque21, .cellProno.risque22 { background-color: #dcedc1; }
.cellProno.risque31, .cellProno.risque32 { background-color: #ffd3b6; }
.cellProno.risque41, .cellProno.risque42 { background-color: #ffaaa5; }
.cellProno.risque51, .cellProno.risque52 { background-color: #ff8b94; }

/* Résultats — définis après les risques pour avoir la priorité CSS */
.cellProno.BonScore   { background-color: #bbf7d0; color: #166534; font-weight: 700; }
.cellProno.BonResultat{ background-color: #fde68a; color: #92400e; }

/* Variante "discordant" : gras + contour */
.cellProno.risque12, .cellProno.risque22,
.cellProno.risque32, .cellProno.risque42,
.cellProno.risque52 { font-weight: 700; outline: 2px solid rgba(0,0,0,.15); }

/* Aveugle */
.cellProno.risqueAveugle { background-color: #d1d5db; color: #6b7280; }

/* Fil rouge */
.cellProno.filrouge { color: #dc2626 !important; font-weight: 700; background-color: #f3f4f6 !important; }

/* Lignes de tableau */
tr.FilRouge > td:first-child { border-left: 3px solid #dc2626; }
tr.Aveugle  > td:first-child { border-left: 3px solid #9ca3af; }

/* Stats risques/aveugles — colonnes de grille */
td.risque11, td.risque21, td.risque31,
td.risque41, td.risque51 { background-color: #fef9c3; font-weight: 700; text-align: center; }
td.filrouge { background-color: #fee2e2; }

/* Indicateur autosave */
.save-status { font-size: 0.8rem; min-height: 1.2em; transition: opacity .3s; }
.save-ok     { color: #16a34a; }
.save-error  { color: #dc2626; }

/* ── Sidebar ─────────────────────────────────────────────────── */
.sidebar-item {
    @apply flex flex-row items-center gap-3 px-3 py-2 rounded-lg text-sm
           text-slate-300 hover:text-white hover:bg-slate-700 transition-colors;
}
.sidebar-active {
    @apply bg-slate-700 text-white;
}
.sidebar-icon {
    @apply w-5 h-5 shrink-0;
}
