@font-face{font-family: 'Bodoni Moda'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/bodoni-moda-5d0b87.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'Bodoni Moda'; font-style: italic; font-weight: 500; font-display: swap; src: url(fonts/bodoni-moda-5d0b87.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'Bodoni Moda'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/bodoni-moda-aad168.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'Bodoni Moda'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/bodoni-moda-aad168.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'Jost'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/jost-35841f.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'Jost'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/jost-35841f.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'Jost'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/jost-35841f.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Bodoni Moda Fallback';src:local('Times New Roman');size-adjust:108.0%;ascent-override:104.2%;descent-override:37.0%;line-gap-override:0.0%}
@font-face{font-family:'Jost Fallback';src:local('Arial');size-adjust:95.1%;ascent-override:112.6%;descent-override:39.4%;line-gap-override:0.0%}

/* Layout: maison de coiffure éditoriale. En-tête fin avec le nom en Didone, pages en sections séparées par des filets, carte des prestations façon tarif imprimé (points de conduite), réservation en étapes ; l'espace salon reprend les mêmes tokens en version outil. */
:root{
  --bg:#FAF7F5; --surface:#FFFFFF; --surface-2:#F3ECE9; --ink:#1E1719; --muted:#6F6367;
  --line:#E6DBD7; --grid:#F1E9E6; --accent:#8C2D44; --accent-ink:#FFFFFF; --accent-soft:#F4E4E8;
  --hatch:rgba(30,23,25,.06); --ok:#276A46; --ok-soft:#E3F1E8; --warn:#8A5000; --warn-soft:#FAEEDB;
  --danger:#B3261E; --danger-soft:#F8E2E0; --star:#C08A1E;
  --shadow:0 1px 2px rgba(30,23,25,.05),0 12px 32px rgba(30,23,25,.08);
  --f-display:"Bodoni Moda","Bodoni Moda Fallback","Didot","Bodoni 72",Georgia,serif;
  --f-body:"Jost","Jost Fallback","Avenir Next","Century Gothic","Segoe UI",system-ui,sans-serif;
  --r:6px; --r-sm:3px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#141012; --surface:#1B1618; --surface-2:#241D20; --ink:#F3ECEC; --muted:#AC9EA2;
  --line:#372D31; --grid:#231C1F; --accent:#E7A2B3; --accent-ink:#1B0F13; --accent-soft:#3A2329;
  --hatch:rgba(255,255,255,.05); --ok:#73CC96; --ok-soft:#17301F; --warn:#E5AA55; --warn-soft:#362915;
  --danger:#F08A80; --danger-soft:#3A1F1C; --star:#E2B356; --shadow:0 1px 2px rgba(0,0,0,.35),0 12px 32px rgba(0,0,0,.3); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#141012; --surface:#1B1618; --surface-2:#241D20; --ink:#F3ECEC; --muted:#AC9EA2;
  --line:#372D31; --grid:#231C1F; --accent:#E7A2B3; --accent-ink:#1B0F13; --accent-soft:#3A2329;
  --hatch:rgba(255,255,255,.05); --ok:#73CC96; --ok-soft:#17301F; --warn:#E5AA55; --warn-soft:#362915;
  --danger:#F08A80; --danger-soft:#3A1F1C; --star:#E2B356; --shadow:0 1px 2px rgba(0,0,0,.35),0 12px 32px rgba(0,0,0,.3); color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
h1,h2,h3{font-family:var(--f-display);font-weight:500;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.005em}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--accent)}
.muted{color:var(--muted)}
.sel{user-select:all}
.num{font-variant-numeric:tabular-nums}
.eyebrow,.kicker{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
svg.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* en-tête */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.top-in,.wrap,.foot-in{max-width:1160px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.top-in{display:flex;align-items:center;gap:8px 28px;min-height:68px;flex-wrap:wrap;padding-block:10px}
.brand{text-decoration:none;color:var(--ink);font-family:var(--f-display);font-weight:500;font-size:26px;letter-spacing:-.01em;margin-right:auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav{display:flex;gap:4px 22px;flex-wrap:wrap;align-items:center}
.nav a{text-decoration:none;color:var(--muted);font-weight:500;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover{color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.top-cta{margin-left:4px}
@media (max-width:760px){.top .top-cta{display:none}.brand{font-size:22px}.nav{gap:4px 16px}}
@media (max-width:520px){.top-in{gap:2px 16px}.nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:0 14px;width:100%;margin-inline:-2px;padding-inline:2px}.nav::-webkit-scrollbar{display:none}.nav a{font-size:11.5px;letter-spacing:.07em;white-space:nowrap;flex:none;padding:8px 0}}
@media (max-width:380px){.nav{gap:0 12px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}}

main.wrap{padding-block:36px 72px;display:flex;flex-direction:column;gap:28px}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 18px;border-radius:var(--r-sm);font-weight:500;cursor:pointer;text-decoration:none;line-height:1.2;letter-spacing:.01em}
.btn:hover{border-color:var(--ink)}
.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.lg{padding:15px 28px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}
.btn.danger.solid{background:var(--danger);color:var(--surface);border-color:var(--danger)}
.btn.sm{padding:7px 12px;font-size:13px}
.btn.block{width:100%}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn:disabled:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.icon-btn{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;border-radius:var(--r-sm);display:inline-grid;place-items:center;cursor:pointer;color:var(--ink);flex:none}
.icon-btn:hover{border-color:var(--ink)}
.linkbtn{background:none;border:0;padding:0;color:var(--ink);font-weight:500;cursor:pointer;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.txtlink{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;font-weight:500}

/* formulaires */
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field>span{font-size:13px;font-weight:500}
.field small{color:var(--muted);font-size:12px}
input[type=text],input[type=tel],input[type=email],input[type=number],input[type=date],input[type=time],input[type=password],input[type=url],input[type=search],input:not([type]),select,textarea{
  width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:9px 11px;min-height:42px}
textarea{min-height:76px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:0;border-color:var(--accent)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:560px){.row2,.row3{grid-template-columns:1fr}}
.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px;min-height:24px}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex:none}
.form-err{background:var(--danger-soft);color:var(--danger);padding:10px 12px;border-radius:var(--r-sm);font-size:14px;font-weight:500}

/* pastilles (espace salon) */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap}
.pill.ok{background:var(--ok-soft);color:var(--ok)}
.pill.warn{background:var(--warn-soft);color:var(--warn)}
.pill.bad{background:var(--danger-soft);color:var(--danger)}
.pill.acc{background:var(--accent-soft);color:var(--accent)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none;display:inline-block}
.notice{font-size:14px;color:var(--muted)}
.infos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px}
.infos li{display:flex;align-items:center;gap:7px}
.hours table{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums}
.hours td{padding:7px 0;border-bottom:1px solid var(--line)}
.hours tr:last-child td{border-bottom:0}
.hours td:last-child{text-align:right;white-space:nowrap}
.hours tr.today td{font-weight:600}
.hours tr.today td:first-child::after{content:" · aujourd’hui";font-weight:400;color:var(--accent);font-size:13px}
.hours .closed{color:var(--muted)}
.btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.stars{display:inline-block;position:relative;line-height:1;letter-spacing:2px;font-size:15px;vertical-align:-1px;font-family:Georgia,serif}
.stars::before{content:"★★★★★";color:var(--line)}
.stars::after{content:"★★★★★";position:absolute;left:0;top:0;width:var(--p);overflow:hidden;white-space:nowrap;color:var(--star)}
.rating{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:14px;min-height:28px}
.rating b{font-weight:600}
.rating span{color:var(--muted)}
.rating:hover span{color:var(--ink)}
.ex-note{font-size:13px;color:var(--muted);font-style:italic;border-left:2px solid var(--warn);padding:2px 0 2px 12px}
.toolbar.ex-note{font-style:normal;color:var(--ink);background:var(--warn-soft);border:0;border-radius:var(--r);padding:10px 14px}
.tag-ex{position:absolute;top:10px;left:10px;background:rgba(20,14,16,.62);color:#fff;font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:2px}

/* ===== page Le salon ===== */
.p-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;padding-block:12px 24px}
@media (max-width:900px){.p-hero{grid-template-columns:1fr;gap:32px}}
.p-hero-txt{display:flex;flex-direction:column;gap:22px}
.p-title{font-size:clamp(40px,6.4vw,78px);line-height:1.02;letter-spacing:-.02em}
.p-lead{font-size:18.5px;line-height:1.6;max-width:50ch;color:var(--ink)}
.p-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.p-tel{font-size:14px;color:var(--muted)}
.p-tel .sel{color:var(--ink);font-weight:500}
.p-hero-img{position:relative;margin:0;aspect-ratio:4/5;max-width:100%;overflow:hidden;background:var(--surface-2)}
.p-hero-img img,.p-hero-img svg,.p-hero-img .illus{width:100%;height:100%;object-fit:cover;display:block}
.p-sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr);gap:20px 48px;border-top:1px solid var(--ink);padding-top:22px;margin-top:44px}
@media (max-width:820px){.p-sec{grid-template-columns:1fr;margin-top:28px}}
.p-sec>h2{font-size:15px;font-family:var(--f-body);font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.p-sec-b{display:flex;flex-direction:column;gap:20px;min-width:0}
.p-about p{font-size:17px;line-height:1.7;max-width:62ch}
.p-atouts{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));column-gap:32px}
.p-atouts li{padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;display:flex;gap:12px;align-items:baseline}
.p-atouts li::before{content:"";width:14px;height:1px;background:var(--accent);flex:none;transform:translateY(-4px)}
.p-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.p-gal.g-2{grid-template-columns:1fr 1fr}
.p-gal.g-big .ph-it:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:640px){.p-gal,.p-gal.g-big{grid-template-columns:1fr 1fr}.p-gal.g-big .ph-it:first-child{grid-row:auto;aspect-ratio:16/10}}
.ph-it{position:relative;border:0;padding:0;overflow:hidden;cursor:zoom-in;background:var(--surface-2);aspect-ratio:4/3;max-width:100%;display:block;width:100%;border-radius:2px}
.ph-it img,.ph-it .illus,.ph-it .illus svg{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ph-it:hover img,.ph-it:hover .illus svg{transform:scale(1.03)}
@media (prefers-reduced-motion:reduce){.ph-it img,.ph-it .illus svg{transition:none}}
.ph-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;background:linear-gradient(transparent,rgba(15,10,12,.55));color:#fff;font-size:13px;font-weight:500;text-align:left;letter-spacing:.02em}
.p-note{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.p-note .big{font-family:var(--f-display);font-size:64px;line-height:.9;font-variant-numeric:lining-nums}
.p-note .stars{font-size:20px}
.p-note small{display:block;color:var(--muted);font-size:13.5px;margin-top:6px}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:28px 36px}
.quote{margin:0;display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.quote blockquote{margin:0;font-family:var(--f-display);font-style:italic;font-size:19px;line-height:1.45}
.quote figcaption{font-size:13.5px}
.quote figcaption span{color:var(--muted)}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:28px 36px}
.mem{display:flex;flex-direction:column;gap:8px}
.mono{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-style:italic;font-size:30px;color:var(--ink);border:1px solid var(--c);background:color-mix(in srgb,var(--c) 10%,var(--bg));margin-bottom:6px}
.mem h3{font-size:24px}
.mem .role{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mem p:last-child{color:var(--muted);font-size:15px}
.p-infos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px}
@media (max-width:820px){.p-infos{grid-template-columns:1fr}}
.p-infos h3{font-family:var(--f-body);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:10px}
.p-infos .addr{font-family:var(--f-display);font-size:22px;line-height:1.3}

/* ===== réservation ===== */
.r-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:22px}
.r-head h1{font-size:clamp(36px,5.4vw,60px);letter-spacing:-.015em}
.r-head p{color:var(--muted);margin-top:10px}
.booking{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:clip}
.stepper{display:flex;border-bottom:1px solid var(--line);overflow-x:auto}
.stepper button{flex:1 0 auto;display:flex;align-items:baseline;gap:10px;padding:16px 20px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-weight:500;cursor:pointer;white-space:nowrap;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.stepper button:disabled{cursor:default;opacity:.5}
.stepper .n{font-family:var(--f-display);font-style:italic;font-size:20px;letter-spacing:0;text-transform:none}
.stepper .n svg.i{width:14px;height:14px}
.stepper button.done{color:var(--ink)}
.stepper button.cur{color:var(--ink);border-bottom-color:var(--accent)}
.bk-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px}
.bk-main{padding:28px;display:flex;flex-direction:column;gap:22px;min-width:0}
.bk-side{border-left:1px solid var(--line);background:var(--surface-2);padding:28px 24px;min-width:0}
.step-h{display:flex;flex-direction:column;gap:6px}
.step-h h2{font-size:32px}
.cat{display:flex;flex-direction:column}
.cat+.cat{margin-top:10px}
.cat-t{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:24px;padding-bottom:6px;border-bottom:1px solid var(--ink)}
.plist{display:flex;flex-direction:column}
.pitem{display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px;align-items:start;text-align:left;width:100%;padding:15px 10px 15px 4px;border:0;border-bottom:1px solid var(--line);background:none;cursor:pointer;border-radius:0}
.pitem:hover{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}
.pitem.on{background:var(--accent-soft)}
.pi-check{width:20px;height:20px;border-radius:2px;border:1px solid var(--muted);display:grid;place-items:center;margin-top:3px;color:transparent}
.pi-check svg.i{width:14px;height:14px;stroke-width:2.4}
.pitem.on .pi-check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.pi-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.pi-row{display:flex;align-items:baseline;gap:0;min-width:0}
.pi-nom{font-size:17px;font-weight:500}
.pi-dots{flex:1;min-width:20px;border-bottom:1px dotted var(--muted);margin:0 10px;transform:translateY(-5px);opacity:.7}
.pi-prix{font-family:var(--f-display);font-size:19px;font-variant-numeric:lining-nums;white-space:nowrap}
.pi-desc{color:var(--muted);font-size:14px}
.pi-desc .du{color:var(--ink);white-space:nowrap}
.clist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.citem{display:flex;gap:14px;align-items:center;text-align:left;padding:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;--c:var(--muted)}
.citem:hover:not(:disabled){border-color:var(--ink)}
.citem.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.citem:disabled{opacity:.45;cursor:not-allowed}
.citem b{display:block;font-weight:500;font-size:16px}
.citem small{display:block;color:var(--muted);font-size:13px}
.av{width:44px;height:44px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--f-display);font-style:italic;font-size:21px;background:color-mix(in srgb,var(--c) 12%,var(--surface));color:var(--ink);border:1px solid var(--c)}
.av.sm{width:30px;height:30px;font-size:15px}
.av-any{--c:var(--line)}
.days{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}
.day{flex:none;scroll-snap-align:start;width:70px;padding:10px 4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:0}
.day .dw{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.day .dn{font-family:var(--f-display);font-size:26px;line-height:1.15}
.day .dm{font-size:12px;color:var(--muted)}
.day .dc{font-size:11px;margin-top:3px;color:var(--ok)}
.day.full .dc{color:var(--muted)}
.day:disabled{cursor:not-allowed;opacity:.45}
.day.on{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.day.on .dw,.day.on .dm,.day.on .dc{color:var(--bg)}
.slots-g{display:flex;flex-direction:column;gap:8px}
.slots-g h4{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.slots{display:flex;flex-wrap:wrap;gap:6px}
.slot{min-width:74px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;font-weight:500;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:center;gap:1px}
.slot small{font-weight:400;font-size:11px;color:var(--muted)}
.slot:hover{border-color:var(--ink)}
.slot.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.slot.on small{color:var(--bg)}
.empty{padding:24px;border:1px dashed var(--line);border-radius:var(--r-sm);text-align:center;color:var(--muted)}
.sum{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}
.sum h3{font-size:24px}
.sum-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.sum-l li{display:flex;justify-content:space-between;gap:10px}
.sum-l li span:last-child{font-variant-numeric:tabular-nums}
.kv{display:grid;grid-template-columns:auto 1fr;gap:7px 16px;margin:0;font-size:14px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:500;min-width:0;overflow-wrap:anywhere}
.sum-tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--ink);padding-top:14px}
.sum-tot b{font-family:var(--f-display);font-weight:500;font-size:30px;font-variant-numeric:lining-nums}
.sum-note{font-size:12.5px;color:var(--muted)}
.sum-compact{display:none}
@media (max-width:860px){
  .bk-grid{grid-template-columns:1fr}
  .bk-main{padding:20px 18px}
  .bk-side{border-left:0;border-top:1px solid var(--line);position:sticky;bottom:0;z-index:5;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface);box-shadow:0 -8px 24px rgba(0,0,0,.08)}
  .sum{position:static;flex-direction:row;align-items:center;gap:12px}
  .sum>h3,.sum-l,.sum .kv,.sum-tot,.sum-note,.sum-vide{display:none}
  .sum-compact{display:flex;flex-direction:column;flex:1;min-width:0;font-size:13px;line-height:1.3}
  .sum-compact b{font-family:var(--f-display);font-size:20px;font-weight:500}
  .sum .btn{width:auto;flex:none}
  .step-h h2{font-size:26px}
}
.bk-form{display:flex;flex-direction:column;gap:14px;max-width:560px}
.done-card{padding:40px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.done-ic{width:58px;height:58px;border-radius:50%;border:1px solid var(--ok);color:var(--ok);display:grid;place-items:center}
.done-ic svg.i{width:28px;height:28px;stroke-width:2}
.done-card h2{font-size:38px}
.done-card .kv{text-align:left;background:var(--surface-2);padding:18px 20px;border-radius:var(--r-sm);width:min(460px,100%)}
.refcode{font-family:var(--f-display);font-size:32px;letter-spacing:.14em;color:var(--accent);user-select:all}
.manage{text-align:center;color:var(--muted)}

/* ===== produits ===== */
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:22px}
.sec-h h1{font-size:clamp(36px,5.4vw,60px)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:36px 24px}
.prod{display:flex;flex-direction:column;gap:12px}
.prod-img{aspect-ratio:1/1;max-width:100%;background:var(--surface-2);display:grid;place-items:center;overflow:hidden;border-radius:2px}
.prod-img img{width:100%;height:100%;object-fit:cover}
.ph{width:100%;height:100%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 10%,var(--surface-2));color:color-mix(in srgb,var(--c) 70%,var(--ink));font-family:var(--f-display);font-style:italic;font-size:46px}
.prod-b{display:flex;flex-direction:column;gap:5px;flex:1}
.prod-cat{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.prod-b h3,.prod-b h2{font-size:22px}
.prod-b p{font-size:14px;color:var(--muted);flex:1}
.prod-f{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:4px 0 6px}
.prod-f b{font-family:var(--f-display);font-weight:500;font-size:22px;font-variant-numeric:lining-nums}
.stock{font-size:13px;display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.stock::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.stock.warn::before{background:var(--warn)}
.stock.bad::before{background:var(--danger)}

/* ===== espace salon ===== */
.login{max-width:420px;margin:24px auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:32px;display:flex;flex-direction:column;gap:16px}
.login h1{font-size:34px}
.login .lk{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center}
.ad-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.ad-head h1{font-size:clamp(30px,4vw,42px)}
.ad-actions{display:flex;gap:8px;flex-wrap:wrap}
.ad-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto}
.ad-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap;display:flex;gap:6px;align-items:center}
.ad-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;font-size:11px;padding:1px 7px;font-variant-numeric:tabular-nums}
.ad-body{display:flex;flex-direction:column;gap:16px}
.ad-body h2{font-size:22px}
.pl-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pl-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.pl-nav input[type=date]{min-width:0;max-width:100%}
.pl-nav input{width:auto;min-height:36px;padding:6px 8px}
.pl-titre{font-size:26px;margin-right:auto}
.stats{display:flex;gap:10px;flex-wrap:wrap}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 14px;display:flex;flex-direction:column;min-width:110px}
.stat b{font-family:var(--f-display);font-weight:500;font-size:24px;font-variant-numeric:lining-nums}
.stat span{font-size:12px;color:var(--muted)}
.hint{font-size:13px;color:var(--muted)}
.pl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.pl{display:grid;grid-template-columns:56px repeat(var(--n),minmax(170px,1fr));min-width:calc(56px + var(--n) * 170px)}
.pl-ch{position:sticky;top:0;padding:10px 12px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);display:flex;align-items:center;gap:10px;background:var(--surface);min-width:0}
.pl-ch b{display:block;font-size:14px;font-weight:600}
.pl-ch small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-corner{border-bottom:1px solid var(--line)}
.pl-times{position:relative;height:var(--h)}
.pl-times span{position:absolute;right:8px;transform:translateY(-50%);font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.pl-col{position:relative;height:var(--h);border-left:1px solid var(--line);cursor:copy;background-image:linear-gradient(to bottom,var(--grid) 1px,transparent 1px);background-size:100% calc(var(--px) * 30px)}
.off{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,var(--hatch) 0 6px,transparent 6px 12px);pointer-events:none}
.abs{position:absolute;left:3px;right:3px;border-radius:var(--r-sm);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--muted) 22%,transparent) 0 6px,color-mix(in srgb,var(--muted) 10%,transparent) 6px 12px);border:1px dashed var(--muted);font-size:12px;padding:4px 8px;color:var(--ink);cursor:pointer;overflow:hidden;text-align:left;font-weight:500}
.ev{position:absolute;left:4px;right:4px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--c) 15%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 40%,transparent);border-left:3px solid var(--c);padding:4px 8px;font-size:12.5px;line-height:1.3;cursor:pointer;overflow:hidden;text-align:left;color:var(--ink);display:flex;flex-direction:column}
.ev:hover{box-shadow:var(--shadow);z-index:3}
.ev .t{font-weight:600;font-variant-numeric:tabular-nums;display:flex;gap:6px;align-items:center}
.ev .t svg.i{width:13px;height:13px}
.ev .c{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev .p{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev.short{flex-direction:row;flex-wrap:wrap;column-gap:8px;align-content:flex-start}
.ev.short .p{display:none}
.ev.inset{left:42%;z-index:2;box-shadow:-3px 0 0 var(--surface)}
.ev>span:not(.pose){position:relative;z-index:1}
.ev .pose{z-index:0;position:absolute;left:0;right:0;border-top:1px dashed color-mix(in srgb,var(--c) 70%,transparent);border-bottom:1px dashed color-mix(in srgb,var(--c) 70%,transparent);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--surface) 75%,transparent) 0 5px,transparent 5px 10px);display:flex;align-items:flex-end;font-size:10.5px;font-weight:500;color:var(--muted);padding:2px 8px;letter-spacing:.04em;text-transform:uppercase}
.ev.venu{opacity:.72}
.ev.absent{background:var(--danger-soft);border-left-color:var(--danger)}
.ev.absent .c{text-decoration:line-through}
.now{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--danger);pointer-events:none;z-index:4}
.now::before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--danger)}
.tbl-wrap{position:relative;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2)}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tr.click{cursor:pointer}
.tbl tr.click:hover td{background:var(--surface-2)}
.tbl .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl .dash{color:var(--muted)}
.tbl select{min-height:34px;padding:5px 8px;width:auto}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.ccard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:12px}
.ccard-h{display:flex;gap:12px;align-items:center}
.ccard-h b{display:block;font-size:16px;font-weight:500}
.ccard-h small{color:var(--muted)}
.mini-h{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:13px;font-variant-numeric:tabular-nums}
.mini-h span:nth-child(odd){color:var(--muted)}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.toolbar input{max-width:320px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:16px}
.reg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px}
.ad-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.ad-gal .ph-it{cursor:pointer}
.big-ph{overflow:hidden;background:var(--surface-2);border-radius:2px}
.big-ph img,.big-ph svg{width:100%;height:auto;display:block}

