/* Onglet Organisation — secrétariat numérique.
   VOLET = composant arbre STANDARD du portail : .tree-group-header (groupe repliable) +
   .tree-cat (item sélectionnable), définis dans portal.css. Ici = uniquement le LOCAL
   (layout, conteneur de groupe + collapse, enfants d'item, contenu). Thème sombre + vars portail. */

.org-tab { padding:0; height:100%; display:flex; flex-direction:column; }

/* Onglet pleine largeur : annuler le padding 1.25rem du slot (comme access/surveillance/…),
   sinon écart entre la barre d'onglets et le bandeau. organisation.css est un <link> global. */
main > #tab-organisation-slot { padding:0; overflow:hidden; }
main > #tab-organisation-slot section { padding:0; flex:1; min-height:0; display:flex; flex-direction:column; }

/* Toolbar STANDARD (santé) — VIDE en HTML, peuplée par-vue : refresh, filtre
   chronologique (.chrono-bar), actions. min-height fixe pour un chrome constant. */
.org-toolbar { display:flex; gap:.7rem; align-items:center; padding:.55rem .9rem; min-height:3.15rem; box-sizing:border-box; background:rgba(24,24,27,.22); border-bottom:1px solid rgba(255,255,255,.1); backdrop-filter:blur(24px) saturate(180%); }
.org-tb-spacer { flex:1 1 auto; }
.org-live { display:inline-flex; align-items:center; gap:.4rem; font-size:.74rem; color:#fb7185; }
.org-live-dot { width:7px; height:7px; border-radius:50%; background:#fb7185; animation:org-blink 1.4s ease-in-out infinite; }
@keyframes org-blink { 0%,100%{opacity:1} 50%{opacity:.25} }

/* Layout 2 colonnes (standard santé : sidebar 240px — largeur IMMUABLE, ne pas modifier) */
.org-layout { display:grid; grid-template-columns:240px 1fr; flex:1; min-height:0; transition:grid-template-columns .2s; }
.org-layout.sidebar-hidden { grid-template-columns:0 1fr; }
.org-layout.sidebar-hidden #org-sidebar { visibility:hidden; border-right:none; }
#org-sidebar { background:rgba(20,20,23,.25); border-right:1px solid rgba(255,255,255,.1); overflow-y:auto; backdrop-filter:blur(24px) saturate(180%); }
#org-tree { list-style:none; margin:0; padding:.35rem 0; }

/* Groupes repliables — header standard .tree-group-header customisé : casse normale,
   icône à gauche, chevron à DROITE. Conteneur + collapse LOCAUX. */
.org-group { margin-bottom:.15rem; }
.org-group-header { padding:.5rem .85rem .4rem; align-items:center; text-transform:none; letter-spacing:normal; font-size:.78rem; }
.org-group-header .org-gicon { color:var(--p-base); flex-shrink:0; display:inline-flex; align-items:center; }
.org-group-header .g-name { flex:1; }                 /* pousse le chevron à droite */
.org-group-header .g-chevron { margin-left:.4rem; }
/* Section « solo » (sélectionnable directement, sans sous-sections) */
.org-group-header.org-solo { cursor:pointer; }
.org-group-header.org-solo.active { background:rgba(var(--p-glow-rgb),.10); }
.org-group-header.org-solo.active .g-name, .org-group-header.org-solo.active .org-gicon { color:var(--p-base); }
.org-group.collapsed .g-chevron { transform:rotate(-90deg); }
.org-group.collapsed .org-group-items { display:none; }
.org-group-items { list-style:none; margin:0; padding:0; }
/* item = .tree-cat (global) ; enfants LOCAUX */
.org-group-items .tree-cat { padding-left:1.6rem; font-size:.8rem; color:#d4d4d8; text-transform:none; letter-spacing:normal; }
.org-icon { color:var(--p-light); flex-shrink:0; display:inline-flex; align-items:center; }
.tree-cat.active .org-icon { color:var(--p-base); }
.org-label { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Séquenceur intégré : steps Workflow sous l'item « Workflow (live) » */
.wf-sub { list-style:none; }
/* séquenceur aux couleurs du domaine : rail + étapes en accent --p-light */
.wf-sublist { list-style:none; margin:.1rem 0 .25rem 1.95rem; padding:0; border-left:2px solid rgba(var(--p-base-rgb),.22); }
.wf-substep { padding:.32rem .5rem .12rem .6rem; font-size:.64rem; color:var(--p-light); }
.wf-subcat { display:flex; justify-content:space-between; align-items:center; gap:.3rem; padding:.22rem .5rem .22rem .9rem; font-size:.74rem; color:#cbd5e1; cursor:pointer; border-radius:5px; }
.wf-subcat:hover { background:rgba(var(--p-base-rgb),.08); color:var(--p-light); }
.wf-subcat.on { background:rgba(var(--p-glow-rgb),.13); color:var(--p-base); box-shadow:inset 2px 0 0 var(--p-base); }
.wf-subname { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wf-subc { color:#64748b; font-size:.7rem; flex-shrink:0; }
.wf-subcat.on .wf-subc { color:var(--p-base); }

#org-main { display:flex; flex-direction:column; background:transparent; position:relative; overflow:hidden; min-height:0; }
#org-main .sidebar-handle { position:absolute; left:0; top:50%; transform:translateY(-50%); width:12px; height:64px; background:rgba(39,39,42,.55); border:1px solid rgba(255,255,255,.08); border-left:none; border-radius:0 6px 6px 0; color:var(--p-light); display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:.9rem; z-index:10; backdrop-filter:blur(15px); }
#org-main .sidebar-handle:hover { background:rgba(var(--p-base-rgb),.18); color:var(--p-base); }
#org-content { flex:1; overflow-y:auto; padding:1rem 1.2rem; display:flex; flex-direction:column; gap:.85rem; }
.org-empty { color:#64748b; font-style:italic; padding:1rem; }

/* En-têtes de vue — l'espacement vertical vient du gap .85rem de #org-content */
.org-vh { margin:0; font-size:1.05rem; font-weight:600; color:#e4e4e7; }
.org-vd { margin:-.5rem 0 0; font-size:.82rem; color:#94a3b8; }
.org-todo { margin:0; padding:.9rem 1rem; border:1px dashed rgba(255,255,255,.14); border-radius:8px; color:#94a3b8; font-size:.82rem; background:rgba(255,255,255,.02); }
.org-h3 { font-size:.82rem; font-weight:600; color:var(--p-light); margin:.5rem 0 0; }

/* KPI — cartes .card-pri (ajoutée en JS) */
.org-kpis { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:.7rem; margin:0; }
.org-kpi .k-lab { font-size:.68rem; color:#94a3b8; text-transform:uppercase; letter-spacing:.05em; }
.org-kpi .k-num { font-size:1.5rem; font-weight:600; color:#e4e4e7; margin-top:.25rem; }

/* Poste de revue Workflow : centre (table+détails) 50% · viewer 40% (arbre 10% = sidebar) */
.wf2 { display:grid; grid-template-columns:minmax(0,42fr) minmax(0,48fr); gap:.7rem; align-items:start; }
.wf2-center { display:flex; flex-direction:column; gap:.7rem; min-width:0; }
.wf2-files, .wf2-detail { border:1px solid rgba(255,255,255,.1); border-radius:8px; padding:.6rem .7rem; background:rgba(255,255,255,.02); }
.wf2-fh { display:flex; align-items:center; gap:.6rem; margin-bottom:.45rem; }
.wf2-fh #wf2-ftitle { font-weight:600; color:#e4e4e7; font-size:.85rem; }
.wf2-runi { font-size:.68rem; color:var(--p-base); display:inline-flex; align-items:center; gap:.3rem; }
.wf2-runi .org-live-dot { background:var(--p-base); }
.wf2-filter { margin-left:auto; background:transparent; border:1px solid rgba(255,255,255,.14); border-radius:6px; padding:.2rem .5rem; color:#e4e4e7; font-size:.76rem; width:150px; }
.wf2-tablewrap { max-height:200px; overflow:auto; border:1px solid rgba(255,255,255,.07); border-radius:6px; }
.wf2-tbl { font-size:.76rem; }
.wf2-tbl th { position:sticky; top:0; background:#191a1d; z-index:1; }
.wf2-row { cursor:pointer; }
.wf2-row:hover td { background:rgba(255,255,255,.04); }
.wf2-row.on td { background:rgba(var(--p-glow-rgb),.13); color:#e4e4e7; }
.af-sz { color:#94a3b8; white-space:nowrap; text-align:right; }
.wf2-dgrid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.wf2-dh { font-size:.66rem; color:#64748b; margin-bottom:.3rem; }
.wf2-kv { display:flex; gap:.5rem; font-size:.78rem; padding:.12rem 0; }
.wf2-k { color:#94a3b8; flex:0 0 8rem; }
.wf2-v { color:#e4e4e7; word-break:break-word; min-width:0; }
.wf2-acts { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.7rem; }

/* Viewer (repris de santé / Medical) : header style + iframe / image / non supporté */
.wf2-viewer { position:sticky; top:.2rem; display:flex; flex-direction:column; min-width:0; border:1px solid rgba(255,255,255,.1); border-radius:8px; background:rgba(0,0,0,.2); overflow:hidden; }
.wf2-vw-head { display:flex; flex-direction:column; gap:.25rem; padding:.55rem .75rem; background:rgba(var(--p-base-rgb),.06); border-bottom:1px solid rgba(var(--p-base-rgb),.12); min-height:1.2rem; }
.wf2-vw-headrow { display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem; }
.wf2-vw-meta { flex:1; min-width:0; }
.wf2-vw-title { font-size:.82rem; font-weight:600; color:#e4e4e7; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wf2-vw-top { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; margin-bottom:.18rem; }
.wf2-vw-date { font-family:'Menlo','Consolas',monospace; font-size:.7rem; font-weight:700; color:#cbd5e1; }
.wf2-vw-pills { display:flex; gap:.3rem; flex-wrap:wrap; }
.wf2-vw-badge { font-size:.6rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; padding:.08rem .4rem; border-radius:9px; background:rgba(var(--p-base-rgb),.14); color:var(--p-light); border:1px solid rgba(var(--p-base-rgb),.25); }
.wf2-vw-badge-ds { background:rgba(var(--p-base-rgb),.22); color:var(--p-base); border-color:rgba(var(--p-base-rgb),.42); font-weight:700; }
.wf2-vw-path { color:#64748b; font-size:.62rem; font-family:'Menlo','Consolas',monospace; word-break:break-all; margin-top:.18rem; }
.wf2-vw-actions { display:flex; gap:.1rem; flex-shrink:0; align-items:flex-start; }
.wf2-vw-actions .icon-action-btn.danger { color:#fb7185; }
.wf2-vw-actions .icon-action-btn.disabled, .wf2-vw-actions .icon-action-btn:disabled { opacity:.28; cursor:not-allowed; pointer-events:none; }
.wf2-open { display:inline-block; padding:.25rem .6rem; background:rgba(var(--p-base-rgb),.15); border:1px solid rgba(var(--p-base-rgb),.3); border-radius:6px; color:var(--p-light); font-size:.72rem; text-decoration:none; }
.wf2-open:hover { background:rgba(var(--p-base-rgb),.25); color:var(--p-base); }
.wf2-vbody { flex:1; display:flex; align-items:stretch; min-height:78vh; }
.wf2-frame { width:100%; flex:1; min-height:78vh; border:none; background:#fff; }
.wf2-imgwrap { flex:1; display:flex; align-items:center; justify-content:center; padding:1rem; }
.wf2-img { max-width:100%; max-height:78vh; object-fit:contain; border-radius:4px; }
.wf2-unsup { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2rem; gap:.45rem; }
.wf2-unsup-l { font-size:.85rem; color:#d4d4d8; word-break:break-word; }
.wf2-unsup-h { font-size:.74rem; color:#94a3b8; }

/* Boutons d'action */
.af-act { background:rgba(var(--p-base-rgb),.12); color:var(--p-base); border:1px solid rgba(var(--p-base-rgb),.35); border-radius:5px; padding:.22rem .6rem; font-size:.74rem; cursor:pointer; }
.af-act:hover { background:rgba(var(--p-base-rgb),.22); }
.af-act-opus { color:#5eead4; border-color:rgba(45,212,191,.45); background:rgba(45,212,191,.10); }
.af-act-opus:hover { background:rgba(45,212,191,.2); }
.af-act-del { color:#fb7185; border-color:rgba(251,113,133,.4); background:rgba(251,113,133,.08); }
.af-act-del:hover { background:rgba(251,113,133,.18); }

/* Pilotage — paramètres (table settings) */
.set-grid { display:flex; flex-direction:column; gap:.5rem; margin:.2rem 0 .6rem; }
.set-row { display:grid; grid-template-columns:16rem 9rem 1fr; align-items:center; gap:.8rem; }
.set-lab { font-size:.82rem; color:#e4e4e7; }
.set-help { font-size:.72rem; color:#64748b; }
.set-in { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); border-radius:6px; padding:.28rem .5rem; color:#e4e4e7; font-size:.8rem; }
.set-in:focus { outline:none; border-color:var(--p-base); }
.set-in.set-saving { opacity:.6; }
.set-in.set-ok { border-color:#34d399; box-shadow:0 0 0 1px rgba(52,211,153,.4); }
.set-in.set-err { border-color:#fb7185; box-shadow:0 0 0 1px rgba(251,113,133,.4); }
@media (max-width:760px){ .set-row { grid-template-columns:1fr; gap:.2rem; } }
.nr-tbl td { padding:.3rem .35rem; }
.nr-in { width:100%; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); border-radius:5px; padding:.22rem .4rem; color:#e4e4e7; font-size:.76rem; }
.nr-in:focus { outline:none; border-color:var(--p-base); }
.nr-tpl { font-family:'Menlo','Consolas',monospace; }
.nr-prio { width:3.5rem; }
.nr-acts { white-space:nowrap; text-align:right; }
#nr-add, #ph-add { margin-top:.5rem; }
.ph-key { color:var(--p-base); font-family:'Menlo','Consolas',monospace; font-size:.78rem; }

/* Table */
.org-tbl { width:100%; border-collapse:collapse; font-size:.78rem; }
.org-tbl th { text-align:left; color:#94a3b8; font-weight:600; padding:.45rem .5rem; border-bottom:1px solid rgba(255,255,255,.1); }
.org-tbl td { padding:.45rem .5rem; border-bottom:1px solid rgba(255,255,255,.05); color:#d4d4d8; }


/* === Workflow v2 : 2 colonnes (liste+placeholders / viewer) === */
.wf2-left { display:flex; flex-direction:column; gap:.7rem; min-width:0; }
.wf2-tablewrap { height:10.6rem; max-height:none; outline:none; }
.wf2-fill { pointer-events:none; }
.wf2-fill td { color:transparent; }
.wf2-tablewrap:focus { box-shadow:0 0 0 2px rgba(var(--p-base-rgb),.4) inset; }
.wf2-dt { color:#94a3b8; white-space:nowrap; font-size:.72rem; }
.wf2-ph { border:1px solid rgba(255,255,255,.1); border-radius:8px; padding:.6rem .7rem; background:rgba(255,255,255,.02); }
.wf2-phwrap { max-height:17rem; overflow:auto; margin-top:.3rem; }
.wf2-phtbl { width:100%; font-size:.76rem; border-collapse:collapse; }
.wf2-phtbl td { padding:.2rem .35rem; border-top:1px solid rgba(255,255,255,.05); vertical-align:top; }
.wf2-phk { color:#94a3b8; width:8rem; white-space:nowrap; }
.wf2-phk code { color:var(--p-light); font-size:.72rem; }
.wf2-phv { color:#e4e4e7; word-break:break-word; }
.wf2-phv.off { color:#52525b; font-style:italic; }
.wf2-vw-top { flex-wrap:nowrap; align-items:flex-start; }
.wf2-vw-name { font-size:.82rem; font-weight:600; color:#e4e4e7; word-break:break-word; flex:1; min-width:0; }
.wf2-vw-old { font-size:.66rem; color:#64748b; margin-top:.12rem; }
.wf2-vw-mount { color:#52525b; }
.wf2-vw-scores { display:flex; gap:.3rem; flex-wrap:nowrap; margin-top:.1rem; align-items:center; }
.wf2-score { font-size:.6rem; font-weight:600; padding:.06rem .42rem; border:1px solid; border-radius:5px; text-transform:capitalize; flex:0 0 auto; white-space:nowrap; }


/* === Workflow : incertitude + switch doublon === */
.wf2-suspect td { background:rgba(251,191,36,.10); }
.wf2-vw-unsure { font-size:.63rem; color:#fbbf24; align-self:center; margin-left:.4rem; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wf2-vbody { flex-direction:column; }
.wf2-dupbar { display:flex; align-items:center; gap:.45rem; padding:.3rem .55rem; background:rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.1); }
.wf2-duptab { background:transparent; border:1px solid rgba(255,255,255,.2); border-radius:6px; color:#cbd5e1; font-size:.7rem; padding:.15rem .6rem; cursor:pointer; }
.wf2-duptab.on { background:rgba(var(--p-base-rgb),.22); border-color:rgba(var(--p-base-rgb),.5); color:var(--p-base); }
.wf2-duppath { font-size:.6rem; color:#64748b; font-family:'Menlo','Consolas',monospace; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wf2-dupbody { flex:1; display:flex; min-height:72vh; }


/* Sous-groupe d'arbre repliable (ex: Configuration sous GED) — standard du tree, niveau item */
.org-subgroup { list-style:none; }
.org-subgroup-header { display:flex; align-items:center; gap:.4rem; padding:.45rem .85rem .4rem 1.6rem; font-size:.8rem; color:#d4d4d8; cursor:pointer; }
.org-subgroup-header:hover { color:var(--p-light); }
.org-subgroup-header .org-icon { color:var(--p-light); flex-shrink:0; display:inline-flex; align-items:center; }
.org-subgroup-header .org-label { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.org-subgroup-header .g-chevron { margin-left:.4rem; transition:transform .15s; }
.org-subgroup.collapsed .g-chevron { transform:rotate(-90deg); }
.org-subgroup.collapsed .org-subgroup-items { display:none; }
.org-subgroup-items { list-style:none; margin:0; padding:0; }
.org-subgroup-items .tree-cat { padding-left:2.7rem; }

/* Workflow (live) repliable : chevron sur le noeud, repli des buckets */
.tree-cat.wf-head .wf-chevron { margin-left:.4rem; transition:transform .15s; flex-shrink:0; }
.tree-cat.wf-head.wf-collapsed .wf-chevron { transform:rotate(-90deg); }
.tree-cat.wf-head.wf-collapsed + .wf-sub { display:none; }


/* Tableau de bord GED : en-tete navigable + cartes + heatmap + barres */
.org-group-header.org-navgroup { cursor:pointer; }
.org-group-header.org-navgroup.active { background:rgba(var(--p-glow-rgb),.10); }
.org-group-header.org-navgroup.active .g-name, .org-group-header.org-navgroup.active .org-gicon { color:var(--p-base); }
.org-group-header.org-navgroup .g-chevron { cursor:pointer; padding:0 .2rem; }
.k-sub { font-size:.6rem; color:#64748b; margin-top:.15rem; }
.org-card { margin-top:1rem; border:1px solid rgba(255,255,255,.08); border-radius:8px; background:rgba(0,0,0,.18); padding:.7rem .85rem; }
.org-ch { font-size:.8rem; font-weight:600; color:#d4d4d8; margin:0 0 .55rem; }
.hm-scroll { overflow-x:auto; }
.hm { border-collapse:collapse; font-size:.66rem; }
.hm th, .hm td { border:1px solid rgba(255,255,255,.06); }
.hm .hm-rh { position:sticky; left:0; background:rgba(10,10,12,.92); text-align:left; padding:.2rem .5rem; color:#cbd5e1; font-weight:500; max-width:9rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hm .hm-dh { padding:.2rem .4rem; color:#94a3b8; font-weight:500; white-space:nowrap; }
.hm .hm-c { min-width:2.2rem; text-align:center; color:#e4e4e7; padding:.18rem; }
.bar-row { display:flex; align-items:center; gap:.5rem; height:14px; box-sizing:border-box; margin:0 0 3px; font-size:.62rem; line-height:14px; }
.bar-lab { width:9rem; flex-shrink:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#cbd5e1; }
.bar-track { flex:1; height:.42rem; background:rgba(255,255,255,.06); border-radius:4px; overflow:hidden; }
.bar-fill { display:block; height:100%; background:var(--p-base); border-radius:4px; }
.bar-val { width:3.5rem; text-align:right; flex-shrink:0; color:#94a3b8; }
/* Carte Intégrité GED : plus étroite, barres raccourcies pour laisser la place au décompte ok/total */
#ged-integrity-card { max-width: 46rem; }
.integ-bars .bar-track { flex: 0 1 10rem; max-width: 11rem; }
.integ-bars .bar-val { width: auto; min-width: 7rem; white-space: nowrap; }

.set-sec { margin-top:1.5rem; padding-top:.75rem; border-top:1px solid rgba(255,255,255,.12); }
.set-sec:first-child { margin-top:.2rem; padding-top:0; border-top:none; }

/* GCE — Courrier : barre de filtre taxonomie + lignes suggested */
.org-filterbar { display:flex; flex-wrap:wrap; gap:.4rem; margin:.2rem 0 .7rem; }
.mt-kind.on { background:rgba(var(--p-base-rgb),.28); border-color:var(--p-base); color:#e4e4e7; font-weight:600; }
.mt-sug td { background:rgba(245,200,66,.05); }

/* GCE — Courrier : dashboard + à faire */
.mk-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.45rem; margin:.3rem 0 1rem; }
.mk-kpi { padding:.55rem .6rem; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.1); border-radius:7px; }
.mk-num { font-size:1.2rem; font-weight:700; color:var(--p-base); }
.mk-lab { font-size:.62rem; color:#94a3b8; margin-top:.15rem; }
.md-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1.2rem; }
.md-grid h3 { margin:.2rem 0 .3rem; }
.mtodo-list { display:flex; flex-direction:column; gap:.5rem; }
.mtodo-card { border:1px solid rgba(255,255,255,.1); border-left:3px solid var(--p-base); border-radius:6px; padding:.5rem .65rem; background:rgba(0,0,0,.18); }
.mtodo-h { display:flex; justify-content:space-between; gap:.6rem; align-items:center; }
.mtodo-from { font-size:.7rem; color:#94a3b8; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mtodo-dl { font-size:.64rem; color:#fbbf24; flex-shrink:0; }
.mtodo-subj { font-size:.82rem; font-weight:600; color:#e4e4e7; margin:.15rem 0; }
.mtodo-reason { font-size:.7rem; color:var(--p-light); }
.mtodo-prev { font-size:.68rem; color:#a1a1aa; margin-top:.2rem; max-height:3.2em; overflow:hidden; }
.mtodo-meta { font-size:.6rem; color:#64748b; margin-top:.25rem; }
.rev-done-row td { opacity:.5; }
.arc-nav, .arc-up { color:var(--p-light); text-decoration:none; }
.arc-nav:hover, .arc-up:hover { text-decoration:underline; }
.cat-badge { display:inline-block; font-size:.7rem; padding:.05rem .55rem; border-radius:999px; border:1px solid currentColor; font-weight:600; }
/* Section catégorie = carte glassmorphisme (calque .sante-card claude-health), teintée par --card-rgb */
.rep-sec { --card-rgb: var(--p-base-rgb); border-radius:8px;
  border-top:1px solid rgba(var(--card-rgb),.4); border-right:1px solid rgba(var(--card-rgb),.4);
  border-bottom:1px solid rgba(var(--card-rgb),.4); border-left:2px solid rgba(var(--card-rgb),.9);
  background: radial-gradient(circle at top right, rgba(var(--card-rgb),.14), transparent 60%),
    linear-gradient(135deg, rgba(var(--card-rgb),.1) 0%, rgba(var(--card-rgb),.03) 50%, rgba(24,24,27,.55) 100%);
  backdrop-filter:blur(28px) saturate(200%); -webkit-backdrop-filter:blur(28px) saturate(200%);
  box-shadow: inset 8px 0 14px -8px rgba(var(--card-rgb),.55), inset 0 1px 0 rgba(255,255,255,.08), 0 4px 18px rgba(0,0,0,.28);
  padding:.5rem .8rem; margin-bottom:.65rem; }
.rep-sec.collapsed { padding:.4rem .8rem; }
.rep-cat { display:flex; align-items:center; gap:.5rem; margin:0; padding:.1rem 0; cursor:pointer; user-select:none; }
.rep-cat:hover { opacity:.9; }
.rep-cat-name { color:rgb(var(--card-rgb)); font-weight:600; font-size:.82rem; letter-spacing:.01em; }
.rep-n { font-size:.7rem; color:#94a3b8; margin-left:auto; }
.rep-chev { display:inline-block; transition:transform .15s; color:#94a3b8; font-size:.7rem; }
.rep-sec.collapsed .rep-chev { transform:rotate(-90deg); }
.rep-sec.collapsed .rep-secbody { display:none; }
.dash-wm { text-align:right; font-size:.7rem; color:#94a3b8; opacity:.6; font-style:italic; margin:-.2rem 0 .5rem; }
/* Répertoires — cartes (style page praticien) + modale d'édition */
/* Lignes = diviseurs internes (calque .med-row) ; en-tête cliquable → détail repliable */
.rep-row { border-bottom:1px solid rgba(255,255,255,.06); border-left:2px solid rgba(var(--card-rgb),.30); padding-left:.55rem; }
.rep-row:hover { border-left-color:rgba(var(--card-rgb),.85); }
.rep-row:last-child { border-bottom:none; }
.rep-head { display:flex; align-items:flex-start; gap:.4rem; padding:.42rem .3rem; cursor:pointer; border-radius:5px; transition:background .12s; }
.rep-head:hover { background:rgba(var(--card-rgb),.07); }
.rep-rchev { color:#94a3b8; font-size:.7rem; line-height:1.5; flex-shrink:0; transition:transform .15s; }
.rep-row.open .rep-rchev { transform:rotate(90deg); }
.rep-detail { display:none; padding:.1rem .3rem .55rem 1.45rem; }
.rep-row.open .rep-detail { display:block; }
.rep-kv { display:flex; gap:.5rem; font-size:.74rem; margin-bottom:.2rem; line-height:1.4; }
.rep-k { color:#94a3b8; min-width:8rem; flex-shrink:0; }
.rep-v { color:#d4d4d8; word-break:break-word; }
.rep-v a { color:rgb(var(--card-rgb)); text-decoration:none; }
.rep-v a:hover { text-decoration:underline; }
select.rep-in { cursor:pointer; }
/* Taxonomie — arbre éditable */
.tax-node { }
.tax-row { display:flex; align-items:center; gap:.4rem; padding:.3rem .3rem; border-bottom:1px solid rgba(255,255,255,.05); }
.tax-row[data-toggle] { cursor:pointer; }
.tax-row:hover { background:rgba(var(--card-rgb),.07); border-radius:5px; }
.tax-rchev { color:#94a3b8; font-size:.7rem; width:.85rem; flex-shrink:0; text-align:center; transition:transform .15s; }
.tax-node.open > .tax-row .tax-rchev { transform:rotate(90deg); }
.tax-name { font-weight:600; font-size:.8rem; color:#e4e4e7; flex-shrink:0; }
.tax-desc { font-size:.71rem; color:#94a3b8; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; min-width:0; }
.tax-ds { font-size:.66rem; color:rgb(var(--card-rgb)); background:rgba(var(--card-rgb),.12); border:1px solid rgba(var(--card-rgb),.4); border-radius:4px; padding:.02rem .35rem; white-space:nowrap; }
.tax-ds-none { color:#64748b; background:none; border-color:rgba(255,255,255,.12); }
.tax-acts { display:flex; gap:2px; margin-left:auto; flex-shrink:0; }
.tax-children { display:none; margin-left:.9rem; border-left:1px solid rgba(var(--card-rgb),.2); padding-left:.5rem; }
.tax-node.open > .tax-children { display:block; }
.tax-claude { display:flex; flex-direction:column; gap:.35rem; background:rgba(var(--p-base-rgb,245,200,66),.06); border:1px solid rgba(var(--p-base-rgb,245,200,66),.25); border-radius:6px; padding:.45rem; }
.tax-brief { width:100%; box-sizing:border-box; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.15); border-radius:5px; color:#e4e4e7; font-size:.78rem; padding:.3rem .4rem; resize:vertical; font-family:inherit; }
.std-claude-actions { display:flex; align-items:center; gap:.5rem; }
.std-claude-draft-btn { background:rgba(var(--p-base-rgb,245,200,66),.18); border:1px solid var(--p-base,#f5c842); color:var(--p-base,#f5c842); border-radius:6px; padding:.28rem .7rem; cursor:pointer; font-size:.74rem; font-weight:600; display:inline-flex; align-items:center; gap:.3rem; }
.std-claude-draft-btn:hover { background:rgba(var(--p-base-rgb,245,200,66),.3); }
.std-claude-status { font-size:.72rem; color:#94a3b8; }
.tax-color { height:2rem; padding:.1rem; cursor:pointer; }
.tax-dot { display:inline-block; width:.72rem; height:.72rem; border-radius:50%; flex-shrink:0; border:1px solid rgba(255,255,255,.3); box-shadow:0 0 0 1px rgba(0,0,0,.25) inset; }
.rep-main { flex:1; min-width:0; }
.rep-l1 { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.rep-name { font-weight:600; color:#e4e4e7; font-size:.86rem; }
.rep-l2 { font-size:.74rem; color:#cbd5e1; margin-top:.12rem; overflow:hidden; text-overflow:ellipsis; }
.rep-l3 { font-size:.68rem; color:#94a3b8; margin-top:.1rem; }
.rep-acts { display:flex; gap:2px; align-items:center; flex-shrink:0; }
.icon-action-btn.xs { padding:.2rem; }
.rep-star { color:#fbbf24; }
.rep-type { font-size:.66rem; color:#94a3b8; }
.rep-modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; z-index:1000; backdrop-filter:blur(2px); }
.rep-modal { background:#1b1b1f; border:1px solid rgba(255,255,255,.15); border-radius:10px; width:min(28rem,93vw); max-height:88vh; overflow:auto; box-shadow:0 12px 40px rgba(0,0,0,.5); }
.rep-modal-head { display:flex; justify-content:space-between; align-items:center; padding:.7rem .9rem; border-bottom:1px solid rgba(255,255,255,.1); font-weight:600; color:#e4e4e7; }
.rep-modal-close { background:none; border:none; color:#94a3b8; font-size:1.35rem; cursor:pointer; line-height:1; }
.rep-modal-body { padding:.8rem .9rem; display:flex; flex-direction:column; gap:.55rem; }
.rep-field { display:flex; flex-direction:column; gap:.2rem; font-size:.72rem; color:#94a3b8; }
.rep-in { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.15); border-radius:5px; padding:.32rem .45rem; color:#e4e4e7; font-size:.8rem; }
.rep-in:focus { outline:none; border-color:var(--p-base,#f5c842); }
.rep-modal-foot { padding:.6rem .9rem; border-top:1px solid rgba(255,255,255,.1); text-align:right; }
.rep-save { background:rgba(var(--p-base-rgb,245,200,66),.18); border:1px solid var(--p-base,#f5c842); color:var(--p-base,#f5c842); border-radius:6px; padding:.35rem 1.1rem; cursor:pointer; font-weight:600; font-size:.8rem; }
.rep-save:hover { background:rgba(var(--p-base-rgb,245,200,66),.3); }
.cc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(12rem,1fr)); gap:.45rem .9rem; margin:.3rem 0 .9rem; }
.cc-row { display:flex; align-items:center; gap:.55rem; cursor:pointer; }
.cc-in { width:2.1rem; height:1.5rem; border:none; background:none; padding:0; cursor:pointer; }
.org-flow { overflow:auto; padding:.3rem 0; }
.org-flow svg { max-width:100%; height:auto; display:block; margin:.4rem auto; }

/* Tableau de bord GED : 6 KPI par ligne */
.ged-kpis { display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:.45rem; }
.ged-kpis .org-kpi { padding:.5rem .55rem; }
.ged-kpis .k-num { font-size:1.15rem; }


/* Revue & correction (ged.review) */
.rev-wrap { display:grid; grid-template-columns:minmax(0,20rem) minmax(0,1fr); gap:.6rem; }
.rev-left { display:flex; flex-direction:column; min-width:0; }
.rev-filters { display:flex; flex-wrap:wrap; gap:.3rem; margin-bottom:.4rem; }
.rev-f { background:rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.12); border-radius:5px; color:#d4d4d8; font-size:.68rem; padding:.2rem .35rem; }
.rev-q { flex:1; min-width:6rem; }
.rev-count { font-size:.62rem; color:#64748b; margin-bottom:.3rem; }
.rev-list { overflow-y:auto; max-height:36rem; border:1px solid rgba(255,255,255,.08); border-radius:6px; }
.rev-row { padding:.35rem .5rem; border-bottom:1px solid rgba(255,255,255,.05); cursor:pointer; }
.rev-row:hover { background:rgba(var(--p-base-rgb),.08); }
.rev-row.on { background:rgba(var(--p-glow-rgb),.13); box-shadow:inset 2px 0 0 var(--p-base); }
.rev-row.done { opacity:.55; }
.rev-r1 { display:flex; justify-content:space-between; gap:.4rem; align-items:center; }
.rev-name { font-size:.72rem; color:#e4e4e7; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rev-conf { font-size:.62rem; font-weight:600; flex-shrink:0; }
.rev-r2 { display:flex; justify-content:space-between; gap:.4rem; margin-top:.1rem; }
.rev-ds { font-size:.6rem; color:var(--p-light); }
.rev-dt { font-size:.6rem; color:#64748b; }
.rev-viewer { display:flex; flex-direction:column; min-width:0; border:1px solid rgba(255,255,255,.1); border-radius:8px; background:rgba(0,0,0,.2); overflow:hidden; }
.rev-head { padding:.5rem .7rem; background:rgba(var(--p-base-rgb),.06); border-bottom:1px solid rgba(var(--p-base-rgb),.12); }
.rev-head:empty { display:none; }
.rev-h-name { font-size:.82rem; font-weight:600; color:#e4e4e7; word-break:break-word; }
.rev-h-path { font-size:.6rem; color:#64748b; font-family:'Menlo','Consolas',monospace; margin-top:.1rem; word-break:break-all; }
.rev-h-meta { display:flex; flex-wrap:wrap; gap:.3rem; align-items:center; margin-top:.35rem; }
.rev-pill { font-size:.6rem; padding:.06rem .42rem; border:1px solid rgba(255,255,255,.15); border-radius:5px; color:#cbd5e1; }
.rev-mark { background:rgba(var(--p-base-rgb),.18); border:1px solid rgba(var(--p-base-rgb),.4); color:var(--p-base); font-size:.62rem; padding:.12rem .55rem; border-radius:5px; cursor:pointer; }
.rev-mark.done { background:rgba(52,211,153,.15); border-color:rgba(52,211,153,.4); color:#34d399; cursor:default; }
.rev-open { font-size:.62rem; color:var(--p-light); text-decoration:none; margin-left:auto; }
.rev-body { flex:1; display:flex; min-height:70vh; }


/* Campagne de lots (ged.review Stage B) */
.camp-card { border:1px solid rgba(var(--p-base-rgb),.25); border-radius:8px; background:rgba(var(--p-base-rgb),.05); padding:.6rem .75rem; margin-bottom:.7rem; }
.camp-head { display:flex; justify-content:space-between; align-items:center; }
.camp-title { font-size:.78rem; font-weight:600; color:#e4e4e7; }
.camp-state { font-size:.66rem; color:#64748b; }
.camp-state.on { color:#34d399; }
.camp-stats { display:flex; gap:1.2rem; margin:.4rem 0; font-size:.72rem; color:#cbd5e1; }
.camp-stats b { color:var(--p-base); font-weight:600; }
.camp-ctrl { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.camp-lab { font-size:.68rem; color:#cbd5e1; display:flex; align-items:center; gap:.3rem; }
.camp-lab input { width:5rem; }
.camp-btn { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); border-radius:6px; color:#cbd5e1; font-size:.7rem; padding:.22rem .7rem; cursor:pointer; }
.camp-btn:disabled { opacity:.4; cursor:not-allowed; }
.camp-go { background:rgba(var(--p-base-rgb),.2); border-color:rgba(var(--p-base-rgb),.5); color:var(--p-base); }
.camp-note { font-size:.62rem; color:#64748b; margin-top:.4rem; }


/* Heatmap calendaire (style contributions) */
.cal-scroll { overflow-x:auto; padding-bottom:.2rem; }
.cal-grid { display:inline-flex; gap:3px; }
.cal-col { display:flex; flex-direction:column; gap:3px; }
.cal-c { width:12px; height:12px; border-radius:2px; display:block; background:rgba(255,255,255,.05); }
.cal-l0 { background:rgba(255,255,255,.05); }
.cal-l1 { background:rgba(var(--p-base-rgb),.30); }
.cal-l2 { background:rgba(var(--p-base-rgb),.52); }
.cal-l3 { background:rgba(var(--p-base-rgb),.74); }
.cal-l4 { background:var(--p-base); }
.cal-fut { background:transparent; }
.cal-legend { display:flex; align-items:center; gap:3px; margin-top:.5rem; font-size:.58rem; color:#64748b; text-transform:uppercase; letter-spacing:.06em; }
.cal-legend .cal-c { width:12px; height:12px; }


/* Heatmap contributions : 1 dataset par ligne x jours */
/* Heatmap : colonne des noms FIXE (hors conteneur scrollé) + cellules scrollables alignées. */
.dh-wrap { display:flex; align-items:flex-start; }
.dh-labels { flex-shrink:0; }
.dh-scroll { overflow-x:auto; overflow-y:hidden; flex:1; min-width:0; padding-bottom:.2rem; scrollbar-width:none; -ms-overflow-style:none; }
.dh-scroll::-webkit-scrollbar { display:none; height:0; width:0; }
.dh-crow { display:flex; align-items:center; gap:3px; height:14px; box-sizing:border-box; margin-bottom:3px; }
.dh-lab { display:block; box-sizing:border-box; height:14px; line-height:14px; margin-bottom:3px; width:7rem; font-size:.62rem; color:#cbd5e1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding-right:.4rem; }
.dh-crow .cal-c { flex-shrink:0; }
/* compat : ancienne classe .dh-row (rangée label+cellules) si encore référencée */
.dh-row { display:flex; align-items:center; gap:3px; height:14px; box-sizing:border-box; margin-bottom:3px; }

/* Heatmap + repartition cote a cote 50/50 */
.ged-cards2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:stretch; margin-top:1rem; }
.ged-cards2 .org-card { margin-top:0; min-width:0; }

.bar-total { margin-top:.5rem; font-weight:600; color:#e4e4e7; }
.bar-total .bar-track { background:transparent; }


/* Réconciliation FS<->DB (Tableau de bord GED) */
.rec-card { margin-top:1rem; }
.rec-ctrl { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.rec-state { font-size:.66rem; color:#fbbf24; }
.rec-out { margin-top:.5rem; }
.rec-res { display:flex; flex-wrap:wrap; gap:1rem; font-size:.72rem; color:#cbd5e1; }
.rec-res b { color:var(--p-base); font-weight:600; }
.rec-res .rec-hl b { color:#fbbf24; }
.rec-list { margin:.4rem 0 0; padding-left:1.1rem; font-size:.66rem; color:#94a3b8; max-height:14rem; overflow:auto; }
.rec-list li { margin:.1rem 0; }
.rec-applied { font-size:.7rem; color:#34d399; margin:.4rem 0 0; }
.rec-ok { font-size:.72rem; color:#34d399; margin:.4rem 0 0; }
.rec-abort { font-size:.72rem; color:#fb7185; margin:.2rem 0 0; }


/* Spinner circulaire reconciliation */
.rec-spin { display:inline-block; width:14px; height:14px; border:2px solid rgba(var(--p-base-rgb),.25); border-top-color:var(--p-base); border-radius:50%; animation:rec-spin .7s linear infinite; vertical-align:middle; }
.rec-spin[hidden] { display:none; }
@keyframes rec-spin { to { transform:rotate(360deg); } }


/* Classement manuel d'un incertain (modal) */
.cls-ovl { position:fixed; inset:0; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; z-index:9999; }
.cls-modal { background:var(--p-surface,#1b1b1a); border:1px solid var(--p-border,#3a3a38); border-radius:10px; padding:1.1rem 1.2rem; width:min(440px,92vw); box-shadow:0 12px 40px rgba(0,0,0,.5); display:flex; flex-direction:column; gap:.55rem; }
.cls-h { margin:0 0 .2rem; font-size:.95rem; color:var(--p-base,#e0a528); }
.cls-file { font-size:.72rem; color:#cbd5e1; word-break:break-all; background:rgba(var(--p-base-rgb,224,165,40),.10); border-radius:6px; padding:.35rem .5rem; }
.cls-lab { display:flex; flex-direction:column; gap:.2rem; font-size:.68rem; color:#94a3b8; }
.cls-in { background:#0f0f0e; border:1px solid #3a3a38; border-radius:6px; color:#e5e5e3; padding:.4rem .5rem; font-size:.78rem; }
.cls-in:focus { outline:none; border-color:var(--p-base,#e0a528); }
.cls-prev { font-size:.68rem; color:var(--p-base,#e0a528); word-break:break-all; font-family:ui-monospace,Menlo,Consolas,monospace; }
.cls-err { font-size:.7rem; color:#fb7185; min-height:.8rem; }
.cls-btns { display:flex; justify-content:flex-end; gap:.5rem; margin-top:.3rem; }
.cls-tree { max-height:260px; overflow:auto; background:#0f0f0e; border:1px solid #3a3a38; border-radius:6px; padding:.3rem 0; font-size:.74rem; }
.cls-loading, .cls-empty2 { color:#6b7280; font-size:.7rem; padding:.3rem .55rem; }
.cls-row { display:flex; align-items:center; gap:.35rem; padding:.18rem .55rem; cursor:pointer; white-space:nowrap; color:#cbd5e1; }
.cls-row:hover { background:rgba(var(--p-base-rgb,224,165,40),.08); }
.cls-row.sel { background:rgba(var(--p-base-rgb,224,165,40),.18); color:var(--p-base,#e0a528); }
.cls-caret { width:.85rem; text-align:center; color:#6b7280; flex:none; }
.cls-label { overflow:hidden; text-overflow:ellipsis; }
.cls-pickbar { display:flex; align-items:center; gap:.5rem; margin-top:.35rem; }
.cls-sel { font-size:.66rem; color:#94a3b8; word-break:break-all; }
.cls-mk { font-size:.66rem; padding:.2rem .55rem; }
.cls-mk:disabled { opacity:.45; cursor:default; }


/* Vue d'ensemble : graphe horaire 7 jours (flux de traitement) */
.ov-chart-card { margin-top:1rem; }
.ov-legend { display:flex; flex-wrap:wrap; gap:.85rem; font-size:.7rem; color:#cbd5e1; margin:.15rem 0 .55rem; }
.ovl-i { display:inline-flex; align-items:center; gap:.32rem; }
.ovl-c { width:10px; height:10px; border-radius:2px; display:inline-block; }
.ovl-i b { color:#e5e5e3; font-weight:600; }
.ov-svg { width:100%; height:150px; display:block; }
.ov-xaxis { position:relative; height:14px; margin-top:3px; }
.ov-xlab { position:absolute; font-size:.6rem; color:#6b7280; white-space:nowrap; transform:translateX(2px); }

/* ===== Vue d'ensemble — briefing « secrétaire » ===== */
.ov-hero { padding:.2rem 0 .6rem; border-bottom:1px solid rgba(var(--p-base-rgb),.14); margin-bottom:.4rem; }
.ov-hello { font-size:1.25rem; font-weight:600; color:#e4e4e7; }
.ov-date { font-size:.8rem; color:#94a3b8; margin-top:.05rem; }
.ov-synth { margin-top:.45rem; font-size:.92rem; color:var(--p-pale); }
.ov-synth b { color:var(--p-base); font-weight:700; }
/* en-têtes de section */
.ov-ch { display:flex; align-items:center; gap:.4rem; margin:1.25rem 0 .55rem; color:#d4d4d8; }
.ov-ch svg { color:var(--p-base); flex-shrink:0; }
.org-card .org-ch { margin-top:0; }
/* grille KPI */
.ov-kpis { grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); }
.ov-kcard { text-align:left; font-family:inherit; cursor:default; }
.ov-kcard[data-go] { cursor:pointer; }
.ov-kcard .k-top { display:flex; align-items:center; gap:.38rem; }
.ov-kcard .k-ic { color:var(--p-base); display:inline-flex; flex-shrink:0; }
.ov-kcard.is-ok .k-ic { color:var(--c-state-notif); }
.ov-kcard .k-lab { margin:0; }
.ov-kcard .k-num { margin-top:.2rem; }
.ov-kcard.ov-soon { opacity:.55; }
.ov-spark { width:78px; height:20px; display:block; margin-top:.35rem; color:rgba(var(--card-rgb),.95); overflow:visible; }
/* 2 colonnes (à faire / à surveiller / domaines) */
.ov-doms { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; align-items:start; }
.ov-doms .org-card { margin-top:0; }
@media (max-width:880px) { .ov-doms { grid-template-columns:1fr; } }
/* liste à faire */
.ov-todo { list-style:none; margin:0; padding:0; }
.ov-td { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.42rem 0; border-bottom:1px solid rgba(255,255,255,.05); }
.ov-td:last-child { border-bottom:none; }
.ov-td-main { display:flex; flex-direction:column; min-width:0; }
.ov-td-subj { color:#e4e4e7; font-size:.8rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ov-td-from { color:#94a3b8; font-size:.68rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ov-td-dl { display:inline-flex; align-items:center; gap:.2rem; color:var(--p-base); font-size:.68rem; white-space:nowrap; flex-shrink:0; }
.ov-seeall { margin-top:.55rem; background:transparent; border:none; color:var(--p-base); cursor:pointer; font-size:.74rem; font-family:inherit; padding:.15rem 0; }
.ov-seeall:hover { text-decoration:underline; }
/* pastilles à surveiller */
.ov-watch { display:flex; flex-wrap:wrap; gap:.5rem; }
.ov-chip { display:inline-flex; align-items:center; gap:.4rem; padding:.32rem .65rem; border-radius:999px; background:rgba(var(--p-base-rgb),.08); border:1px solid rgba(var(--p-base-rgb),.22); color:var(--p-pale); font-size:.72rem; font-family:inherit; cursor:default; transition:background .12s,border-color .12s; }
.ov-chip[data-go] { cursor:pointer; }
.ov-chip[data-go]:hover { background:rgba(var(--p-base-rgb),.16); border-color:rgba(var(--p-base-rgb),.4); }
.ov-chip b { color:#e4e4e7; font-weight:700; }
.ov-chip .ov-chip-ic { color:var(--p-base); display:inline-flex; }
.ov-chip.ov-chip-0 { opacity:.5; }
/* pied — état pipelines */
.ov-pipes { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.1rem; padding-top:.6rem; border-top:1px solid rgba(255,255,255,.06); }
.ov-pipe { display:inline-flex; align-items:center; gap:.42rem; font-size:.7rem; color:#94a3b8; }
.ov-dot { width:8px; height:8px; border-radius:50%; background:#64748b; flex-shrink:0; }
.ov-pipe-ok .ov-dot { background:var(--c-state-notif); }
.ov-pipe-run .ov-dot { background:var(--c-state-notif); animation:card-pulse 1.6s ease-in-out infinite; }
.ov-pipe-off .ov-dot { background:#64748b; }

/* ===== Agenda ===== */
.ag-toolbar { display:flex; gap:.5rem; margin:.6rem 0 .4rem; }
.ag-addbtn { display:inline-flex; align-items:center; gap:.35rem; background:rgba(var(--p-base-rgb),.12); border:1px solid rgba(var(--p-base-rgb),.3); color:var(--p-light); border-radius:6px; padding:.32rem .7rem; font-size:.76rem; font-family:inherit; cursor:pointer; }
.ag-addbtn:hover { background:rgba(var(--p-base-rgb),.22); color:var(--p-base); }
.ag-addform { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; margin:.2rem 0 .7rem; padding:.6rem; border:1px solid rgba(var(--p-base-rgb),.18); border-radius:8px; background:rgba(0,0,0,.18); }
.ag-addform input, .ag-addform select { background:rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.12); border-radius:5px; color:#e4e4e7; padding:.32rem .45rem; font-size:.76rem; font-family:inherit; }
.ag-addform .ag-fgrow { flex:1; min-width:8rem; }
.ag-save { background:var(--p-base); color:var(--p-text-on); border:none; border-radius:5px; padding:.34rem .8rem; font-size:.76rem; font-weight:600; font-family:inherit; cursor:pointer; }
.ag-save:hover { background:var(--p-bright); }
.ag-day { margin-bottom:.85rem; }
.ag-dlab { font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--p-light); margin-bottom:.3rem; border-bottom:1px solid rgba(var(--p-base-rgb),.14); padding-bottom:.2rem; }
.ag-list { list-style:none; margin:0; padding:0; }
.ag-ev { display:flex; align-items:center; gap:.6rem; padding:.4rem .5rem; border-radius:6px; border-left:3px solid var(--ag-c,var(--p-base)); background:rgba(255,255,255,.025); margin-bottom:4px; }
.ag-ev:hover { background:rgba(255,255,255,.05); }
.ag-ic { color:var(--ag-c,var(--p-base)); display:inline-flex; flex-shrink:0; }
.ag-h { font-size:.72rem; color:#cbd5e1; width:6.5rem; flex-shrink:0; }
.ag-allday { color:#64748b; font-style:italic; }
.ag-main { display:flex; flex-direction:column; min-width:0; flex:1; }
.ag-titre { color:#e4e4e7; font-size:.82rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ag-lieu { color:#94a3b8; font-size:.68rem; display:inline-flex; align-items:center; gap:.25rem; }
.ag-cpt { font-size:.62rem; color:var(--p-pale); background:rgba(var(--p-base-rgb),.12); border-radius:999px; padding:.05rem .45rem; flex-shrink:0; }
.ag-del { background:transparent; border:none; color:#64748b; cursor:pointer; display:inline-flex; padding:.2rem; border-radius:4px; flex-shrink:0; }
.ag-del:hover { color:var(--c-state-alert); background:rgba(255,255,255,.06); }
.ag-past { opacity:.45; }
.ag-pont { font-size:.66rem; color:var(--p-base); display:inline-flex; align-items:center; gap:.25rem; flex-shrink:0; }
.ag-fyr { display:flex; align-items:center; justify-content:center; gap:1rem; margin:.4rem 0 .8rem; }
.ag-fbtn { display:inline-flex; align-items:center; gap:.25rem; background:transparent; border:1px solid rgba(var(--p-base-rgb),.25); color:var(--p-light); border-radius:6px; padding:.25rem .6rem; font-size:.74rem; font-family:inherit; cursor:pointer; }
.ag-fbtn:hover { background:rgba(var(--p-base-rgb),.12); }
.ag-fy { font-size:1.05rem; font-weight:600; color:#e4e4e7; }
.ag-today-fer { margin-bottom:.8rem; }
.ag-note { margin-top:.8rem; font-style:italic; }
.ag-lien { color:#cbd5e1; font-size:.66rem; background:rgba(255,255,255,.06); border-radius:999px; padding:.04rem .45rem; }
.ag-aff { color:#a855f7; font-size:.66rem; border:1px solid rgba(168,85,247,.4); border-radius:999px; padding:.04rem .45rem; }
.ag-wish { color:var(--p-base); }
.ag-wish:hover { color:var(--p-bright); background:rgba(var(--p-base-rgb),.1); }
.ag-fdj-card { color:var(--p-pale); font-size:.85rem; }
.ag-fdj-card b, .ag-today-fer b { color:#e4e4e7; }
.ag-proposed { border-left-style:dashed; background:rgba(var(--p-base-rgb),.05); }
.ag-prop { font-size:.62rem; color:var(--p-base); background:rgba(var(--p-base-rgb),.12); border-radius:999px; padding:.05rem .5rem; display:inline-flex; align-items:center; gap:.25rem; flex-shrink:0; }
.ag-ok { color:var(--c-state-notif); }
.ag-ok:hover { color:var(--c-state-notif); background:rgba(var(--c-state-notif-rgb),.14); }
/* Datasets (config globale) */
.ds-card { margin-top:1rem; }
.ds-head { display:flex; align-items:center; gap:.6rem; margin-bottom:.5rem; }
.ds-name { font-weight:600; color:#e4e4e7; display:inline-flex; align-items:center; gap:.4rem; }
.ds-name svg { color:var(--p-base); }
.ds-type { margin-left:auto; font-size:.62rem; text-transform:uppercase; letter-spacing:.04em; color:var(--p-pale); background:rgba(var(--p-base-rgb),.12); border-radius:999px; padding:.05rem .5rem; }
/* Table boîtes email (vue d'ensemble) */
.ov-mbx { width:100%; border-collapse:collapse; font-size:.78rem; }
.ov-mbx th { text-align:left; color:#94a3b8; font-weight:600; font-size:.64rem; text-transform:uppercase; letter-spacing:.04em; padding:.3rem .5rem; border-bottom:1px solid rgba(var(--p-base-rgb),.18); }
.ov-mbx td { padding:.34rem .5rem; border-bottom:1px solid rgba(255,255,255,.04); color:#e4e4e7; }
.ov-mbx .ov-num { text-align:right; font-variant-numeric:tabular-nums; }
.ov-mbx .ov-mbx-mail { color:#94a3b8; font-size:.72rem; }
.ov-mbx tr:hover td { background:rgba(255,255,255,.03); }
.ov-mbx td b { color:var(--p-base); }
.ov-mbx-tot td { font-weight:600; color:#e4e4e7; border-top:1px solid rgba(var(--p-base-rgb),.25); border-bottom:none; }
.ov-mbx-grand { font-weight:400; font-size:.72rem; color:#94a3b8; margin-left:.5rem; }
.ov-poles { display:flex; flex-direction:column; gap:.55rem; }
.ov-pole { border-left:3px solid var(--pole-c,var(--p-base)); padding:.15rem 0 .2rem .6rem; }
.ov-pole-h { display:flex; align-items:center; gap:.45rem; margin-bottom:.1rem; }
.ov-pole-dot { width:9px; height:9px; border-radius:50%; background:var(--pole-c,var(--p-base)); flex-shrink:0; }
.ov-pole-n { font-weight:700; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--pole-c,var(--p-base)); }
.ov-pole-sub { margin-left:auto; font-size:.7rem; color:#94a3b8; }
.ov-pole-sub b { color:var(--p-base); }
.ov-mbx-name { color:#e4e4e7; white-space:nowrap; }


/* GCE Abonnements — filtre statut (pastilles toggle dans la Barre de Filtration) */
.sub-filter { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; }
.sub-fpill { font: inherit; font-size: .78rem; line-height: 1.4; padding: .18rem .55rem; border-radius: 999px; border: 1px solid; cursor: pointer; display: inline-flex; gap: .3rem; align-items: center; transition: opacity .12s; }
.sub-fpill .n { font-weight: 700; }
.sub-fpill.off { opacity: .38; text-decoration: line-through; }
.sub-fpill:hover { filter: brightness(1.15); }


/* Boîtes email par pôle (#org 2026-06-29) : carte plus étroite + colonnes alignées entre pôles.
   Cause du désalignement = une <table> par pôle, dimensionnée indépendamment ;
   table-layout:fixed + largeurs de colonnes communes => toutes les tables s'alignent. */
.ov-mbx-card { max-width: none; }
.ov-mbx { table-layout: fixed; }
.ov-mbx .ov-mbx-name { width: 8.5rem; overflow: hidden; text-overflow: ellipsis; }
.ov-mbx .ov-mbx-mail { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ov-mbx td:nth-child(3) { width: 3.4rem; }
.ov-mbx td:nth-child(4) { width: 2.2rem; }
\n/* Secretariat - echeances */\n.ech-date { font-size:.72rem; color:rgb(var(--card-rgb)); font-variant-numeric:tabular-nums; white-space:nowrap; min-width:6.4rem; font-weight:600; padding-top:.15rem; }\n.ech-row .rep-head { gap:.6rem; }\n
.ech-dot { width:.55rem; height:.55rem; border-radius:50%; display:inline-block; margin-right:.3rem; flex:none; vertical-align:baseline; box-shadow:0 0 4px rgba(0,0,0,.4); }
