/* ============================================================
   GESTION DES CAPTEURS — styles propres à cette page
   ------------------------------------------------------------
   Ce fichier ne redéfinit pas ce qui existe déjà dans
   overall_layout.css / imu_processing.css (card-ams, title-h1,
   imu-filter-panel, imu-input, imu-dropdown, imu-radio-group,
   imu-action-btn, athlete-profile-card-title, ...). Ces classes
   partagées sont réutilisées telles quelles dans gestion_capteurs.py
   pour garder l'application cohérente visuellement.

   Tout ici est scopé sous .gc-page pour ne jamais fuiter sur les
   autres pages (/collecte-externe, /imu-processing).
   ============================================================ */

/* =========================
   STRUCTURE GÉNÉRALE
========================= */

.gc-page {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* La répartition en 2 colonnes (associations actives / formulaire)
   réutilise directement .ams-flex-row-card + .ams-flex-group-60percent
   + .ams-flex-group-40percent, déjà définies dans overall_layout.css. */

.gc-panel-inner {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    height: 100%;
}

/* Section pleine largeur (historique, anomalies) */
.gc-section {
    margin-top: 0.25rem;
}

.gc-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 10px;
}

.gc-section-subtitle {
    color: #7076AC;
    font-size: 13px;
    font-weight: 600;
    margin: -4px 0 10px 0;
    max-width: 720px;
    line-height: 1.4;
}

/* =========================
   BARRE D'ACTIONS
========================= */

.gc-actions-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

.gc-actions-row-end {
    justify-content: flex-end;
}

/* Bouton secondaire "outline navy" — actualiser, filtrer, charger le rapport */
.gc-btn-outline-navy {
    min-height: 36px;
    padding: 6px 14px !important;
    border-radius: 7px !important;
    border: 1.5px solid #101F69 !important;
    background-color: #FFFFFF !important;
    color: #101F69 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.gc-btn-outline-navy:hover:not(:disabled) {
    background-color: #101F69 !important;
    color: #FFFFFF !important;
    border-color: #101F69 !important;
}

/* Bouton secondaire "outline red" — terminer une association, danger */
.gc-btn-outline-danger {
    min-height: 36px;
    padding: 6px 14px !important;
    border-radius: 7px !important;
    border: 1.5px solid #D52B1E !important;
    background-color: #FFFFFF !important;
    color: #D52B1E !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.gc-btn-outline-danger:hover:not(:disabled) {
    background-color: #D52B1E !important;
    color: #FFFFFF !important;
    border-color: #D52B1E !important;
}

.gc-btn-outline-navy:disabled,
.gc-btn-outline-danger:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* =========================
   FORMULAIRE NOUVELLE ASSOCIATION
========================= */

.gc-form-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.gc-textarea.form-control {
    min-height: 64px;
    border: 1.5px solid #101F69;
    border-radius: 7px;
    padding: 8px 12px;
    color: #101F69;
    background-color: #FFFFFF;
    font-size: 14px;
    font-weight: 600;
    resize: vertical;
}

.gc-textarea.form-control::placeholder {
    color: rgba(16, 31, 105, 0.5);
    font-weight: 500;
}

.gc-textarea.form-control:focus {
    border-color: #D52B1E;
    box-shadow: 0 0 0 2px rgba(213, 43, 30, 0.12);
    color: #101F69;
}

/* Alerte de conflit — coins arrondis cohérents avec le reste de l'app */
.gc-page .alert {
    border-radius: 10px;
    font-size: 13px;
}

.gc-page .alert ul {
    margin: 8px 0 8px 1.1rem;
    padding: 0;
}

.gc-page .alert li {
    margin-bottom: 4px;
}

.gc-confirm-checkbox {
    padding: 8px 10px;
    border-radius: 8px;
    background-color: rgba(245, 158, 11, 0.08);
    border: 1px solid rgba(245, 158, 11, 0.30);
}

.gc-confirm-checkbox label {
    color: #B45309;
    font-size: 13px;
    font-weight: 600;
}

.gc-inline-message {
    font-size: 13px;
    font-weight: 600;
}

/* =========================
   FILTRES HISTORIQUE
========================= */

