/* ============================================================
   assets/css/style.css – Styles personnalisés Scots Presence
   ============================================================ */

/* ---- Tableau synthétique ---- */
.table-synthese {
    min-width: 600px;  /* scroll horizontal sur mobile */
}
.table-synthese th.date-col {
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    padding: 0.5rem 0.75rem;
    min-width: 70px;
    font-size: 0.8rem;
}
.table-synthese td.statut-cell {
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    transition: background-color 0.15s;
}
.table-synthese td.statut-cell:hover {
    background-color: rgba(13, 110, 253, 0.08);
}

/* ---- Badges de statut ---- */
.badge.fs-6 { font-size: 1.1rem !important; }

/* ---- Carte de groupe ---- */
.card-groupe-rscds    { border-left: 4px solid #0d6efd; }
.card-groupe-bonnet   { border-left: 4px solid #198754; }

/* ---- Sticky header pour le tableau ---- */
.table-wrapper {
    overflow-x: auto;
    max-height: 75vh;
    overflow-y: auto;
}
.table-wrapper thead th {
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
}
.table-wrapper tbody td:first-child,
.table-wrapper thead th:first-child {
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
    border-right: 2px solid #dee2e6;
}

/* ---- Formulaire de présence inline ---- */
.btn-statut {
    font-size: 1.2rem;
    padding: 0.2rem 0.5rem;
    border: 2px solid transparent;
    border-radius: 6px;
    background: none;
    cursor: pointer;
    transition: border-color 0.15s, transform 0.1s;
}
.btn-statut:hover    { transform: scale(1.15); }
.btn-statut.active   { border-color: #0d6efd; background: rgba(13,110,253,0.08); }

/* ---- Responsive ---- */
@media (max-width: 576px) {
    .table-synthese th.date-col { font-size: 0.7rem; }
    .navbar-brand               { font-size: 1rem; }
}

/* ---- Icônes de statut de présence ---- */
.statut-present,
.statut-absent,
.statut-incertain,
.statut-non-repondu {
    font-size: 1.5rem;
    font-weight: 900;
    display: inline-block;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,0.15));
}
.statut-present     { color: #146c43 !important; }   /* vert soutenu   */
.statut-absent      { color: #b02a37 !important; }   /* rouge soutenu  */
.statut-incertain   { color: #d4600a !important; }   /* orange soutenu */
.statut-non-repondu { color: #9fa8b0 !important; }   /* gris neutre    */

/* Dans le tableau synthétique : encore un peu plus grandes */
.table-synthese .statut-present,
.table-synthese .statut-absent,
.table-synthese .statut-incertain,
.table-synthese .statut-non-repondu {
    font-size: 1.6rem;
}
