
/*
 * Styles pour la modale d'aperçu de document
 */

/* ============================================
   STYLES EXISTANTS - MODALE PDF
   ============================================ */

.pdf-preview-container {
    display: flex;
    justify-content: center;
}

.pdf-preview-iframe {
    border: none;
    width: 80%;
    height: 600px;
}

.pdf-preview-close-button {
    margin-bottom: 10px;
}

.pdf-modale {
    /* Styles pour la modale elle-même */
}

/* Utilitaires de positionnement */
.relative { position: relative; }
.z-10 { z-index: 10; }
.fixed { position: fixed; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.bg-black { background-color: #000; }
.bg-opacity-50 { background-color: rgba(0, 0, 0, 0.5); }
.overflow-y-auto { overflow-y: auto; }
.flex { display: flex; }
.min-h-full { min-height: 100%; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.p-4 { padding: 1rem; }
.text-center { text-align: center; }
.w-full { width: 100%; }
.max-w-4xl { max-width: 56rem; }
.transform { transform: translate(0, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1); }
.overflow-hidden { overflow: hidden; }
.rounded-2xl { border-radius: 1rem; }
.bg-white { background-color: #fff; }
.p-6 { padding: 1.5rem; }
.text-left { text-align: left; }
.align-middle { vertical-align: middle; }
.shadow-xl { box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04); }
.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.text-lg { font-size: 1.125rem; }
.font-medium { font-weight: 500; }
.leading-6 { line-height: 1.5rem; }
.text-gray-900 { color: #111827; }
.mt-4 { margin-top: 1rem; }
.justify-end { justify-content: flex-end; }

/* ============================================
   NOUVEAUX STYLES - PIÈCES JOINTES
   ============================================ */

/* Summary / Détails */
.attachments-summary {
    color: black;
    font-size: 1.25rem;
    cursor: pointer;
}

.attachments-section {
    padding-top: 1rem;
}

/* Titres de section */
.section-title {
    color: black;
    border-bottom: 2px solid #0056b3;
    padding-bottom: 10px;
    margin-bottom: 1rem;
}

/* Cartes de pièces jointes */
.attachment-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.attachment-info {
    flex-grow: 1;
}

.attachment-info h2 {
    margin-bottom: 0.5rem;
}

.attachment-info h6 {
    color: black;
    margin-bottom: 0.5rem;
}

.attachment-info p {
    color: gray;
    margin-bottom: 0.25rem;
    font-size: 0.875rem;
}

.attachment-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 1rem;
    padding-top: 0.5rem;
    border-top: 1px solid #e3e6f0;
}

/* Icônes d'action */
.icon-view {
    color: blue;
    cursor: pointer;
    transition: opacity 0.2s;
}

.icon-view:hover {
    opacity: 0.7;
}

.icon-download {
    color: orange;
    cursor: pointer;
    transition: opacity 0.2s;
}

.icon-download:hover {
    opacity: 0.7;
}

.icon-delete {
    color: red;
    cursor: pointer;
    transition: opacity 0.2s;
}

.icon-delete:hover {
    opacity: 0.7;
}

.icon-pdf-green {
    color: green;
}

.icon-pdf-blue {
    color: blue;
}

.icon-pdf-red {
    color: red;
}

/* Spinner */
.icon-spinner {
    color: orange;
    cursor: wait;
}

/* Bordures gauche */
.border-left-warning {
    border-left: 0.25rem solid #f6c23e !important;
}

.border-left-success {
    border-left: 0.25rem solid #1cc88a !important;
}

.border-left-info {
    border-left: 0.25rem solid #36b9cc !important;
}

.border-left-primary {
    border-left: 0.25rem solid #4e73df !important;
}

/* Espacements */
.me-1 {
    margin-right: 0.25rem !important;
}

.me-2 {
    margin-right: 0.5rem !important;
}

.ms-2 {
    margin-left: 0.5rem !important;
}

.gap-2 {
    gap: 0.5rem;
}

/* Responsive */
@media (max-width: 768px) {
    .section-title {
        font-size: 1rem;
    }

    .attachment-info h6 {
        font-size: 0.875rem;
    }

    .attachment-actions {
        gap: 8px;
    }
}

/* ============================================
   SECTION TRAITEMENT
   ============================================ */

.traitement-summary {
    color: black;
    cursor: pointer;
    font-weight: 500;
}

/* Largeurs de colonnes pour tableaux */
.col-width-70 {
    width: 70%;
}

.col-width-30 {
    width: 30%;
}

/* Champs obligatoires */
.required-field {
    color: red;
}

/* Espacements */
.gap-3 {
    gap: 1rem;
}

/* Tableau de traitement */
.table-traite {
    margin-bottom: 1rem;
}

.table-traite th {
    vertical-align: middle;
}

.table-traite td {
    vertical-align: middle;
}

/* Responsive pour les tableaux de traitement */
@media (max-width: 768px) {
    .col-width-70,
    .col-width-30 {
        width: auto;
    }
}
/* ============================================
   TABLEAU RÉSUMÉ COMMISSION
   ============================================ */

.table tbody.text-black {
    color: black;
}

/* Conformité - Couleurs dynamiques */
.conformite-oui {
    color: green;
}

.conformite-non {
    color: red;
}

/* Carte de décision */
.decision-card {
    max-width: 800px;
    background-color: #f8fafc;
}

/* Labels fixes pour alignement */
.label-fixed {
    width: 180px;
    min-width: 180px;
}

/* Préservation des sauts de ligne */
.pre-line {
    white-space: pre-line;
}

/* Badges personnalisés */
.badge-success {
    background-color: #198754;
    color: white;
}

.badge-danger {
    background-color: #dc3545;
    color: white;
}

.badge-secondary {
    background-color: #6c757d;
    color: white;
}

/* Espacement icône titre */
.title-icon {
    margin-right: 0.5rem;
}

/* Responsive pour mobile */
@media (max-width: 768px) {
    .label-fixed {
        width: 120px;
        min-width: 120px;
    }

    .decision-card {
        padding: 1rem !important;
    }
}
/* ============================================
   TABLEAU RÉSUMÉ PRÉTRAITEMENT
   ============================================ */

/* Réutilise les classes existantes :
   - .text-black (déjà défini)
   - .conformite-oui / .conformite-non (déjà défini)
   - .decision-card (déjà défini)
   - .label-fixed (déjà défini)
   - .pre-line (déjà défini)
*/

/* Couleurs de texte utilitaires */
.text-success-custom {
    color: green;
}

.text-danger-custom {
    color: red;
}

/* Espacement pour listes */
.list-spaced li {
    margin-bottom: 0.25rem;
}

/* Padding start pour liste */
.ps-3 {
    padding-left: 1rem;
}
/* ============================================
   SUMMARY / BOUTON COLLAPSABLE
   ============================================ */

.summary-title {
    color: black;
    font-size: 1.25rem;
    cursor: pointer;
}

/* InfoSection - Bouton collapsable */
.info-section-button {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: white;
    color: black;
    border: none;
    transition: none; /* Pas d'animation au survol */
}

.info-section-button:hover {
    background-color: white; /* Empêche le changement de couleur au survol */
}

.info-section-content {
    padding: 1.5rem;
}
/* ============================================
   AJOUTS POUR MODALES ET FORMULAIRES
   ============================================ */

/* Corps de modale avec scroll */
.modal-body-scroll {
    max-height: 70vh;
    overflow-y: auto;
}

/* Input en lecture seule */
.input-readonly {
    background-color: #e9ecef;
    cursor: not-allowed;
}

/* Titre noir pour modales */
.modal-title-black {
    color: black;
}

/* Espacement entre boutons */
.w-45 {
    width: 45%;
}