.gc-history-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.gc-history-filters .gc-form-field {
    flex: 1 1 200px;
    min-width: 160px;
}

/* =========================
   AG GRID — THÈME ARRONDI
   ------------------------------------------------------------
   Aucun thème AG Grid n'existe encore ailleurs dans l'app : on
   construit ici un habillage cohérent avec les card-ams (coins
   arrondis, ombre légère, palette navy/rouge).
========================= */

.gc-grid-card {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(16, 31, 105, 0.12);
    box-shadow: 0 1px 3px rgba(16, 31, 105, 0.06);
}

.gc-grid-card .ag-root-wrapper {
    border: none !important;
    border-radius: 12px;
    font-family: inherit;
}

.gc-grid-card .ag-header {
    background-color: #F8F9FC !important;
    border-bottom: 1.5px solid rgba(16, 31, 105, 0.12) !important;
}

.gc-grid-card .ag-header-cell-text {
    color: #101F69;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.gc-grid-card .ag-header-cell,
.gc-grid-card .ag-header-group-cell {
    padding-left: 14px;
    padding-right: 14px;
}

.gc-grid-card .ag-cell {
    display: flex;
    align-items: center;
    padding-left: 14px;
    padding-right: 14px;
    font-size: 13px;
    color: #374151;
    border-bottom: 1px solid rgba(16, 31, 105, 0.06) !important;
}

.gc-grid-card .ag-row {
    background-color: #FFFFFF;
}

.gc-grid-card .ag-row-odd {
    background-color: rgba(16, 31, 105, 0.015);
}

.gc-grid-card .ag-row-hover {
    background-color: rgba(213, 43, 30, 0.045) !important;
}

.gc-grid-card .ag-row-selected {
    background-color: rgba(16, 31, 105, 0.08) !important;
}

.gc-grid-card .ag-row-selected::before {
    background-color: transparent !important;
}

.gc-grid-card .ag-checkbox-input-wrapper.ag-checked::after {
    color: #D52B1E;
}

.gc-grid-card .ag-paging-panel {
    border-top: 1px solid rgba(16, 31, 105, 0.10);
    color: #7076AC;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 14px;
}

.gc-grid-card .ag-paging-button {
    border-radius: 6px;
}

.gc-grid-card .ag-icon {
    color: #7076AC;
}

.gc-grid-empty {
    padding: 14px 12px;
    color: #7076AC;
    font-size: 13px;
    font-weight: 600;
    font-style: italic;
}

/* =========================
   CELLULES — FORMATAGE COLONNES
   ------------------------------------------------------------
   Appliquées via `cellClass` / `cellClassRules` dans les
   columnDefs (voir gestion_capteurs.py) plutôt qu'en `cellStyle`
   inline, pour garder toute la présentation dans ce fichier.
========================= */

.gc-cell-player {
    font-weight: 800 !important;
    color: #101F69 !important;
}

.gc-cell-reason {
    font-style: italic !important;
    color: #6B7280 !important;
}

.gc-cell-muted {
    color: #7076AC !important;
}

.gc-cell-mono {
    font-variant-numeric: tabular-nums;
    color: #101F69;
    font-weight: 600;
}

/* =========================
   STATUT — CHIPS (cellClassRules)
========================= */

.gc-status-chip {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.6;
}

.gc-status-active {
    background-color: rgba(34, 197, 94, 0.10);
    color: #15803D;
    border: 1px solid rgba(34, 197, 94, 0.28);
}

.gc-status-ended {
    background-color: rgba(107, 114, 128, 0.10);
    color: #6B7280;
    border: 1px solid rgba(107, 114, 128, 0.25);
}

.gc-status-warning {
    background-color: rgba(245, 158, 11, 0.12);
    color: #B45309;
    border: 1px solid rgba(245, 158, 11, 0.35);
}

.gc-status-unknown {
    background-color: rgba(16, 31, 105, 0.08);
    color: #101F69;
    border: 1px solid rgba(16, 31, 105, 0.20);
}

/* =========================
   ANOMALIES — bandeau info
========================= */

.gc-anomalies-note {
    color: #7076AC;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    margin: -4px 0 12px 0;
    max-width: 760px;
}