/* ============================================================================
   HEIR — design system (light "Instrument", Runway/Ramp register).
   Warm white · black text · multi-color data · Bricolage display + Geist + Plex.
   Source of truth: the validated fiche + pipeline prototypes.
   ========================================================================== */
@import url("../fonts/fonts.272f8ea47889.css");
@font-face{font-family:'Geist';font-weight:400;font-display:swap;src:url("../fonts/geist-400.af4be0c9645f.woff2") format('woff2')}
@font-face{font-family:'Geist';font-weight:500;font-display:swap;src:url("../fonts/geist-500.fe934c73f394.woff2") format('woff2')}
@font-face{font-family:'Geist';font-weight:600;font-display:swap;src:url("../fonts/geist-600.e5f70f6c5f76.woff2") format('woff2')}

:root{
 --page:#f3f2ed;--card:#fff;--ink:#18181a;--ink2:#67655e;--ink3:#9a988f;--ink4:#c3c1b8;
 --line:#e9e8e2;--line2:#dededa;--shadow:0 1px 2px rgba(20,18,12,.04),0 12px 30px -16px rgba(20,18,12,.10);
 --hov:0 1px 2px rgba(20,18,12,.05),0 22px 48px -22px rgba(20,18,12,.20);
 --ca:#3f6cd6;--res:#2f9e63;--marge:#d98a2b;--eff:#7a5cf0;--pink:#cf5fa3;--hot:#d65442;--cool:#8a93a3;
 --pos:#2f9e63;--neg:#d65442;--posbg:#e8f4ec;--negbg:#fbeae7;
 --disp:'Bricolage Grotesque','Helvetica Neue',sans-serif;--sans:'Geist','Helvetica Neue',sans-serif;--mono:'IBM Plex Mono',monospace;}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--page);scroll-behavior:smooth}
body{background:var(--page);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55;letter-spacing:-.006em;-webkit-font-smoothing:antialiased}
a{color:inherit}
.js .rv{opacity:0;transform:translateY(15px)}
.js .rv.in{opacity:1;transform:none;transition:opacity .65s cubic-bezier(.2,.65,.2,1),transform .65s cubic-bezier(.2,.65,.2,1)}

