:root{
  --bg:#f6f5f2;--sf:#ffffff;--sf2:#f0eee9;--bd:#e3e0d8;--tx:#1d1c19;--tx2:#67645c;--tx3:#9a978e;
  --ac:#1f4e79;--ac2:#2f6ea8;--acl:#e8f0f8;--ok:#1d7a46;--okl:#e6f4ec;--wn:#b25e09;--wnl:#fdf1e2;--dg:#b3261e;--dgl:#fbe9e7;
  --r:10px;--sh:0 1px 2px rgba(0,0,0,.04),0 2px 8px rgba(0,0,0,.04);
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--tx);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--ac2);text-decoration:none}a:hover{text-decoration:underline}
.demo-ribbon{background:#1d1c19;color:#f6f5f2;font-size:12px;text-align:center;padding:6px 16px;letter-spacing:.02em}
.demo-ribbon strong{color:#ffd27a}
header.top{background:var(--sf);border-bottom:1px solid var(--bd);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:10px}
.brand b{font-size:18px;letter-spacing:-.01em}.brand b span{color:var(--ac2)}
.brand em{font-style:normal;color:var(--tx2);font-size:13px}
.who{font-size:13px;color:var(--tx2);display:flex;gap:14px;align-items:center}
main{max-width:1180px;margin:0 auto;padding:26px 24px 60px}
h1{font-size:24px;letter-spacing:-.02em;margin-bottom:4px}
.sub{color:var(--tx2);margin-bottom:22px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:22px}
.kpi{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh)}
.kpi .v{font-size:30px;font-weight:700;letter-spacing:-.02em}
.kpi .l{color:var(--tx2);font-size:13px}
.kpi.ok .v{color:var(--ok)}.kpi.wn .v{color:var(--wn)}.kpi.ac .v{color:var(--ac)}
.card{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);margin-bottom:22px}
.card h2{font-size:15px;padding:14px 18px;border-bottom:1px solid var(--bd);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.card h2 small{font-weight:400;color:var(--tx2);font-size:12.5px}
.card .in{padding:16px 18px}
.chart{display:flex;align-items:flex-end;gap:10px;height:190px;padding:10px 4px 0}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;min-width:0}
.chart .bars{display:flex;align-items:flex-end;gap:3px;height:150px;width:100%;justify-content:center}
.chart .b{width:42%;max-width:26px;border-radius:4px 4px 0 0;position:relative}
.chart .b.p{background:var(--ac2)}.chart .b.t{background:#9cc0e0}
.chart .b span{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--tx2)}
.chart .y{font-size:12px;color:var(--tx2)}
.legend{display:flex;gap:16px;font-size:12.5px;color:var(--tx2);margin-top:10px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
select,input[type=email],input[type=password]{font:inherit;border:1px solid var(--bd);border-radius:8px;padding:7px 10px;background:#fff}
.btn{display:inline-block;font:inherit;font-weight:600;border:1px solid var(--ac);background:var(--ac);color:#fff;border-radius:8px;padding:8px 14px;cursor:pointer}
.btn:hover{background:var(--ac2);text-decoration:none}
.btn.ghost{background:#fff;color:var(--ac)}
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-weight:600;color:var(--tx2);font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;padding:10px 10px;border-bottom:1px solid var(--bd);background:var(--sf2);white-space:nowrap}
td{padding:9px 10px;border-bottom:1px solid var(--bd);white-space:nowrap;vertical-align:middle}
td.wrap{white-space:normal;min-width:150px;line-height:1.35}
tr:last-child td{border-bottom:none}
tr:hover td{background:#fafaf7}
.code{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-weight:600}
.tag{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px}
.tag.ok{background:var(--okl);color:var(--ok)}.tag.wn{background:var(--wnl);color:var(--wn)}.tag.dg{background:var(--dgl);color:var(--dg)}
.tag.ac{background:var(--acl);color:var(--ac)}.tag.mu{background:var(--sf2);color:var(--tx2)}
.now{color:var(--ok);font-weight:600}
.muted{color:var(--tx3)}
.note{font-size:12.5px;color:var(--tx2);line-height:1.6}
.note li{margin-left:18px}
.login{max-width:400px;margin:70px auto;background:var(--sf);border:1px solid var(--bd);border-radius:14px;box-shadow:var(--sh);padding:30px}
.login h1{font-size:21px}.login label{display:block;font-size:13px;color:var(--tx2);margin:14px 0 5px}
.login input{width:100%}.login .btn{width:100%;margin-top:20px;padding:10px}
.err{background:var(--dgl);color:var(--dg);border-radius:8px;padding:9px 12px;font-size:13px;margin-top:14px}
/* Fiche salarié */
.fiche{max-width:820px;margin:0 auto}
.fiche .head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}
.reperes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.rep{border:1px solid var(--bd);border-radius:var(--r);padding:14px 16px;background:#fff}
.rep .l{font-size:12.5px;color:var(--tx2)}.rep .v{font-size:19px;font-weight:700;margin:2px 0}.rep .d{font-size:12.5px;color:var(--tx2)}
.rep.hl{border-color:var(--ac2);background:var(--acl)}
.gauge{height:10px;background:var(--sf2);border-radius:999px;overflow:hidden;margin:8px 0 4px}
.gauge div{height:100%;background:var(--ac2)}
.conf{display:flex;gap:12px;align-items:center}
@media print{
  .demo-ribbon,header.top .who,.noprint{display:none!important}
  body{background:#fff}.card{box-shadow:none}main{padding:0}
}
@media (max-width:640px){header.top{padding:12px 16px}main{padding:18px 14px 50px}.chart .y{font-size:10px}}
/* ── v3 : navigation, interactions, conversion ── */
a.brand{color:inherit;text-decoration:none}
nav.who{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
nav.who a.on:not(.btn){color:var(--tx);font-weight:600}
nav.who .me{color:var(--tx3);font-size:12.5px}
.btn.sm{padding:6px 12px;font-size:13px}.btn.lg{padding:12px 22px;font-size:15px}
.btn.ghost:hover{background:var(--acl)}
.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.hero .sub{max-width:720px}
.guide{position:relative;background:var(--acl);border:1px solid #c9dcef;border-radius:var(--r);padding:14px 44px 14px 18px;margin-bottom:18px;font-size:13.5px}
.guide ol{margin:6px 0 0 18px}.guide .x{position:absolute;top:8px;right:12px;border:0;background:none;font-size:22px;color:var(--tx2);cursor:pointer;line-height:1}
a.kpi{display:block;color:inherit;text-decoration:none;transition:transform .12s,border-color .12s,box-shadow .12s;cursor:pointer}
a.kpi:hover{transform:translateY(-2px);border-color:var(--ac2);box-shadow:0 4px 14px rgba(31,78,121,.12)}
a.kpi.on{border-color:var(--ac);box-shadow:0 0 0 2px var(--ac) inset}
.kpi .d{font-size:12px;color:var(--tx3);margin-top:2px}
.filters input[type=search]{font:inherit;border:1px solid var(--bd);border-radius:8px;padding:7px 10px;min-width:170px}
#tbl th[data-k]{cursor:pointer;user-select:none}#tbl th[data-k]:hover{color:var(--tx)}
#tbl tr[data-url]{cursor:pointer}
#tbl tr[data-url]:focus{outline:2px solid var(--ac2);outline-offset:-2px}
.acts .tag{margin:2px 4px 2px 0;font-weight:500}
.tbl-wrap{max-height:none}
thead th{position:sticky;top:0;z-index:1}
.cta{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;background:linear-gradient(135deg,#1f4e79,#2f6ea8);color:#fff;border-radius:14px;padding:28px;margin:6px 0 22px}
.cta h2{font-size:22px;margin-bottom:6px}.cta p{opacity:.92}
.steps{list-style:none;margin-top:14px;display:grid;gap:10px}
.steps li{display:flex;gap:12px;align-items:flex-start}
.steps b{flex:0 0 26px;height:26px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:13px}
.cta-box{background:#fff;color:var(--tx);border-radius:12px;padding:22px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px}
.cta-box .big{font-size:20px;font-weight:700;line-height:1.3}
details.help summary{padding:14px 18px;font-weight:600;cursor:pointer}
.backbar{max-width:820px;margin:18px auto 0;padding:0 24px;display:flex;justify-content:space-between;align-items:center}
.mini-cta .in{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.pilote-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:start}
.pilote h1{font-size:26px}
.benefits{list-style:none;display:grid;gap:12px}.benefits li{padding-left:26px;position:relative}
.benefits li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.timeline{list-style:none;display:grid;gap:12px}.timeline li{display:grid;grid-template-columns:120px 1fr;gap:12px}
.timeline b{color:var(--ac)}
form.form{position:sticky;top:16px}
.form label{display:block;font-size:13px;color:var(--tx2);margin:12px 0 5px}
.form input,.form select,.form textarea{width:100%;font:inherit;border:1px solid var(--bd);border-radius:8px;padding:9px 11px;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus,.login input:focus{outline:none;border-color:var(--ac2);box-shadow:0 0 0 3px rgba(47,110,168,.15)}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .btn{width:100%;margin-top:18px}
.merci{max-width:620px;margin:40px auto;text-align:center}.merci .in{padding:34px}
.merci .check{width:56px;height:56px;border-radius:50%;background:var(--okl);color:var(--ok);font-size:28px;display:grid;place-items:center;margin:0 auto 14px}
.merci .btn{margin-top:16px}
@media (max-width:900px){.cta,.pilote-grid{grid-template-columns:1fr}form.form{position:static}}
/* Mobile : les lignes deviennent des cartes */
@media (max-width:720px){
  nav.who .me{display:none}
  .filters{width:100%}.filters input,.filters select{flex:1 1 140px}
  #tbl thead{display:none}
  #tbl,#tbl tbody,#tbl tr,#tbl td{display:block;width:100%}
  #tbl tr{border-bottom:1px solid var(--bd);padding:10px 14px}
  #tbl td{border:0;padding:3px 0;white-space:normal;display:flex;gap:10px}
  #tbl td:before{content:attr(data-l);flex:0 0 118px;color:var(--tx3);font-size:12px}
  #tbl td.code{font-size:15px}#tbl td.code:before{display:none}
  .timeline li{grid-template-columns:1fr}
  .form .two{grid-template-columns:1fr}
  .cta{padding:20px}
}
@media print{.mini-cta,.backbar{display:none!important}}
.benefits li:before{content:"";width:16px;height:16px;top:3px;border-radius:50%;background:var(--okl) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%231d7a46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
@media (max-width:720px){
  #tbl td.acts{display:block}
  #tbl td.acts:before{display:block;margin-bottom:4px}
  #tbl td.wrap .muted{margin-left:6px}
  #tbl td.wrap br{display:none}
}
/* ── v5 : démo guidée ── */
.lien-visite{font:inherit;font-size:13px;font-weight:600;color:var(--ac2);background:var(--acl);border:0;border-radius:999px;padding:6px 12px;cursor:pointer}
.lien-visite:hover{background:#d8e7f5}
.i,.i-ex{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--sf2);color:var(--tx2);font:600 11px/1 Georgia,serif;font-style:italic;cursor:help;vertical-align:1px;margin-left:4px;border:1px solid var(--bd);text-transform:none;letter-spacing:0}
.i:hover,.i:focus{background:var(--ac2);color:#fff;border-color:var(--ac2);outline:none}
.kpi{position:relative}.kpi .i{position:absolute;top:12px;right:12px}
.tip{position:absolute;z-index:60;max-width:300px;background:#1d1c19;color:#f6f5f2;font-size:12.5px;line-height:1.5;padding:9px 12px;border-radius:8px;box-shadow:0 6px 22px rgba(0,0,0,.18);pointer-events:none;animation:tipin .12s ease-out}
@keyframes tipin{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.demo-box{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:center;background:var(--sf);border:1px solid var(--bd);border-left:4px solid var(--ac2);border-radius:var(--r);box-shadow:var(--sh);padding:18px 22px;margin-bottom:20px}
.demo-box h2{font-size:18px;margin:8px 0 4px}.demo-box p{color:var(--tx2);font-size:13.5px}
.demo-box-a{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.cas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;padding:16px 18px}
a.cas{display:flex;flex-direction:column;gap:7px;border:1px solid var(--bd);border-radius:var(--r);padding:14px 16px;color:inherit;text-decoration:none;transition:border-color .12s,transform .12s,box-shadow .12s}
a.cas:hover{border-color:var(--ac2);transform:translateY(-2px);box-shadow:0 4px 14px rgba(31,78,121,.1)}
a.cas .tag{align-self:flex-start}a.cas span:not(.tag){font-size:13px;color:var(--tx2)}a.cas em{font-style:normal;color:var(--ac2);font-weight:600;font-size:13px;margin-top:auto}
/* Visite guidée */
.tour-ov{position:fixed;inset:0;z-index:70}
.tour-spot{position:fixed;z-index:71;border-radius:10px;box-shadow:0 0 0 9999px rgba(20,24,30,.58);transition:all .28s ease;pointer-events:none}
.tour-bub{position:fixed;z-index:72;width:360px;max-width:calc(100vw - 24px);background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.28);padding:20px 20px 16px;animation:tipin .2s ease-out}
.tour-bub.centre{width:440px}
.tour-bub[data-sens=haut]:before,.tour-bub[data-sens=bas]:before{content:"";position:absolute;left:var(--fl,40px);width:14px;height:14px;background:#fff;transform:translateX(-50%) rotate(45deg)}
.tour-bub[data-sens=haut]:before{top:-7px}.tour-bub[data-sens=bas]:before{bottom:-7px}
.tour-bub h3{font-size:17px;letter-spacing:-.01em;margin:4px 26px 8px 0}
.tour-bub p{font-size:13.8px;color:#3a3833;line-height:1.6}
.tour-n{font-size:11.5px;font-weight:600;color:var(--ac2);text-transform:uppercase;letter-spacing:.05em}
.tour-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:22px;color:var(--tx3);cursor:pointer;line-height:1}
.tour-f{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.tour-b{display:flex;gap:8px;margin-left:auto}
.tour-dots{display:flex;gap:4px;flex-wrap:wrap;max-width:150px}.tour-dots i{width:6px;height:6px;border-radius:50%;background:var(--bd)}
.tour-dots i.vu{background:#9cc0e0}.tour-dots i.on{background:var(--ac2);width:16px;border-radius:3px}
.tour-bub.sheet{left:0!important;right:0;bottom:0;top:auto!important;width:auto;max-width:none;border-radius:16px 16px 0 0;transform:none!important}
.tour-bub.sheet:before{display:none}
html.tour-on .tip{display:none}
/* Campagne */
.camp-intro{margin-bottom:20px}
.trois{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.trois div{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.trois b{width:26px;height:26px;border-radius:50%;background:var(--acl);color:var(--ac);display:grid;place-items:center;font-size:13px;margin-bottom:4px}
.trois span{font-size:13px;color:var(--tx2)}
.camp-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.camp-invite label{display:block;font-size:13px;color:var(--tx2);margin:4px 0 6px}
.camp-invite textarea{width:100%;font:inherit;border:1px solid var(--bd);border-radius:8px;padding:9px 11px;margin-bottom:12px}
.ou{text-align:center;position:relative;margin:18px 0 12px;color:var(--tx3);font-size:12px}
.ou:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--bd)}.ou span{position:relative;background:#fff;padding:0 10px}
.lien{display:flex;gap:8px;align-items:center;margin-bottom:8px}.lien code{flex:1;background:var(--sf2);border-radius:8px;padding:8px 10px;font-size:12.5px;overflow:auto;white-space:nowrap}
.info{background:var(--acl);color:var(--ac);border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:12px}
.mail{border:1px solid var(--bd);border-radius:10px;overflow:hidden;font-size:13px}
.mail-h{background:var(--sf2);padding:10px 14px;display:flex;flex-direction:column;gap:2px;color:var(--tx2);font-size:12.5px}
.mail-b{padding:14px 16px;display:grid;gap:9px;line-height:1.55}
.mail-btn span{display:inline-block;background:var(--ac);color:#fff;border-radius:8px;padding:8px 18px;font-weight:600}
.fun{display:flex;align-items:center;justify-content:space-around;gap:10px;text-align:center;margin:4px 0 18px;flex-wrap:wrap}
.fun .v{font-size:34px;font-weight:700;color:var(--ac)}.fun .v.ok{color:var(--ok)}.fun .l{font-size:13px;color:var(--tx2)}.fun .fl{font-size:22px;color:var(--tx3)}
table.sites td,table.sites th{white-space:nowrap}
.barre{position:relative;height:10px;background:var(--sf2);border-radius:999px;overflow:hidden}
.barre div{position:absolute;left:0;top:0;bottom:0;background:#9cc0e0;border-radius:999px}.barre div.p{background:var(--ac2)}
.phones{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.phone{border:8px solid #1d1c19;border-radius:26px;background:#fff;overflow:hidden;max-width:260px;margin:0 auto;width:100%;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.ph-t{background:var(--ac);color:#fff;font-weight:600;font-size:13px;padding:12px 14px}
.ph-s{padding:14px;display:grid;gap:9px;font-size:12.5px;color:var(--tx2);min-height:250px;align-content:start}
.ph-up{border:2px dashed #9cc0e0;border-radius:10px;padding:18px 10px;text-align:center;color:var(--ac);font-size:20px;display:grid;gap:4px}.ph-up span{font-size:12.5px;font-weight:600}
.ph-s .q{color:var(--tx);font-weight:600;margin-top:2px}
.ph-ch{display:flex;gap:6px;flex-wrap:wrap}.ph-ch i{font-style:normal;border:1px solid var(--bd);border-radius:999px;padding:3px 10px}.ph-ch i.on{background:var(--ac2);border-color:var(--ac2);color:#fff}
.ph-rep{background:var(--acl);border-radius:8px;padding:8px 10px;display:grid}.ph-rep b{color:var(--tx);font-size:14px}
.ph-share{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--bd);border-radius:8px;padding:9px 10px;color:var(--tx);font-weight:600}
.sw{width:34px;height:20px;border-radius:999px;background:var(--ok);position:relative}.sw:after{content:"";position:absolute;right:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff}
@media (max-width:900px){.demo-box,.camp-grid,.trois,.phones{grid-template-columns:1fr}}
@media (max-width:720px){nav.who{gap:10px}.lien-visite{padding:5px 10px}}
.tour-prog{flex:1 1 90px;max-width:140px;height:5px;background:var(--sf2);border-radius:999px;overflow:hidden}
.tour-prog span{display:block;height:100%;background:var(--ac2);border-radius:999px;transition:width .25s}
