/* ---------- GED commune : panneau « Documents du cabinet » et visionneuse flottante (11/09/2026) ---------- */
.ged-visionneuse {
  position: fixed; z-index: 1100; display: flex; flex-direction: column;
  min-width: 320px; min-height: 240px; max-width: 96vw; max-height: 96vh;
  background: #fff; border-radius: 12px; overflow: hidden; resize: both;
  box-shadow: 0 6px 12px rgba(16, 42, 67, .18), 0 24px 60px -12px rgba(16, 42, 67, .45);
  border: 1px solid #b6c6d9;
}
.ged-visionneuse.epinglee { border-color: var(--camy-or); box-shadow: 0 0 0 2px var(--camy-or), 0 24px 60px -12px rgba(16, 42, 67, .45); }
.ged-visionneuse.en-deplacement { opacity: .85; }
.ged-vis-barre {
  display: flex; align-items: center; gap: .35rem; padding: .4rem .6rem; cursor: move; user-select: none;
  background: linear-gradient(115deg, var(--camy-bleu-fonce) 0%, var(--camy-bleu) 75%, #0a5d92 100%); color: #fff;
}
.ged-vis-titre { flex: 1; font-size: .85rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ged-vis-barre .btn { padding: .1rem .45rem; font-size: .78rem; border-radius: 7px; }
.ged-visionneuse.epinglee .ged-vis-epingle { background: var(--camy-or); border-color: var(--camy-or); }
.ged-vis-envoi { padding: .5rem .6rem; background: #fdf7ec; border-bottom: 1px solid #e9d9b8; }
/* Répondre et transférer : deux teintes différentes, pour qu'on sache d'un coup d'œil ce qu'on est en train
   d'écrire — une réponse au client, ou un transfert à un tiers (25/09/2026). */
.ged-vis-reponse { padding: .5rem .6rem; background: #eef5fd; border-bottom: 1px solid #cfe0f3; }
.ged-vis-transfert { padding: .5rem .6rem; background: #eff8f1; border-bottom: 1px solid #c9e4d0; }
.ged-vis-reponse[hidden], .ged-vis-transfert[hidden] { display: none !important; }
.ged-vis-corps { flex: 1; min-height: 0; background: #525659; }
.ged-vis-cadre { width: 100%; height: 100%; border: 0; display: block; }
@media print { .ged-visionneuse { display: none !important; } }

.ged-panneau .ged-libelle { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--camy-or); margin-bottom: .3rem; }
.ged-reference { border: 2px solid var(--camy-or); border-radius: 12px; padding: .7rem .8rem; background: #fdf7ec; height: 100%; }
.ged-reference.vide { border-style: dashed; background: #fbfbfb; }
.ged-reference-nom { font-weight: 600; display: block; word-break: break-word; }
.ged-icone { margin-right: .2rem; }
.ged-dossiers { display: flex; flex-wrap: wrap; gap: .3rem; }
.ged-dossier { border: 1px solid var(--bord); background: #fff; border-radius: 999px; padding: .15rem .6rem; font-size: .8rem; color: var(--encre-2); }
.ged-dossier.actif { background: #e5f2fb; border-color: var(--camy-bleu); color: var(--camy-bleu); font-weight: 600; }
.ged-dossier .badge { font-size: .65rem; }
.ged-liste { max-height: 320px; overflow: auto; border: 1px solid var(--bord); border-radius: 10px; }
.ged-doc { display: flex; align-items: center; gap: .5rem; padding: .35rem .6rem; border-bottom: 1px solid #edf1f6; font-size: .86rem; }
.ged-doc:nth-child(even) { background: #f6f9fc; }
.ged-doc:hover { background: #e5f2fb; }
.ged-doc:last-child { border-bottom: 0; }
.ged-doc-nom { flex: 1; min-width: 0; }
.ged-actions { display: flex; gap: .2rem; white-space: nowrap; }
.ged-depot .zone-depot { padding: 1rem .6rem; }
.ged-bouton-actif { box-shadow: inset 0 0 0 2px var(--camy-or); }

.ged-changer-categorie { width: auto; min-width: 8.5rem; max-width: 11rem; padding: .05rem 1.7rem .05rem .5rem; background-position: right .4rem center; font-size: .76rem; }
.ged-changer-categorie.ged-modifie { border-color: var(--camy-or); box-shadow: 0 0 0 2px rgba(167, 125, 57, .35); background-color: #fdf7ec; }
.ged-attente { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; background: #fdf7ec; border: 1px solid #e9d9b8; border-radius: 10px; padding: .35rem .6rem; margin-bottom: .5rem; font-size: .84rem; }
.ged-attente[hidden] { display: none !important; }
.ged-attente-texte { flex: 1; font-weight: 600; color: #7a5a22; }

/* Le panneau s'adapte à SA largeur, pas à celle de l'écran (constat Yann 25/09/2026 : dans une
   colonne étroite, les trois colonnes lg-3/6/3 se réduisaient à quelques caractères et le nom du
   fichier se coupait lettre par lettre). */
.ged-panneau { container-type: inline-size; }
@container (max-width: 760px) {
  /* Panneau etroit : la liste puis le depot, l.un sous l.autre. */
  .ged-panneau > .row > [class*="col-"] { flex: 0 0 100%; width: 100%; max-width: 100%; }
  .ged-panneau .ged-liste { max-height: 230px; }
  .ged-panneau .ged-depot .zone-depot { padding: .6rem .5rem; }
  /* Depot en une seule ligne : il ne doit pas doubler la hauteur du pave. */
  .ged-panneau .ged-depot .zone-depot { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: .45rem .7rem; text-align: left; }
  .ged-panneau .ged-depot .zone-depot br { display: none; }
  .ged-panneau .ged-depot .zone-depot > div { font-size: 1.1rem !important; }
  .ged-panneau .ged-depot .zone-depot .small::before { content: " — "; }
}
@container (max-width: 560px) {
  .ged-panneau > .row > [class*="col-"] { flex: 0 0 100%; width: 100%; max-width: 100%; }
  .ged-panneau .ged-reference { height: auto; }
  .ged-panneau .ged-doc { flex-wrap: wrap; }
  .ged-panneau .ged-doc-nom { flex: 1 1 100%; }
}

/* Barre des pièces jointes d'un message dans la visionneuse (demande Yann 25/09/2026) */
.ged-vis-pieces { display: flex; flex-wrap: wrap; gap: .3rem; padding: .35rem .6rem; background: #f7fafd; border-bottom: 1px solid #d9e2ea; }
.ged-vis-pieces[hidden] { display: none !important; }
.ged-vis-piece { border: 1px solid var(--bord); background: #fff; border-radius: 999px; padding: .1rem .6rem; font-size: .78rem; color: var(--camy-bleu); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ged-vis-piece:hover { background: #e5f2fb; border-color: var(--camy-bleu); }
.ged-vis-piece.retour { background: #fdf7ec; border-color: #e9d9b8; color: #7a5a22; font-weight: 600; }

/* Case du document de référence dans la liste (demande Yann 25/09/2026 : plus de gros pavé) */
.ged-choix-reference { flex: 0 0 auto; margin: 0; cursor: pointer; }
.ged-etoile { color: var(--camy-or); font-size: .9rem; }
.ged-doc.est-reference { background: #fdf7ec; box-shadow: inset 3px 0 0 var(--camy-or); }
.ged-doc.est-reference:hover { background: #fbf1de; }
.ged-doc.est-reference .ged-doc-nom { font-weight: 600; }

/* ---------- Vue « Drive » de la fiche d'un tiers (08/10/2026) : officiels à gauche, divers à droite ---------- */
.ged-drive .ged-cote-titre { font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; color: var(--camy-bleu, #004B79); margin-bottom: .5rem; }
.ged-drive .ged-divers { background: #f7f9fc; border: 1px solid #e3e9f1; border-radius: 10px; padding: .75rem; height: 100%; }
.ged-drive .ged-divers-doc { background: #fff; border: 1px solid #e3e9f1; border-radius: 8px; padding: .45rem .55rem; margin-bottom: .4rem; }
.ged-drive .ged-divers-doc .ged-actions { flex-shrink: 0; }
.ged-drive .ged-depot .zone-depot { padding: .55rem .75rem; font-size: .88rem; }
.zone-depot-ouvre { cursor: pointer; padding: .55rem .9rem; background: transparent; }
/* format non affichable (08/10/2026) : message et bouton Enregistrer au lieu d'un téléchargement silencieux */
.ged-vis-cadre[hidden] { display: none; }
.ged-vis-sans-apercu { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; color: #f1f3f5; padding: 1rem; text-align: center; }
.ged-vis-sans-apercu[hidden] { display: none; }

/* 27/10/2026 (Yann) : une photo s'ouvre ajustée à la visionneuse ; un clic = taille réelle, un autre = ajustée */
.ged-vis-image { height: 100%; display: flex; align-items: center; justify-content: center; overflow: auto; }
.ged-vis-image[hidden] { display: none; }
.ged-vis-image img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; cursor: zoom-in; }
.ged-vis-image.taille-reelle { display: block; }
.ged-vis-image.taille-reelle img { max-width: none; max-height: none; cursor: zoom-out; }
/* icônes Lucide de la visionneuse et du panneau Documents (27/10/2026) */
.ged-vis-barre .btn { display: inline-flex; align-items: center; gap: .3rem; }
.ged-vis-barre .btn svg.ico { width: .95rem; height: .95rem; }
.ged-actions .btn { display: inline-flex; align-items: center; justify-content: center; }
.ged-actions .btn svg.ico { width: .9rem; height: .9rem; vertical-align: 0; }
.ged-icone svg.ico { color: var(--camy-bleu, #004b79); width: 1rem; height: 1rem; }
.ged-etoile svg.ico { fill: currentColor; width: .9rem; height: .9rem; }
.ged-dossier svg.ico { width: .9rem; height: .9rem; color: var(--camy-or); }
.ged-cote-titre svg.ico { color: var(--camy-or); }
.ged-zone svg.ico { color: var(--camy-bleu, #004b79); }
.ged-vis-piece svg.ico { width: .85rem; height: .85rem; }