/* fenêtres */
#modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.ov{position:absolute;inset:0;background:rgba(15,10,12,.5)}
.dlg{position:relative;width:min(600px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r);box-shadow:0 24px 64px rgba(0,0,0,.3);overflow:hidden}
.dlg.lg{width:min(760px,100%)}
.dlg-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid var(--line)}
.dlg-h h2{font-size:24px}
.dlg-b{overflow:auto;padding:22px;display:flex;flex-direction:column;gap:16px}
.dlg-f{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding:14px 22px;background:var(--surface-2)}
.dlg-f .grow{margin-right:auto;font-size:14px;color:var(--muted)}
@media (max-width:600px){#modal{place-items:end stretch;padding:0}.dlg,.dlg.lg{width:100%;border-radius:12px 12px 0 0;max-height:92dvh}.dlg-f{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}}
.chk-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px}
.chk-list .check{justify-content:space-between;padding:4px 0}
.chk-list .check>span{flex:1}
.chk-list .check em{font-style:normal;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.chk-list .check.dis{opacity:.45;cursor:not-allowed}
.htable{width:100%;border-collapse:collapse;font-size:14px}
.htable td,.htable th{padding:6px 4px;text-align:left}
.htable th{font-size:12px;color:var(--muted);font-weight:500}
.htable input{min-height:34px;padding:5px 6px}
.dtable td{padding:6px 4px;vertical-align:middle}
.dtable input{width:90px;min-height:34px;padding:5px 8px}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.swatches label{cursor:pointer}
.swatches input{position:absolute;opacity:0;pointer-events:none}
.swatches span{display:block;width:30px;height:30px;border-radius:50%;background:var(--c);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.swatches input:checked+span{box-shadow:0 0 0 2px var(--c)}
.swatches input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.photo-ed{display:flex;gap:14px;align-items:center}
.photo-ed .prod-img{width:120px;flex:none;aspect-ratio:4/5}
.det-actions{display:flex;gap:8px;flex-wrap:wrap}

/* messages + pied de page */
#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:80;display:flex;flex-direction:column;gap:8px;align-items:center;width:min(480px,calc(100% - 32px));pointer-events:none}
.tst{background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:var(--r-sm);font-size:14px;box-shadow:var(--shadow);animation:tin .2s ease-out}
.tst.err{background:var(--danger);color:#fff}
@keyframes tin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tst{animation:none}}
footer{background:var(--ink);color:var(--bg)}
.foot-in{padding-block:44px 28px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:28px 40px;font-size:14px}
@media (max-width:820px){.foot-in{grid-template-columns:1fr}}
.foot-in .f-name{font-family:var(--f-display);font-size:30px;line-height:1.1;margin-bottom:8px}
.foot-in h4,.foot-in .f-h{font-family:var(--f-body);line-height:1.4;letter-spacing:.18em;margin:0 0 10px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:color-mix(in srgb,var(--bg) 60%,var(--ink))}
.foot-in p,.foot-in dt,.foot-in dd{color:color-mix(in srgb,var(--bg) 82%,var(--ink))}
.f-hours{margin:0;display:grid;grid-template-columns:auto auto;gap:4px 16px;font-variant-numeric:tabular-nums;justify-content:start}
.f-hours dd{margin:0}
.foot-in a{color:var(--bg)}
.foot-bar{grid-column:1/-1;border-top:1px solid color-mix(in srgb,var(--bg) 18%,var(--ink));padding-top:16px;display:flex;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;font-size:12.5px;color:color-mix(in srgb,var(--bg) 60%,var(--ink))}
.mode{display:inline-flex;align-items:center;gap:8px}
.mode i{width:7px;height:7px;border-radius:50%;background:var(--warn);display:inline-block}
.mode.shared i{background:var(--ok)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.avis-mention{margin-top:18px;font-size:13px;color:var(--muted);max-width:70ch;line-height:1.5}
.legal{max-width:70ch}.legal h2{font-size:22px;margin:28px 0 8px}.legal p{margin:0 0 10px;line-height:1.6}
.a-completer{color:var(--danger);font-style:italic}
.foot-bar a{color:inherit;text-decoration:underline}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.tel,.num{white-space:nowrap}
.stepper{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}
@media (max-width:560px){.pgrid{grid-template-columns:1fr;gap:18px}.prod{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:start}.prod .prod-img{aspect-ratio:4/5}.prod-b h2{font-size:19px}}
.alerte{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;background:var(--warn-soft);color:var(--ink);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);border-radius:var(--r-sm);padding:12px 16px;font-size:14px}
.alerte b{color:var(--warn)}
.conge{font-size:13px;color:var(--warn);font-weight:600;margin:0}
.liste-rdv{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.ccard .btns{display:flex;gap:8px;flex-wrap:wrap}
.tbl .linkbtn{min-height:28px;padding:2px 0}
/* Activité */
.act-bar{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap}
.act-bar .pl-titre{margin-right:auto}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}
.seg button{border:0;background:none;padding:7px 13px;cursor:pointer;color:var(--muted);font-weight:500;font:inherit;font-size:14px}
.seg button+button{border-left:1px solid var(--line)}
.seg button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent)}
.act-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:760px){.act-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.act-kpi{padding:12px}}
.act-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:2px;min-width:0}
.act-kpi>span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.act-kpi b{font-family:var(--f-display);font-weight:500;font-size:28px;font-variant-numeric:lining-nums tabular-nums;line-height:1.2}
.act-kpi small{font-size:13px;color:var(--muted)}
.act-kpi.main{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:linear-gradient(var(--accent-soft),var(--surface) 70%)}
.act-kpi.warn b{color:var(--warn)}
.act-kpi .up{color:var(--ok)}.act-kpi .down{color:var(--danger)}
.act-panel h3{font-size:18px;font-family:var(--f-display);font-weight:500}
.act-chart{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;gap:3px;height:210px;padding-top:20px}
.act-max{position:absolute;top:0;left:0;font-size:12px;color:var(--muted)}
.act-chart::before{content:"";position:absolute;left:0;right:0;top:20px;border-top:1px dashed var(--line)}
.act-col{display:flex;flex-direction:column;align-items:stretch;height:100%;min-width:0}
.act-stack{flex:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:0;box-shadow:inset 0 -1px var(--line)}
.act-stack i{display:block;border-radius:2px 2px 0 0}
.act-stack i.ft+i,.act-stack i.pv+i.ft{border-radius:0}
.act-col span{font-size:11px;color:var(--muted);text-align:center;padding-top:4px;white-space:nowrap;height:20px;flex:none}
.act-col span.hide{visibility:hidden}
i.ft{background:var(--accent)} i.pv{background:color-mix(in srgb,var(--accent) 28%,var(--surface))}
.act-leg{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.act-leg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.act-obj{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.act-obj-t{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}
.act-gauge{display:flex;height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.act-gauge i{display:block;height:100%}
.act-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px}
.act-grid .act-panel:first-child{grid-column:1/-1}
.act-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.act-list li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(60px,1fr) 44px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.act-list li:last-child{border-bottom:0}
.act-l{display:flex;flex-direction:column;min-width:0}
.act-l b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.act-l small{font-size:12.5px;color:var(--muted)}
.act-list .num{text-align:right;font-size:14px}
.act-bar-h{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.act-bar-h i{display:block;height:100%;background:var(--accent);border-radius:999px}
.act-big{font-size:15px}.act-big b{font-family:var(--f-display);font-size:26px;font-weight:500;color:var(--accent)}
.act-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:8px}
.act-note{max-width:80ch}
@media (max-width:560px){.act-kpi b{font-size:24px}.act-chart{height:170px}.act-bar .btn{flex:1 1 auto}}

.ev.attente{background:var(--warn-soft);border-style:dashed;border-left-style:solid;opacity:.9}
.ev.attente .c::after{content:" (à confirmer)";font-weight:400;color:var(--muted)}

[hidden]{display:none!important}
