:root{--bg: #f4f5f7;--card: #fff;--ink: #1c2230;--mute: #8a92a3;--line: #e4e7ec;--side: #161b26;--acc: #e4572e;--acc-soft: #fdeee9;--ok: #1f9d6b;--warn: #e0a106;--bad: #d64545;--blue: #2f6fed;--r: 10px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--blue);text-decoration:none}h1{font-size:22px;margin:0 0 18px;display:flex;align-items:center;gap:14px}h1 small{font-size:13px;font-weight:400}h3{margin:0 0 12px;font-size:15px}h4{margin:18px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute)}.muted{color:var(--mute)}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.center{text-align:center;padding:30px!important}.err{color:var(--bad)}.grow{flex:1}.layout{display:flex;min-height:100vh}.side{width:230px;background:var(--side);color:#c9cfdb;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;padding:20px 18px;font-weight:700;color:#fff;font-size:16px}.brand small{display:block;font-weight:400;color:#7d869a;font-size:11px}.brand.big{font-size:22px;color:var(--ink);justify-content:center}.logo{width:34px;height:34px;border-radius:9px;background:var(--acc);color:#fff;display:grid;place-items:center;font-weight:800}.side nav{display:flex;flex-direction:column;padding:6px 10px;gap:2px}.side nav a{color:#c9cfdb;padding:9px 12px;border-radius:8px;display:flex;gap:10px;align-items:center}.side nav a:hover{background:#222938}.side nav a.on{background:#2a3245;color:#fff}.side-foot{margin-top:auto;padding:16px 18px;border-top:1px solid #262d3c;display:flex;flex-direction:column;gap:8px;font-size:12px}.acc-line{display:flex;align-items:center;gap:6px}.acc-line small{margin-left:auto;color:#7d869a}.main{flex:1;padding:28px 34px;min-width:0;max-width:1400px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin-bottom:18px}.card.flush{padding:0;overflow:auto}.card.inset{background:#fafbfc;display:flex;flex-direction:column;gap:8px}.card.hint{border-left:4px solid var(--acc)}.card.danger{border-color:#f3d0d0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 1100px){.grid2{grid-template-columns:1fr}}.row{display:flex;gap:10px;align-items:center;margin:8px 0}.row.wrap{flex-wrap:wrap;align-items:flex-end}.row.end{justify-content:flex-end}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:18px}.kpis.small{grid-template-columns:repeat(8,1fr)}@media (max-width: 1200px){.kpis,.kpis.small{grid-template-columns:repeat(4,1fr)}}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:2px}.kpi b{font-size:24px}.kpi span{color:var(--mute);font-size:12px}.kpi.accent{border-color:var(--acc);background:var(--acc-soft)}.kpi.good b{color:var(--ok)}.kpi.merge b{color:var(--blue)}.kpi.warn{border-color:var(--warn);background:#fff8e6}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line);background:#fafbfc;white-space:nowrap}.tbl td{padding:10px 12px;border-bottom:1px solid #f0f2f5;vertical-align:top}.tbl.small td{padding:7px 10px;font-size:13px}.tbl.hover tbody tr{cursor:pointer}.tbl.hover tbody tr:hover{background:#f7f9fc}.num{text-align:right!important}.tbl tr.dim td{opacity:.5}.tbl tr.excluded td{background:#fbfbfb;color:var(--mute)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:middle}.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11.5px;font-weight:600;color:var(--c, var(--blue));background:color-mix(in srgb,var(--c, var(--blue)) 12%,white);margin:1px 4px 1px 0;white-space:nowrap}.badge.soft{color:#555;background:#eef0f3}.pill{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11.5px;background:#eef0f3;color:#4a5263;margin-left:4px;white-space:nowrap}.st-contacte{background:#e8f0fe;color:#2557c7}.st-en_relation{background:#f0e9fe;color:#6b3fd1}.st-client_actif{background:#e3f6ee;color:#187a53}.st-client_inactif{background:#f3f3f3;color:#777}.st-warn{background:#fdecec;color:var(--bad)}.rel-line{margin:2px 0}.filters{display:flex;gap:10px;margin-bottom:14px;align-items:center;flex-wrap:wrap}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 12px;flex:1;min-width:260px;color:var(--mute)}.search input{border:0;outline:0;padding:9px 0;width:100%;font:inherit}input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink)}textarea{width:100%;resize:vertical}select.bad{border-color:var(--bad)}.fld{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--mute);font-weight:600;margin-bottom:10px}.fld input,.fld select,.fld textarea{color:var(--ink);font-weight:400}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;padding:8px 14px;border-radius:8px;cursor:pointer;font:inherit;font-weight:600;color:var(--ink);white-space:nowrap}.btn:hover{border-color:#c9ced8}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff}.btn.primary:hover{filter:brightness(.95)}.btn.ghost{background:transparent}.btn.sm{padding:5px 10px;font-size:12.5px}.chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:4px 12px;cursor:pointer;font:inherit;font-size:12.5px}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.steps{display:flex;gap:6px;margin-bottom:14px}.steps span{padding:6px 14px;border-radius:99px;background:#e9ebef;color:var(--mute);font-weight:600;font-size:12.5px}.steps span.on{background:var(--acc);color:#fff}.steps span.ok{background:#dff3ea;color:var(--ok)}.drop{display:flex;align-items:center;gap:16px;border:2px dashed #cfd4dc;border-radius:var(--r);padding:22px;cursor:pointer;color:var(--mute);margin-top:6px}.drop:hover,.drop.drag{border-color:var(--acc);background:var(--acc-soft);color:var(--acc)}.drop b{color:var(--ink)}.sheet-tabs{display:flex;gap:6px;flex-wrap:wrap}.sheet-tabs button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 12px;cursor:pointer;font:inherit;display:flex;gap:6px;align-items:center}.sheet-tabs button.on{border-color:var(--acc);background:var(--acc-soft);font-weight:600}.sheet-tabs button.done{color:var(--ok)}.sheet-tabs small{color:var(--mute)}.sec-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.sec-h h4{margin:8px 0}.tbl.map select{min-width:280px}.conf{height:5px;background:#eef0f3;border-radius:4px;width:120px;overflow:hidden;margin-bottom:3px}.conf i{display:block;height:100%}.preview{border-color:var(--blue)}.act{display:inline-flex;gap:5px;align-items:flex-start}.act.new{color:var(--ok)}.act.merge{color:var(--blue)}.act.confirm{color:var(--warn)}.act small{color:var(--mute)}.conflict{color:#9a6b00;font-size:12px}.ok-msg{color:var(--ok);display:flex;gap:8px;align-items:center}.imp-line{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #f0f2f5}.imp-line.undone{opacity:.5}.drawer-bg,.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#14192359;z-index:20;display:flex;justify-content:flex-end}.modal-bg{justify-content:center;align-items:flex-start;padding-top:8vh}.drawer{width:min(860px,94vw);background:var(--bg);height:100vh;overflow:auto;box-shadow:-10px 0 40px #00000026}.drawer-h{display:flex;justify-content:space-between;padding:22px 26px 12px;background:#fff}.drawer-h h2{margin:0 0 4px;font-size:20px}.rels{margin-top:8px}.drawer-body{padding:16px 26px}.drawer-body .tbl{background:#fff;border:1px solid var(--line);border-radius:8px}.x{border:0;background:none;font-size:26px;cursor:pointer;color:var(--mute);line-height:1}.tabs{display:flex;gap:4px;padding:0 26px;background:#fff;border-bottom:1px solid var(--line);align-items:center}.main>div>.tabs{padding:0;background:none;margin-bottom:14px;gap:8px}.tabs button{border:0;background:none;padding:10px 12px;cursor:pointer;font:inherit;font-weight:600;color:var(--mute);border-bottom:2px solid transparent}.tabs button.on{color:var(--ink);border-bottom-color:var(--acc)}.tabs button:disabled{opacity:.4;cursor:default}.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;margin:0}.kv dt{color:var(--mute);font-size:12.5px;padding-top:3px}.kv dd{margin:0}.kv input{width:100%;padding:5px 8px}.contact{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:8px;display:grid;grid-template-columns:1.1fr 1.4fr auto;gap:12px;align-items:center}.ct-coords{display:flex;flex-direction:column;gap:3px;font-size:13px}.ct-coords span,.ct-coords a{display:inline-flex;gap:6px;align-items:center}.ct-actions{display:flex;flex-direction:column;gap:6px}.timeline{display:flex;flex-direction:column;gap:4px;margin-top:8px}.tl{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.tl p{margin:4px 0}.tl-ic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef0f3;flex-shrink:0;color:#555}.k-appel{background:#e3f6ee;color:var(--ok)}.k-email{background:#e8f0fe;color:var(--blue)}.k-linkedin{background:#e6f1f8;color:#0a66c2}.k-rdv{background:#f0e9fe;color:#6b3fd1}.modal{background:#fff;border-radius:12px;width:min(520px,94vw);padding:20px 22px;display:flex;flex-direction:column;gap:10px;max-height:84vh;overflow:auto}.modal.wide{width:min(820px,94vw)}.modal-h{display:flex;justify-content:space-between;align-items:center}.modal-h h3{margin:0}.copyprompt{display:flex;flex-direction:column;gap:8px}.copyprompt textarea[readonly]{background:#f7f8fa;font-family:ui-monospace,monospace;font-size:12px}.choice{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;margin-bottom:10px}.choice button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.choice button small{color:var(--mute);font-size:11.5px}.choice button.on{border-color:var(--acc);background:var(--acc-soft);color:var(--acc);font-weight:600}.bulk{display:flex;gap:8px;align-items:center;background:#fff8e6;border:1px solid #f2d98a;border-radius:8px;padding:4px 10px}.funnel{display:flex;gap:8px;margin-bottom:14px;overflow-x:auto}.funnel button{flex:1;min-width:110px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:var(--mute)}.funnel button b{font-size:22px;color:var(--ink)}.funnel button.on{border-color:var(--acc);background:var(--acc-soft)}select.step{font-size:12.5px;padding:4px 8px}select.step.s2,select.step.s3{background:#e8f0fe}select.step.s4{background:#e3f6ee}select.step.s5,select.step.s6{background:#fdecec}.switch{position:relative;display:inline-block;width:34px;height:19px;vertical-align:middle}.switch input{opacity:0;width:0;height:0}.switch i{position:absolute;top:0;right:0;bottom:0;left:0;background:#cfd4dc;border-radius:99px;cursor:pointer;transition:.15s}.switch i:before{content:"";position:absolute;width:15px;height:15px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.15s}.switch input:checked+i{background:var(--ok)}.switch input:checked+i:before{transform:translate(15px)}.toast{position:fixed;bottom:24px;right:24px;background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;z-index:50;box-shadow:0 8px 30px #0003}.toast.err{background:var(--bad)}.login{min-height:100vh;display:grid;place-items:center}.login form{width:340px;display:flex;flex-direction:column;gap:12px}.block{display:block;margin-top:2px}.side nav a.nav-pres{margin-top:14px;border-top:1px solid #262d3c;border-radius:0;padding-top:14px;color:#9aa3b5}.values-box{margin-top:18px;border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:8px;padding:14px 16px;background:#fffaf8}.values-box h4{margin:0 0 4px}.side-foot .btn.logout{background:transparent;border-color:#3a4256;color:#c9cfdb;justify-content:center;margin-top:4px}.side-foot .btn.logout:hover{background:#222938;color:#fff;border-color:#4a5266}.side nav a.nav-pres.on{color:#fff;background:#2a3245;border-radius:8px}.pres-frame{width:100%;aspect-ratio:16 / 9;border:0;border-radius:12px;background:#0d1017;box-shadow:0 10px 40px #00000026;display:block}.pres-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.pres-head h1{margin:0}.demo-dl{display:flex;align-items:center;justify-content:space-between;gap:14px}