/* ── shared atoms ───────────────────────────────────────────── */
.btn{font-size:13px;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:9px;padding:8px 14px;cursor:pointer;text-decoration:none;font-family:var(--sans);display:inline-flex;align-items:center;gap:7px;transition:transform .15s,border-color .15s,box-shadow .15s;box-shadow:var(--shadow)}
.btn:hover{border-color:var(--ink3);transform:translateY(-2px);box-shadow:var(--hov)}
.btn.pri{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.pri:hover{background:#000}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);transition:border-color .18s,box-shadow .18s}
.card.flat:hover{border-color:var(--line2);box-shadow:var(--hov)}
.pad{padding:22px 24px}
.disp{font-family:var(--disp)}
.tnum{font-variant-numeric:tabular-nums}
.chip{font-size:12px;font-weight:500;border-radius:7px;padding:5px 11px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:#fff;color:var(--ink2);transition:transform .15s,box-shadow .15s}
.chip:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.chip .dot{width:7px;height:7px;border-radius:50%}
.chip.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.chip.ok{color:var(--pos);border-color:#bfe3cd;background:var(--posbg)}
.pill{font-size:11.5px;font-weight:500;border-radius:20px;padding:4px 11px;white-space:nowrap;display:inline-block;border:1px solid transparent}
.pill.new,.pill.nouveau{background:#f0efe9;color:var(--ink2)}.pill.contacted,.pill.contacte{background:#eaf0fb;color:var(--ca);border-color:#d4e1f6}
.pill.replied,.pill.relance{background:#fbf1e0;color:var(--marge);border-color:#f0ddbb}.pill.discussion,.pill.rdv{background:#e7f4ec;color:var(--res);border-color:#c6e6d2}
.pill.sold,.pill.loi{background:#efeafb;color:var(--eff);border-color:#dcd2f4}.pill.refused,.pill.ecarte{background:#f4eceb;color:var(--ink3)}

/* ── app shell (sidebar + topbar) ───────────────────────────── */
.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.side{background:#fbfbf8;border-right:1px solid var(--line);padding:18px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.03em;padding:6px 8px 4px;text-decoration:none;color:var(--ink)}
.brand .mk{width:9px;height:9px;border-radius:3px;background:var(--ink)}
.sw{margin:16px 6px;border:1px solid var(--line2);border-radius:10px;padding:9px 11px;background:#fff;display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;text-decoration:none;color:var(--ink)}
.sw:hover{transform:translateY(-1px);box-shadow:var(--hov)}.sw .nm{font-weight:600;font-size:13px}.sw .sub{font-size:11px;color:var(--ink3)}.sw .ar{color:var(--ink3)}
.navsec{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:14px 10px 6px;font-weight:500}
.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--ink2);text-decoration:none;font-size:13.5px;font-weight:500;transition:background .15s,color .15s,padding-left .15s}
.nav a:hover{background:#f1f0ea;color:var(--ink);padding-left:13px}.nav a.on{background:#fff;color:var(--ink);box-shadow:var(--shadow);border:1px solid var(--line)}
.nav a .ic{width:8px;height:8px;border-radius:2px;flex-shrink:0;transition:transform .15s}.nav a:hover .ic{transform:scale(1.3)}
.nav a .cnt{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink3)}
.side .foot{margin-top:auto;font-size:11px;color:var(--ink3);line-height:1.5;padding:8px}
.side .logout{background:none;border:0;color:var(--ink3);font-family:var(--sans);font-size:12px;cursor:pointer;padding:4px 8px;text-decoration:underline}
.main{min-width:0}
.top{position:sticky;top:0;z-index:30;background:rgba(243,242,237,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 34px;gap:16px}
.top h1{font-family:var(--disp);font-weight:700;font-size:23px;letter-spacing:-.025em}.top .sub{font-size:12.5px;color:var(--ink3);margin-top:1px}
.tacts{display:flex;gap:8px;align-items:center}
.seg{display:flex;background:#ecebe5;border-radius:9px;padding:3px}.seg button,.seg a{border:0;background:none;font-family:var(--sans);font-size:13px;color:var(--ink3);padding:6px 13px;border-radius:7px;cursor:pointer;font-weight:500;transition:all .15s;text-decoration:none}.seg .on{background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.content{padding:24px 34px 90px;max-width:1280px}
.crumb{font-size:13px;color:var(--ink3)}.crumb b{color:var(--ink2);font-weight:500}

/* ── KPI cards ──────────────────────────────────────────────── */
.kpis{display:grid;grid-template-columns:repeat(var(--n,5),1fr);gap:14px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px 17px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;text-decoration:none;color:inherit;display:block}
.kpi:hover{transform:translateY(-3px);box-shadow:var(--hov)}
.kpi .k{font-size:11.5px;color:var(--ink3);font-weight:500}
.kpi .v{font-family:var(--disp);font-weight:700;font-size:26px;letter-spacing:-.025em;margin-top:5px;font-variant-numeric:tabular-nums}.kpi .v small{font-size:13px;color:var(--ink3);font-weight:600}
.kpi .d{font-size:11.5px;margin-top:2px}.kpi .d.up{color:var(--pos)}.kpi .d.dn{color:var(--neg)}.kpi .d.mut{color:var(--ink3)}
.kpi svg{display:block;margin-top:9px;width:100%;height:28px;overflow:visible}

/* ── section heads ──────────────────────────────────────────── */
.sx{font-family:var(--disp);font-weight:600;font-size:19px;letter-spacing:-.015em}
.sxs{font-size:13px;color:var(--ink3);margin-top:3px;margin-bottom:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* ── tables ─────────────────────────────────────────────────── */
.tcard{overflow:hidden}
.tbl{width:100%;border-collapse:collapse}
.tbl th{font-size:11px;font-weight:500;color:var(--ink3);text-align:right;padding:13px 16px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.tbl th:first-child,.tbl th.l{text-align:left}
.tbl td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:13.5px;text-align:right;font-variant-numeric:tabular-nums;vertical-align:middle}
.tbl tbody tr{transition:background .13s}.tbl tbody tr:hover td{background:#faf9f5}.tbl tbody tr:last-child td{border-bottom:0}
.tbl td.l,.tbl td:first-child{text-align:left}.tbl td.neg{color:var(--neg)}
.co{font-weight:600;color:var(--ink)}.co small{display:block;font-weight:400;color:var(--ink3);font-size:11.5px;margin-top:2px}
.dir{color:var(--ink2)}.dir small{display:block;color:var(--ink3);font-size:11.5px}
.win{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;white-space:nowrap}.win .dot{width:8px;height:8px;border-radius:50%}
.win.hot{color:var(--hot)}.win.hot .dot{background:var(--hot)}.win.warm{color:var(--marge)}.win.warm .dot{background:var(--marge)}.win.cool{color:var(--cool)}.win.cool .dot{background:var(--cool)}
.sc{font-family:var(--sans);font-weight:700;font-variant-numeric:tabular-nums}
.scbar{display:inline-block;width:34px;height:5px;background:#eeede7;border-radius:3px;overflow:hidden;margin-left:8px;vertical-align:middle}.scbar i{display:block;height:100%;border-radius:3px}

/* ── funnel ─────────────────────────────────────────────────── */
.funnel{display:flex;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.fstep{flex:1;padding:16px 18px;border-right:1px solid var(--line);transition:background .15s}.fstep:last-child{border-right:0}.fstep:hover{background:#faf9f5}
.fstep .fl2{font-size:11px;color:var(--ink3);font-weight:500}.fstep .fn{font-family:var(--disp);font-weight:700;font-size:23px;margin-top:5px;font-variant-numeric:tabular-nums}
.fstep .fb{height:4px;border-radius:3px;margin-top:9px;width:0;transition:width 1s cubic-bezier(.3,.7,.2,1)}

/* ── kanban ─────────────────────────────────────────────────── */
.kanban{display:grid;grid-template-columns:repeat(var(--k,6),1fr);gap:12px;align-items:start}
.kcol{background:#efeee8;border-radius:14px;padding:10px;min-height:120px}
.kch{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 10px;font-size:12px;font-weight:600;color:var(--ink2)}.kch .c{font-family:var(--mono);font-size:11px;color:var(--ink3)}
.kcard{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 13px;margin-bottom:9px;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s,box-shadow .15s;text-decoration:none;color:inherit;display:block}
.kcard:hover{transform:translateY(-2px);box-shadow:var(--hov)}.kcard .kn{font-weight:600;font-size:13.5px}.kcard .kd{font-size:11.5px;color:var(--ink3);margin-top:2px}
.kcard .kr{display:flex;justify-content:space-between;align-items:center;margin-top:9px}.kcard .ks{font-family:var(--disp);font-weight:700;font-size:15px}
.empty{font-size:12px;color:var(--ink3);padding:14px;text-align:center}

/* ── market rows / radar feed ───────────────────────────────── */
.mrow{display:grid;grid-template-columns:170px 1fr 44px;gap:14px;align-items:center;padding:9px 0;font-size:13px}
.mrow .ml{color:var(--ink2);display:flex;align-items:center;gap:9px}.mrow .ml .dot{width:8px;height:8px;border-radius:3px}
.mrow .mt{height:10px;background:#efeee8;border-radius:5px;overflow:hidden}.mrow .mt i{display:block;height:100%;border-radius:5px;width:0;transition:width .9s cubic-bezier(.3,.7,.2,1)}
.mrow .mv{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink2);font-size:12.5px}
.ev{display:grid;grid-template-columns:84px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);transition:background .15s}.ev:last-child{border:0}.ev:hover{background:#faf9f5;border-radius:8px;padding-left:8px;padding-right:8px}
.ev .ed{font-family:var(--mono);font-size:11px;color:var(--ink3)}.ev .et{font-size:13px;color:var(--ink2)}.ev .et b{color:var(--ink);font-weight:500}.ev .ea{font-size:11px;color:var(--ca);font-weight:500}
.live{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--pos);font-weight:600}.live i{width:7px;height:7px;border-radius:50%;background:var(--pos);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:.4;box-shadow:0 0 0 0 rgba(47,158,99,.5)}50%{opacity:1;box-shadow:0 0 0 5px rgba(47,158,99,0)}}

/* ── auth (login / reset) ───────────────────────────────────── */
.gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px}
.gate .mast{display:flex;align-items:center;gap:9px;margin-bottom:30px;text-decoration:none;color:var(--ink);font-family:var(--disp);font-weight:800;font-size:21px;letter-spacing:-.03em}
.gate .mast .mk{width:9px;height:9px;border-radius:3px;background:var(--ink)}
.authcard{width:100%;max-width:392px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:32px}
.authcard h2{font-family:var(--disp);font-weight:600;font-size:22px;letter-spacing:-.02em}
.authcard .deck{font-size:13.5px;line-height:1.5;color:var(--ink2);margin:8px 0 22px}
.authcard label{display:block;font-size:12px;color:var(--ink2);font-weight:500;margin:16px 0 7px}
.authcard input{width:100%;background:#fbfaf7;border:1px solid var(--line2);border-radius:9px;color:var(--ink);font-family:var(--sans);font-size:14px;padding:11px 13px;outline:none;transition:border-color .15s,box-shadow .15s}
.authcard input:focus{border-color:var(--ca);box-shadow:0 0 0 3px rgba(63,108,214,.1);background:#fff}
.authcard button[type=submit]{width:100%;margin-top:24px;background:var(--ink);color:#fff;font-family:var(--sans);font-weight:500;font-size:14px;padding:12px;border:0;border-radius:9px;cursor:pointer;transition:transform .15s,background .15s}
.authcard button[type=submit]:hover{transform:translateY(-1px);background:#000}
.authcard .alt{margin-top:18px;text-align:center;font-size:13px}.authcard .alt a{color:var(--ink2);text-decoration:none}.authcard .alt a:hover{color:var(--ca)}
.flash{font-size:13px;padding:10px 13px;border-radius:9px;margin-bottom:4px}.flash.error{background:var(--negbg);border:1px solid #f0d3ce;color:var(--neg)}.flash.ok{background:var(--posbg);border:1px solid #c6e6d2;color:var(--pos)}
.gate .restricted{font-size:11.5px;color:var(--ink3);margin-top:26px}

/* ── AI notch + drawer + toast ──────────────────────────────── */
.ainotch{position:fixed;right:0;top:44%;transform:translateY(-50%);z-index:108;background:var(--ink);color:#fff;border:0;border-radius:13px 0 0 13px;padding:15px 9px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:9px;box-shadow:-8px 0 26px -10px rgba(0,0,0,.4);transition:padding-right .18s}
.ainotch:hover{padding-right:15px}.ainotch .star{font-size:16px;color:var(--marge)}.ainotch .albl{writing-mode:vertical-rl;font-size:11px;font-weight:600;letter-spacing:.07em}
.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,18px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:11px;font-size:13.5px;opacity:0;transition:.28s cubic-bezier(.2,.7,.2,1);z-index:120;box-shadow:0 20px 50px -16px rgba(0,0,0,.5)}.toast.show{opacity:1;transform:translate(-50%,0)}
.dbg{position:fixed;inset:0;background:rgba(24,24,26,.28);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:110}.dbg.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:460px;max-width:92vw;background:#fff;border-left:1px solid var(--line2);transform:translateX(100%);transition:transform .32s cubic-bezier(.3,.7,.2,1);display:flex;flex-direction:column;z-index:111}.dbg.open .drawer{transform:none}
.dh{padding:22px 24px;border-bottom:1px solid var(--line)}.dh .dk{font-size:11px;color:var(--marge);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.dh .dn{font-family:var(--disp);font-weight:600;font-size:19px;margin:5px 0 6px}.dh .ds{font-size:12.5px;color:var(--ink3);line-height:1.5}
.dthread{flex:1;overflow-y:auto;padding:20px 24px}.qs{display:flex;flex-wrap:wrap;gap:8px}.q{font-size:13px;color:var(--ink2);background:#f4f3ee;border:1px solid var(--line2);border-radius:20px;padding:8px 14px;cursor:pointer;transition:all .15s}.q:hover{border-color:var(--marge);color:var(--ink);transform:translateY(-1px)}
.msg{margin:16px 0}.msg .you{font-weight:600;font-size:14px}.msg .ans{font-size:13.5px;color:var(--ink2);line-height:1.6;margin-top:7px}.msg .ans a{color:var(--ca);font-family:var(--mono);font-size:11.5px;text-decoration:none}
.dform{display:flex;gap:8px;padding:16px 24px;border-top:1px solid var(--line)}.dform input{flex:1;border:1px solid var(--line2);border-radius:10px;padding:11px 14px;font-family:var(--sans);font-size:14px;outline:none}.dform input:focus{border-color:var(--marge)}.dform button{background:var(--ink);color:#fff;border:0;border-radius:10px;width:46px;font-size:17px;cursor:pointer}
.hide{display:none}
@media print{.side,.top,.ainotch,.dbg,.toast{display:none!important}.app{display:block}.content{max-width:none;padding:18px}.card,.kpi{break-inside:avoid}body,html{background:#fff}}

/* ── fiche / dossier (light) — restyles the existing fiche.html classes ─────── */
:root{--acc:#d98a2b}
.dossier{max-width:1000px;margin:0 auto;padding:24px 40px 110px}
.dtoolbar{position:sticky;top:0;z-index:30;background:rgba(243,242,237,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.dtoolbar .in{max-width:1000px;margin:0 auto;padding:0 40px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.dtoolbar a,.dtoolbar button{font-family:var(--sans);font-size:13px;color:var(--ink2);background:#fff;border:1px solid var(--line2);cursor:pointer;text-decoration:none;padding:8px 13px;border-radius:9px;transition:all .15s;box-shadow:var(--shadow)}
.dtoolbar a:hover,.dtoolbar button:hover{color:var(--ink);border-color:var(--ink3);transform:translateY(-1px)}
.dtoolbar .acts{display:flex;align-items:center;gap:8px}.dtoolbar .acts .pri{color:#fff;background:var(--ink);border-color:var(--ink)}.dtoolbar form{display:inline}
.dtoolbar a:first-child{border:0;background:none;box-shadow:none}
.dcrumb{font-size:12.5px;color:var(--ink3);margin-bottom:14px}.dcrumb a{color:var(--ink3);text-decoration:none}.dcrumb a:hover{color:var(--ca)}
.dhead{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.dhead .name{font-family:var(--disp);font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.04}
.dhead .fm{font-size:13.5px;color:var(--ink2);margin-top:9px;max-width:580px}.dhead .fm b{color:var(--ink);font-weight:500}.dhead .fm .mono{font-family:var(--mono);font-size:11px;color:var(--ink3)}
.dhead .verdict-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;margin-top:13px;color:var(--ink2)}
.dhead .verdict-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--ink3)}
.dhead .verdict-badge.prio{color:var(--marge)}.dhead .verdict-badge.prio .dot{background:var(--marge)}
.dhead .rs{text-align:right;flex-shrink:0}.dhead .rs .lab{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);font-weight:500}
.dhead .rs .big{font-family:var(--disp);font-weight:700;font-size:52px;letter-spacing:-.03em;color:var(--marge);line-height:1.02;font-variant-numeric:tabular-nums}.dhead .rs .big small{font-size:18px;color:var(--ink4)}
.dhead .rs .band{font-size:11px;color:var(--ink3);margin-top:2px;font-weight:500}.dhead .rs .ref{font-size:11px;color:var(--ink3);margin-top:10px;line-height:1.7}
.dchip{display:inline-block;font-size:10.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink2);border:1px solid var(--line2);border-radius:6px;padding:3px 8px;font-weight:500}
.fstats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:24px 0}
.fstats .fs{background:var(--card);padding:18px 20px;transition:background .15s}.fstats .fs:hover{background:#faf9f5}
.fstats .k{font-size:11px;color:var(--ink3);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.fstats .v{font-family:var(--disp);font-weight:700;font-size:24px;margin-top:8px;letter-spacing:-.02em}.fstats .v small{font-size:13px;color:var(--ink3)}.fstats .d{font-size:11.5px;color:var(--ink3);margin-top:4px}
.dgrid{display:grid;grid-template-columns:1fr 320px;gap:34px;margin-top:26px;align-items:start}
@media(max-width:880px){.dgrid{grid-template-columns:1fr}.dossier{padding:20px 20px 90px}.dtoolbar .in{padding:0 20px}}
.anote{font-size:13px;line-height:1.55;color:var(--ink2);background:#fbfaf7;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:22px}.anote b{color:var(--ink);font-weight:500}
.dsec{padding:22px 0;border-bottom:1px solid var(--line)}.dsec:first-child{padding-top:4px}
.dsec .lab{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);font-weight:500}.dsec .lab.prio{color:var(--marge)}
.dsec h3{font-family:var(--disp);font-weight:600;font-size:18px;margin:8px 0 10px;letter-spacing:-.015em}
.dsec p{font-size:14.5px;line-height:1.68;color:var(--ink2)}.dsec p b{color:var(--ink);font-weight:600}.dsec .lead{font-size:17px;line-height:1.5;color:var(--ink)}
.drow{margin:12px 0}.drow .rl{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);font-weight:500;display:block;margin-bottom:4px}.drow.avoid .rl{color:var(--neg)}.drow .it{font-style:italic;color:var(--ink)}
.keyfact{border-left:3px solid var(--marge);background:#fdf6ea;border-radius:0 10px 10px 0;padding:13px 16px;font-size:14.5px;line-height:1.55;color:var(--ink)}
.cess{padding:16px 0;border-bottom:1px solid var(--line)}.cess .cl{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--pos);font-weight:600}.cess .cx{font-size:13.5px;color:var(--ink2);margin-top:7px;line-height:1.55}
.cctrl{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.cctrl .ci{font-family:var(--mono);font-size:11px;color:var(--ink2);border:1px solid var(--line2);border-radius:6px;padding:3px 8px}.cctrl .ci b{color:var(--ink)}
.rail{position:sticky;top:72px}
.evhead{margin-bottom:14px}.evhead .ec{font-weight:600;font-size:14px}.evhead .ep{font-size:11.5px;color:var(--pos);font-weight:500}
.evblock{margin-bottom:18px}.evblock h4{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);font-weight:600;margin-bottom:8px}
.evrow{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px}.evrow:last-child{border:0}.evrow .evk{color:var(--ink3);flex-shrink:0}.evrow .evv{text-align:right}.evrow .evv .val{color:var(--ink);display:block;font-weight:500}
.src{font-family:var(--mono);font-size:10px;text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-top:2px}.src .cdot{width:5px;height:5px;border-radius:50%;display:inline-block}
.src.verifie{color:var(--pos)}.src.verifie .cdot{background:var(--pos)}.src.probable{color:var(--marge)}.src.probable .cdot{background:var(--marge)}.src.non_verifie{color:var(--ink3)}.src.non_verifie .cdot{background:var(--ink3)}
.evlegend{font-size:10.5px;color:var(--ink3);line-height:1.8;margin-top:6px}
.factors{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;margin-top:6px}
.factor .ft{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.factor .ft .fn{color:var(--ink2)}.factor .ft .pts{font-family:var(--sans);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.factor .ft .pts .m{color:var(--ink4);font-weight:400}
.factor .fbar{height:6px;background:#efeee8;border-radius:4px;overflow:hidden;margin:7px 0 5px}.factor .fbar i{display:block;height:100%;background:var(--ca);border-radius:4px}.factor .fbar.zero i{background:var(--ink4)}
.factor .det{font-size:11.5px;color:var(--ink3);line-height:1.5}
.ftab{width:100%;border-collapse:collapse;table-layout:fixed}.ftab td{padding:8px 0;font-size:12.5px;border-bottom:1px solid var(--line)}.ftab tr:last-child td{border:0}
.ftab .y{color:var(--ink2);width:64px}.ftab .num{font-family:var(--sans);text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.ftab .num.pos{color:var(--pos)}
.weblist{list-style:none}.weblist li{padding:11px 0;border-bottom:1px solid var(--line)}.weblist li:last-child{border:0}.weblist .wk{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3);font-weight:500}.weblist .wt{font-size:14px;margin:3px 0}.weblist .wt a{color:var(--ink);text-decoration:none}.weblist .wt a:hover{color:var(--ca)}.weblist .ws{font-size:12.5px;color:var(--ink3)}
.colophon{margin-top:36px;padding-top:26px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:34px}
.colophon h4{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);font-weight:600;margin-bottom:12px}.colophon .srcl{list-style:none}.colophon .srcl li{font-size:12px;color:var(--ink3);padding:3px 0}.colophon .srcl a{color:var(--ca);text-decoration:none}.colophon .rgpd{font-size:12px;color:var(--ink3);line-height:1.6}.colophon .demo{color:var(--marge)}
.siglist{list-style:none}.siglist li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink2)}.siglist li:last-child{border:0}.siglist b{color:var(--ink);font-weight:600}.siglist .cf{font-size:10px;color:var(--ink3);white-space:nowrap}.siglist .cf.v{color:var(--pos)}
.prose{font-size:13.5px;line-height:1.62;color:var(--ink2)}.prose b{color:var(--ink);font-weight:600}
/* chat drawer-bg / email modal (light, app.js-toggled) */
.drawer-bg,.modal-bg{position:fixed;inset:0;background:rgba(24,24,26,.28);backdrop-filter:blur(2px);z-index:110;opacity:0;pointer-events:none;transition:opacity .25s}
.drawer-bg.open,.modal-bg.open{opacity:1;pointer-events:auto}
.drawer-bg .drawer{background:#fff}
.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%);width:600px;max-width:92vw;max-height:84vh;background:#fff;border:1px solid var(--line2);border-radius:16px;display:flex;flex-direction:column;box-shadow:0 60px 120px -40px rgba(20,18,12,.4);z-index:111}
.modal-bg.open .modal{transform:translate(-50%,-50%)}
.m-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.m-head h3{font-family:var(--disp);font-size:17px;font-weight:600}.m-head .x{background:none;border:0;color:var(--ink3);font-size:16px;cursor:pointer}
.m-body{padding:22px;overflow-y:auto;font-size:13.5px;line-height:1.6;color:var(--ink2);white-space:pre-wrap}.m-foot{padding:14px 22px;border-top:1px solid var(--line);text-align:right}.m-foot button{background:var(--ink);color:#fff;font-weight:500;font-size:13.5px;border:0;border-radius:9px;padding:10px 16px;cursor:pointer}
.m-loading{display:flex;justify-content:center;padding:30px}.spin{width:22px;height:22px;border:2px solid var(--line2);border-top-color:var(--marge);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.chat-suggests{display:flex;flex-wrap:wrap;gap:8px}.cq{font-size:12.5px;color:var(--ink2);background:#f4f3ee;border:1px solid var(--line2);border-radius:20px;padding:7px 13px;cursor:pointer}.cq:hover{border-color:var(--marge);color:var(--ink)}
.chat-form{display:flex;gap:8px;padding:16px 24px;border-top:1px solid var(--line)}.chat-form input{flex:1;border:1px solid var(--line2);border-radius:10px;padding:11px 14px;font-size:14px;outline:none}.chat-form button{background:var(--ink);color:#fff;border:0;border-radius:10px;width:44px;cursor:pointer}

/* ============================================================================
   MARKETING — public site (landing, produit, données, tarifs, contact, légal).
   Long, airy, white, multi-color. Runway/Ramp register. Reuses the data tokens.
   ========================================================================== */
.mwrap{max-width:1180px;margin:0 auto;padding:0 32px}
.mwrap.tight{max-width:880px}
.js .rv.d1.in{transition-delay:.06s}.js .rv.d2.in{transition-delay:.12s}.js .rv.d3.in{transition-delay:.18s}.js .rv.d4.in{transition-delay:.24s}

/* sticky top nav */
.mnav{position:sticky;top:0;z-index:60;background:rgba(243,242,237,.82);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s,background .2s}
.mnav.scrolled{border-color:var(--line);background:rgba(243,242,237,.94)}
.mnav .in{display:flex;align-items:center;justify-content:space-between;height:66px;max-width:1180px;margin:0 auto;padding:0 32px}
.mnav .lg{font-family:var(--disp);font-weight:800;font-size:21px;letter-spacing:-.03em;display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}
.mnav .lg .mk{width:10px;height:10px;border-radius:3px;background:var(--ink);box-shadow:2px 0 0 var(--marge),0 2px 0 var(--ca)}
.mnav .lks{display:flex;gap:4px;align-items:center}
.mnav .lks a{color:var(--ink2);text-decoration:none;font-size:14px;font-weight:500;padding:8px 12px;border-radius:9px;transition:color .15s,background .15s}
.mnav .lks a:hover{color:var(--ink);background:rgba(20,18,12,.04)}
.mnav .lks a.on{color:var(--ink)}
.mnav .act{display:flex;gap:8px;align-items:center}
.mnav .act a.sign{color:var(--ink2);text-decoration:none;font-size:14px;font-weight:500;padding:8px 12px}.mnav .act a.sign:hover{color:var(--ink)}
.mburger{display:none;background:none;border:0;font-size:22px;color:var(--ink);cursor:pointer}
.mmenu{display:none}
@media(max-width:900px){.mnav .lks{display:none}.mnav .act .sign{display:none}.mburger{display:block}
  .mmenu.open{display:block;border-bottom:1px solid var(--line);background:var(--page);padding:8px 32px 16px}
  .mmenu.open a{display:block;padding:11px 4px;font-size:15px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}}

/* hero */
.mhero{padding:88px 0 24px;text-align:center}
.mh1{font-family:var(--disp);font-weight:800;font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:-.04em;margin:0 auto;max-width:900px}
.mh1 .grad{color:var(--ink)}
.mlead{font-size:clamp(16px,2.1vw,20px);line-height:1.55;color:var(--ink2);margin:26px auto 0;max-width:60ch}
.mact{display:flex;gap:11px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.btn.big{padding:13px 24px;font-size:15px;border-radius:12px}
.mnote{font-size:12.5px;color:var(--ink3);margin-top:16px}
.mnote b{color:var(--ink2);font-weight:600}

/* generic section */
.msec{padding:84px 0;border-top:1px solid var(--line)}
.msec.plain{border-top:0}
.mkick{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--marge);font-weight:700}
.mkick.b{color:var(--ca)}.mkick.p{color:var(--eff)}.mkick.g{color:var(--res)}
.mhead{max-width:62ch}.mhead.ctr{margin:0 auto;text-align:center}
.mh2{font-family:var(--disp);font-weight:700;font-size:clamp(28px,4vw,42px);letter-spacing:-.035em;line-height:1.05;margin:14px 0 0}
.msub{font-size:16px;line-height:1.6;color:var(--ink2);margin:16px 0 0}

/* mock-UI window frame (reusable product peek) */
.frame{border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 2px 4px rgba(20,18,12,.04),0 40px 80px -44px rgba(20,18,12,.24);overflow:hidden}
.frame .fh{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fbfaf7}
.frame .fh .d{width:9px;height:9px;border-radius:50%;background:#e3ded5}
.frame .fh .t{font-family:var(--mono);font-size:11px;color:var(--ink3);margin-left:8px}
.frame .fbody{padding:0}
.frame .pad{padding:18px}

/* alternating feature split */
.msplit{display:grid;grid-template-columns:1.05fr 1fr;gap:54px;align-items:center}
.msplit+.msplit{margin-top:92px}
.msplit.rev .mtxt{order:2}.msplit.rev .mfig{order:1}
.mtxt .mh3{font-family:var(--disp);font-weight:700;font-size:26px;letter-spacing:-.03em;margin:12px 0 0}
.mtxt p{font-size:15.5px;line-height:1.62;color:var(--ink2);margin:14px 0 0}
.mlist{list-style:none;margin:18px 0 0;display:grid;gap:10px}
.mlist li{position:relative;padding-left:26px;font-size:14.5px;color:var(--ink);line-height:1.5}
.mlist li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:5px;background:var(--posbg);box-shadow:inset 0 0 0 1px #cce7d6}
.mlist li::after{content:"✓";position:absolute;left:3.5px;top:1px;font-size:11px;color:var(--res);font-weight:700}
@media(max-width:820px){.msplit{grid-template-columns:1fr;gap:30px}.msplit.rev .mtxt{order:1}.msplit.rev .mfig{order:2}}

/* card grids */
.mgrid{display:grid;grid-template-columns:repeat(var(--c,3),1fr);gap:18px;margin-top:42px}
.mcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s}
.mcard:hover{transform:translateY(-3px);box-shadow:var(--hov)}
.mcard .ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-family:var(--disp);font-size:17px}
.mcard h4{font-family:var(--disp);font-weight:600;font-size:17px;margin:15px 0 7px;letter-spacing:-.01em}
.mcard p{font-size:13.5px;color:var(--ink2);line-height:1.56}
.mcard .lk{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--ca);text-decoration:none}.mcard .lk:hover{text-decoration:underline}
@media(max-width:900px){.mgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.mgrid{grid-template-columns:1fr}}

/* stat band */
.mstats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);margin-top:8px}
.mstats .s{padding:30px 22px;border-right:1px solid var(--line)}.mstats .s:last-child{border-right:0}
.mstats .n{font-family:var(--disp);font-weight:700;font-size:36px;letter-spacing:-.025em;line-height:1}
.mstats .l{font-size:13px;color:var(--ink2);margin-top:8px;line-height:1.4}
@media(max-width:820px){.mstats{grid-template-columns:1fr 1fr}.mstats .s:nth-child(2){border-right:0}}

/* chart card + svg line chart */
.chartcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 22px 14px;box-shadow:var(--shadow)}
.chartcard .ct{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
.chartcard .ct h4{font-family:var(--disp);font-weight:600;font-size:16px}
.chartcard .ct .leg{display:flex;gap:14px;font-size:12px;color:var(--ink2)}
.chartcard .ct .leg i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:middle}
.lchart{display:block;width:100%;height:230px;margin-top:14px;overflow:visible}
.lchart .axl{font-family:var(--mono);font-size:10px;fill:var(--ink3)}
.lchart .gridl{stroke:var(--line);stroke-width:1}
.lchart .dot{fill:#fff;stroke-width:2}
.barrow{display:grid;gap:13px;margin-top:6px}
.barrow .br{display:grid;grid-template-columns:130px 1fr 58px;align-items:center;gap:12px;font-size:13px}
.barrow .br .bk{color:var(--ink2)}.barrow .br .bv{text-align:right;font-family:var(--mono);font-size:12.5px;color:var(--ink)}
.barrow .br .track{height:10px;background:#f0efe9;border-radius:6px;overflow:hidden}
.barrow .br .track i{display:block;height:100%;width:0;border-radius:6px;transition:width 1s cubic-bezier(.3,.7,.2,1)}

/* comparison table */
.mcompare{width:100%;border-collapse:separate;border-spacing:0;margin-top:8px;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.mcompare th,.mcompare td{padding:15px 18px;text-align:left;font-size:14px;border-bottom:1px solid var(--line)}
.mcompare thead th{font-family:var(--disp);font-weight:600;font-size:14.5px;background:#fbfaf7}
.mcompare thead th.heir{color:var(--ink);background:#f3efe4}
.mcompare tbody tr:last-child td{border-bottom:0}
.mcompare td.c{text-align:center;font-size:15px}
.mcompare .yes{color:var(--res);font-weight:700}.mcompare .no{color:var(--ink4)}
.mcompare td.feat{color:var(--ink);font-weight:500}
.mcompare td.heir{background:#faf7f0;font-weight:600;color:var(--ink)}

/* FAQ accordion */
.mfaq{max-width:820px;margin:34px auto 0;border-top:1px solid var(--line)}
.macc{border-bottom:1px solid var(--line)}
.maq{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:22px 4px;font-family:var(--disp);font-weight:600;font-size:18px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:14px}
.maq .pm{font-size:20px;color:var(--ink3);transition:transform .25s;flex:0 0 auto}
.macc.open .maq .pm{transform:rotate(45deg);color:var(--marge)}
.maa{max-height:0;overflow:hidden;transition:max-height .3s ease}
.maa .in{padding:0 4px 22px;font-size:14.5px;line-height:1.64;color:var(--ink2);max-width:70ch}

/* quote / vision */
.mquote{text-align:center;max-width:820px;margin:0 auto}
.mquote p{font-family:var(--disp);font-weight:600;font-size:clamp(22px,3vw,30px);line-height:1.32;letter-spacing:-.02em;color:var(--ink)}
.mquote .by{font-size:13.5px;color:var(--ink3);margin-top:20px}

/* big CTA */
.mcta{text-align:center;padding:104px 0}
.mcta h2{font-family:var(--disp);font-weight:700;font-size:clamp(30px,4.4vw,46px);letter-spacing:-.035em;max-width:18ch;margin:0 auto;line-height:1.04}
.mcta p{font-size:16.5px;color:var(--ink2);margin:18px auto 0;max-width:52ch}

/* pricing */
.mtoggle{display:inline-flex;background:#ecebe4;border-radius:11px;padding:4px;gap:2px;margin:24px auto 0}
.mtoggle button{border:0;background:none;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--ink2);padding:8px 16px;border-radius:8px}
.mtoggle button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.mtoggle .sv{font-size:11px;color:var(--res);font-weight:700;margin-left:5px}
.mprices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;align-items:start}
.mprice{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow);position:relative;transition:transform .18s,box-shadow .18s}
.mprice:hover{transform:translateY(-3px);box-shadow:var(--hov)}
.mprice.feat{border-color:var(--ink);box-shadow:var(--hov)}
.mprice .tag{position:absolute;top:-11px;left:28px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:20px}
.mprice .pn{font-family:var(--disp);font-weight:700;font-size:21px}
.mprice .pt{font-size:13px;color:var(--ink2);margin-top:4px;min-height:34px}
.mprice .amt{margin:16px 0 4px;display:flex;align-items:baseline;gap:6px}
.mprice .amt .v{font-family:var(--disp);font-weight:800;font-size:38px;letter-spacing:-.03em}
.mprice .amt .per{font-size:13px;color:var(--ink3)}
.mprice .pa{font-size:12px;color:var(--ink3);min-height:18px}
.mprice ul{list-style:none;margin:18px 0 22px;display:grid;gap:11px}
.mprice li{position:relative;padding-left:25px;font-size:13.5px;color:var(--ink);line-height:1.45}
.mprice li::before{content:"✓";position:absolute;left:0;top:0;color:var(--res);font-weight:700}
.mprice li.h{color:var(--ink3);font-weight:600;padding-left:0;margin-top:2px}.mprice li.h::before{content:""}
@media(max-width:900px){.mprices{grid-template-columns:1fr}}

/* contact */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:42px;align-items:start}
.cform{display:grid;gap:14px}
.cform label{font-size:13px;font-weight:600;color:var(--ink2);display:block;margin-bottom:6px}
.cform input,.cform textarea,.cform select{width:100%;border:1px solid var(--line2);border-radius:10px;padding:11px 13px;font-size:14px;font-family:var(--sans);outline:none;background:#fff}
.cform input:focus,.cform textarea:focus{border-color:var(--ca)}
.cinfo .ci{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.cinfo .ci .ic{width:38px;height:38px;border-radius:10px;background:#f3efe4;display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto}
.cinfo .ci h4{font-family:var(--disp);font-weight:600;font-size:15px}.cinfo .ci p{font-size:13.5px;color:var(--ink2);margin-top:3px;line-height:1.5}
.cinfo .ci a{color:var(--ca);text-decoration:none}
@media(max-width:820px){.cgrid{grid-template-columns:1fr;gap:30px}}

/* legal prose */
.legal{max-width:780px;margin:0 auto;padding:56px 0}
.legal h1{font-family:var(--disp);font-weight:800;font-size:38px;letter-spacing:-.03em}
.legal .upd{font-size:13px;color:var(--ink3);margin-top:8px}
.legal h2{font-family:var(--disp);font-weight:700;font-size:21px;letter-spacing:-.02em;margin:38px 0 0}
.legal p,.legal li{font-size:14.5px;line-height:1.68;color:var(--ink2);margin-top:14px}
.legal ul{margin:6px 0 0;padding-left:22px}.legal li{margin-top:8px}
.legal a{color:var(--ca)}
.legal strong{color:var(--ink)}

/* rich footer */
.mfoot{border-top:1px solid var(--line);background:#fbfaf7}
.mfoot .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;padding:56px 0 44px}
.mfoot .brandcol .lg{font-family:var(--disp);font-weight:800;font-size:20px;color:var(--ink);display:flex;align-items:center;gap:8px}
.mfoot .brandcol .lg .mk{width:9px;height:9px;border-radius:3px;background:var(--ink);box-shadow:2px 0 0 var(--marge),0 2px 0 var(--ca)}
.mfoot .brandcol p{font-size:13px;color:var(--ink2);line-height:1.55;margin-top:14px;max-width:34ch}
.mfoot h5{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);font-weight:700}
.mfoot ul{list-style:none;margin:16px 0 0;display:grid;gap:11px}
.mfoot ul a{font-size:13.5px;color:var(--ink2);text-decoration:none}.mfoot ul a:hover{color:var(--ink)}
.mfoot .bot{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--ink3);flex-wrap:wrap;gap:10px}
.mfoot .bot .srcs{font-family:var(--mono);font-size:11px}
@media(max-width:820px){.mfoot .top{grid-template-columns:1fr 1fr;gap:28px}}

/* ── À traiter aujourd'hui (daily action surface) ───────────────────────── */
.today{margin-bottom:4px}
.tgrid{display:grid;gap:10px;margin-top:14px}
.daycard{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 16px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.daycard:hover{transform:translateY(-2px);box-shadow:var(--hov)}
.daycard .dbadge{flex:0 0 auto;font-size:11px;font-weight:600;padding:5px 11px;border-radius:20px;white-space:nowrap;width:96px;text-align:center}
.daycard .dbadge.hot{background:var(--negbg);color:var(--hot);border:1px solid #f0d3ce}
.daycard .dbadge.warm{background:#fbf1e0;color:var(--marge);border:1px solid #f0ddbb}
.daycard .dinfo{flex:1;min-width:0}
.daycard .dinfo b{font-weight:600;font-size:14.5px;color:var(--ink)}
.daycard .dinfo .meta{font-size:11.5px;color:var(--ink3);margin-top:1px}
.daycard .dinfo .reason{font-size:12.5px;color:var(--ink2);margin-top:3px;overflow:hidden;text-overflow:ellipsis}
.daycard .dact{display:flex;gap:8px;flex:0 0 auto}
.daycard .dact .btn{padding:8px 13px;font-size:12.5px;white-space:nowrap}
@media(max-width:760px){.daycard{flex-wrap:wrap;gap:10px}.daycard .dinfo{flex:1 1 60%}.daycard .dact{flex:1 1 100%}.daycard .dact .btn{flex:1;justify-content:center}}
