/* Admin UI */
.tag{display:inline-block;background:#eef2f7;border:1px solid #d7dee8;border-radius:6px;padding:2px 6px;font-size:12px;color:#445}
.badge{display:inline-block;border-radius:999px;padding:2px 8px;font-size:12px}
.badge.ok{background:#e7f8ee;color:#14532d;border:1px solid #b7e4c3}
.badge.warn{background:#fff3cd;color:#8a6d3b;border:1px solid #f6e3a5}
.badge.muted{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}
.zm-card{background:#fff;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.05);padding:12px;margin:12px 0}
.zm-actions{display:flex;gap:8px;align-items:center;margin-top:10px}
.muted{color:#6b7280;font-size:12px}
.zm-index-controls{margin:10px 0;display:flex;gap:8px}

/* Tri visuel */
table.zm-sortable th.sortable{cursor:pointer;user-select:none;white-space:nowrap}
table.zm-sortable th.sortable .arrow{opacity:.5;margin-left:4px}
table.zm-sortable th.sortable.asc .arrow::after{content:"▲";opacity:1}
table.zm-sortable th.sortable.desc .arrow::after{content:"▼";opacity:1}

.pm-list{margin:0;padding-left:18px}

/* Front client */
.zm-client{background:#0f1e25;color:#d8f3e8;border-radius:14px;padding:18px}
.zm-grid{display:grid;grid-template-columns:1fr;gap:14px}
.zm-box{position:relative;background:#16242c;border-radius:14px;padding:14px;border:2px solid #14532d}
.zm-box.warn{border-color:#c24131;box-shadow:0 0 0 1px rgba(194,65,49,.15) inset}
.zm-box.warn::before{content:"En attente";position:absolute;top:-10px;left:-8px;padding:4px 10px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(90deg,#d94f45,#c24131);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.25);animation:zmBlink 1.6s ease-in-out infinite}
.zm-box.ok{border-color:#17a34a;box-shadow:0 0 0 1px rgba(23,163,74,.15) inset}
.zm-box.ok::before{content:"Envoyé";position:absolute;top:-10px;left:-8px;padding:4px 10px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
@keyframes zmBlink{0%,55%{opacity:1}70%{opacity:.6}85%{opacity:1}}
.zm-box-hd{font-size:22px;line-height:1.25;font-weight:700;color:#e6f4ee;letter-spacing:.2px;margin:4px 0 10px}
.zuc-zone{margin-top:8px}
.zuc-preview{margin-top:10px}
.historique-wrap{margin-top:10px}
/* Override dur pour la couleur des "Détails" */
/* Couleur douce pour le texte "Détails" */
.zm-client .zm-box .zm-box-detail{
  color:#ffffff !important;        /* blanc par défaut */
}

/* Rouge atténué pour les cases "En attente" */
.zm-client .zm-box.warn .zm-box-detail{
  color:#f87171 !important;        /* rouge doux (#f87171) */
}

/* === Ajustements responsive pièces manquantes (mobile) === */

/* Empêcher les débordements horizontaux */
.zm-client{
    max-width: 100%;
    overflow-x: hidden;
}

/* S'assurer que les cartes utilisent bien la largeur dispo */
.zm-client .zm-box{
    box-sizing: border-box;
}

/* Limiter la largeur des zones d'upload à l'intérieur du bloc */
.zm-client .zuc-dropzone,
.zm-client .zuc-preview{
    max-width: 100%;
    box-sizing: border-box;
}

/* Version mobile */
@media (max-width: 768px){

    /* Titre "Documents complémentaires à fournir" */
    .zm-client h2{
        font-size: 1.4rem;
        line-height: 1.2;
    }

    /* Une seule colonne, plus de débordement sur la droite */
    .zm-client .zm-grid{
        display: block;
    }

    /* Carte du document */
    .zm-client .zm-box{
        width: 100%;
        margin: 0 0 18px;
        padding: 14px;
    }

    /* Nom du document */
    .zm-client .zm-box-hd{
        font-size: 1.1rem;
    }

    /* Texte de détail sous le titre */
    .zm-client .zm-box-detail{
        font-size: 0.9rem !important;
        line-height: 1.4;
    }

    /* Texte dans la zone d'upload + aperçu */
    .zm-client .zuc-dropzone,
    .zm-client .zuc-preview{
        font-size: 0.9rem;
    }
}

/* Réduction du titre principal sur mobile */
@media (max-width: 768px){
    .zm-client h2,
    .zm-client .pm-title,
    .zm-client .zm-documents-title {
        font-size: 1.25rem !important;
        line-height: 1.2 !important;
    }
}

/* Titre "Documents complémentaires à fournir" : plus petit sur mobile */
@media (max-width: 768px) {
    .zm-client h2[style*="color:#C0392B"] {
        font-size: 1.3rem !important;
        line-height: 1.2 !important;
    }
}
