/* ============================================================
   MIO — Application : styles des pages étendues
   ============================================================ */

/* ---------- Sous-navigation pays ---------- */
.subnav{
  display:flex;gap:8px;overflow-x:auto;padding:2px 2px 14px;margin-bottom:8px;
  scrollbar-width:thin;
}
.subnav a{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  border:1px solid var(--border);background:#fff;border-radius:999px;
  padding:8px 15px;font-weight:600;font-size:12.5px;color:var(--text);transition:all .18s ease;flex:none;
}
.subnav a:hover{border-color:#C9D4F6;color:var(--blue)}
.subnav a.active{background:var(--blue-soft);border-color:var(--blue);color:var(--blue);font-weight:700}

/* ---------- Mise en page avec panneau latéral ---------- */
.split-page{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.side-col{position:sticky;top:16px;display:flex;flex-direction:column;gap:16px}
.side-card h3{font-size:14.5px;display:flex;align-items:center;gap:9px;margin-bottom:14px}
.side-card h3 .ic{flex:none}

/* ---------- KPI compacts avec sparkline ---------- */
.kpi-spark{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.kpi-spark svg{flex:none}
.chg{font-size:11px;font-weight:700;padding:3px 8px;border-radius:99px}
.chg.up{background:var(--green-soft);color:var(--green)}
.chg.down{background:var(--red-soft);color:var(--red)}
.chg.flat{background:#F1F3F9;color:var(--muted)}

/* ---------- Tableau flux de signaux ---------- */
.sig-row{display:flex;align-items:center;gap:12px;padding:12px 10px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:10px;transition:background .15s}
.sig-row:hover{background:#FAFBFE}
.sig-row.sel{background:var(--blue-soft)}
.sig-row .t-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}
.sig-row b{font-size:13px;color:var(--ink);font-weight:700;line-height:1.35;display:block}
.sig-row .meta{font-size:11.5px;color:var(--muted)}
.sig-row .end{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}
.imp-pill{font-size:10.5px;font-weight:800;padding:3px 10px;border-radius:99px}
.imp-Critique{background:var(--red-soft);color:var(--red)}
.imp-Élevé{background:var(--orange-soft);color:var(--orange)}
.imp-Élevée{background:var(--orange-soft);color:var(--orange)}
.imp-Moyen{background:var(--amber-soft);color:#C97D0A}
.imp-Moyenne{background:var(--amber-soft);color:#C97D0A}
.imp-Faible{background:var(--green-soft);color:var(--green)}
.imp-Basse{background:var(--green-soft);color:var(--green)}
.st-pill{font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--blue-soft);color:var(--blue)}

/* panneau signal sélectionné */
.sig-detail .row-b{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.sig-detail .row-b:last-child{border-bottom:none}
.sig-detail .row-b .b-ic{width:30px;height:30px;border-radius:9px;background:var(--bg);display:grid;place-items:center;flex:none;color:var(--text)}
.sig-detail .row-b b{display:block;color:var(--ink);font-size:12.5px}
.sig-detail .row-b p{color:var(--text);margin-top:2px}
.tagchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.tagchips span{font-size:10.5px;font-weight:700;border:1px solid var(--border);border-radius:99px;padding:3px 9px;color:var(--text)}

/* ---------- Graphiques ---------- */
.chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--text);font-weight:600;margin-bottom:8px}
.chart-legend i{font-style:normal;display:inline-flex;align-items:center;gap:6px}
.chart-legend .dot{width:8px;height:8px;border-radius:50%}
.linechart{width:100%;height:auto;display:block}
.linechart .grid-l{stroke:#EDF1F8;stroke-width:1}
.linechart text{font-family:inherit;fill:var(--muted);font-size:9px}
.donut-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.donut-center{position:relative;flex:none}
.donut-center .mid{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.donut-center .mid b{font-size:22px;color:var(--ink);display:block;line-height:1.1}
.donut-center .mid span{font-size:10.5px;color:var(--muted)}
.donut-legend{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text)}
.donut-legend i{font-style:normal;display:flex;align-items:center;gap:8px}
.donut-legend .dot{width:9px;height:9px;border-radius:3px;flex:none}
.donut-legend b{color:var(--ink)}
.hbar-row{display:grid;grid-template-columns:minmax(90px,130px) 1fr 34px;gap:10px;align-items:center;padding:6px 0;font-size:12px;color:var(--ink);font-weight:600}
.hbar-row .track{height:7px;background:#EDF1F8;border-radius:99px;overflow:hidden}
.hbar-row .track i{display:block;height:100%;background:var(--blue);border-radius:99px;transition:width .7s ease}
.hbar-row b{text-align:right;color:var(--ink)}
.ring{transform:rotate(-90deg)}
.ring .bgc{stroke:#EDF1F8}
.ring .fgc{stroke-linecap:round;transition:stroke-dashoffset .8s ease}

/* comparaison barres verticales (données marché) */
.vbars{display:flex;align-items:flex-end;gap:26px;height:200px;padding:0 6px}
.vbar-g{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.vbar-g .bars{display:flex;align-items:flex-end;gap:6px;height:100%}
.vbar-g .bars i{width:26px;border-radius:6px 6px 0 0;display:block;transition:height .7s ease}
.vbar-g .val{font-size:12px;font-weight:800;color:var(--ink)}
.vbar-g .lbl{font-size:10.5px;color:var(--muted);text-align:center;line-height:1.3}

/* ---------- Mémoire pays (page) ---------- */
.mem-item{display:grid;grid-template-columns:86px 22px 1fr;gap:10px;padding-bottom:18px}
.mem-item .m-date{text-align:right;font-size:11.5px;color:var(--muted);font-weight:700;padding-top:16px}
.mem-item .m-date i{display:block;font-style:normal;font-weight:600;font-size:10.5px}
.mem-item .m-line{position:relative;display:flex;justify-content:center}
.mem-item .m-line::before{content:"";position:absolute;top:26px;bottom:-14px;width:1.5px;background:var(--border)}
.mem-item:last-child .m-line::before{display:none}
.mem-item .m-dot{width:10px;height:10px;border-radius:50%;margin-top:18px;z-index:1}
.mem-card{
  background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 18px;cursor:pointer;
  transition:all .18s ease;box-shadow:var(--shadow);
}
.mem-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.mem-card.sel{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.mem-card .top{display:flex;align-items:center;gap:11px;margin-bottom:6px}
.mem-card .m-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;color:#fff}
.mem-card h4{font-size:14.5px}
.mem-card p{font-size:12.5px;color:var(--text)}
.mem-card .foot{display:flex;align-items:center;gap:14px;margin-top:10px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}
.mem-card .file{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:9px;padding:5px 10px;font-weight:600;color:var(--blue);background:var(--bg)}
.obj-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:12.5px;color:var(--ink);font-weight:600}
.obj-row .n{background:var(--red-soft);color:var(--red);font-weight:800;font-size:11px;min-width:24px;text-align:center;padding:2px 8px;border-radius:8px}
.ins-row{display:flex;gap:10px;padding:8px 0;font-size:12.5px;color:var(--ink);font-weight:500;line-height:1.45}
.ins-row .ic{color:var(--green);flex:none;margin-top:2px}
.next-review{display:flex;gap:14px;align-items:flex-start}
.next-review .cal{background:var(--blue-soft);border-radius:12px;padding:8px 12px;text-align:center;flex:none}
.next-review .cal b{display:block;font-size:20px;color:var(--blue)}
.next-review .cal span{font-size:9.5px;font-weight:800;color:var(--blue);letter-spacing:.05em}

/* ---------- Revue trimestrielle ---------- */
.exec-row{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;gap:0;align-items:stretch}
.exec-cell{padding:6px 22px;border-right:1px solid var(--line)}
.exec-cell:first-child{padding-left:0}
.exec-cell:last-child{border-right:none}
.exec-cell .lbl{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:6px}
.exec-cell .big{font-size:30px;font-weight:800;color:var(--blue);line-height:1.05}
.exec-cell .big small{font-size:15px;color:var(--muted)}
.rev-li{display:flex;gap:10px;padding:9px 0;font-size:13px;color:var(--ink);font-weight:600;line-height:1.4}
.rev-li .dot{width:8px;height:8px;border-radius:50%;flex:none;margin-top:6px}
.rev-li i{display:block;font-style:normal;font-weight:500;font-size:12px;color:var(--muted)}
.reco-band{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:var(--shadow)}
.reco-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:800;font-size:12px;margin-bottom:10px}
.reco-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.reco-stats .rs{display:flex;gap:10px;align-items:flex-start;font-size:11.5px;color:var(--muted)}
.reco-stats .rs .ic{color:var(--ink);flex:none;margin-top:2px}
.reco-stats .rs b{display:block;font-size:15px;color:var(--ink)}
.reasons-box{background:var(--blue-soft);border-radius:14px;padding:18px}
.reasons-box h4{font-size:13px;color:var(--blue);margin-bottom:10px}
.reasons-box .rr{display:flex;gap:9px;font-size:12.5px;color:var(--ink);font-weight:600;padding:5px 0}
.reasons-box .rr .ic{color:var(--green);flex:none;margin-top:1px}

/* ---------- Plan 90 jours ---------- */
.p90-head{display:flex;gap:0;background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 10px;box-shadow:var(--shadow);margin-bottom:16px;flex-wrap:wrap}
.p90-phase{flex:1;min-width:200px;display:flex;gap:13px;align-items:center;padding:4px 20px;border-right:1px solid var(--line)}
.p90-phase:last-child{border-right:none}
.p90-phase .num{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:15px;flex:none;position:relative}
.p90-phase b{display:block;font-size:13px;color:var(--ink)}
.p90-phase i{font-style:normal;font-size:11px;color:var(--muted)}
.p90-phase .track{height:5px;border-radius:99px;background:#EDF1F8;margin-top:6px;overflow:hidden}
.p90-phase .track i{display:block;height:100%;border-radius:99px}
.p90-grid{display:grid;grid-template-columns:170px repeat(3,1fr);gap:0;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.p90-grid .gh{padding:13px 16px;font-size:11.5px;font-weight:700;color:var(--muted);border-bottom:1px solid var(--border);background:#FAFBFE}
.p90-axis{padding:16px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--ink);display:flex;flex-direction:column;gap:4px}
.p90-axis .ic{margin-bottom:2px}
.p90-axis i{font-style:normal;font-size:11px;font-weight:800}
.p90-cellwrap{padding:10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.p90-cellwrap:nth-child(4n){border-right:none}
.p90-card{border:1px solid var(--border);border-radius:12px;padding:11px 12px;cursor:pointer;transition:all .16s ease;background:#fff}
.p90-card:hover{box-shadow:var(--shadow)}
.p90-card.sel{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.p90-card .st-dot{width:14px;height:14px;border-radius:50%;border:2px solid #C9D2E4;display:inline-grid;place-items:center;color:#fff;flex:none}
.p90-card .st-dot.done{background:var(--green);border-color:var(--green)}
.p90-card .st-dot.wip{border-color:var(--orange)}
.p90-card b{font-size:12px;color:var(--ink);line-height:1.3}
.p90-card .who{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--muted);margin:7px 0 6px}
.p90-card .track{height:4.5px;background:#EDF1F8;border-radius:99px;overflow:hidden}
.p90-card .track i{display:block;height:100%;border-radius:99px}
.p90-card .pct{font-size:10.5px;color:var(--muted);font-weight:700;text-align:right;margin-top:4px}
.dep-row{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink);font-weight:600;padding:5px 0}
.dep-row .d{width:9px;height:9px;border-radius:50%;flex:none}

/* ---------- Checklist conformité ---------- */
.chk-header{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.chk-header .big{font-size:34px;font-weight:800;color:var(--blue)}
.chk-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--text);font-weight:600}
.chk-legend i{font-style:normal;display:inline-flex;align-items:center;gap:7px}
.chk-legend .dot{width:8px;height:8px;border-radius:50%}
.chk-group{border-top:1px solid var(--border);padding-top:14px;margin-top:14px}
.chk-group:first-of-type{border-top:none;margin-top:0;padding-top:0}
.chk-group .gh{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--ink);font-size:14px;margin-bottom:6px;cursor:pointer}
.chk-group .gh .prog{margin-left:auto;font-size:11.5px;color:var(--blue);font-weight:700}
.chk-row{display:grid;grid-template-columns:26px minmax(0,1fr) 110px 90px 130px 90px;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:12.5px}
.chk-row .sq{
  width:18px;height:18px;border-radius:5px;border:1.8px solid #C9D2E4;background:#fff;cursor:pointer;
  display:grid;place-items:center;color:#fff;transition:all .15s;padding:0;
}
.chk-row .sq.on{background:var(--blue);border-color:var(--blue)}
.chk-row .l{color:var(--ink);font-weight:600}
.chk-row.done .l{color:var(--muted);text-decoration:line-through}
.chk-row .due{font-size:11.5px;color:var(--muted)}
.chk-row .due.late{color:var(--red);font-weight:700}
.chk-row .who{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text)}
.stat-Terminée{background:var(--green-soft);color:var(--green)}
.stat-Encours{background:var(--blue-soft);color:var(--blue)}
.stat-Enretard{background:var(--red-soft);color:var(--red)}
.stat-Àfaire{background:#F1F3F9;color:var(--text)}
.stat-pill{font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:99px;text-align:center;white-space:nowrap}
.block-item{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.block-item:last-child{border-bottom:none}
.block-item b{color:var(--ink);display:block;line-height:1.35}
.block-item i{font-style:normal;color:var(--red);font-size:11.5px;font-weight:700}
.riskmatrix{width:100%;border-collapse:collapse;font-size:11px}
.riskmatrix th{font-weight:700;color:var(--muted);padding:6px 4px;text-align:center}
.riskmatrix td{padding:0;border:2px solid #fff}
.riskmatrix td .cell{height:26px;border-radius:5px;display:grid;place-items:center}
.riskmatrix td .pt{width:9px;height:9px;border-radius:50%;background:var(--navy)}
.riskmatrix .rowlbl{font-weight:600;color:var(--text);text-align:left;padding-right:6px;white-space:nowrap}

/* ---------- Workflow ---------- */
.wf-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.wf-canvas{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:var(--shadow);position:relative}
.wf-node{display:flex;justify-content:center}
.wf-pill{border:1px solid var(--border);border-radius:99px;padding:7px 18px;font-weight:700;font-size:12px;color:var(--ink);display:inline-flex;align-items:center;gap:8px;background:#fff}
.wf-connector{display:flex;justify-content:center;padding:4px 0;position:relative}
.wf-connector::before{content:"";position:absolute;top:-4px;bottom:-4px;width:1.5px;background:#C9D4F6;left:50%}
.wf-plus{
  width:26px;height:26px;border-radius:50%;border:1.5px solid #C9D4F6;background:#fff;color:var(--blue);
  display:grid;place-items:center;z-index:1;transition:all .15s;
}
.wf-plus:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.wf-step{
  max-width:480px;margin:0 auto;border:1.5px solid var(--border);border-radius:14px;padding:14px 16px;background:#fff;
  display:flex;gap:13px;align-items:center;cursor:pointer;transition:all .16s ease;
}
.wf-step:hover{box-shadow:var(--shadow)}
.wf-step.sel{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.wf-step .n{width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;flex:none}
.wf-step .w-ic{width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;flex:none}
.wf-step b{display:block;font-size:14px;color:var(--ink)}
.wf-step i{font-style:normal;font-size:11.5px;color:var(--muted);line-height:1.35}
.wf-step .end{margin-left:auto;flex:none}
.tag-red{background:var(--red-soft);color:var(--red)}
.cond-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:700;color:var(--text)}
.cond-chip.val{background:var(--red-soft);color:var(--red)}
.cond-chip.val2{background:#F1F3F9;color:var(--ink)}

/* ---------- Recrutement (kanban) ---------- */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px}
.kb-col .kb-head{display:flex;justify-content:space-between;font-size:12.5px;font-weight:800;color:var(--ink);padding:4px 4px 10px}
.kb-col .kb-head span{color:var(--muted);font-weight:700}
.kb-card{
  background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 13px;margin-bottom:10px;cursor:pointer;
  transition:all .16s ease;box-shadow:var(--shadow);
}
.kb-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.kb-card b{display:block;font-size:12.5px;color:var(--ink);line-height:1.3}
.kb-card i{font-style:normal;display:block;font-size:11px;color:var(--muted);margin-top:2px}
.kb-card .sal{font-size:12px;color:var(--ink);font-weight:700;margin-top:7px}
.kb-card .tagline{margin-top:7px;font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.kb-add{border:1.8px dashed #C9D4F6;border-radius:12px;display:grid;place-items:center;color:var(--blue);padding:16px;background:#FBFCFF;cursor:pointer}
.constraints{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.constraints .cst{display:flex;gap:11px;font-size:11.5px;color:var(--muted);line-height:1.4}
.constraints .cst .ic{color:var(--blue);flex:none;margin-top:1px}
.constraints .cst b{display:block;font-size:12.5px;color:var(--ink)}

/* ---------- Partenaires cibles / contacts ---------- */
.rank-row{display:flex;align-items:center;gap:12px;padding:13px 10px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:12px;transition:background .15s}
.rank-row:hover{background:#FAFBFE}
.rank-row.sel{background:#fff;box-shadow:0 0 0 1.5px var(--blue), var(--shadow);position:relative;z-index:1}
.rank-row .rk{width:22px;font-size:12px;font-weight:800;color:var(--muted);flex:none;text-align:center}
.logo-chip{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px;flex:none}
.rank-row b{display:block;font-size:13px;color:var(--ink)}
.rank-row .meta{font-size:11.5px;color:var(--muted)}
.score-ring{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12.5px;flex:none;border:2.5px solid}
.sc-hi{color:var(--green);border-color:#9FDDB8}
.sc-mid{color:#C97D0A;border-color:#F5D9A8}
.sc-low{color:var(--red);border-color:#F3B4B6}
.pt-list{display:flex;flex-direction:column;gap:8px}
.pt-list .pt{display:flex;gap:9px;font-size:12.5px;color:var(--ink);font-weight:500;line-height:1.4}
.pt-list .pt .ic{flex:none;margin-top:2px}
.msg-box{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px;font-size:12.5px;color:var(--ink);white-space:pre-line;line-height:1.55;max-height:220px;overflow:auto}
.approach-box{background:var(--blue-soft);border-radius:12px;padding:13px 15px;font-size:12.5px;color:var(--ink);line-height:1.5}
.approach-box b{display:flex;align-items:center;gap:8px;color:var(--blue);margin-bottom:4px}
.dossier-head{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.dossier-logo{width:84px;height:84px;border-radius:18px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:22px;flex:none;border:1px solid var(--border)}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.contact-card{border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;gap:11px;align-items:flex-start;background:#fff}
.contact-card b{display:block;font-size:12.5px;color:var(--ink)}
.contact-card i{font-style:normal;font-size:11px;color:var(--muted);display:block}
.contact-card .mail{font-size:11px;color:var(--blue);font-weight:600;display:inline-flex;gap:5px;align-items:center;margin-top:4px}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.why-grid .pt{display:flex;gap:9px;font-size:12.5px;color:var(--ink);font-weight:500}
.why-grid .pt .ic{color:var(--green);flex:none;margin-top:2px}
.steps-side .srow{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}
.steps-side .srow:last-child{border-bottom:none}
.steps-side .srow .cir{width:17px;height:17px;border-radius:50%;border:2px solid var(--blue);flex:none;margin-top:2px;display:grid;place-items:center;color:#fff;cursor:pointer;background:#fff;padding:0}
.steps-side .srow .cir.on{background:var(--green);border-color:var(--green)}
.steps-side .srow b{font-size:12.5px;color:var(--ink);display:block;line-height:1.3}
.steps-side .srow i{font-style:normal;font-size:11px;color:var(--muted)}
.steps-side .srow .dt{margin-left:auto;font-size:11px;color:var(--red);font-weight:700;flex:none}

/* fiche contact stratégique */
.strat-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;gap:16px;align-items:start}
.note-blue{background:var(--blue-soft);border-radius:12px;padding:13px 15px;font-size:12.5px;color:var(--ink);line-height:1.5}
.note-red{background:var(--red-soft);border-radius:12px;padding:13px 15px;font-size:12.5px;color:var(--ink)}
.note-red .pt{display:flex;gap:9px;padding:3px 0}
.note-red .pt::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);flex:none;margin-top:6px}
.email-box{border:1px solid var(--border);border-radius:14px;padding:18px;background:#fff}
.email-box .obj{font-size:12.5px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}
.email-box .body{font-size:13px;color:var(--ink);white-space:pre-line;line-height:1.6}
.kv-line{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.kv-line:last-child{border-bottom:none}
.kv-line i{font-style:normal;color:var(--muted);font-size:11px;font-weight:700}
.kv-line b{color:var(--ink)}
.conf-meter{display:inline-flex;gap:3px}
.conf-meter i{width:16px;height:7px;border-radius:99px;background:#E6EAF2}
.conf-meter i.on{background:var(--green)}

/* ---------- Comparateur ---------- */
.cmp-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}
.cmp-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow);position:relative}
.cmp-card .x{position:absolute;top:10px;right:10px;background:none;border:none;color:var(--muted);padding:4px;border-radius:6px}
.cmp-card .x:hover{color:var(--red);background:var(--red-soft)}
.cmp-card .big{font-size:30px;font-weight:800;color:var(--blue)}
.cmp-card .big small{font-size:14px;color:var(--muted)}
.cmp-add{border:1.8px dashed #C9D4F6;background:#FBFCFF;display:grid;place-items:center;color:var(--blue);cursor:pointer;min-height:130px;border-radius:16px;font-weight:700;font-size:13px;text-align:center}
.cmp-add:hover{background:var(--blue-soft)}
.cmp-table{width:100%;border-collapse:collapse;font-size:13px}
.cmp-table th{font-size:11.5px;color:var(--muted);font-weight:700;text-align:left;padding:11px 12px;border-bottom:1px solid var(--border)}
.cmp-table td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.cmp-table .crit{display:flex;gap:10px;align-items:center;font-weight:700;color:var(--ink)}
.cmp-table .crit .ic{color:var(--blue);flex:none}
.cmp-table .crit i{display:block;font-style:normal;font-size:11px;color:var(--muted);font-weight:500}
.cmp-val b{font-size:16px;color:var(--blue)}
.cmp-val b.warn{color:var(--orange)}
.cmp-val small{color:var(--muted);font-size:11px}
.cmp-val .track{height:5px;border-radius:99px;background:#EDF1F8;margin-top:5px;max-width:90px;overflow:hidden}
.cmp-val .track i{display:block;height:100%;border-radius:99px}
.rank-list .rr{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line);font-weight:700;color:var(--ink);font-size:13.5px}
.rank-list .rr:last-child{border-bottom:none}
.rank-list .rr .pos{width:20px;font-size:14px;font-weight:800;color:var(--blue);flex:none}
.rank-list .rr b{margin-left:auto;color:var(--blue)}
.decomp{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between}
.decomp .dc{text-align:center;font-size:10.5px;color:var(--muted);flex:1;min-width:86px}
.decomp .dc .ic{color:var(--blue)}
.decomp .dc b{display:block;font-size:15px;color:var(--blue);margin-top:3px}
.decomp .op{font-size:16px;color:var(--muted);font-weight:700}
.decomp .total{background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 18px;text-align:center}
.decomp .total b{font-size:20px;color:var(--blue);display:block}

/* ---------- Adaptation documentaire ---------- */
.adapt-cols{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff}
.adapt-col-h{padding:13px 18px;background:#FAFBFE;border-bottom:1px solid var(--border);font-weight:700;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:9px}
.adapt-col-h .cc{font-size:10px;font-weight:800;background:var(--blue-soft);color:var(--blue);border-radius:6px;padding:2px 7px}
.adapt-cell{padding:18px 20px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:13px;color:var(--ink);line-height:1.6}
.adapt-cell:nth-child(2n+1){border-right:1px solid var(--line)}
.adapt-cell h5{font-size:13px;margin-bottom:8px;display:flex;gap:9px;align-items:center}
.adapt-cell h5 .n{width:20px;height:20px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:11px;font-weight:800;display:grid;place-items:center;flex:none}
.adapt-cell .greennote{background:var(--green-soft);border-radius:10px;padding:10px 13px;font-size:12px;color:var(--green);font-weight:600;margin-top:10px;display:flex;gap:8px}
.adapt-cell b{background:#DBEAFE;border-radius:4px;padding:0 3px;font-weight:700}
.reason-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--text);line-height:1.5}
.reason-row:last-child{border-bottom:none}
.reason-row .r-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none}
.reason-row b{display:block;color:var(--ink);font-size:13px}
.validate-row{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:12.5px;color:var(--ink);font-weight:600}
.footer-actions{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-top:16px;flex-wrap:wrap}
.footer-actions .ok{display:inline-flex;gap:9px;align-items:center;font-size:12.5px;color:var(--text)}
.footer-actions .ok .ic{color:var(--green)}
.footer-actions .spacer{flex:1}

/* ---------- Validation juridique ---------- */
.vdoc-row{display:flex;align-items:center;gap:12px;padding:13px 10px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:12px}
.vdoc-row:hover{background:#FAFBFE}
.vdoc-row.sel{background:#fff;box-shadow:0 0 0 1.5px var(--blue);position:relative;z-index:1}
.vdoc-row .radio{width:16px;height:16px;border-radius:50%;border:2px solid #C9D2E4;flex:none}
.vdoc-row.sel .radio{border-color:var(--blue);background:radial-gradient(circle, var(--blue) 40%, #fff 45%)}
.vst-pill{font-size:10.5px;font-weight:700;padding:4px 11px;border-radius:99px;white-space:nowrap}
.vst-Validé{background:var(--green-soft);color:var(--green)}
.vst-Envalidation{background:var(--amber-soft);color:#C97D0A}
.vst-Àvérifier{background:var(--blue-soft);color:var(--blue)}
.vst-Bloqué{background:var(--red-soft);color:var(--red)}
.point-red{display:flex;gap:9px;font-size:12.5px;color:var(--ink);font-weight:600;padding:4px 0}
.point-red::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);flex:none;margin-top:6px}

/* ---------- Copilot ---------- */
.chat-wrap{max-width:880px;margin:0 auto}
.chat-scroll{display:flex;flex-direction:column;gap:18px;padding-bottom:18px}
.msg{display:flex;gap:12px;max-width:88%}
.msg.user{align-self:flex-end;flex-direction:row-reverse}
.msg .bubble{border-radius:16px;padding:13px 17px;font-size:13.5px;line-height:1.55}
.msg.user .bubble{background:var(--blue-soft);color:var(--ink);border-top-right-radius:4px;font-weight:600}
.msg.bot .bubble{background:#fff;border:1px solid var(--border);color:var(--ink);border-top-left-radius:4px;box-shadow:var(--shadow);width:100%}
.msg .who-ic{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center}
.msg .time{font-size:10.5px;color:var(--muted);align-self:flex-end;flex:none}
.ai-block{border-top:1px solid var(--line);margin-top:13px;padding-top:13px}
.ai-block:first-child{border-top:none;margin-top:0;padding-top:0}
.ai-block h5{display:flex;align-items:center;gap:9px;font-size:13.5px;margin-bottom:8px}
.ai-block ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.ai-block li{font-size:13px;color:var(--ink);display:flex;gap:9px;line-height:1.5}
.ai-block li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue);flex:none;margin-top:8px}
.ai-block.num li::before{display:none}
.ai-sources{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:13px;padding-top:12px;align-items:center}
.ai-sources span.lbl{font-size:12px;font-weight:700;color:var(--ink);display:inline-flex;gap:7px;align-items:center}
.ai-sources a{font-size:11px;font-weight:600;border:1px solid var(--border);border-radius:99px;padding:4px 11px;color:var(--blue)}
.ai-sources a:hover{background:var(--blue-soft)}
.sugg-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:14px 0}
.sugg-row .lbl{font-size:12.5px;font-weight:700;color:var(--ink);display:inline-flex;gap:8px;align-items:center;color:var(--blue)}
.sugg{border:1px solid var(--border);background:#fff;border-radius:12px;padding:9px 14px;font-size:12px;font-weight:600;color:var(--text);text-align:left;transition:all .15s}
.sugg:hover{border-color:var(--blue);color:var(--blue)}
.chat-input{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:9px 9px 9px 18px;box-shadow:var(--shadow)}
.chat-input:focus-within{border-color:var(--blue)}
.chat-input input{border:none;outline:none;flex:1;font-size:14px;color:var(--ink);background:none}
.chat-input .send{width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;border:none;display:grid;place-items:center;flex:none}
.chat-input .send:hover{background:var(--blue-dark)}
.chat-note{text-align:center;font-size:11px;color:var(--muted);margin-top:10px}
.ctx-row{padding:11px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.ctx-row:last-child{border-bottom:none}
.ctx-row .lbl{font-size:11px;color:var(--muted);font-weight:700;margin-bottom:5px;display:flex;justify-content:space-between;align-items:center}
.ctx-row .lbl button{background:none;border:1px solid var(--border);border-radius:99px;font-size:10.5px;font-weight:700;color:var(--blue);padding:2px 10px}
.ctx-row b{color:var(--ink);display:flex;align-items:center;gap:8px}
.typing{display:inline-flex;gap:4px;padding:6px 2px}
.typing i{width:7px;height:7px;border-radius:50%;background:#C9D2E4;animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}
.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.3}40%{opacity:1}}

/* ---------- Company DNA ---------- */
.dna-row{display:flex;gap:14px;align-items:flex-start;padding:17px 0;border-bottom:1px solid var(--line)}
.dna-row:last-child{border-bottom:none}
.dna-row .d-ic{width:44px;height:44px;border-radius:13px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;flex:none}
.dna-row.warm .d-ic{background:var(--orange-soft);color:var(--orange)}
.dna-row b{display:block;font-size:14.5px;color:var(--ink);margin-bottom:3px}
.dna-row p{font-size:12.5px;color:var(--text);line-height:1.5;max-width:520px}
.dna-row .end{margin-left:auto;display:flex;align-items:center;gap:7px;flex:none;flex-wrap:wrap;justify-content:flex-end;max-width:280px}
.dna-row .chipx{font-size:11px;font-weight:700;background:#F1F3F9;color:var(--ink);border-radius:99px;padding:4px 11px}
.dna-row .chipx.warm{background:var(--red-soft);color:var(--red)}
.dna-row .edit-a{color:var(--muted);flex:none}
.dna-row:hover .edit-a{color:var(--blue)}
.strength{display:flex;gap:11px;padding:10px 0;font-size:12.5px;color:var(--text)}
.strength .s-ic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none}
.strength b{display:block;color:var(--ink);font-size:13px}

/* ---------- Responsive ---------- */
@media(max-width:1250px){
  .strat-grid{grid-template-columns:260px 1fr}
  .strat-grid .side-col:last-child{grid-column:1/-1;position:static}
  .cmp-cards{grid-template-columns:repeat(3,1fr)}
  .constraints{grid-template-columns:1fr 1fr}
}
@media(max-width:1080px){
  .split-page,.wf-wrap{grid-template-columns:1fr}
  .side-col{position:static}
  .p90-grid{grid-template-columns:150px repeat(3,minmax(150px,1fr));overflow-x:auto}
  .exec-row{grid-template-columns:1fr 1fr}
  .exec-cell{padding:10px 0;border-right:none}
  .reco-stats{grid-template-columns:1fr 1fr}
  .contact-cards{grid-template-columns:1fr}
  .chk-row{grid-template-columns:26px minmax(0,1fr) 90px;row-gap:4px}
  .chk-row .due,.chk-row .who{display:none}
  .cmp-cards{grid-template-columns:1fr 1fr}
  .strat-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
}
