/* Design system « tpl » : pipelines, listes, pages de gestion (repris du CRM d'origine) */
:root{
--brand:#9c7a16;--brand2:#0f0f12;--soft:#fdf8e9;--border:#e9dfc4;
--tpl-bg:#fcfaf3;--tpl-surface:#fff;--tpl-surface-soft:#fcfaf3;
--tpl-border:#e9dfc4;--tpl-border-soft:#eef0f7;
--tpl-text:#09090a;--tpl-muted:#64748b;
--tpl-accent:#9c7a16;--tpl-accent-2:#0f0f12;--tpl-accent-soft:#fdf8e9;
--tpl-amber:#f59e0b;--tpl-amber-soft:#fef3c7;
--tpl-success:#10b981;--tpl-success-soft:#d1fae5;
--tpl-rose:#f43f5e;--tpl-rose-soft:#ffe4e6;
--tpl-shadow-sm:0 1px 2px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.06);
--tpl-shadow-md:0 4px 6px -1px rgba(15,23,42,.06),0 10px 15px -3px rgba(15,23,42,.08);
}
.kanban-shell{min-height:calc(100vh - 120px);padding-bottom:40px}

/* ── En-têtes de page ── */
.page-head,.fp-head{background:#fff;border:1px solid var(--tpl-border-soft);border-radius:20px;padding:18px 22px;margin-bottom:16px;box-shadow:var(--tpl-shadow-sm)}
.page-head h4,.fp-head h4{margin:0;font-family:'Bricolage Grotesque','Manrope',sans-serif;color:var(--tpl-text);font-weight:700;font-size:1.4rem;letter-spacing:-.02em;display:flex;align-items:center;gap:12px}
.page-head h4::before,.fp-head h4::before{content:var(--head-icon,"\f1f2");font-family:"bootstrap-icons";width:40px;height:40px;border-radius:12px;
background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2));color:#fff;font-size:1.2rem;font-weight:normal;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(99,102,241,.3);flex-shrink:0}
.fp-head .sub,.page-head .sub{color:var(--tpl-muted);font-size:.85rem;margin-top:4px;margin-left:52px}
.fp-head .btn,.page-head .btn{border-radius:11px;font-weight:600;padding:7px 14px;font-size:.82rem;display:inline-flex;align-items:center;gap:6px;transition:all .12s}
.tpl .btn-primary{background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2))!important;border:0!important;color:#fff!important;box-shadow:0 3px 10px rgba(99,102,241,.28)}
.tpl .btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(99,102,241,.38);filter:brightness(1.05)}
.fp-head .btn-outline-secondary,.fp-head .btn-outline-primary,.page-head .btn-outline-secondary{background:#fcfaf3;border:1px solid #e9dfc4;color:var(--tpl-text)}
.fp-head .btn-outline-secondary:hover,.fp-head .btn-outline-primary:hover,.page-head .btn-outline-secondary:hover{background:#fff;border-color:var(--tpl-accent);color:var(--tpl-accent)}
.fp-shell .card{border:1px solid var(--tpl-border-soft)!important;border-radius:20px!important;box-shadow:var(--tpl-shadow-sm);background:#fff}
.fp-shell .card .card-body{padding:22px 24px}

/* ── Sélecteur Prospect / Client ── */
.type-switch{display:flex;gap:0;border:1px solid var(--tpl-border);border-radius:11px;overflow:hidden;background:var(--tpl-surface-soft)}
.ts-btn{border:none;padding:8px 18px;font-weight:600;font-size:.82rem;background:transparent;cursor:pointer;transition:all .15s;text-decoration:none;color:var(--tpl-muted);display:flex;align-items:center;gap:6px;white-space:nowrap}
.ts-btn+.ts-btn{border-left:1px solid var(--tpl-border-soft)}
.ts-btn:hover{background:var(--tpl-accent-soft);color:var(--tpl-accent)}
.ts-btn.active{background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2));color:#fff;box-shadow:0 2px 6px rgba(99,102,241,.25)}

/* ── Accordéon filtres ── */
.k-shell{background:#fff;border:1px solid var(--tpl-border-soft);border-radius:18px;overflow:hidden;margin-bottom:16px;box-shadow:var(--tpl-shadow-sm)}
.k-head{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(99,102,241,.05),rgba(139,92,246,.02));border-bottom:1px solid transparent;cursor:pointer;user-select:none;transition:all .2s}
.k-shell.open .k-head{border-bottom-color:var(--tpl-border-soft)}
.k-head:hover{background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(139,92,246,.04))}
.k-title{font-family:'Bricolage Grotesque','Manrope',sans-serif;font-weight:700;font-size:1rem;color:var(--tpl-text);display:flex;align-items:center;gap:10px;letter-spacing:-.01em}
.k-title i{color:var(--tpl-accent)}
.k-chev{font-size:.7rem;opacity:.55;transition:transform .25s;display:inline-block;color:var(--tpl-muted)}
.k-shell.open .k-chev{transform:rotate(180deg)}
.k-body{max-height:0;opacity:0;overflow:hidden;transition:max-height .38s ease,opacity .25s ease}
.k-shell.open .k-body{max-height:9999px;opacity:1;overflow:visible}
.k-badge-active{display:inline-flex;align-items:center;background:var(--tpl-amber-soft);color:#92400e;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700;border:1px solid rgba(245,158,11,.3);margin-left:4px}
.k-sep{width:100%;height:1px;background:var(--tpl-border-soft);margin:10px 0}

.filter-card{background:#fff;border:1px solid var(--tpl-border-soft);border-radius:14px;padding:14px 16px;box-shadow:var(--tpl-shadow-sm)}
.filter-card-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--tpl-accent);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.filter-card-title::before{content:'';width:3px;height:14px;background:linear-gradient(180deg,var(--tpl-accent),var(--tpl-accent-2));border-radius:2px;flex-shrink:0}
.filter-card .form-control,.filter-card .form-select{border-radius:10px;border:1px solid var(--tpl-border);background:var(--tpl-surface-soft);padding:7px 11px;font-size:.85rem;color:var(--tpl-text);transition:all .15s}
.filter-card .form-control:hover,.filter-card .form-select:hover{background:#fff;border-color:#d4d8e2}
.filter-card .form-control:focus,.filter-card .form-select:focus{background:#fff;border-color:var(--tpl-accent);box-shadow:0 0 0 4px rgba(99,102,241,.12);outline:0}
.filter-card .form-label{font-size:.68rem;font-weight:600;color:var(--tpl-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}

/* ── Kanban ── */
.board-nav{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:8px 0 4px;margin-bottom:8px;scrollbar-width:none}
.board-nav::-webkit-scrollbar{display:none}
.board-nav-pill{flex-shrink:0;display:flex;align-items:center;gap:6px;border:1px solid var(--tpl-border);border-radius:999px;padding:5px 12px;background:#fff;font-size:.74rem;font-weight:600;color:var(--tpl-text);cursor:pointer;transition:all .15s;white-space:nowrap;user-select:none}
.board-nav-pill:hover{border-color:var(--tpl-accent);color:var(--tpl-accent);background:var(--tpl-accent-soft)}
.board-nav-pill.active{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2));box-shadow:0 3px 8px rgba(99,102,241,.28)}
.board-nav-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.board-nav-cnt{font-size:.66rem;opacity:.78;margin-left:1px;font-weight:700}
.board-scroll-top{overflow-x:auto;overflow-y:hidden;margin-bottom:0}
.board-scroll-top::-webkit-scrollbar{height:8px}
.board-scroll-top::-webkit-scrollbar-track{background:#f1f5f9;border-radius:8px}
.board-scroll-top::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--tpl-accent),var(--tpl-accent-2));border-radius:8px;border:2px solid #f1f5f9}
.board-scroll-phantom{height:1px;pointer-events:none}
.board{display:flex;gap:14px;overflow-x:auto;padding:4px 0 12px;align-items:flex-start;scrollbar-width:none}
.board::-webkit-scrollbar{display:none}
.col-wrap{flex:0 0 290px;background:#fff;border:1px solid var(--tpl-border-soft);border-radius:16px;overflow:hidden;box-shadow:var(--tpl-shadow-sm)}
.col-head{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--tpl-border-soft);background:var(--tpl-surface-soft)}
.col-title{font-family:'Bricolage Grotesque','Manrope',sans-serif;font-weight:700;font-size:.88rem;color:var(--tpl-text);display:flex;align-items:center;gap:8px;letter-spacing:-.01em}
.col-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px rgba(15,23,42,.04)}
.col-count{background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2));color:#fff;border-radius:999px;padding:2px 10px;font-size:.7rem;font-weight:700;box-shadow:0 2px 6px rgba(99,102,241,.22)}
.col-cards{padding:10px;min-height:80px}
.kcard{background:#fff;border:1px solid var(--tpl-border-soft);border-radius:12px;padding:11px 13px;margin-bottom:8px;cursor:grab;transition:all .15s;box-shadow:var(--tpl-shadow-sm)}
.kcard:hover{box-shadow:0 6px 18px rgba(99,102,241,.15);transform:translateY(-2px);border-color:var(--tpl-accent)}
.kcard.dragging{opacity:.45;cursor:grabbing}
.col-cards.over{background:var(--tpl-accent-soft)}
.kc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:4px}
.kc-name{font-weight:700;font-size:.88rem;color:var(--tpl-text);flex:1;min-width:0;line-height:1.3}
.kc-co{font-size:.74rem;color:var(--tpl-muted);margin-bottom:5px}
.kc-rdv{font-size:.7rem;background:var(--tpl-accent-soft);color:var(--tpl-accent);border:1px solid rgba(99,102,241,.2);border-radius:999px;padding:2px 9px;display:inline-block;margin-bottom:4px;font-weight:600}
.kc-relance{font-size:.7rem;font-weight:600;margin-bottom:3px}
.kc-meta{font-size:.7rem;color:var(--tpl-muted);margin-top:4px}
.kc-actions{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}
.kc-actions a{font-size:.72rem;color:var(--tpl-text);text-decoration:none;border:1px solid var(--tpl-border-soft);border-radius:7px;padding:3px 9px;background:var(--tpl-surface-soft);transition:all .12s;font-weight:500;cursor:pointer}
.kc-actions a:hover{background:var(--tpl-accent-soft);border-color:var(--tpl-accent);color:var(--tpl-accent)}

/* ── Bulles notes / qualif ── */
.notes-bubble{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2));color:#fff;font-size:.68rem;font-weight:700;padding:0 7px;cursor:pointer;line-height:1;transition:transform .15s;flex-shrink:0;box-shadow:0 2px 5px rgba(99,102,241,.25)}
.notes-bubble:hover{transform:scale(1.15)}
.notes-bubble-zero{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:#f1f5f9;color:#cbd5e1;font-size:.68rem;font-weight:700;padding:0 7px;line-height:1;flex-shrink:0;cursor:pointer}
.qual-bubble{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;cursor:pointer;transition:all .15s;border:1.5px solid;font-weight:600;font-size:.8rem}
.qual-bubble.qb-default{background:var(--tpl-accent-soft);border-color:#e6d9ae;color:var(--tpl-accent)}
.qual-bubble.qb-ok{background:var(--tpl-success-soft);border-color:#86efac;color:#15803d}
.qual-bubble.qb-warn{background:var(--tpl-amber-soft);border-color:#fde047;color:#854d0e}
.qual-bubble.qb-danger{background:var(--tpl-rose-soft);border-color:#fca5a5;color:var(--tpl-rose)}
.qual-bubble.qb-hot{background:#fff7ed;border-color:#fdba74;color:#c2410c}
.qual-bubble:hover{transform:scale(1.15);box-shadow:0 3px 10px rgba(99,102,241,.2)}
.qual-bubble-none{color:#d1d5db;font-size:.8rem}

/* Popups notes / qualification */
.np-pop{display:none;position:fixed;z-index:2000;background:#fff;border:0;border-radius:18px;box-shadow:0 25px 60px rgba(15,23,42,.22),0 0 0 1px rgba(15,23,42,.05);width:360px;max-height:420px;overflow:hidden;font-size:.82rem;font-family:'Manrope',sans-serif}
.np-header,.qp-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2));color:#fff}
.np-header-title,.qp-header-title{font-family:'Bricolage Grotesque','Manrope',sans-serif;font-weight:700;color:#fff;font-size:.85rem;letter-spacing:-.01em}
.np-header-count{background:rgba(255,255,255,.22);color:#fff;border-radius:999px;padding:2px 10px;font-size:.7rem;font-weight:700;border:1px solid rgba(255,255,255,.2)}
.np-scroll{overflow-y:auto;max-height:230px;padding:8px 10px}
.np-item{padding:9px 11px;margin-bottom:6px;border-radius:11px;background:var(--tpl-surface-soft);border:1px solid var(--tpl-border-soft)}
.np-meta{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.np-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2));color:#fff;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.np-auteur{font-weight:700;color:var(--tpl-text);font-size:.78rem}
.np-dt{color:var(--tpl-muted);font-size:.7rem;margin-left:auto}
.np-texte{color:var(--tpl-text);font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.add-note-form{padding:8px 12px 12px;background:var(--tpl-surface-soft);border-top:1px solid var(--tpl-border-soft)}
.add-note-form textarea{width:100%;border:1px solid var(--tpl-border);border-radius:10px;background:#fff;padding:8px 11px;font-size:.82rem;resize:none;font-family:inherit;outline:none;transition:all .15s}
.add-note-form textarea:focus{border-color:var(--tpl-accent);box-shadow:0 0 0 4px rgba(99,102,241,.12)}
.btn-note-send{background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2));color:#fff;border:none;border-radius:9px;padding:6px 16px;font-size:.78rem;font-weight:600;cursor:pointer;margin-top:6px;box-shadow:0 3px 8px rgba(99,102,241,.25)}
.qp-hero{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--tpl-border-soft);background:var(--tpl-surface-soft)}
.qp-row{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--tpl-border-soft)}
.qp-row:last-child{border-bottom:none}
.qp-lbl{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--tpl-muted);margin-bottom:3px}
.qp-val{font-size:.84rem;font-weight:600;color:var(--tpl-text)}

/* ── Listes ── */
.section-sep{display:flex;align-items:center;gap:10px;margin:26px 0 16px;font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}
.section-sep::before,.section-sep::after{content:'';flex:1;height:1px}
.section-sep.prospect{color:#8a6a12}
.section-sep.prospect::before,.section-sep.prospect::after{background:linear-gradient(90deg,transparent,#ddd6fe,transparent)}
.section-sep.client{color:var(--tpl-accent)}
.section-sep.client::before,.section-sep.client::after{background:linear-gradient(90deg,transparent,#e6d9ae,transparent)}
.kpi-box{background:#fff;border:1px solid var(--tpl-border-soft);border-radius:14px;padding:14px 16px;box-shadow:var(--tpl-shadow-sm);transition:transform .15s,box-shadow .15s}
.kpi-box:hover{transform:translateY(-1px);box-shadow:var(--tpl-shadow-md)}
.kpi-box .v{font-family:'Bricolage Grotesque','Manrope',sans-serif;font-size:1.4rem;font-weight:700;color:var(--tpl-accent);line-height:1.1;letter-spacing:-.02em}
.kpi-box .v.danger{color:var(--tpl-rose)}
.kpi-box .v.muted{color:var(--tpl-muted)}
.kpi-box .l{font-size:.72rem;color:var(--tpl-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
.fp-wrap{overflow-x:auto;position:relative}
.ct-tbl{width:100%;border-collapse:collapse;font-size:.82rem}
.ct-tbl thead th{background:var(--tpl-surface-soft);color:var(--tpl-muted);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;padding:10px 8px;white-space:nowrap;border-bottom:1px solid var(--tpl-border-soft);text-align:center;cursor:pointer;user-select:none}
.ct-tbl thead th:first-child{text-align:left}
.ct-tbl thead th::after{content:'⇅';font-size:.6rem;margin-left:3px;opacity:.45;color:var(--tpl-muted)}
.ct-tbl thead th.sa::after{content:'▲';opacity:1;color:var(--tpl-accent)}
.ct-tbl thead th.sd::after{content:'▼';opacity:1;color:var(--tpl-accent)}
.ct-tbl thead th.no-sort{cursor:default}.ct-tbl thead th.no-sort::after{content:''}
.ct-tbl tbody tr{border-bottom:1px solid var(--tpl-border-soft);transition:background .12s}
.ct-tbl tbody tr:hover{background:var(--tpl-accent-soft)}
.ct-tbl tbody td{padding:10px 8px;vertical-align:middle;text-align:center;color:var(--tpl-text)}
.ct-tbl tbody td:first-child{text-align:left}
.ct-tbl tbody td:last-child{text-align:right}
.ct-tbl a.cname{color:var(--tpl-text);font-weight:700;text-decoration:none}
.ct-tbl a.cname:hover{color:var(--tpl-accent)}
.fp-loading{pointer-events:none;opacity:.45}
.fp-pag{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 0 4px;margin-top:8px;border-top:1px solid var(--tpl-border-soft)}
.fp-pag-info{font-size:.82rem;color:var(--tpl-muted)}
.fp-pag-pages{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.fp-pag-pages button{min-width:34px;height:32px;padding:0 10px;border:1px solid var(--tpl-border);border-radius:9px;background:#fff;color:var(--tpl-text);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .12s;display:inline-flex;align-items:center;justify-content:center;gap:4px}
.fp-pag-pages button:hover:not(:disabled){background:var(--tpl-accent-soft);border-color:var(--tpl-accent);color:var(--tpl-accent)}
.fp-pag-pages button.cur{background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2));border-color:transparent;color:#fff;font-weight:700;box-shadow:0 3px 8px rgba(99,102,241,.28)}
.fp-pag-pages button:disabled{opacity:.4;cursor:not-allowed}
.fp-pag-pages .fp-ellipsis{padding:0 6px;color:var(--tpl-muted);font-size:.82rem}
.fp-per{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--tpl-muted)}
.fp-per select{border:1px solid var(--tpl-border);border-radius:9px;padding:5px 10px;font-size:.82rem;background:var(--tpl-surface-soft);color:var(--tpl-text)}
.fp-empty{text-align:center;color:var(--tpl-muted);padding:40px 0;font-size:.9rem}
.btn-dot{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--tpl-border);background:#fff;cursor:pointer;transition:all .12s;color:var(--tpl-text)}
.btn-dot:hover{background:var(--tpl-accent-soft);border-color:var(--tpl-accent);color:var(--tpl-accent)}
.rdv-chip{display:inline-flex;align-items:center;background:var(--tpl-accent-soft);color:var(--tpl-accent);border:1px solid rgba(99,102,241,.2);border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:700;white-space:nowrap;gap:4px}
.rdv-chip-past{display:inline-flex;align-items:center;background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0;border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:600;white-space:nowrap;gap:4px}
.st-pill{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:3px 9px;font-size:.69rem;font-weight:700;white-space:nowrap;line-height:1.3;border:1px solid}
.soft-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:700;white-space:nowrap;border:1px solid transparent}
.soft-pill.primary{background:#fdf8e9;color:#6e5410;border-color:rgba(99,102,241,.2)}
.soft-pill.success{background:#d1fae5;color:#065f46;border-color:rgba(16,185,129,.22)}
.soft-pill.danger{background:#ffe4e6;color:#9f1239;border-color:rgba(244,63,94,.22)}
.soft-pill.warning{background:#fef3c7;color:#92400e;border-color:rgba(245,158,11,.25)}
.soft-pill.info{background:#cffafe;color:#155e75;border-color:rgba(14,165,233,.22)}
.soft-pill.secondary{background:#f1f5f9;color:#475569;border-color:rgba(100,116,139,.22)}
.soft-pill.violet{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}

/* Offcanvas actions */
.offcanvas-actions{border-left:1px solid var(--tpl-border-soft);width:380px;max-width:92vw;background:var(--tpl-bg)}
.oc-header-modern{background:radial-gradient(circle at 0% 0%,rgba(139,92,246,.4),transparent 50%),radial-gradient(circle at 100% 100%,rgba(99,102,241,.3),transparent 50%),linear-gradient(135deg,var(--tpl-accent) 0%,var(--tpl-accent-2) 50%,#d4af37 100%)!important;padding:20px 22px!important;align-items:flex-start;color:#fff}
.oc-header-modern .btn-close{filter:invert(1) grayscale(1) brightness(2)}
.oc-head-content{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.oc-avatar{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.25);color:#fff;font-weight:700;font-size:1.05rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.oc-head-text{flex:1;min-width:0;overflow:hidden}
.oc-contact-name{font-family:'Bricolage Grotesque','Manrope',sans-serif;color:#fff;font-weight:700;font-size:1.05rem;letter-spacing:-.015em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}
.oc-type-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.25);color:#fff}
.oc-type-badge.is-prospect{background:rgba(255,193,7,.28);border-color:rgba(255,235,170,.35)}
.oc-type-badge.is-client{background:rgba(34,197,94,.28);border-color:rgba(187,247,208,.35)}
.offcanvas-actions .offcanvas-body{padding:18px 22px}
.act-list{display:flex;flex-direction:column;gap:10px}
.act-card{background:#fff;border:1px solid var(--tpl-border-soft);border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:var(--tpl-shadow-sm);transition:all .15s}
.act-card:hover{border-color:var(--tpl-accent);box-shadow:0 4px 12px rgba(99,102,241,.12);transform:translateY(-1px)}
.act-card .left{display:flex;align-items:center;gap:11px}
.act-ico{width:36px;height:36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--tpl-border-soft);background:var(--tpl-surface-soft);color:var(--tpl-accent);flex-shrink:0}
.act-t{font-weight:700;color:var(--tpl-text);font-size:.9rem;line-height:1.1}
.act-s{color:var(--tpl-muted);font-size:.76rem;margin-top:2px}
.act-card .btn{border-radius:10px;font-weight:600;padding:7px 14px;font-size:.82rem}
.act-card .btn-outline-secondary{background:var(--tpl-surface-soft);border:1px solid var(--tpl-border);color:var(--tpl-text)}
.act-card .btn-outline-danger{background:#fff;border:1px solid var(--tpl-border);color:var(--tpl-rose)}

/* Cartes génériques des pages de gestion */
.tpl-card{background:#fff;border:1px solid var(--tpl-border-soft);border-radius:18px;box-shadow:var(--tpl-shadow-sm);overflow:hidden}
.tpl-card-head{padding:13px 18px;border-bottom:1px solid var(--tpl-border-soft);background:linear-gradient(135deg,rgba(99,102,241,.05),rgba(139,92,246,.02));display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:'Bricolage Grotesque','Manrope',sans-serif;font-weight:700;color:var(--tpl-text)}
.tpl-card-head i{color:var(--tpl-accent)}
.tpl-card-body{padding:16px 18px}
.tpl-count{background:var(--tpl-accent-soft);color:var(--tpl-accent);border:1px solid rgba(99,102,241,.2);border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:700;font-family:'Manrope',sans-serif}
.tpl .form-control,.tpl .form-select{border-radius:10px;border:1px solid var(--tpl-border);background:var(--tpl-surface-soft);font-size:.86rem}
.tpl .form-control:focus,.tpl .form-select:focus{background:#fff;border-color:var(--tpl-accent);box-shadow:0 0 0 4px rgba(99,102,241,.12)}
.tpl .form-label{font-size:.68rem;font-weight:700;color:var(--tpl-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.sort-pill{border:1px solid var(--tpl-border);border-radius:999px;background:#fff;padding:5px 12px;font-size:.76rem;font-weight:600;color:var(--tpl-text);cursor:pointer}
.sort-pill.active{background:linear-gradient(135deg,var(--tpl-accent),var(--tpl-accent-2));color:#fff;border-color:transparent}
.co-card{background:#fff;border:1px solid var(--tpl-border-soft);border-radius:16px;padding:14px 16px;box-shadow:var(--tpl-shadow-sm);height:100%;display:flex;flex-direction:column;gap:6px;transition:all .15s}
.co-card:hover{border-color:var(--tpl-accent);box-shadow:0 6px 18px rgba(99,102,241,.12)}
.co-card .co-name{font-weight:700;color:var(--tpl-text);font-size:.92rem}
.co-card .co-meta{font-size:.76rem;color:var(--tpl-muted);display:flex;align-items:center;gap:6px}
.co-card .co-actions{margin-top:auto;display:flex;gap:6px;padding-top:6px}
.btn-xs{font-size:.72rem;padding:3px 10px;border-radius:8px;font-weight:600}
.id-link{color:var(--tpl-accent);font-weight:800;text-decoration:none}

@media (max-width:767.98px){
.container-fluid{padding:14px 10px!important}
.page-head,.fp-head{padding:12px 14px}
.type-switch{width:100%}
.ts-btn{flex:1;justify-content:center}
.col-wrap{flex:0 0 calc(100vw - 50px);max-width:340px}
.fp-head .sub,.page-head .sub{margin-left:0}
}

/* ── Recherche d'entreprise (SIRET / nom) ── */
.lk-wrap{position:relative}
.lk-drop{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1200;background:#fff;border:1px solid var(--tpl-border-soft);
border-radius:12px;box-shadow:0 14px 40px rgba(15,23,42,.16);max-height:300px;overflow-y:auto}
.lk-drop.on{display:block}
.lk-sec{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;padding:9px 12px 3px;border-top:1px solid #f1f5f9}
.lk-sec:first-child{border-top:0}
.lk-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid #f8fafc}
.lk-item:hover{background:var(--tpl-accent-soft)}
.lk-name{font-weight:700;font-size:.86rem;color:var(--tpl-text)}
.lk-meta{font-size:.75rem;color:var(--tpl-muted);margin-top:2px}
.lk-tag{font-size:.63rem;font-weight:700;background:#dcfce7;color:#166534;border-radius:999px;padding:1px 8px;margin-left:6px}
.lk-tag.closed{background:#ffe4e6;color:#9f1239}

/* ── Choix du programme ── */
.prog-card{width:100%;height:100%;text-align:left;background:#fff;border:1.5px solid var(--tpl-border-soft);border-radius:16px;padding:16px;
display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:all .15s;box-shadow:var(--tpl-shadow-sm)}
.prog-card:hover{border-color:var(--tpl-accent);transform:translateY(-2px);box-shadow:0 8px 22px rgba(99,102,241,.16)}
.prog-groupe{align-self:flex-start;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:2px 9px}
.prog-groupe.performance{background:#fdf8e9;color:#6e5410}
.prog-groupe.consulting{background:#f5f3ff;color:#6d28d9}
.prog-nom{font-weight:700;color:var(--tpl-text);font-size:.92rem;line-height:1.3}
.prog-duree{font-size:.76rem;color:var(--tpl-muted)}

/* ── Barre du formulaire de demande ── */
.conv-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid var(--tpl-border-soft);
border-left:5px solid var(--tpl-amber);border-radius:16px;padding:14px 18px;margin-bottom:16px;box-shadow:var(--tpl-shadow-sm)}
.conv-bar-lbl{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--tpl-amber)}
.conv-bar-nom{font-family:'Bricolage Grotesque','Manrope',sans-serif;font-weight:700;font-size:1.05rem;color:var(--tpl-text)}
.ap-card{border:1px solid var(--tpl-border-soft);border-radius:14px;padding:14px 16px;margin-bottom:12px;background:var(--tpl-surface-soft)}
.ap-card:last-child{margin-bottom:0}
.ap-title{font-weight:700;font-size:.88rem;color:var(--tpl-text)}

/* ── Fiche demande (portail) ── */
.conv-hero{background:radial-gradient(circle at 0% 0%,rgba(139,92,246,.35),transparent 55%),linear-gradient(135deg,#7d600f,#8a6a12 55%,#d4af37);
border-radius:22px;padding:24px 28px;color:#fff;margin-bottom:18px;box-shadow:0 14px 36px rgba(99,102,241,.28)}
.conv-hero-top{font-size:.76rem;opacity:.85;font-weight:600}
.conv-hero-title{font-family:'Bricolage Grotesque','Manrope',sans-serif;font-size:1.5rem;font-weight:700;margin:6px 0 12px;letter-spacing:-.02em}
.conv-hero-chips{display:flex;gap:8px;flex-wrap:wrap}
.conv-chip{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:4px 12px;font-size:.76rem;font-weight:600}
.conv-chip.success{background:rgba(16,185,129,.35);border-color:rgba(167,243,208,.5)}
.conv-chip.danger{background:rgba(244,63,94,.35);border-color:rgba(254,205,211,.5)}
.conv-chip.warning{background:rgba(245,158,11,.35);border-color:rgba(253,230,138,.5)}
.cv-line{display:flex;gap:12px;padding:7px 0;border-bottom:1px solid #f1f5f9}
.cv-line:last-child{border-bottom:0}
.cv-l{width:150px;flex:none;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tpl-muted);padding-top:2px}
.cv-v{font-weight:600;color:var(--tpl-text);word-break:break-word}
.cv-v a{color:var(--tpl-accent);text-decoration:none}
.cv-comment{background:var(--tpl-surface-soft);border:1px solid var(--tpl-border-soft);border-radius:12px;padding:12px 14px;white-space:pre-wrap;line-height:1.55}
.ap-view{border:1px solid var(--tpl-border-soft);border-radius:12px;padding:10px 13px;margin-bottom:8px;background:#fff}
.ap-view:last-child{margin-bottom:0}
.ap-view-name{font-weight:700;color:var(--tpl-text)}
.ap-view-meta{font-size:.78rem;color:var(--tpl-muted);margin-top:2px}
.conv-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid var(--tpl-border-soft);border-radius:16px;
padding:14px 18px;margin-top:18px;box-shadow:var(--tpl-shadow-sm)}

.cv-stack .cv-line{flex-direction:column;gap:2px;border-bottom:0;padding:0}
.cv-stack .cv-l{width:auto;padding-top:0}
.cv-meta .cv-l{width:130px}
@media (max-width:767.98px){.cv-line{flex-direction:column;gap:2px}.cv-l{width:auto}}

/* ---- Fenêtre « Ajouter un événement » ---- */
.crm-modal .ev-head{align-items:flex-start}
.ev-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.45);color:#fff;font-size:11px;font-weight:800;letter-spacing:.3px;padding:4px 11px;border-radius:999px;text-transform:uppercase}
.ev-head-sub{font-size:12px;color:rgba(255,255,255,.88);margin-top:7px;font-weight:600}
.ev-past{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:11px;padding:10px 13px;font-size:.84rem;font-weight:600;margin-bottom:14px}
.ev-card{border:1px solid #e6e0d2;border-radius:14px;padding:14px 15px;margin-bottom:13px;background:#fff}
.ev-card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:11px}
.ev-card-head span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#7d600f}
.ev-card-head small{font-size:11px;color:#94a3b8}
.ev-durs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:11px}
.ev-dur-lbl{font-size:12px;font-weight:800;color:#7d600f}
.ev-dur{border:1px solid #d7dceb;background:#fff;color:#334155;border-radius:999px;font-weight:700;font-size:12px;padding:.3rem .8rem}
.ev-dur:hover{border-color:#7d600f;color:#7d600f}
.ev-dur.on{background:#7d600f;border-color:#7d600f;color:#fff}
.ev-assoc-sel{margin-top:9px;font-size:12.5px}
.ev-none{color:#94a3b8}
.ev-chip{display:inline-flex;align-items:center;gap:6px;background:#fdf8e9;border:1px solid #e6d9ae;color:#584413;border-radius:999px;padding:4px 12px;font-weight:700}
.ev-tcard .form-switch{margin-bottom:0}
.ev-tcard .form-check-label{font-weight:800;color:#09090a}
.ev-who{display:flex;flex-wrap:wrap;gap:16px;padding-top:4px}
.ev-who .form-check{display:flex;align-items:center;gap:7px;margin:0}
.ev-who .form-check-input{margin:0;float:none}
.ev-who .form-check-label{font-weight:600;font-size:13px}
.ev-warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:9px;padding:6px 10px;font-size:12px;font-weight:600;margin-top:9px}
.ev-foot-note{font-size:12px;color:#64748b;background:#fcfaf3;border:1px dashed #d7dceb;border-radius:11px;padding:10px 13px}
.ev-tools{display:flex;align-items:center;gap:12px;margin:10px 0 12px}
.ev-count{font-size:12px;font-weight:700;color:#64748b}
.ev-filters th{padding-top:0!important;padding-bottom:8px!important;background:#fff}
.ev-filters input{font-size:11.5px;border-radius:8px}
.ev-dur-cell{display:block;font-weight:600;font-size:11px;color:#94a3b8}
.ev-sub{font-size:11.5px;color:#94a3b8}
.ev-rap{display:inline-block;background:#fdf8e9;color:#584413;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}
.ag-note{background:#fcfaf3;border:1px dashed #d7dceb;border-radius:11px;padding:10px 13px;font-size:12.5px;color:#475569}
.ag-kpi{background:#fcfaf3;border:1px solid #e6e0d2;border-radius:14px;padding:14px;text-align:center}
.ag-kpi-n{font-size:1.5rem;font-weight:800;color:#7d600f;line-height:1.1}
.ag-kpi-l{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#64748b;margin-top:4px}

/* ---- Choix du programme (demande de convention) ---- */
.pg-groupes{display:flex;flex-wrap:wrap;gap:12px}
.pg-groupe{display:inline-flex;align-items:center;gap:9px;border:1px solid #e9dfc4;background:#fff;color:#09090a;border-radius:13px;padding:13px 22px;font-weight:700;font-size:.92rem}
.pg-groupe:hover{border-color:#9c7a16;color:#7d600f}
.pg-groupe.on{background:linear-gradient(135deg,#9c7a16,#0f0f12);border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(99,102,241,.3)}
.pg-count{font-size:12px;font-weight:700;color:#64748b}
.pg-cats-lbl{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:16px 0 8px;border-left:3px solid #9c7a16;padding-left:8px}
.pg-cats{display:flex;flex-wrap:wrap;gap:8px}
.pg-cat{border:1px solid #e9dfc4;background:#fff;color:#334155;border-radius:999px;padding:.32rem .9rem;font-size:12.5px;font-weight:600}
.pg-cat:hover{border-color:#9c7a16;color:#7d600f}
.pg-cat.on{background:#7d600f;border-color:#7d600f;color:#fff}
.pg-card{position:relative;display:flex;flex-direction:column;gap:7px;width:100%;height:100%;text-align:left;background:#fff;border:1px solid #e6e0d2;border-radius:15px;padding:16px 46px 16px 18px}
.pg-card:hover{border-color:#9c7a16;box-shadow:0 8px 22px rgba(99,102,241,.12)}
.pg-radio{position:absolute;top:17px;right:17px;width:17px;height:17px;border:2px solid #cbd5e1;border-radius:50%}
.pg-card:hover .pg-radio{border-color:#9c7a16}
.pg-nom{font-weight:700;font-size:.93rem;color:#09090a;line-height:1.35}
.pg-code{font-size:11.5px;color:#94a3b8;font-weight:600}
.pg-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.pg-b{border-radius:999px;padding:3px 11px;font-size:11px;font-weight:700;border:1px solid transparent}
.pg-b.h{background:#fdf8e9;color:#584413;border-color:#e6d9ae}
.pg-b.c{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.pg-b.p{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.pg-b.v{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.conv-bar-meta{font-size:11.5px;font-weight:700;color:#64748b;margin-top:3px}

/* ---- Fiche programme ---- */
.pg-card{cursor:pointer}
.pg-fiche{align-self:flex-start;margin-top:4px;font-size:11.5px;font-weight:700;color:#7d600f;border:1px solid #e8e2d2;border-radius:999px;padding:3px 11px;cursor:pointer}
.pg-fiche:hover{background:#fdf8e9;border-color:#e6d9ae}
.fi-sub{font-size:12.5px;color:rgba(255,255,255,.9);margin-top:5px;font-weight:600}
.fi-top{background:#fff;border:1px solid #e6e0d2;border-radius:14px;padding:15px 17px;margin-bottom:14px}
.fi-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}
.fi-desc{font-size:.9rem;color:#334155;margin:0 0 12px}
.fi-infos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px}
.fi-info-l{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}
.fi-info-v{font-size:.86rem;font-weight:700;color:#09090a}
.fi-sec{background:#fff;border:1px solid #e6e0d2;border-radius:14px;padding:15px 17px;margin-bottom:12px}
.fi-sec-t{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#7d600f;margin-bottom:9px}
.fi-sec-b{font-size:.88rem;color:#334155;line-height:1.55}
.fi-sec-b ul{margin:6px 0 10px;padding-left:20px}
.fi-sec-b li{margin-bottom:4px}
.fi-sec-b b{display:inline-block;color:#09090a;margin-top:6px}
.fi-sec-b p{margin:0 0 8px}
.pre-note{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857;border-radius:11px;padding:9px 13px;font-size:12.5px;font-weight:700}

/* ---- Points à arbitrer sur une demande ---- */
.cv-alert{background:#fef2f2;border:1px solid #fecaca;border-radius:14px;padding:14px 16px}
.cv-alert-t{color:#b91c1c;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:9px}
.cv-alert-msg{color:#7f1d1d;font-size:.92rem;font-weight:600;margin-bottom:9px}
.cv-alert-by{color:#b91c1c;font-weight:700;font-size:12px}
.cv-alert-tbl{border-collapse:collapse;font-size:.86rem;color:#7f1d1d}
.cv-alert-tbl td{padding:3px 14px 3px 0}
.cv-alert-tbl td.v{font-weight:800}
.cv-alert-tbl td.a{color:#9a3412;font-weight:600}
.cv-alert-help{margin-top:9px;font-size:12px;color:#9a3412}

/* ---- Demande de convention : ce qui est figé / ce qui est à remplir ---- */
.lock-card{background:#f4f6fb;border:1px solid #e0e4f0;border-radius:16px;padding:16px 18px}
.lock-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:14px}
.lock-ico{flex:none;width:34px;height:34px;border-radius:10px;background:#e2e8f0;color:#475569;display:flex;align-items:center;justify-content:center;font-size:15px}
.lock-t{font-weight:800;font-size:.95rem;color:#334155}
.lock-s{font-size:12.5px;color:#64748b;margin-top:2px}
.lock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.lock-i{background:#fff;border:1px solid #e6e0d2;border-radius:11px;padding:9px 12px}
.lock-l{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}
.lock-v{font-size:.88rem;font-weight:700;color:#475569;margin-top:2px;word-break:break-word}
.edit-pill{display:inline-flex;align-items:center;gap:6px;background:#fdf8e9;border:1px solid #e6d9ae;color:#584413;border-radius:999px;padding:3px 12px;font-size:11.5px;font-weight:800}
.champ-libre{border-color:#d8c488!important;background:#fff!important;box-shadow:0 0 0 3px rgba(99,102,241,.08)}
.champ-libre:focus{border-color:#9c7a16!important;box-shadow:0 0 0 4px rgba(99,102,241,.16)!important}
.valeur-calc{background:#f4f6fb;border:1px dashed #cbd5e1;border-radius:11px;padding:9px 13px;font-weight:700;color:#475569;font-size:.9rem}
.ask-card{background:#fdf8e9;border:1px solid #e6d9ae;border-radius:16px;padding:15px 17px}
.ask-head{font-weight:800;color:#584413;font-size:.92rem;margin-bottom:9px;display:flex;align-items:center;gap:8px}
.ask-note{font-size:12px;color:#6e5410;margin-top:7px}
.arb-pill{display:inline-flex;align-items:center;gap:5px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:999px;padding:2px 9px;font-size:10.5px;font-weight:800;margin-top:4px;cursor:help}
.arb-bar{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:.87rem;font-weight:600}
.arb-bar a{color:#b91c1c;font-weight:800;text-decoration:underline}
.att-bar{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:.87rem;font-weight:600}
.att-bar a{color:#9a3412;font-weight:800;text-decoration:underline}

/* ---- Demandes à valider (liste verticale) ---- */
.todo{border:1px solid #e6d9ae;background:#fcfaf3;border-radius:16px;padding:14px 16px;margin-bottom:16px}
.todo-t{display:flex;align-items:center;gap:9px;font-weight:800;font-size:.95rem;color:#584413;margin-bottom:11px}
.todo-n{background:#7d600f;color:#fff;border-radius:999px;padding:1px 10px;font-size:12px}
.todo-l{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e9dfc4;border-left:4px solid #7d600f;border-radius:11px;
  padding:10px 14px;margin-bottom:8px;text-decoration:none;color:#09090a;transition:.12s}
.todo-l:hover{border-color:#9c7a16;box-shadow:0 5px 16px rgba(99,102,241,.14);transform:translateX(2px)}
.todo-l.modif{border-left-color:#dc2626;background:#fffbfb}
.todo-l:last-child{margin-bottom:0}
.todo-id{font-weight:800;color:#64748b;font-size:.85rem;min-width:46px}
.todo-main{flex:1;min-width:0;font-size:.92rem}
.todo-who{text-align:right;font-size:.82rem;font-weight:600;color:#475569;white-space:nowrap}
.todo-sub{display:block;font-size:11.5px;font-weight:600;color:#94a3b8;margin-top:1px}
.todo-modif{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:999px;padding:3px 11px;font-size:11px;font-weight:800;white-space:nowrap}
.todo-go{font-size:12px;font-weight:800;color:#7d600f;white-space:nowrap}
.instr-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857;border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:.88rem;font-weight:700}
.dest-note{background:#fcfaf3;border:1px solid #e9dfc4;border-radius:11px;padding:10px 13px;font-size:.85rem}

/* ---- Barre d'actions de la demande ---- */
.conv-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:#fff;
  border:1px solid #e6e0d2;border-radius:16px;padding:11px 14px;margin-top:16px;position:sticky;bottom:12px;box-shadow:0 8px 24px rgba(15,23,42,.10)}
.ca-gauche,.ca-droite{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.ca-droite{justify-content:flex-end}
.conv-actions .btn{white-space:nowrap}
.ca-primary{font-weight:700;padding:.5rem 1.1rem}
.cv-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.cv-tile{background:#fcfaf3;border:1px solid #e6e0d2;border-radius:11px;padding:9px 12px}
.cv-tile-l{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}
.cv-tile-v{font-size:.86rem;font-weight:700;color:#09090a;margin-top:2px;word-break:break-word}
.cv-sign-link{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.84rem;background:#fcfaf3;border:1px solid #e6e0d2;border-radius:11px;padding:9px 12px}
.ap-tag{background:#fdf8e9;border:1px solid #e6d9ae;color:#584413;border-radius:999px;padding:1px 9px;font-size:10.5px;font-weight:800;margin-left:7px;vertical-align:middle}
.ap-warn{margin-top:6px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:9px;padding:5px 10px;font-size:11.5px;font-weight:700}

/* ---- Fiche demande : console de traitement ---- */
.cv-shell{max-width:1500px}
.cv-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid #e6e0d2;
  border-radius:14px;padding:10px 14px;margin-bottom:12px}
.cv-top-l{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.cv-num{font-weight:800;color:#7d600f;font-size:1rem}
.cv-top-prog{font-size:1rem}
.cv-top-ent{color:#475569;font-weight:600}
.cv-top-eur{font-weight:800;color:#047857}
.cv-top-r{display:flex;align-items:center;gap:14px;font-size:12px;color:#94a3b8;white-space:nowrap}
.cv-save{font-weight:800;font-size:11.5px;color:#7d600f;min-width:96px;text-align:right}
.cv-save.ko{color:#b91c1c}
.cv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}
@media (max-width:1200px){.cv-grid{grid-template-columns:1fr}}
.cv-box{background:#fff;border:1px solid #e6e0d2;border-radius:14px;padding:12px 14px}
.cv-box-t{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;
  color:#7d600f;margin-bottom:10px}
.cv-box-a{margin-left:auto;background:none;border:0;color:#64748b;font-size:11px;font-weight:700;text-decoration:underline;cursor:pointer;text-transform:none;letter-spacing:0}
.ce-w{display:flex;flex-direction:column}
.ce-l{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:3px}
.ce-h{font-size:10.5px;color:#94a3b8;margin-top:2px}
.cv-box .form-control,.cv-box .form-select{border-radius:8px;border:1px solid #e9dfc4;background:#fdfbf6;font-size:.85rem;padding:.3rem .55rem}
.cv-box .form-control:focus,.cv-box .form-select:focus{background:#fff;border-color:#9c7a16;box-shadow:0 0 0 3px rgba(99,102,241,.13)}
.cv-box .form-control:disabled,.cv-box .form-select:disabled{background:#f4f6fb;color:#475569}
.ap-row{display:flex;gap:6px;align-items:flex-start;margin-bottom:7px}
.ap-row-g{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:5px}
.ap-rm{flex:none;width:28px;height:28px;border:1px solid #e9dfc4;background:#fff;border-radius:8px;color:#b91c1c;font-size:11px}
.ap-rm:hover{background:#fef2f2;border-color:#fecaca}
.cv-mini{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:11px;color:#94a3b8}
.cv-mini b{color:#64748b;font-weight:800}
.ca-note{font-size:11.5px;color:#94a3b8;font-weight:600;font-style:italic}

/* ---- Pipeline : cartes et colonnes ---- */
.kb-aide{font-size:12px;color:#7a869a;margin-top:6px;max-width:760px;line-height:1.5}
.kb-leg{display:inline-flex;align-items:center;gap:5px;margin-left:12px;white-space:nowrap;font-weight:600}
.kb-p{display:inline-block;width:10px;height:10px;border-radius:3px;background:#cbd5e1;flex:none}
.kb-p.ko{background:#dc2626}.kb-p.now{background:#f59e0b}
.col-head{display:block!important;padding-bottom:9px}
.col-title{display:flex;align-items:center;gap:7px;font-weight:800}
.col-title .col-count{margin-left:auto;background:#0f0f12;color:#fff;border-radius:999px;padding:0 9px;font-size:11px;font-weight:800}
.col-action{font-size:11px;color:#94a3b8;font-weight:600;margin-top:3px;line-height:1.35}
.col-urgent{margin-top:6px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;padding:3px 8px;font-size:10.5px;font-weight:800}
.kcard{cursor:pointer;border-left:3px solid transparent;transition:.12s}
.kcard:hover{border-color:#9c7a16;box-shadow:0 6px 18px rgba(13,13,15,.10);transform:translateY(-1px)}
.kcard.retard{border-left-color:#dc2626}
.kcard.jour{border-left-color:#f59e0b}
.kc-top{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}
.kc-score{color:#d4af37;font-size:10px;letter-spacing:-1px;white-space:nowrap}
.kc-sig{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.kc-tag{display:inline-flex;align-items:center;gap:4px;background:#f3f4f8;color:#64748b;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}
.kc-tag.ko{background:#fef2f2;color:#b91c1c}
.kc-tag.now{background:#fff7ed;color:#9a3412}
.kc-tag.rdv{background:#fdf8e9;color:#7d600f}
.kc-bas{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:7px;border-top:1px solid #f1f3f8}
.kc-who{font-size:10.5px;color:#94a3b8;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kc-act{display:flex;gap:3px;opacity:0;transition:opacity .12s}
.kcard:hover .kc-act{opacity:1}
.kc-act a{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:#64748b;font-size:11px;background:#f3f4f8}
.kc-act a:hover{background:#9c7a16;color:#fff}
.todo.attente{border-color:#fed7aa;background:#fffaf4}
.todo.attente .todo-t{color:#9a3412}
.todo.attente .todo-n{background:#ea7a1b}
.todo.attente .todo-l{border-left-color:#ea7a1b}
.todo-pied{font-size:11.5px;color:#9a3412;margin-top:9px;font-style:italic}

/* ---- Mon profil ---- */
.pf-hero{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,#09090a 0%,#0f0f12 55%,#8a6a12 100%);
  color:#fff;border-radius:18px;padding:20px 24px;margin-bottom:22px}
.pf-av{flex:none;width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.14);border:2px solid rgba(212,175,55,.5);
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;letter-spacing:.5px}
.pf-id{flex:1;min-width:0}
.pf-id h4{margin:0;font-size:1.3rem}
.pf-sub{display:flex;align-items:center;gap:10px;font-size:.88rem;color:rgba(255,255,255,.85);margin-top:3px;font-weight:600}
.pf-role{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:1px 10px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
.pf-role.adm{background:#d4af37;border-color:#d4af37;color:#0f0f12}
.pf-meta{font-size:12px;color:rgba(255,255,255,.62);margin-top:5px}
.pf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.pf-grid-2{grid-template-columns:repeat(2,1fr)}
.pf-t{background:#fff;border:1px solid #e6e0d2;border-radius:14px;padding:13px 15px}
.pf-t-v{font-size:1.6rem;font-weight:800;line-height:1.05;color:#0f0f12}
.pf-t-l{font-size:11.5px;font-weight:700;color:#64748b;margin-top:2px}
.pf-t-s{font-size:11px;color:#94a3b8;margin-top:3px}
.pf-t-s a{color:#9c7a16;font-weight:700}
.pf-t.ko{border-color:#fecaca;background:#fef6f6}.pf-t.ko .pf-t-v{color:#b91c1c}
.pf-t.att{border-color:#fed7aa;background:#fffaf4}.pf-t.att .pf-t-v{color:#9a3412}
.pf-note{background:#fcfaf3;border:1px dashed #e6d9ae;border-radius:11px;padding:9px 12px;font-size:12px;color:#5c5848}
.pf-chk{display:flex;align-items:flex-start;gap:11px;border:1px solid #e6e0d2;border-radius:12px;padding:11px 13px;margin-bottom:9px;font-size:.86rem}
.pf-chk:last-child{margin-bottom:0}
.pf-chk>i{font-size:17px;margin-top:1px}
.pf-chk>div{flex:1;min-width:0}
.pf-chk>div>div{font-size:12px;color:#64748b;margin-top:2px}
.pf-chk a{font-size:11.5px;font-weight:800;color:#9c7a16;white-space:nowrap}
.pf-chk.ok{background:#f6fbf7;border-color:#bbf7d0}.pf-chk.ok>i{color:#15803d}
.pf-chk.ko{background:#fef6f6;border-color:#fecaca}.pf-chk.ko>i{color:#b91c1c}
.pf-chk.att{background:#fffaf4;border-color:#fed7aa}.pf-chk.att>i{color:#9a3412}

/* ---- Centres de formation ---- */
.ctr-row{display:flex;align-items:center;gap:14px;border:1px solid #e6e0d2;border-radius:12px;padding:10px 13px;margin-bottom:8px;background:#fff}
.ctr-row.off{opacity:.55;background:#fafaf7}
.ctr-main{flex:1;min-width:0}
.ctr-sub{font-size:11.5px;color:#94a3b8;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ctr-n{font-size:11.5px;color:#64748b;white-space:nowrap}
.ctr-n b{color:#0f0f12;font-size:.95rem}
.ctr-act{display:flex;gap:4px}
.ctr-pill{display:inline-block;background:#fdf8e9;border:1px solid #e6d9ae;color:#7d600f;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:700;margin:1px}
.ctr-check{display:flex;align-items:center;gap:11px;border:1px solid #e6e0d2;border-radius:11px;padding:10px 13px;margin-bottom:8px;cursor:pointer}
.ctr-check:hover{border-color:#9c7a16;background:#fcfaf3}
.ctr-check span{display:flex;flex-direction:column}
.ctr-check em{font-style:normal;font-size:11.5px;color:#94a3b8}
.ctr-cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.ctr-cat{display:inline-flex;align-items:center;gap:6px;background:#fdf8e9;border:1px solid #e6d9ae;color:#7d600f;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}
.ctr-cat em{font-style:normal;color:#a89562;font-weight:600}
.ctr-cat button{border:0;background:none;color:#b91c1c;font-size:11px;line-height:1;padding:0 0 0 2px;cursor:pointer}
.ctr-cat.add{background:#fff;border-style:dashed;color:#9c7a16;cursor:pointer}
.pre-box{border-radius:11px;padding:9px 12px;margin-top:10px;font-size:12px;border:1px solid}
.pre-box.att{background:#fcfaf3;border-color:#e6d9ae;color:#7d600f}
.pre-box.ok{background:#f6fbf7;border-color:#bbf7d0;color:#047857}
.pre-box.ko{background:#fef6f6;border-color:#fecaca;color:#b91c1c}
.pre-t{display:flex;align-items:center;gap:7px;font-weight:800}
.pre-voir{margin-left:auto;border:0;background:none;text-decoration:underline;font-size:11px;font-weight:700;color:inherit;cursor:pointer}
.pre-u{font-size:10.5px;opacity:.75;margin-top:3px;word-break:break-all}
.pre-m{margin-top:5px;font-weight:700;color:#9a3412}
