/*
 * Chrome des modales/tableaux, tout le chrome
 * vit dans un CSS global chargé une seule fois (voir App_Start/BundleConfig.cs).
 */

.modal-cergi .modal-dialog {
    display: flex;
    align-items: center;
    /* align-items centre l'axe vertical (cross-axis, ligne en row) ; sans justify-content, l'axe
       horizontal (main-axis) reste a sa valeur par defaut flex-start, donc le contenu (et
       l'explosion jQuery UI qui clone sa position exacte a la fermeture) apparait colle a gauche
       au lieu d'etre centre - visible surtout sur petit ecran ou la marge auto ne compense plus. */
    justify-content: center;
    min-height: calc(100% - 1rem);
}

    .modal-cergi .modal-dialog::before {
        display: block;
        height: calc(100vh - 1rem);
        content: "";
    }

@media (min-width: 576px) {
    .modal-cergi .modal-dialog {
        min-height: calc(100% - 3.5rem);
    }

        .modal-cergi .modal-dialog::before {
            height: calc(100vh - 3.5rem);
        }
}

.modal-cergi .modal-content {
    width: 100%;
    max-height: calc(100vh - 1rem);
}

.modal-cergi .modal-body {
    overflow-y: auto;
}

.modal-cergi .modal-footer {
    justify-content: flex-end;
}

.modal-cergi .modal-footer > .row,
.modal-cergi .modal-footer > .ml-auto > .row {
    margin: 0;
}

@media (min-width: 576px) {
    .modal-cergi .modal-content {
        max-height: calc(100vh - 3.5rem);
    }
}

/* --- En-tête de modale (patron M0301 "confirmTitle", dialog-cergi/styles.css) --- */
.modal-cergi .modal-header {
    position: relative;
    /* Le bouton fermer est sorti du flux (position:absolute) : sans "flex-start" explicite,
       "space-between" (regle Bootstrap par defaut) ecarte l'icone et le titre, seuls elements
       de flux restants, aux deux extremites du header au lieu de les coller l'un a l'autre. */
    justify-content: flex-start;
    background-color: #022d65;
    color: #fff;
    border-bottom: 1px solid #979797;
    padding-right: 2.5em;
}

.modal-cergi .modal-header .modal-title {
    color: #fff;
}

.modal-cergi .modal-header .close {
    position: absolute;
    top: 50%;
    right: 0.8em;
    transform: translateY(-50%);
    z-index: 10;
    margin: 0;
    padding: 0;
    color: #fff !important;
    opacity: 1;
    text-shadow: none;
}

    .modal-cergi .modal-header .close:hover {
        color: #fff !important;
        opacity: 0.75;
    }

.modal-cergi .modal-header-icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}

.ia-search-round {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 25px;
    padding: 6px 16px;
    background-color: #fff;
}

    .ia-search-round i {
        color: #999;
        margin-right: 8px;
        font-size: 13px;
    }

    .ia-search-round input {
        border: none;
        outline: none;
        flex: 1;
        font-size: 13px;
        background: transparent;
    }

.dc-compteur-col {
    padding-top: 6px;
}

    .dc-compteur-col b {
        color: #0a3b6f;
        font-size: 14px;
        font-weight: bold;
    }

/* Ligne de tableau cliquable ouvrant la modale de détail (DemandesClient, DossiersClient). */
tr.dc-row-cliquable {
    cursor: pointer;
}

/* --- Badges Priorité/Statut (FAQ.Modules.Demandes.Domain.Enumerations Priorite/StatutDemande,
   FAQ.Modules.Interventions.Domain.Enumerations StatutIntervention) — meme qualite visuelle que
   .badge-type-cergi (cergi.cards.css, Module) : fond plein + texte colore, pas juste une couleur de
   texte sur fond transparent (rendu quasi invisible en pastille avant ce fond). --- */
.badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
}

/* Priorite */
.badge-Critique {
    color: #ffffff;
    background-color: #c0392b;
}

.badge-Haute {
    color: #c0392b;
    background-color: #fdecea;
}

.badge-Normale {
    color: #2980b9;
    background-color: #eaf2fa;
}

.badge-Basse {
    color: #27ae60;
    background-color: #eafaf1;
}

/* StatutDemande */
.badge-Nouvelle {
    color: #2980b9;
    background-color: #eaf2fa;
}

.badge-EnQualification {
    color: #e07b00;
    background-color: #fdf1e3;
}

.badge-EnCoursTraitement,
.badge-InterventionCreee,
.badge-RattacheeDossier,
.badge-RattacheeProblemeConnu {
    color: #8e44ad;
    background-color: #f3eaf8;
}

.badge-ResolueImmediatement,
.badge-Cloturee {
    color: #27ae60;
    background-color: #eafaf1;
}

.badge-Doublon,
.badge-SansObjet {
    color: #666;
    background-color: #ececec;
}

/* StatutIntervention (Creee/Cloturee/Reouverte — Cloturee partage la regle ci-dessus) */
.badge-Creee {
    color: #2980b9;
    background-color: #eaf2fa;
}

.badge-Reouverte {
    color: #e07b00;
    background-color: #fdf1e3;
}

/* Cycle de travail RT : même sémantique colorimétrique que les statuts client. */
.badge-AFaire {
    color: #2980b9;
    background-color: #eaf2fa;
}

.badge-Affectee,
.badge-EnCours {
    color: #8e44ad;
    background-color: #f3eaf8;
}

.badge-EnRevue {
    color: #e07b00;
    background-color: #fdf1e3;
}

.badge-AValider {
    color: #117a8b;
    background-color: #e7f6f8;
}

.badge-Bloquee {
    color: #c0392b;
    background-color: #fdecea;
}

.badge-Resolue,
.badge-Terminee {
    color: #27ae60;
    background-color: #eafaf1;
}

/* --- Fil de rattachements/discussion (modales "Détails") --- */
.rattachement-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 8px 14px;
    margin-bottom: 8px;
    font-size: 13px;
}

.message-item {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 10px 14px;
    margin-bottom: 8px;
    font-size: 13px;
}

    .message-item .auteur {
        font-weight: bold;
    }

/* --- Timeline (historique de la Demande) --- */
.timeline-item {
    position: relative;
    padding: 3px 0 3px 22px;
    margin-bottom: 6px;
    font-size: 12px;
    color: #6c757d;
}

    .timeline-item::before {
        content: "";
        position: absolute;
        left: 4px;
        top: 8px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #adb5bd;
    }

    .timeline-item::after {
        content: "";
        position: absolute;
        left: 7px;
        top: 16px;
        bottom: -6px;
        width: 1px;
        background: #dee2e6;
    }

    .timeline-item:last-child::after {
        display: none;
    }

    .timeline-item .auteur {
        font-weight: 600;
        color: #495057;
    }

/* --- Zone de dépôt de fichiers (modale "Nouvelle demande") --- */
.dropzone {
    border: 2px dashed #ccc;
    border-radius: 6px;
    padding: 30px;
    text-align: center;
    color: #999;
    font-size: 12px;
    cursor: pointer;
    margin-top: 8px;
}
