/* preprod/legacy.css — extracted from index.html v6.62.0 (2026-06-07)
   Bit-for-bit copy of the inline <style> block (was lines 8-794).
   Do not edit this file. New design system lives in v62-*.css. */

:root{--bg:#f5f4f1;--bg2:#fff;--bg3:#f7f6f3;--bg4:#f0efe9;--bg5:#ebe9e4;--tx:#1a1a1a;--tx2:#888;--tx3:#666;--tx4:#aaa;--bd:#ddd;--bd2:#e0deda;--bd3:#eee;--hover:#f9f8f5;--shd:rgba(0,0,0,.06)}
[data-theme="dark"]{--bg:#1a1a1e;--bg2:#232328;--bg3:#2a2a30;--bg4:#333338;--bg5:#3a3a40;--tx:#e8e8e8;--tx2:#999;--tx3:#bbb;--tx4:#777;--bd:#3a3a40;--bd2:#444;--bd3:#333;--hover:#2e2e34;--shd:rgba(0,0,0,.3)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--tx);font-size:14px;transition:background .3s,color .3s}
/* LAYOUT: sidebar + content */
.app-layout{display:flex;height:100vh;overflow:hidden}
/* SIDEBAR */
.sidebar{width:220px;min-width:220px;background:var(--bg2);border-right:1px solid var(--bd);display:flex;flex-direction:column;transition:width .2s,min-width .2s;overflow:hidden;z-index:60;position:relative}
.sidebar.collapsed{width:52px;min-width:52px}
.sb-brand{padding:14px 16px 10px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--bd);flex-shrink:0}
.sb-brand h1{font-size:15px;font-weight:600;white-space:nowrap}
.sb-brand .sub{font-size:11px;color:var(--tx2);white-space:nowrap}
.sidebar.collapsed .sb-brand{padding:14px 0 10px;justify-content:center}
.sidebar.collapsed .sb-brand h1,.sidebar.collapsed .sb-brand .sub,.sidebar.collapsed .sb-ver{display:none}
.sb-brand-icon{font-size:18px;font-weight:700;flex-shrink:0;width:24px;text-align:center;display:none}
.sidebar.collapsed .sb-brand-icon{display:block}
.sb-ver{font-size:9px;color:#bbb;margin-left:4px;white-space:nowrap}
/* NAV ITEMS */
.sb-nav{flex:1;overflow-y:auto;padding:8px 0}
.sb-group{padding:0 8px;margin-bottom:6px}
.sb-group-label{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--tx4);padding:8px 10px 4px;white-space:nowrap}
.sidebar.collapsed .sb-group-label{display:none}
.sb-sep{height:1px;background:var(--bd);margin:6px 12px}
.sidebar.collapsed .sb-sep{margin:6px 8px}
.nav-item{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:8px;cursor:pointer;color:var(--tx3);font-size:13px;white-space:nowrap;transition:background .15s;position:relative;border:none;background:none;width:100%;text-align:left;font-family:inherit}
.nav-item:hover{background:var(--bg4);color:var(--tx)}
.nav-item.on{background:var(--bg5);color:var(--tx);font-weight:500}
.nav-item .ni-icon{width:20px;text-align:center;flex-shrink:0;font-size:15px}
.nav-item .ni-label{flex:1;overflow:hidden;text-overflow:ellipsis}
.sidebar.collapsed .nav-item{justify-content:center;padding:7px 0}
.sidebar.collapsed .ni-label{display:none}
.sidebar.collapsed .nav-item .nbadge{top:-2px;right:2px}
.nbadge{position:absolute;top:2px;right:8px;background:#e24b4a;color:#fff;font-size:9px;font-weight:700;border-radius:10px;padding:1px 4px;min-width:14px;text-align:center;display:none}
.sidebar.collapsed .nbadge{right:2px;top:0}
/* SIDEBAR FOOTER */
.sb-footer{border-top:1px solid var(--bd);padding:8px;flex-shrink:0}
.sb-toggle{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;cursor:pointer;color:var(--tx3);font-size:12px;border:none;background:none;width:100%;font-family:inherit}
.sb-toggle:hover{background:var(--bg4)}
.sidebar.collapsed .sb-toggle{justify-content:center;padding:6px 0}
.sidebar.collapsed .sb-toggle-label{display:none}
.sb-user{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:var(--tx3);white-space:nowrap;overflow:hidden}
.sidebar.collapsed .sb-user-name{display:none}
.sb-user-avatar{width:26px;height:26px;border-radius:50%;background:var(--bg5);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;color:var(--tx2)}
/* TOP BAR (replaces .hdr) */
.topbar{background:var(--bg2);border-bottom:1px solid var(--bd);padding:0 20px;display:flex;align-items:center;gap:12px;height:50px;flex-shrink:0}
.hbtns{display:flex;gap:6px;margin-left:auto}
.hbtn{padding:5px 12px;font-size:12px;border:1px solid var(--bd);border-radius:6px;background:var(--bg2);cursor:pointer;color:var(--tx3);font-family:inherit}
.hbtn:hover{background:var(--bg4)}
.hbtn.pri{background:var(--tx);color:var(--bg);border-color:var(--tx)}
/* MAIN CONTENT AREA */
.content-area{flex:1;display:flex;flex-direction:column;overflow:hidden}
.main{padding:20px;max-width:1300px;margin:0 auto;overflow-y:auto;flex:1;width:100%}
/* TOOLTIP for collapsed sidebar */
.nav-item[title]{position:relative}
.sidebar.collapsed .nav-item:hover::after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:8px;background:var(--tx);color:var(--bg);padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:999;pointer-events:none}
/* MOBILE */
@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;height:100vh;transform:translateX(-100%);transition:transform .25s}.sidebar.mobile-open{transform:translateX(0)}.sidebar.collapsed{transform:translateX(-100%)}.app-layout{flex-direction:column}.content-area{width:100%}.mobile-menu-btn{display:flex!important}}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}
.stat{background:var(--bg2);border:1px solid var(--bd2);border-radius:10px;padding:12px 14px}
.stat-l{font-size:10px;color:var(--tx2);margin-bottom:3px;text-transform:uppercase;letter-spacing:.04em}
.stat-v{font-size:22px;font-weight:600}
.tbar{display:flex;gap:7px;margin-bottom:12px;flex-wrap:wrap}
.tbar input,.tbar select{font-size:13px;padding:6px 10px;border:1px solid var(--bd);border-radius:6px;background:var(--bg2);color:var(--tx);font-family:inherit}
.tbar input{flex:1;min-width:150px}
.tw{background:var(--bg2);border:1px solid var(--bd2);border-radius:10px;overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;padding:8px 10px;font-weight:500;font-size:10px;color:var(--tx2);border-bottom:1px solid var(--bd2);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;background:var(--bg3)}
td{padding:8px 10px;border-bottom:1px solid var(--bd2);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--hover);cursor:pointer}
.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;border:1px solid;white-space:nowrap}
.bp{background:#f1efe8;color:#444441;border-color:#d3d1c7}
.bc{background:#e6f1fb;color:#0c447c;border-color:#b5d4f4}
.ba{background:#faeeda;color:#633806;border-color:#fac775}
.bco{background:#eaf3de;color:#27500a;border-color:#c0dd97}
.br{background:#fcebeb;color:#791f1f;border-color:#f7c1c1}
.bv{background:#e1f5ee;color:#085041;border-color:#9fe1cb}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%}
.dok{background:#639922}.dom{background:#ba7517}.don{background:#e24b4a}
.urgdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e24b4a;margin-left:3px;vertical-align:middle}
.lrow{display:flex;gap:4px;flex-wrap:wrap}
.lchip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border:1px solid var(--bd);border-radius:20px;font-size:10px;color:var(--tx2);background:var(--bg2)}
.lchip:hover{border-color:var(--bd2)}
.sbtn{padding:3px 8px;font-size:11px;border:1px solid var(--bd);border-radius:6px;cursor:pointer;background:none;color:var(--tx2);font-family:inherit}
.sbtn:hover{background:var(--bg)}
/* PANEL */
.panel-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:200;justify-content:flex-end}
.panel-bg.open{display:flex}
.panel{background:var(--bg2);width:460px;max-width:95vw;height:100vh;overflow-y:auto;border-left:1px solid var(--bd);padding:22px}
.panel h2{font-size:16px;font-weight:600;margin-bottom:3px}
.panel .psub{font-size:12px;color:var(--tx2);margin-bottom:12px}
.psec{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--bd3)}
.psec:last-child{border-bottom:none}
.psec h4{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--tx4);margin-bottom:7px}
.prow{display:flex;gap:8px;margin-bottom:4px;font-size:13px}
.prow .pl{width:110px;flex-shrink:0;color:var(--tx2)}
.pnotes{font-size:13px;line-height:1.6;background:var(--bg3);border-radius:6px;padding:9px 11px;white-space:pre-wrap;word-break:break-word}
.plinks{display:flex;flex-direction:column;gap:5px}
.plink{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--bd);border-radius:6px;font-size:12px;text-decoration:none;color:inherit}
.plink:hover{border-color:var(--bd2);background:var(--hover)}
.plink .plt{width:90px;font-size:11px;color:var(--tx2);flex-shrink:0}
.plink .plu{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0c447c}
.ubanner{background:#fcebeb;border:1px solid #f7c1c1;border-radius:6px;padding:9px 11px;font-size:12px;color:#791f1f;margin-bottom:12px}
/* MODAL */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:300;align-items:flex-start;justify-content:center;padding:30px 16px;overflow-y:auto}
.modal-bg.open{display:flex}
.modal{background:var(--bg2);border-radius:10px;border:1px solid var(--bd);width:600px;max-width:100%;padding:22px;margin:auto}
/* v6.18.3 — Mode "page pleine" pour la modale fiche cote compagnie (PLAN-COMPAGNIE-EXP option A).
   Active via classe .cie-fullpage ajoutee dans openEditFiche pour les non-admins.
   La modale couvre la zone main (sous le header) en laissant la place a la sidebar (220px ou 52px). */
.modal-bg.cie-fullpage{background:var(--bg);padding:0 0 0 220px;align-items:stretch;z-index:40}
body:has(.sidebar.collapsed) .modal-bg.cie-fullpage{padding-left:52px}
/* v6.27.0 — Mode compagnie : typographie un cran au-dessus pour confort lecture.
   Cible 14-15px sur les éléments principaux compagnie. Inputs/select à 15px. */
body.cie-mode { font-size:15px; line-height:1.5 }
body.cie-mode .modal-bg.cie-fullpage,
body.cie-mode #cieDashContent,
body.cie-mode #calContent,
body.cie-mode #modalCieDates,
body.cie-mode #modalProfile { font-size:15px }
body.cie-mode .modal-bg.cie-fullpage label,
body.cie-mode #modalProfile label { font-size:13px; font-weight:600 }
body.cie-mode .modal-bg.cie-fullpage input,
body.cie-mode .modal-bg.cie-fullpage select,
body.cie-mode .modal-bg.cie-fullpage textarea,
body.cie-mode #modalProfile input,
body.cie-mode #modalProfile select,
body.cie-mode #modalProfile textarea { font-size:15px; padding:9px 12px }
body.cie-mode #cieDashContent .sbtn,
body.cie-mode #cieDashContent .hbtn,
body.cie-mode #calContent .sbtn,
body.cie-mode #calContent .hbtn { font-size:13px }
body.cie-mode .nav-item .ni-label { font-size:14px }
body.cie-mode .mh h2,
body.cie-mode #modalProfile .mh h2 { font-size:18px }
body.cie-mode .fsec { font-size:14px }
/* Calendrier compagnie : chips horaires un peu plus lisibles */
body.cie-mode #calContent button[onclick*="cieProposerDate"],
body.cie-mode #calContent button[onclick*="cieDemanderRepetition"],
body.cie-mode #calContent button[onclick*="cieRetirerProposition"],
body.cie-mode #calContent button[onclick*="cieRetirerRepetition"] { font-size:11px !important }

/* v6.21.0 — Wizard mode (PLAN-COMPAGNIE-EXP P2) */
.modal-bg.wizard-mode .mf-tabs{display:none !important}
.modal-bg.wizard-mode .modal{padding-left:260px !important;padding-bottom:80px !important;position:relative !important}
@media (max-width: 800px){
  .modal-bg.wizard-mode .modal{padding-left:12px !important;padding-top:160px !important}
  .modal-bg.wizard-mode #wizardSidebar{position:relative !important;width:100% !important;height:auto !important;border-right:none !important;border-bottom:1px solid var(--bd2) !important;left:0 !important;top:0 !important;bottom:auto !important;padding:8px !important}
}
.modal-bg.cie-fullpage > .modal{width:100%;max-width:none;border:none;border-radius:0;margin:0;padding:24px clamp(20px,3vw,40px);min-height:100vh;background:var(--bg)}
.modal-bg.cie-fullpage .mh{position:sticky;top:0;background:var(--bg);padding-top:8px;padding-bottom:12px;border-bottom:1px solid var(--bd);margin-bottom:16px;z-index:5}
.modal-bg.cie-fullpage .mclose{font-size:13px;font-weight:600;color:var(--tx);background:var(--bg2);border:1px solid var(--bd);padding:6px 14px;border-radius:6px}
.modal-bg.cie-fullpage .mclose:hover{background:var(--bg4)}
/* Mobile : sidebar en burger (off-canvas), pas de padding-left */
@media (max-width: 768px) {
  .modal-bg.cie-fullpage{padding-left:0}
  body:has(.sidebar.collapsed) .modal-bg.cie-fullpage{padding-left:0}
}
/* v6.22.0 — Responsive mobile compagnie (PLAN-COMPAGNIE-EXP P3.D) */
/* Cibles tactiles ≥ 44px sur les boutons des modales compagnie */
@media (max-width: 768px) {
  .modal-bg.cie-fullpage .sbtn,
  .modal-bg.cie-fullpage .hbtn,
  #modalCieDates .sbtn,
  #modalCieDates .hbtn,
  #modalProfile .sbtn,
  #modalProfile .hbtn { min-height:44px; padding:10px 14px; font-size:13px }
  .modal-bg.cie-fullpage input[type=text],
  .modal-bg.cie-fullpage input[type=email],
  .modal-bg.cie-fullpage input[type=tel],
  .modal-bg.cie-fullpage input[type=number],
  .modal-bg.cie-fullpage input[type=password],
  .modal-bg.cie-fullpage select,
  .modal-bg.cie-fullpage textarea { min-height:44px; padding:10px 12px; font-size:14px }
  /* Wizard footer : sticky bas, en colonne, plein écran */
  .modal-bg.wizard-mode #wizardFooter{
    position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important;
    flex-wrap:wrap !important; gap:6px !important; padding:10px 12px !important; z-index:9999 !important;
    box-shadow:0 -2px 8px rgba(0,0,0,0.08)
  }
  .modal-bg.wizard-mode #wizardFooter .sbtn,
  .modal-bg.wizard-mode #wizardFooter .hbtn{ flex:1 1 auto; min-width:90px }
  /* Modale dates : pleine largeur sur mobile, scroll interne */
  #modalCieDates .modal{ max-width:100% !important; width:100% !important; max-height:100vh !important; height:100vh !important; border-radius:0 !important; padding:14px !important }
  /* Dashboard cards plein largeur */
  #cieDashContent > div[style*="grid"]{ grid-template-columns:1fr !important; padding:10px !important; gap:10px !important }
  /* Modale calendrier dispos en 1 col */
  #cieDatesDisponibles > div[style*="grid"]{ grid-template-columns:1fr !important }
}
.mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.mh h2{font-size:15px;font-weight:600}
.mclose{background:none;border:none;font-size:18px;cursor:pointer;color:var(--tx2);padding:3px 7px}
.fsec{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--tx4);margin:12px 0 7px;padding-top:12px;border-top:1px solid var(--bd3)}
.mtabs{display:flex;gap:0;border-bottom:2px solid var(--bd);margin:-6px -22px 14px;padding:0 22px}
.mtab{border:none;background:none;padding:8px 16px;font-size:12px;font-weight:500;color:var(--tx2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;font-family:inherit;transition:all .15s}
.mtab:hover{color:var(--tx)}
.mtab.active{color:#0c447c;border-bottom-color:#0c447c;font-weight:600}
.mtab-panel{display:none}
.mtab-panel.active{display:block}
.cie-gauge{height:6px;border-radius:3px;background:#eee;overflow:hidden;margin-top:4px}
.cie-gauge-fill{height:100%;border-radius:3px;transition:width .3s}
.cie-gauge-fill.low{background:#e74c3c}
.cie-gauge-fill.mid{background:#f39c12}
.cie-gauge-fill.high{background:#27ae60}
/* ── COMMUNICATION / MEDIATHEQUE ── */
.comm-dossier-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg3);border:1px solid var(--bd2);border-radius:10px;padding:11px 14px;margin-bottom:14px;flex-wrap:wrap}
.comm-dossier-head .cd-title{font-size:13px;font-weight:600;color:var(--tx)}
.comm-dossier-head .cd-sub{font-size:11px;color:var(--tx3);margin-top:2px}
.comm-dossier-head .cd-badge{display:inline-block;font-size:10px;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}
.comm-dossier-head .cd-badge.draft{background:#eef2f6;color:#596878}
.comm-dossier-head .cd-badge.in_progress{background:#e6f1fb;color:#0c447c}
.comm-dossier-head .cd-badge.submitted{background:#fff3cd;color:#855307}
.comm-dossier-head .cd-badge.validated{background:#d1f2d7;color:#165d26}
.comm-dossier-head .cd-badge.needs_revision{background:#fcebeb;color:#791f1f}
.comm-bar{flex:1;min-width:180px;display:flex;align-items:center;gap:10px}
.comm-bar-track{flex:1;height:8px;background:#e9edf1;border-radius:5px;overflow:hidden}
.comm-bar-fill{height:100%;border-radius:5px;transition:width .35s;background:linear-gradient(90deg,#e74c3c,#f39c12,#27ae60)}
.comm-bar-label{font-size:12px;font-weight:600;color:var(--tx);min-width:44px;text-align:right}
.comm-group{margin-bottom:16px}
.comm-group-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tx3);margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--bd3)}
.comm-type-row{display:flex;align-items:center;gap:10px;padding:9px 10px;background:var(--bg2);border:1px solid var(--bd3);border-radius:8px;margin-bottom:6px;flex-wrap:wrap}
.comm-type-row .ct-icon{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;background:#eef2f6}
.comm-type-row .ct-main{flex:1;min-width:180px}
.comm-type-row .ct-label{font-size:13px;font-weight:600;color:var(--tx);display:flex;align-items:center;gap:6px}
.comm-type-row .ct-req{font-size:9px;font-weight:700;padding:1px 6px;border-radius:8px;background:#fcebeb;color:#791f1f;text-transform:uppercase;letter-spacing:.03em}
.comm-type-row .ct-hint{font-size:11px;color:var(--tx3);margin-top:2px}
.comm-type-row .ct-status{font-size:10px;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}
.comm-type-row .ct-status.empty{background:#eef2f6;color:#596878}
.comm-type-row .ct-status.pending{background:#fff3cd;color:#855307}
.comm-type-row .ct-status.validated{background:#d1f2d7;color:#165d26}
.comm-type-row .ct-status.needs_revision{background:#fcebeb;color:#791f1f}
.comm-type-row .ct-actions{display:flex;gap:5px;flex-shrink:0}
.comm-type-row .ct-actions button{font-size:11px;padding:4px 10px;border:1px solid var(--bd2);border-radius:6px;background:var(--bg2);cursor:pointer;color:var(--tx)}
.comm-type-row .ct-actions button:hover{background:var(--bg4)}
.comm-type-row .ct-actions button.pri{background:#0c447c;color:#fff;border-color:#0c447c}
.comm-type-row .ct-actions button.pri:hover{background:#0a3866}
.comm-res-list{margin:6px 0 0 36px;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;width:100%}
.comm-res-item{display:flex;align-items:center;gap:8px;padding:6px 9px;background:var(--bg3);border:1px solid var(--bd3);border-radius:6px;font-size:12px}
.comm-res-item .rs-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx2)}
.comm-res-item .rs-title a{color:#0c447c;text-decoration:none}
.comm-res-item .rs-title a:hover{text-decoration:underline}
.comm-res-item .rs-badge{font-size:9px;padding:2px 6px;border-radius:8px;text-transform:uppercase;font-weight:600}
.comm-res-item .rs-badge.pending{background:#fff3cd;color:#855307}
.comm-res-item .rs-badge.validated{background:#d1f2d7;color:#165d26}
.comm-res-item .rs-badge.needs_revision{background:#fcebeb;color:#791f1f}
.comm-res-item .rs-actions{display:flex;gap:4px}
.comm-res-item .rs-actions button{font-size:10px;padding:2px 6px;border:1px solid var(--bd2);border-radius:4px;background:var(--bg2);cursor:pointer;color:var(--tx2)}
.comm-res-item .rs-actions button:hover{background:var(--bg4);color:var(--tx)}
.comm-dropzone{border:2px dashed var(--bd2);border-radius:10px;padding:28px 16px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg3)}
.comm-dropzone:hover,.comm-dropzone.drag{border-color:#0c447c;background:#e6f1fb;color:#0c447c}
.comm-dropzone .dz-icon{font-size:30px;margin-bottom:6px}
.comm-dropzone .dz-text{font-size:13px;color:var(--tx2)}
.comm-dropzone .dz-hint{font-size:11px;color:var(--tx3);margin-top:4px}
.comm-file-preview{display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg3);border:1px solid var(--bd3);border-radius:8px;margin-top:10px}
.comm-file-preview .fp-icon{font-size:22px}
.comm-file-preview .fp-info{flex:1;min-width:0}
.comm-file-preview .fp-name{font-size:12px;font-weight:600;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comm-file-preview .fp-size{font-size:11px;color:var(--tx3)}
.comm-file-preview .fp-remove{background:none;border:none;color:#791f1f;cursor:pointer;font-size:16px}
/* Admin médiathèque */
.med-card{background:var(--bg2);border:1px solid var(--bd3);border-radius:10px;padding:12px;display:flex;gap:12px;margin-bottom:10px;align-items:flex-start}
.med-card .mc-thumb{width:72px;height:72px;border-radius:8px;background:#eef2f6;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-size:22px;color:var(--tx3)}
.med-card .mc-thumb img{width:100%;height:100%;object-fit:cover}
.med-card .mc-main{flex:1;min-width:0}
.med-card .mc-head{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.med-card .mc-title{font-size:13px;font-weight:600;color:var(--tx)}
.med-card .mc-cie{font-size:12px;color:var(--tx3)}
.med-card .mc-meta{font-size:11px;color:var(--tx3);margin:4px 0}
.med-card .mc-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.med-card .mc-actions button{font-size:11px;padding:4px 10px;border:1px solid var(--bd2);border-radius:6px;background:var(--bg2);cursor:pointer;color:var(--tx)}
.med-card .mc-actions button.ok{background:#27ae60;color:#fff;border-color:#27ae60}
.med-card .mc-actions button.ko{background:#e74c3c;color:#fff;border-color:#e74c3c}
.med-card .mc-actions button:hover{filter:brightness(.95)}
.news-card{display:flex;gap:16px;padding:16px;background:var(--bg2);border:1px solid var(--bd);border-radius:12px;margin-bottom:12px;cursor:pointer;transition:box-shadow .2s,transform .15s}
.news-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-1px)}
.news-card-img{width:140px;height:100px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#e6f1fb;display:flex;align-items:center;justify-content:center}
.news-card-img img{width:100%;height:100%;object-fit:cover}
.news-card-img .no-img{font-size:32px;color:#b5d4f4}
.news-card-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.news-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.news-card-meta .read-time{font-size:11px;font-weight:600;color:#0c447c}
.news-card-meta .read-time::before{content:'◆ ';font-size:7px}
.news-card-title{font-size:15px;font-weight:700;color:var(--tx);margin-bottom:4px;line-height:1.3}
.news-card-excerpt{font-size:12px;color:var(--tx2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card-date{font-size:11px;color:var(--tx3);margin-top:6px}
.news-card-cat{font-size:10px;font-weight:600;color:#fff;background:#0c447c;padding:2px 8px;border-radius:10px;display:inline-block}
@media(max-width:600px){.news-card{flex-direction:column}.news-card-img{width:100%;height:160px}}
.fsec.first{margin-top:0;padding-top:0;border-top:none}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fr{display:flex;flex-direction:column;gap:3px}
.fr label{font-size:11px;color:var(--tx2);font-weight:500}
.fr input,.fr select,.fr textarea{font-size:13px;padding:7px 10px;border:1px solid var(--bd);border-radius:6px;background:var(--bg2);color:var(--tx);font-family:inherit;width:100%}
.fr textarea{height:70px;resize:vertical}
.mfoot{display:flex;gap:7px;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid var(--bd3)}
.mf-tab.on{color:var(--accent)!important;border-bottom-color:var(--accent)!important}
.mf-tab:hover{color:var(--tx1)}
.mf-tab-content{max-height:55vh;overflow-y:auto;padding-right:4px}
/* ACTIONS */
.arow{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--bd3);background:var(--bg2)}
.arow:hover{background:var(--hover)}
.arow.late{border-left:3px solid #e24b4a}
.arow.done{opacity:.5}
.achk{width:20px;height:20px;border-radius:50%;border:2px solid var(--bd);cursor:pointer;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;background:transparent}
.achk.done{background:#639922;border-color:#639922}
.amain{flex:1;min-width:0}
.acomp{font-weight:500;font-size:13px;cursor:pointer;color:#0c447c}
.atitle{font-size:11px;color:var(--tx2);margin-bottom:3px}
.adesc{font-size:13px;line-height:1.4}
.ameta{display:flex;gap:8px;margin-top:5px;flex-wrap:wrap;font-size:11px;color:var(--tx2)}
.ameta.late{color:#e24b4a;font-weight:500}
/* ACTION TYPE BADGES */
.at-relancer{background:#faeeda;color:#633806;border-color:#fac775}
.at-proposer-date,.at-confirmer-date,.at-demander-dispo,.at-demander-captation{background:#e6f1fb;color:#0c447c;border-color:#b5d4f4}
.at-confirmer-date{background:#eaf3de;color:#27500a;border-color:#c0dd97}
.at-vision{background:#eeedfe;color:#3c3489;border-color:#afa9ec}
.at-contractualiser{background:#eaf3de;color:#27500a;border-color:#c0dd97}
.at-reponse-technique{background:#faeeda;color:#633806;border-color:#fac775}
.at-arbitrer{background:#fcebeb;color:#791f1f;border-color:#f7c1c1}
.at-classer{background:#f1efe8;color:#444441;border-color:#d3d1c7}
/* COM TASKS */
.com-dashboard{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.com-stat{background:var(--bg2);border:1px solid var(--bd2);border-radius:8px;padding:10px 16px;min-width:100px;text-align:center}
.com-stat .cs-v{font-size:22px;font-weight:700;line-height:1.2}
.com-stat .cs-l{font-size:11px;color:var(--tx2);margin-top:2px}
.crow{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--bd3);background:var(--bg2)}
.crow:hover{background:var(--hover)}
.crow.late{border-left:3px solid #e24b4a}
.crow.done{opacity:.5}
.cchk{width:20px;height:20px;border-radius:50%;border:2px solid var(--bd);cursor:pointer;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;background:transparent}
.cchk.done{background:#639922;border-color:#639922}
.cchk.bloque{background:#e89832;border-color:#e89832}
.cmain{flex:1;min-width:0}
.cjalon{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;margin-right:6px}
.cj-j-14{background:#e3f0ff;color:#0c447c}.cj-j-7{background:#e8f5e3;color:#27500a}.cj-j-2{background:#fef5e3;color:#633806}
.cj-jour-j{background:#fce3e3;color:#791f1f}.cj-sortie{background:#f3e8fc;color:#4a1878}.cj-lundi{background:#e8f0f0;color:#1a4a4a}
.ccanaux{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}
.ccanal{font-size:9px;padding:1px 6px;border-radius:8px;background:var(--bg4);color:var(--tx2)}
.cmissing{font-size:10px;color:#e89832;margin-top:3px;font-style:italic}
/* HISTORIQUE */
.hcomp{margin-bottom:18px}
.hcomp-hdr{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:var(--bg4);border-radius:6px;margin-bottom:1px}
.hcomp-name{font-weight:500;font-size:13px}
.hentry{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--bd3);background:var(--bg2)}
.hentry:last-child{border-bottom:none;border-radius:0 0 6px 6px}
.htdot{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:1px;font-weight:600}
.ht-er{background:#e6f1fb;color:#0c447c}
.ht-ee{background:#eaf3de;color:#27500a}
.ht-ap{background:#faeeda;color:#633806}
.ht-vi{background:#eeedfe;color:#3c3489}
.ht-no{background:#f1efe8;color:#444441}
.hcontent{flex:1;min-width:0}
.hmeta{font-size:11px;color:var(--tx2);margin-bottom:3px}
.htext{font-size:13px;color:var(--tx);line-height:1.5}
/* PRIORITE BADGES */
.pri-1{background:#f1efe8;color:#666;border-color:#d3d1c7}
.pri-2{background:#e6f1fb;color:#0c447c;border-color:#b5d4f4}
.pri-3{background:#faeeda;color:#633806;border-color:#fac775}
.pri-4{background:#eeedfe;color:#3c3489;border-color:#afa9ec}
.pri-5{background:#fcebeb;color:#791f1f;border-color:#f7c1c1}
.cal-count{font-size:10px;font-weight:500;white-space:nowrap}
.cal-count .cc-opt{color:#633806}
.cal-count .cc-conf{color:#27500a}
/* CALENDRIER */
.cal-period{background:var(--bg2);border:1px solid var(--bd2);border-radius:10px;padding:18px;margin-bottom:18px}
.cal-period h3{font-size:14px;font-weight:600;margin-bottom:10px}
.cal-leg{display:flex;gap:12px;font-size:11px;color:var(--tx2);margin-bottom:12px;flex-wrap:wrap}
.cal-leg span{display:flex;align-items:center;gap:4px}
.ldot{width:10px;height:10px;border-radius:2px;border:1px solid}
.cal-months{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}
.cal-month{flex-shrink:0}
.cmt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--tx2);margin-bottom:7px}
.cweek{display:flex;gap:3px;margin-bottom:3px}
.cday{width:96px;flex-shrink:0}
.cdn{font-size:10px;font-weight:600;text-align:center;margin-bottom:2px}
.cdn.fer{color:#e24b4a}
.cdn .zc-tag{color:#0c447c;font-size:7px}
.csl{min-height:56px;border-radius:4px;border:1px solid var(--bd2);background:var(--bg4);display:flex;flex-direction:column;align-items:stretch;cursor:default;font-size:9px;padding:3px;line-height:1.2;overflow:hidden;gap:2px;position:relative}
.csl:hover{border-color:var(--bd2)}
.csl.has-confirmed{background:#eaf3de;border-color:#c0dd97}
.csl.has-option{background:#faeeda;border-color:#fac775}
.csl.closed{background:var(--bg2);border-style:dashed;color:var(--tx4)}
.csl.zc{border-top:3px solid #b5d4f4}
/* v6.16.0 — slots de répétition (type='repetition') : visuel mauve pâle distinct */
.csl.repetition{background:#f3e5f5;border-color:#d1b3e6;border-left:3px solid #6a4c93}
.csl.repetition.has-confirmed,.csl.repetition.has-option{background:#ead5ee;border-color:#b48fc8}
.cal-pill.repetition-pill{background:#6a4c93;color:#fff}
.csl-rep-label{font-size:8px;color:#6a4c93;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:1px}
.cslt{font-size:8px;color:var(--tx4);text-align:center;margin-bottom:1px}
.cal-pill{display:flex;align-items:center;gap:2px;padding:2px 4px;border-radius:10px;font-size:8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid;line-height:1.2}
.cal-pill.propose{background:#e6f1fb;color:#0c447c;border-color:#b5d4f4}
.cal-pill.accepte{background:#faeeda;color:#b8860b;border-color:#fac775}
.cal-pill.confirme{background:#eaf3de;color:#27500a;border-color:#c0dd97}
.cal-pill.refuse{background:#fde8e8;color:#791f1f;border-color:#f7c1c1;opacity:.85}
.cal-pill.confirmed{background:#eaf3de;color:#27500a;border-color:#c0dd97}
.cal-pill.option{background:#e6f1fb;color:#0c447c;border-color:#b5d4f4}
.cal-pill:hover{opacity:.85}
.cal-pill .pill-name{overflow:hidden;text-overflow:ellipsis;flex:1}
.cal-pill .pill-x{margin-left:auto;cursor:pointer;font-weight:bold;opacity:.6;font-size:9px;flex-shrink:0}
.cal-pill .pill-x:hover{opacity:1;color:#791f1f}
.cal-add-btn{display:flex;align-items:center;justify-content:center;height:16px;border-radius:4px;border:1px dashed var(--bd2);cursor:pointer;font-size:10px;color:var(--tx4);margin-top:auto}
.cal-add-btn:hover{background:var(--bg3);border-color:var(--bd2);color:var(--tx3)}
.cal-picker-overlay{position:fixed;inset:0;z-index:240;background:transparent}
.cal-picker{position:fixed;background:var(--bg2);border:1px solid var(--bd);border-radius:8px;box-shadow:0 4px 16px var(--shd);z-index:250;width:280px;max-height:350px;overflow:hidden;display:flex;flex-direction:column}
.cal-picker-search{width:100%;padding:8px 10px;border:none;border-bottom:1px solid var(--bd);font-size:12px;font-family:inherit;outline:none;background:var(--bg2);color:var(--tx)}
.cal-picker-list{overflow-y:auto;flex:1;padding:4px}
.cal-picker-item{padding:7px 10px;border-radius:4px;cursor:pointer;font-size:12px;color:var(--tx)}
.cal-picker-item:hover{background:var(--hover)}
.cal-picker-item .picker-sub{font-size:10px;color:var(--tx2)}
.cal-ctx{position:fixed;background:var(--bg2);border:1px solid var(--bd);border-radius:8px;box-shadow:0 4px 12px var(--shd);z-index:260;min-width:160px;padding:4px}
.cal-ctx button{display:block;width:100%;padding:7px 10px;border:none;background:none;cursor:pointer;text-align:left;font-size:12px;color:var(--tx);font-family:inherit;border-radius:4px}
.cal-ctx button:hover{background:var(--hover)}
.cal-stats-bar{display:flex;gap:16px;font-size:12px;color:var(--tx2);margin-bottom:12px;padding:10px 14px;background:var(--bg3);border-radius:8px;border:1px solid var(--bd2)}
.cal-stats-bar b{color:var(--tx);font-weight:600}
.cal-prepos-btn{padding:6px 14px;font-size:12px;border:1px solid #fac775;border-radius:8px;background:#faeeda;color:#633806;cursor:pointer;font-family:inherit;font-weight:500;margin-bottom:12px}
.cal-prepos-btn:hover{opacity:.85}
th.sortable{cursor:pointer;user-select:none;white-space:nowrap}th.sortable:hover{background:var(--hover)}th.sortable span{font-size:10px;color:var(--tx2)}
.cal-purge-btn{padding:6px 14px;font-size:12px;border:1px solid #e8a0a0;border-radius:8px;background:#fce4e4;color:#8b1a1a;cursor:pointer;font-family:inherit;font-weight:500;margin-bottom:12px;margin-left:8px}
.cal-purge-btn:hover{opacity:.85}
.cal-addday-btn{padding:6px 14px;font-size:12px;border:1px solid #b5d4f4;border-radius:8px;background:#e6f1fb;color:#0c447c;cursor:pointer;font-family:inherit;font-weight:500;margin-bottom:12px;margin-left:8px}
.cal-addday-btn:hover{opacity:.85}
.cdn-hide{display:inline-block;cursor:pointer;color:var(--tx4);font-size:9px;margin-left:3px;vertical-align:middle}
.cdn-hide:hover{color:#e24b4a}
.cdn-extra{color:#0c447c;font-style:italic}
.cal-addday-modal{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:300;display:flex;align-items:center;justify-content:center}
.cal-addday-box{background:var(--bg2);border-radius:10px;padding:24px;box-shadow:0 8px 30px var(--shd);width:280px}
.cal-addday-box h4{margin:0 0 12px;font-size:14px;font-weight:600}
.cal-addday-box input{width:100%;padding:8px;border:1px solid var(--bd);border-radius:6px;font-size:13px;font-family:inherit;box-sizing:border-box;background:var(--bg2);color:var(--tx)}
.cal-addday-box .adb-actions{display:flex;gap:8px;margin-top:14px;justify-content:flex-end}
.cal-addday-box .adb-actions button{padding:6px 14px;border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit;border:1px solid var(--bd);background:var(--bg)}
.cal-addday-box .adb-actions button.primary{background:#0c447c;color:#fff;border-color:#0c447c}
/* NOTIF */
.notif{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--tx);color:var(--bg);padding:9px 18px;border-radius:6px;font-size:13px;z-index:999;opacity:0;transition:opacity .25s;pointer-events:none}
.notif.show{opacity:1}
.empty{padding:40px;text-align:center;color:var(--tx2)}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:20px;background:var(--bg);border-radius:10px}
.card{background:var(--bg2);border:1px solid var(--bd2);border-radius:10px;padding:14px;cursor:pointer;transition:all .2s}
.card:hover{border-color:var(--bd);box-shadow:0 2px 8px var(--shd)}
/* CONTACTS TAB */
.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.contact-card{background:var(--bg2);border:1px solid var(--bd2);border-radius:10px;padding:16px;text-align:center}
.contact-card:hover{border-color:var(--bd);box-shadow:0 2px 8px var(--shd)}
.contact-photo{width:60px;height:60px;border-radius:50%;object-fit:cover;background:var(--bg4);margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--tx4)}
.contact-photo img{width:60px;height:60px;border-radius:50%;object-fit:cover}
.contact-name{font-weight:600;font-size:14px;margin-bottom:2px}
.contact-role{font-size:11px;color:var(--tx2);margin-bottom:4px}
.contact-cie{font-size:12px;color:#0c447c;margin-bottom:8px}
.contact-info{font-size:11px;color:var(--tx3);display:flex;flex-direction:column;gap:3px}
/* ADMIN PANEL */
.admin-section{background:var(--bg2);border:1px solid var(--bd2);border-radius:10px;padding:18px;margin-bottom:16px}
.admin-section h3{font-size:14px;font-weight:600;margin-bottom:12px}
.user-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--bd3)}
.user-row:last-child{border-bottom:none}
.user-info{flex:1;min-width:0}
.user-name{font-weight:500;font-size:13px}
.user-email{font-size:11px;color:var(--tx2)}
.user-status{font-size:11px;padding:2px 8px;border-radius:10px}
.us-active{background:#eaf3de;color:#27500a}
.us-pending{background:#faeeda;color:#633806}
.us-email_verified{background:#e6f1fb;color:#0c447c}
.us-disabled{background:#f1efe8;color:#888}
.pending-card{background:var(--bg3);border:1px solid var(--bd2);border-radius:8px;padding:14px;margin-bottom:10px}
.pending-card h4{font-size:13px;font-weight:600;margin-bottom:6px}
.pending-meta{font-size:11px;color:var(--tx2);margin-bottom:8px}
.pending-changes{font-size:12px;margin-bottom:10px;padding:8px;background:var(--bg2);border-radius:4px;border:1px solid var(--bd3)}
.pending-actions{display:flex;gap:8px}
/* USER MENU */
.user-menu{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:4px 10px;border-radius:6px}
.user-menu:hover{background:var(--bg4)}
.user-menu .um-avatar{width:26px;height:26px;border-radius:50%;background:#e6f1fb;color:#0c447c;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;overflow:hidden}
.um-avatar img,.user-detail-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.user-menu .um-name{font-size:12px;font-weight:500}
.um-dropdown{position:absolute;top:100%;right:0;background:var(--bg2);border:1px solid var(--bd);border-radius:8px;box-shadow:0 4px 12px var(--shd);min-width:180px;padding:4px;z-index:100;display:none}
.um-dropdown.open{display:block}
.um-dropdown button{display:block;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;text-align:left;font-size:12px;color:var(--tx);font-family:inherit;border-radius:4px}
.um-dropdown button:hover{background:var(--hover)}
.um-dropdown hr{border:none;border-top:1px solid var(--bd3);margin:4px 0}
/* LOGIN OVERLAY */
.login-overlay{position:fixed;inset:0;background:var(--bg);z-index:500;display:flex;align-items:center;justify-content:center}
.login-box{background:var(--bg2);border:1px solid var(--bd);border-radius:12px;padding:40px;width:380px;max-width:90vw}
.login-box h1{font-size:20px;font-weight:600;margin-bottom:4px;text-align:center}
.login-box .lsub{font-size:12px;color:var(--tx2);text-align:center;margin-bottom:24px}
.login-box .fr{margin-bottom:12px}
.login-box .lerr{background:#fcebeb;color:#791f1f;padding:10px 12px;border-radius:6px;font-size:12.5px;margin-bottom:12px;display:none;border:1px solid #f5c1c1;font-weight:500}
@keyframes sm-login-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.login-box .ltabs{display:flex;gap:2px;margin-bottom:20px;background:var(--bg4);border-radius:6px;padding:3px}
.login-box .ltab{flex:1;padding:7px;border:none;background:none;cursor:pointer;font-size:12px;border-radius:4px;font-family:inherit;color:var(--tx3)}
.login-box .ltab.on{background:var(--bg2);color:var(--tx);font-weight:500;box-shadow:0 1px 3px var(--shd)}
.login-box .lsuccess{background:#eaf3de;color:#27500a;padding:8px 12px;border-radius:6px;font-size:12px;margin-bottom:12px;display:none}
.login-box .lforgot{font-size:11px;color:#0c447c;cursor:pointer;text-align:right;margin-top:-6px;margin-bottom:12px}
.login-box .lforgot:hover{text-decoration:underline}
/* IMPERSONATION BANNER */
.impersonation-banner{background:#eeedfe;border-bottom:2px solid #afa9ec;padding:8px 20px;display:flex;align-items:center;gap:10px;font-size:12px;color:#3c3489;flex-shrink:0;z-index:49}
.impersonation-banner b{font-weight:600}
.impersonation-banner button{padding:4px 12px;border:1px solid #afa9ec;border-radius:6px;background:#fff;cursor:pointer;font-size:11px;color:#3c3489;font-family:inherit}
.impersonation-banner button:hover{background:#eeedfe}
/* USER DETAIL PANEL (admin) */
.user-detail{background:var(--bg2);border:1px solid var(--bd2);border-radius:10px;padding:18px;margin-bottom:16px}
.user-detail-hdr{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.user-detail-avatar{width:48px;height:48px;border-radius:50%;background:#e6f1fb;color:#0c447c;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0;overflow:hidden}
.user-detail-info h3{font-size:15px;font-weight:600;margin-bottom:2px}
.user-detail-info .udi-sub{font-size:12px;color:var(--tx2)}
.user-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;font-size:13px}
.user-detail-grid .udg-label{font-size:11px;color:var(--tx2)}
.user-fiches-list{border-top:1px solid var(--bd3);padding-top:10px}
.user-fiches-list h4{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--tx2);margin-bottom:8px}
.user-fiche-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--bg4);font-size:12px;cursor:pointer}
.user-fiche-item:hover{color:#0c447c}
.user-fiche-item:last-child{border-bottom:none}
/* CONNEXION BUTTON */
.hbtn-login{padding:5px 12px;font-size:12px;border:1px solid #0c447c;border-radius:6px;background:#e6f1fb;cursor:pointer;color:#0c447c;font-family:inherit;font-weight:500}
.hbtn-login:hover{background:#d0e4f7}
/* DROPDOWNS AUTOCOMPLETE */
.cie-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg2);border:1px solid var(--bd);border-radius:0 0 8px 8px;max-height:180px;overflow-y:auto;z-index:100;box-shadow:0 4px 12px var(--shd)}
.cie-dropdown .dd-item{padding:8px 10px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--tx)}
.cie-dropdown .dd-item:hover{background:var(--hover)}
.cie-dropdown .dd-item.dd-create{color:#0c447c;font-style:italic;border-top:1px solid var(--bd3)}
.cie-dropdown .dd-item .dd-sub{font-size:11px;color:var(--tx2);margin-left:auto}
/* CONTACTS LINKED LIST */
.mf-ct-list{display:flex;flex-direction:column;gap:4px}
.mf-ct-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg3);border-radius:6px;font-size:12px}
.mf-ct-row .mf-ct-name{font-weight:500;flex:1}
.mf-ct-row .mf-ct-role{font-size:11px;color:var(--tx2);background:var(--bg5);padding:2px 6px;border-radius:10px}
.mf-ct-row .mf-ct-principal{font-size:10px;color:#0c447c;background:#e6f1fb;padding:2px 6px;border-radius:10px;cursor:pointer}
.mf-ct-row .mf-ct-rm{font-size:14px;color:var(--tx4);cursor:pointer;padding:0 4px}
.mf-ct-row .mf-ct-rm:hover{color:#e24b4a}
/* ASSISTANT IA CHAT */
.ai-bubble{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#6b4ce6,#4a90d9);box-shadow:0 4px 16px rgba(107,76,230,.35);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:800;transition:transform .2s,box-shadow .2s}
.ai-bubble:hover{transform:scale(1.08);box-shadow:0 6px 22px rgba(107,76,230,.45)}
.ai-panel{position:fixed;bottom:88px;right:24px;width:400px;max-height:min(680px,calc(100vh - 120px));background:var(--bg2);border-radius:14px;box-shadow:0 8px 40px var(--shd);z-index:801;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--bd2)}
.ai-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg3);border-bottom:1px solid var(--bd2)}
.ai-title{font-size:14px;font-weight:600;color:var(--tx)}
.ai-model{font-size:10px;background:var(--bg5);padding:2px 7px;border-radius:10px;color:var(--tx2);margin-left:auto}
.ai-close{border:none;background:none;font-size:20px;cursor:pointer;color:var(--tx2);padding:0 4px;line-height:1}
.ai-close:hover{color:var(--tx)}
.ai-messages{flex:1 1 auto;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-height:120px;max-height:240px}
.ai-msg{display:flex;gap:8px;align-items:flex-start}
.ai-msg.ai-bot .ai-msg-text{background:#f0eef9;color:var(--tx);border-radius:12px 12px 12px 4px;padding:10px 14px;font-size:13px;line-height:1.5;max-width:90%}
.ai-msg.ai-user{justify-content:flex-end}
.ai-msg.ai-user .ai-msg-text{background:#1a1a1a;color:#fff;border-radius:12px 12px 4px 12px;padding:10px 14px;font-size:13px;line-height:1.5;max-width:85%;white-space:pre-wrap;word-break:break-word}
.ai-msg .ai-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}
.ai-msg.ai-bot .ai-avatar{background:linear-gradient(135deg,#6b4ce6,#4a90d9);color:#fff}
.ai-typing{display:flex;gap:4px;padding:10px 14px;background:#f0eef9;border-radius:12px;width:fit-content}
.ai-typing span{width:6px;height:6px;border-radius:50%;background:#6b4ce6;animation:aiDot 1.2s infinite}
.ai-typing span:nth-child(2){animation-delay:.2s}
.ai-typing span:nth-child(3){animation-delay:.4s}
@keyframes aiDot{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
.ai-actions{padding:10px 16px;border-top:1px solid var(--bd2);background:var(--hover);flex:1 1 auto;min-height:0;overflow-y:auto}
.ai-actions-title{font-size:11px;color:var(--tx2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-weight:600}
/* v2.12.2 — cartes d'entités (contact/compagnie/candidature) */
.ai-ent-card{background:var(--bg2);border:1px solid var(--bd2);border-radius:10px;padding:10px 12px;margin-bottom:10px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.ai-ent-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ai-ent-step{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#6b4ce6,#4a90d9);color:#fff;font-size:11px;font-weight:700;flex-shrink:0}
.ai-ent-label{font-size:12px;font-weight:600;color:var(--tx);text-transform:uppercase;letter-spacing:.04em;flex:1}
.ai-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}
.ai-badge-new{background:#e8f5e9;color:#1b5e20;border:1px solid #a5d6a7}
.ai-badge-existing{background:#fff8e1;color:#8d5400;border:1px solid #ffcc80}
[data-theme="dark"] .ai-badge-new{background:#1b3a1e;color:#8ed49a;border-color:#2d6332}
[data-theme="dark"] .ai-badge-existing{background:#3a2e16;color:#ffcf8a;border-color:#6b4e20}
.ai-ent-body{padding:4px 0 6px 28px}
.ai-ent-name{font-size:13px;font-weight:600;color:var(--tx);line-height:1.3}
.ai-ent-sub{font-size:11px;color:var(--tx2);margin-top:2px;line-height:1.3}
.ai-ent-modes{display:flex;flex-direction:column;gap:4px;padding:8px 0 2px 28px;border-top:1px dashed var(--bd2);margin-top:6px}
.ai-mode-opt{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tx);cursor:pointer;padding:2px 0}
.ai-mode-opt input[type="radio"]{margin:0;cursor:pointer;accent-color:#6b4ce6}
.ai-ent-select{font-size:12px;padding:4px 6px;border:1px solid var(--bd);border-radius:5px;background:var(--bg2);color:var(--tx);margin-left:22px;margin-top:-2px;margin-bottom:2px;max-width:100%}
.ai-ent-warn{margin-top:6px;padding:6px 8px;font-size:11px;color:#8d5400;background:#fff8e1;border:1px solid #ffcc80;border-radius:6px;line-height:1.35}
[data-theme="dark"] .ai-ent-warn{background:#3a2e16;color:#ffcf8a;border-color:#6b4e20}
.ai-ent-hint{margin-top:6px;padding:6px 8px;font-size:11px;color:#0d4470;background:#e7f1fb;border:1px solid #b6d4ef;border-radius:6px;line-height:1.35}
[data-theme="dark"] .ai-ent-hint{background:#162a3d;color:#8bb9e0;border-color:#254560}
/* fallback ancien bloc d'infos (non utilisé mais conservé au cas où) */
.ai-field-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:12px;border-bottom:1px solid var(--bg4)}
.ai-field-row:last-child{border-bottom:none}
.ai-field-label{color:var(--tx2);font-size:11px}
.ai-field-value{color:var(--tx);font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-apply-btn{position:sticky;bottom:0;margin-top:10px;width:100%;padding:11px;font-size:13px;font-weight:600;border:none;border-radius:8px;background:linear-gradient(135deg,#6b4ce6,#4a90d9);color:#fff;cursor:pointer;font-family:inherit;transition:opacity .2s;box-shadow:0 -10px 14px -6px var(--hover)}
.ai-apply-btn:hover{opacity:.9}
.ai-apply-btn:disabled{opacity:.6;cursor:wait}
.ai-input-wrap{display:flex;gap:6px;padding:10px 12px;border-top:1px solid var(--bd2);background:var(--bg2);align-items:flex-end}
.ai-input{flex:1;border:1px solid var(--bd);border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;resize:none;min-height:40px;max-height:120px;line-height:1.4;color:var(--tx);background:var(--bg2)}
.ai-input:focus{outline:none;border-color:#6b4ce6}
.ai-send{width:36px;height:36px;border-radius:8px;border:none;background:#6b4ce6;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.ai-send:hover{background:#5a3dd0}
.ai-send:disabled{background:#ccc;cursor:not-allowed}
.ai-error{background:#fde8e8;color:#791f1f;border-radius:8px;padding:8px 12px;font-size:12px;margin-top:4px}
@media(max-width:500px){.ai-panel{right:8px;left:8px;width:auto;bottom:80px;max-height:calc(100vh - 100px)}.ai-messages{max-height:200px}.ai-bubble{bottom:16px;right:16px;width:46px;height:46px}}
/* THEME TOGGLE */
.theme-toggle{background:none;border:1px solid var(--bd);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}
.theme-toggle:hover{background:var(--bg4)}
/* ARCHIVE BADGE */
.archived-row{opacity:.5}
.archive-badge{font-size:9px;background:#e24b4a;color:#fff;padding:1px 5px;border-radius:8px;margin-left:6px;vertical-align:middle}
/* ── Instagram Module ── */
.ig-dashboard{padding:16px 20px}
.ig-dashboard h2{font-size:18px;font-weight:600;margin:0 0 16px 0;color:var(--tx)}
.ig-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.ig-badge.brouillon{background:#e8e8e8;color:#666}
.ig-badge.visuels_generes{background:#e0f0ff;color:#0070c0}
.ig-badge.texte_genere{background:#e8f4e8;color:#2d8a2d}
.ig-badge.a_valider{background:#fff3cd;color:#856404}
.ig-badge.valide{background:#d1ecf1;color:#0c5460}
.ig-badge.programme{background:#d4edda;color:#155724}
.ig-badge.en_publication{background:#cce5ff;color:#004085}
.ig-badge.publie{background:#28a745;color:#fff}
.ig-badge.erreur{background:#f8d7da;color:#721c24}
.ig-badge.annule{background:#f0f0f0;color:#999}
.ig-card{background:var(--bg2);border:1px solid var(--bd);border-radius:8px;padding:14px 16px;margin-bottom:10px;display:flex;align-items:flex-start;gap:14px;cursor:pointer;transition:box-shadow .15s}
.ig-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}
.ig-card-thumb{width:64px;height:64px;border-radius:6px;object-fit:cover;background:var(--bg3);flex-shrink:0}
.ig-card-info{flex:1;min-width:0}
.ig-card-title{font-weight:600;font-size:14px;color:var(--tx);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig-card-meta{font-size:12px;color:var(--tx2);margin-bottom:4px}
.ig-card-actions{display:flex;gap:6px;margin-top:8px}
.ig-tbar{display:flex;gap:10px;padding:10px 20px;border-bottom:1px solid var(--bd);align-items:center;flex-wrap:wrap}
.ig-tbar select,.ig-tbar input{padding:5px 8px;border:1px solid var(--bd);border-radius:4px;font-size:13px;background:var(--bg2)}
.ig-editor{padding:16px}
.ig-editor-section{margin-bottom:20px}
.ig-editor-section h4{font-size:13px;font-weight:600;color:var(--tx2);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px 0}
.ig-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.ig-tpl-item{border:2px solid var(--bd);border-radius:8px;padding:8px;text-align:center;cursor:pointer;transition:border-color .15s}
.ig-tpl-item:hover{border-color:#888}
.ig-tpl-item.selected{border-color:#0070c0;background:#f0f7ff}
.ig-tpl-item .tpl-name{font-size:11px;color:var(--tx2);margin-top:4px}
.ig-tpl-item .tpl-size{font-size:10px;color:var(--tx3)}
.ig-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}
.ig-media-item{position:relative;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent}
.ig-media-item.selected{border-color:#0070c0}
.ig-media-item img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.ig-media-item .media-order{position:absolute;top:4px;right:4px;background:#0070c0;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.ig-caption-box{width:100%;min-height:120px;padding:10px 12px;border:1px solid var(--bd);border-radius:6px;font-size:13px;line-height:1.5;resize:vertical;font-family:inherit}
.ig-caption-counter{text-align:right;font-size:11px;color:var(--tx2);margin-top:4px}
.ig-caption-counter.over{color:#c00;font-weight:600}
.ig-preview{position:relative;max-width:400px;margin:0 auto}
.ig-preview img{width:100%;border-radius:8px;display:block}
.ig-preview-carousel{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}
.ig-preview-carousel img{width:280px;height:280px;object-fit:cover;border-radius:8px;flex-shrink:0}
.ig-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--bd);background:var(--bg2);color:var(--tx);transition:background .15s}
.ig-btn:hover{background:var(--bg3)}
.ig-btn.primary{background:#0070c0;color:#fff;border-color:#0070c0}
.ig-btn.primary:hover{background:#005a9e}
.ig-btn.danger{background:#c0392b;color:#fff;border-color:#c0392b}
.ig-btn.danger:hover{background:#a93226}
.ig-btn.success{background:#27ae60;color:#fff;border-color:#27ae60}
.ig-btn.success:hover{background:#219a52}
.ig-btn:disabled{opacity:.5;cursor:not-allowed}
.ig-log-timeline{max-height:300px;overflow-y:auto;padding:8px 0}
.ig-log-entry{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid var(--bd3);font-size:12px}
.ig-log-time{color:var(--tx3);white-space:nowrap;min-width:80px}
.ig-log-level{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0}
.ig-log-level.info{background:#0070c0}
.ig-log-level.warn{background:#f39c12}
.ig-log-level.error{background:#e74c3c}
.ig-log-msg{color:var(--tx);flex:1}
.ig-config{padding:20px;max-width:600px}
.ig-config-row{margin-bottom:16px}
.ig-config-row label{display:block;font-size:12px;font-weight:600;color:var(--tx2);text-transform:uppercase;margin-bottom:6px}
.ig-config-row select,.ig-config-row input[type="text"]{width:100%;padding:8px 10px;border:1px solid var(--bd);border-radius:6px;font-size:14px;background:var(--bg2)}
.ig-account-card{background:var(--bg2);border:1px solid var(--bd);border-radius:8px;padding:16px;margin-bottom:16px}
.ig-account-name{font-weight:600;font-size:16px;color:var(--tx)}
.ig-account-meta{font-size:12px;color:var(--tx2);margin-top:4px}
.ig-account-status{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;margin-top:8px}
.ig-account-status.active{background:#d4edda;color:#155724}
.ig-account-status.expired{background:#f8d7da;color:#721c24}
.ig-account-status.revoked{background:#f0f0f0;color:#999}
.ig-tabs{display:flex;border-bottom:2px solid var(--bd);margin-bottom:16px}
.ig-tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--tx2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}
.ig-tab:hover{color:var(--tx)}
.ig-tab.active{color:#0070c0;border-bottom-color:#0070c0}
/* BILLETTERIE v2 */
.bil-rows { display:flex; flex-direction:column; gap:4px; }
.bil-row {
  display:grid; grid-template-columns:1fr 70px 50px 70px 70px 60px; gap:8px;
  align-items:center; font-size:12px;
  padding:6px 8px; background:var(--bg2); border:1px solid var(--bd); border-radius:5px;
}
.bil-row .lbl { font-weight:600; }
.bil-row .prc { text-align:right; font-variant-numeric:tabular-nums; }
.bil-row .nb  { text-align:center; }
.bil-row .frs { text-align:right; color:var(--tx2); font-size:11px; }
.bil-row .net { text-align:right; font-weight:600; }
.bil-row .act { text-align:right; }
.bil-empty { font-size:11px; color:var(--tx2); padding:6px 8px; font-style:italic; }

/* v6.58.0 — Module Médias Spectacles (galerie photo/vidéo) */
.medias-toolbar { display:flex; gap:8px; align-items:center; padding:12px 0; flex-wrap:wrap; border-bottom:1px solid var(--bd); margin-bottom:12px; }
.medias-toolbar .btn-primary { background:#2563eb; color:#fff; border:none; padding:6px 12px; border-radius:6px; cursor:pointer; font-size:13px; }
.medias-chip { background:var(--bg2); color:var(--tx2); padding:3px 10px; border-radius:12px; font-size:12px; cursor:pointer; user-select:none; }
.medias-chip:hover { background:var(--bg3); }
.medias-chip.active { background:#2563eb; color:#fff; }
.medias-counter { margin-left:auto; font-size:12px; color:var(--tx2); }
.medias-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap:10px; padding:8px 0; }
.media-tile { background:var(--bg2); aspect-ratio:4/3; border-radius:6px; display:flex; align-items:flex-end; justify-content:space-between; padding:6px; position:relative; overflow:hidden; cursor:pointer; }
.media-tile:hover { outline:2px solid #2563eb; }
.media-tile-picto { font-size:36px; opacity:.4; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.media-tile-status { position:absolute; top:6px; left:6px; background:rgba(0,0,0,0.6); color:#fff; padding:2px 6px; border-radius:3px; font-size:11px; }
.media-tile-badges { display:flex; flex-direction:column; gap:3px; align-items:flex-end; width:100%; }
.media-badge { background:rgba(0,0,0,0.7); color:#fff; font-size:10px; padding:1px 6px; border-radius:3px; }
.medias-empty, .medias-error { padding:40px; text-align:center; color:var(--tx2); font-size:13px; }
.medias-error { color:#c00; }
/* v6.58.2 — modal upload: couleurs explicites pour bien marcher en thème compagnie ET admin */
.medias-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.55); display:flex; align-items:center; justify-content:center; z-index:9999; }
.medias-modal { background:#ffffff; color:#1a1a1a; border-radius:12px; padding:0; width:560px; max-width:90vw; max-height:90vh; overflow:auto; box-shadow:0 12px 40px rgba(0,0,0,0.4); border:1px solid #ddd; }
.medias-modal-header { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border-bottom:1px solid #e5e5e5; background:#fafafa; }
.medias-modal-header h3 { margin:0; font-size:16px; color:#1a1a1a; }
.medias-modal-header button { background:none; border:none; font-size:24px; cursor:pointer; color:#666; }
.medias-modal .medias-form-row { padding:12px 18px; }
.medias-modal .medias-form-row label { display:block; font-size:12px; color:#444; margin-bottom:4px; font-weight:500; }
.medias-modal .medias-form-row input { width:100%; padding:7px 10px; border:1px solid #ccc; border-radius:6px; font-size:13px; background:#fff; color:#1a1a1a; box-sizing:border-box; }
.medias-modal .medias-upload-queue { padding:0 18px; max-height:200px; overflow:auto; }
.medias-modal .medias-queue-row { display:flex; justify-content:space-between; padding:6px 0; font-size:12px; border-bottom:1px solid #f0f0f0; color:#333; }
.medias-modal-footer { padding:14px 18px; border-top:1px solid #e5e5e5; background:#fafafa; display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; align-items:center; }
.medias-modal-footer button { padding:7px 14px; border-radius:6px; border:1px solid #ccc; background:#fff; color:#1a1a1a; cursor:pointer; font-size:13px; }
.medias-modal-footer button.btn-primary { background:#2563eb; color:#fff; border-color:#2563eb; }
.medias-modal-footer button:disabled { opacity:0.5; cursor:not-allowed; }
.medias-modal-footer button:hover:not(:disabled) { border-color:#2563eb; }
.media-detail-preview { padding:14px 18px; text-align:center; background:var(--bg2); }
.media-detail-preview img, .media-detail-preview video { max-width:100%; max-height:50vh; border-radius:6px; }
.media-detail-meta { padding:14px 18px; font-size:12px; color:var(--tx2); display:grid; grid-template-columns:1fr 1fr; gap:6px 14px; }
.media-detail-meta strong { color:var(--tx1); }

/* v6.58.1 — Dropzone drag-drop + vue détail inline ; v6.58.2 couleurs explicites */
.medias-modal .medias-dropzone { border:2px dashed #bbb; border-radius:10px; padding:28px; text-align:center; cursor:pointer; transition:all 0.2s; background:#fafafa; color:#333; }
.medias-modal .medias-dropzone:hover { border-color:#2563eb; background:rgba(37,99,235,0.05); }
.medias-modal .medias-dropzone.drag-over { border-color:#2563eb; border-style:solid; background:rgba(37,99,235,0.12); transform:scale(1.01); }
.medias-modal .medias-dropzone div { color:#333; }
.medias-modal .medias-dropzone div:nth-child(3) { color:#666; }
.medias-detail-toolbar { display:flex; gap:12px; align-items:center; padding:8px 0 12px; border-bottom:1px solid var(--bd); margin-bottom:14px; }
.medias-back-btn { background:transparent; border:1px solid var(--bd); padding:5px 12px; border-radius:6px; font-size:12px; cursor:pointer; color:var(--tx1); }
.medias-back-btn:hover { border-color:#2563eb; color:#2563eb; }
.medias-detail-title { font-weight:600; font-size:14px; color:var(--tx1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }
.medias-detail-body { display:grid; grid-template-columns:1fr 320px; gap:18px; align-items:start; }
@media (max-width: 800px) { .medias-detail-body { grid-template-columns:1fr; } }
.medias-detail-preview-wrap { background:var(--bg2); border-radius:8px; padding:12px; text-align:center; min-height:200px; display:flex; align-items:center; justify-content:center; }
.medias-detail-side { display:flex; flex-direction:column; gap:12px; }
.medias-detail-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; font-size:11px; color:var(--tx2); padding:10px 12px; background:var(--bg2); border-radius:6px; }
.medias-detail-meta-grid strong { color:var(--tx1); font-size:10px; text-transform:uppercase; letter-spacing:0.04em; }
.medias-detail-actions { display:flex; flex-direction:column; gap:8px; margin-top:6px; }
.medias-detail-actions button, .medias-detail-actions a { width:100%; text-align:center; }

/* v6.59.0 — Dropdown menu Actions dans header modale fiche */
.mf-actions-dropdown { position:absolute; top:100%; right:0; background:#fff; border:1px solid #ddd; border-radius:6px; box-shadow:0 4px 16px rgba(0,0,0,0.15); padding:4px 0; min-width:240px; z-index:100; margin-top:4px; }
.mf-actions-dropdown button { display:block; width:100%; text-align:left; background:none; border:none; padding:9px 16px; font-size:13px; cursor:pointer; color:#1a1a1a; }
.mf-actions-dropdown button:hover { background:#f5f5f5; }
.mf-actions-dropdown button:disabled { opacity:0.5; cursor:not-allowed; }

/* v6.59.0 — Toggle confort lecture dans menu user */
.font-comfort-toggle { display:flex; align-items:center; gap:6px; font-size:12px; padding:8px 12px; border-top:1px solid var(--bd); cursor:pointer; user-select:none; }
.font-comfort-toggle input { margin:0; cursor:pointer; }

/* v6.60.0 — Module Médias Lot 2 : toolbar dépôt manuel */
.medias-depot-info { display:flex; gap:10px; align-items:center; flex-wrap:wrap; padding:10px 14px; background:#fef3c7; border:1px solid #f59e0b; border-radius:6px; margin-bottom:12px; font-size:12px; color:#78350f; }
.medias-depot-info code { background:#fff; padding:2px 8px; border-radius:4px; font-family:monospace; color:#451a03; }
.medias-depot-info button { padding:4px 10px; font-size:11px; border:1px solid #f59e0b; background:#fff; color:#78350f; border-radius:4px; cursor:pointer; }
.medias-depot-info button:hover { background:#fef3c7; }

/* v6.60.0 — Ascenseurs (scrollbars) plus visibles partout pour confort UX
   Les ascenseurs natifs par défaut sont trop discrets (gris pâle, fins) →
   on les rend ~12px et gris plus contrasté. Compat Firefox + Webkit. */
* { scrollbar-width: auto; scrollbar-color: #888 #ececec; }
*::-webkit-scrollbar { width: 12px; height: 12px; }
*::-webkit-scrollbar-track { background: #ececec; border-radius: 6px; }
*::-webkit-scrollbar-thumb { background: #888; border-radius: 6px; border: 2px solid #ececec; }
*::-webkit-scrollbar-thumb:hover { background: #555; }
*::-webkit-scrollbar-corner { background: #ececec; }
@media (prefers-color-scheme: dark) {
  * { scrollbar-color: #888 #2b2b2b; }
  *::-webkit-scrollbar-track { background: #2b2b2b; }
  *::-webkit-scrollbar-thumb { background: #888; border-color: #2b2b2b; }
  *::-webkit-scrollbar-corner { background: #2b2b2b; }
}

/* v6.61.0 — Vue liste Tabulator + toggle layout grille/liste + bulk actions */
.medias-layout-toggle { display:inline-flex; border:1px solid #ccc; border-radius:6px; overflow:hidden; margin-left:6px; }
.medias-layout-toggle button { background:transparent; border:none; padding:5px 10px; cursor:pointer; font-size:14px; color:#666; line-height:1; }
.medias-layout-toggle button.active { background:#2563eb; color:#fff; }
.medias-layout-toggle button:hover:not(.active) { background:#f0f0f0; }
.medias-chip-count { font-weight:600; margin-left:4px; opacity:0.85; }
.medias-list-container { padding:8px 0; min-height:400px; }
.medias-list-bulk-bar { display:flex; align-items:center; gap:10px; padding:8px 12px; background:#dbeafe; border:1px solid #2563eb; border-radius:6px; margin-bottom:10px; font-size:13px; color:#1e3a8a; }
.medias-list-bulk-bar button { background:#2563eb; color:#fff; border:none; padding:5px 12px; border-radius:4px; cursor:pointer; font-size:12px; }
.medias-list-bulk-bar button.secondary { background:transparent; color:#2563eb; border:1px solid #2563eb; }
.medias-list-bulk-bar button:hover { opacity:0.85; }
/* Tabulator overrides — cohérence visuelle avec le reste du BO */
.tabulator { border:1px solid #ddd; border-radius:6px; font-size:13px; background:#fff; }
.tabulator-row:hover { background:#f5f5f5; cursor:pointer; }
.tabulator-row.tabulator-selected { background:#dbeafe; }
.tabulator-header { background:#f8f9fa; }
.tabulator-header-filter input, .tabulator-header-filter select { font-size:12px; padding:3px 6px; border:1px solid #ccc; border-radius:3px; }
