/* ===== PORTAIL CLIENT — source migrée depuis index.php ===== */
html,body{max-width:100%;overflow-x:hidden}body{overflow-x:clip}img,svg,canvas,video,iframe{max-width:100%;height:auto}.wrap,.dcard,.mbox,.cal-card,.public-header,.public-footer{max-width:100%}
:root{
  --bg:#F5F5F7;--surf:#fff;--surf2:#F0F0F3;--ink:#1D1D1F;--tx2:#6E6E73;--tx3:#86868B;
  --crim:#C41230;--crim2:#E1374F;
  --line:rgba(0,0,0,.08);--bd:rgba(0,0,0,.08);--line2:rgba(0,0,0,.05);
  --rad:14px;--rad-lg:20px;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Segoe UI",Roboto,sans-serif;
  --e1:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.05);
  --e2:0 4px 14px -4px rgba(16,24,40,.08),0 2px 6px rgba(16,24,40,.04);
  --e3:0 12px 32px -8px rgba(16,24,40,.1),0 24px 56px -28px rgba(16,24,40,.16);
  --ease:cubic-bezier(.4,0,.2,1);--spring:cubic-bezier(.34,1.32,.64,1);
}
*:focus-visible{outline:3px solid var(--acc,#c41230);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
*{box-sizing:border-box;margin:0;min-width:0}
html,body{overflow-x:hidden;max-width:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh;display:flex;flex-direction:column}.ft{margin-top:auto}
img{max-width:100%}
::selection{background:rgba(196,18,48,.14)}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72rem 1.25rem;border:none;border-radius:11px;font:inherit;font-weight:560;font-size:14px;letter-spacing:-.01em;cursor:pointer;text-decoration:none;line-height:1;white-space:nowrap;transition:transform .18s var(--spring),box-shadow .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.btn i{font-size:18px;line-height:0}
.btn:active{transform:scale(.975)}
.bp{background:var(--crim);color:#fff;box-shadow:0 1px 2px rgba(196,18,48,.25)}
.bp:hover{background:#B30E2A;transform:translateY(-1px);box-shadow:0 6px 16px -4px rgba(196,18,48,.4)}
.bp:active{transform:translateY(0)}
.bg{background:var(--surf);color:var(--ink);border:1px solid var(--line);box-shadow:var(--e1)}
.bg:hover{background:#fff;border-color:rgba(0,0,0,.16);transform:translateY(-1px);box-shadow:var(--e2)}
.bgh{background:var(--surf2);color:var(--ink);border:1px solid transparent}
.bgh:hover{background:#E8E8EC}
.bsm{padding:.5rem .9rem;font-size:13px;border-radius:10px}
.btn.lg{padding:.86rem 1.5rem;font-size:15px;border-radius:12px}
/* barre */
#tb-actions{display:flex;gap:.55rem;align-items:center}
.client-toast{position:fixed;right:22px;bottom:22px;z-index:120;background:#17211b;color:#fff;border-radius:14px;padding:.8rem 1rem;box-shadow:0 16px 40px rgba(0,0,0,.18);font-size:13px;font-weight:700;display:flex;align-items:center;gap:.45rem;opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s var(--spring)}.client-toast.show{opacity:1;transform:none}.client-toast.error{background:#8f1024}.client-toast i{font-size:17px}.req-progress{height:5px;background:var(--surf2);border-radius:99px;overflow:hidden;margin:.7rem 0 1rem}.req-progress i{display:block;height:100%;width:33%;background:linear-gradient(90deg,var(--crim),#ed6377);border-radius:inherit;transition:width .3s var(--ease)}
.mat#mat{display:none!important}
body.client-dark{--bg:#15171b;--surf:#20242a;--surf2:#292e35;--ink:#f6f7f9;--tx2:#b7bdc7;--tx3:#8e97a4;--line:rgba(255,255,255,.12);--line2:rgba(255,255,255,.08)}body.client-dark input,body.client-dark select,body.client-dark textarea{background:#242930;color:#f6f7f9;border-color:rgba(255,255,255,.14)}
#estim .phead{background:linear-gradient(135deg,#17191e 0%,#303743 100%);color:#fff}#estim .phead h1,#estim .phead p{color:#fff}#estim>.wrap{max-width:900px;padding-top:2rem}#estim .dcard{max-width:none!important;border:0;box-shadow:0 18px 50px rgba(16,24,40,.12);padding:clamp(1.4rem,4vw,2.4rem)}#estim .dcard h3{font-size:22px}#estim .row2{gap:1rem}
#tb-actions .btn{border-radius:10px}#panel .wrap{max-width:1120px}#panel .phead-row{padding-top:1.2rem;padding-bottom:1.2rem}.phead-row .btn{box-shadow:0 10px 22px rgba(196,18,48,.2)}#panel .ptabs{margin-top:1.7rem}.mbox{border:1px solid rgba(16,24,40,.08)}.mbox .mh h3{font-size:22px}.mbox .foot{margin-top:1.5rem}.mbox .err,.mbox .ok{border-radius:13px;padding:.75rem .9rem}.cal-card{transform:rotate(.2deg);transition:transform .3s var(--spring),box-shadow .3s var(--ease)}.cal-card:hover{transform:rotate(0) translateY(-4px);box-shadow:0 22px 58px -18px rgba(16,24,40,.22)}
/* hero */
.hero{position:relative;isolation:isolate;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none}.hero:before{width:420px;height:420px;right:-110px;top:-150px;background:radial-gradient(circle,rgba(196,18,48,.18),transparent 68%);animation:heroFloat 9s ease-in-out infinite}.hero:after{width:300px;height:300px;left:-140px;bottom:-150px;background:radial-gradient(circle,rgba(35,91,170,.12),transparent 70%);animation:heroFloat 11s ease-in-out infinite reverse}@keyframes heroFloat{50%{transform:translate3d(0,18px,0) scale(1.06)}}.hero .wrap{padding:clamp(52px,8vw,108px) 24px clamp(44px,6vw,80px)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(36px,5vw,76px);align-items:center}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--crim);margin-bottom:1.1rem}
.hero h1{font-size:clamp(40px,5.6vw,66px);line-height:1.05;letter-spacing:-.035em;font-weight:600;color:var(--ink);margin-bottom:1.2rem}
.hero h1 em{font-style:normal;color:var(--crim)}
.hero .lead{font-size:clamp(17px,1.5vw,20px);color:var(--tx2);max-width:40ch;margin-bottom:2.3rem;line-height:1.55;letter-spacing:-.01em;font-weight:450}
.hero .cta{display:flex;gap:.7rem;flex-wrap:wrap}
/* calendrier */
.cal-card{background:var(--surf);border:1px solid var(--line);border-radius:var(--rad-lg);padding:1.5rem;box-shadow:var(--e3)}
.cal-in{border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;background:var(--surf)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}
.cal-head #cal-title{font-weight:600;font-size:15px;letter-spacing:-.02em;text-transform:capitalize;color:var(--ink)}
.cal-nav{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:17px;color:var(--ink);display:flex;align-items:center;justify-content:center;line-height:1;transition:.16s var(--ease)}
.cal-nav:hover{background:var(--surf2)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-dow{font-size:10.5px;font-weight:600;color:var(--tx3);text-align:center;padding:.3rem 0;text-transform:uppercase;letter-spacing:.04em}
.cal-day{aspect-ratio:1;border:none;background:transparent;border-radius:10px;cursor:pointer;font:inherit;font-size:13px;font-weight:450;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:background .14s var(--ease),color .14s var(--ease)}
.cal-day:hover{background:var(--surf2)}
.cal-day.out{visibility:hidden}
.cal-day.past{color:#C7C7CC;pointer-events:none}
.cal-day.rng{background:rgba(196,18,48,.08);border-radius:0}
.cal-day.end{background:var(--crim);color:#fff;font-weight:560}
.cal-day.s{border-top-left-radius:10px;border-bottom-left-radius:10px}.cal-day.e{border-top-right-radius:10px;border-bottom-right-radius:10px}
.cal-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}
.cal-period{font-size:13px;color:var(--tx2);font-weight:450}.cal-period b{color:var(--ink);font-weight:600}
/* matériel */
.mat{padding:clamp(52px,7vw,96px) 0}
.mat h2{font-size:clamp(28px,3.2vw,40px);letter-spacing:-.03em;font-weight:600;margin-bottom:1.6rem;color:var(--ink)}
.catwrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:1rem}
.catg{background:var(--surf);border:1px solid var(--line);border-radius:16px;padding:1.25rem 1.35rem;box-shadow:var(--e1);transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.catg:hover{transform:translateY(-3px);box-shadow:var(--e2);border-color:rgba(0,0,0,.12)}
.catg h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--crim);margin-bottom:.8rem;font-weight:660}
.chips{display:flex;flex-wrap:wrap;gap:.42rem}
.chip{font-size:13px;font-weight:450;background:var(--surf2);border:1px solid var(--line2);padding:.36rem .8rem;border-radius:99px;color:var(--ink);transition:.16s var(--ease)}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}}
/* footer */
/* modal */
.mo{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:none;align-items:flex-start;justify-content:center;z-index:80;padding:32px 16px;overflow:auto}
.mo.on{display:flex;animation:moIn .22s var(--ease)}
@keyframes moIn{from{opacity:0}to{opacity:1}}
.mbox{background:var(--surf);border-radius:var(--rad-lg);width:560px;max-width:96vw;box-shadow:var(--e3);padding:1.8rem;margin:auto;animation:boxIn .28s var(--spring)}
@keyframes boxIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.mbox.sm{width:420px}
.mh{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}
.mh h3{font-size:20px;letter-spacing:-.025em;font-weight:600;color:var(--ink)}
.xb{background:var(--surf2);border:none;width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:18px;color:var(--tx2);transition:.16s var(--ease);display:flex;align-items:center;justify-content:center}
.xb:hover{background:#E6E6EA;color:var(--ink)}
.msub{font-size:13.5px;color:var(--tx2);margin-bottom:1.3rem;line-height:1.5}
label{font-size:11px;font-weight:640;text-transform:uppercase;letter-spacing:.05em;color:var(--tx2);display:block;margin:.9rem 0 .35rem}
input,select,textarea{width:100%;padding:.74rem .9rem;border:1px solid var(--line);border-radius:11px;font:inherit;font-family:var(--sans);font-size:14px;background:#fff;color:var(--ink);transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}
input::placeholder,textarea::placeholder{color:var(--tx3)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--crim);box-shadow:0 0 0 4px rgba(196,18,48,.1)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.sep{height:1px;background:var(--line);margin:1.3rem 0}
.itrow{display:grid;grid-template-columns:1fr 1fr 78px 38px;gap:.45rem;margin-bottom:.45rem;align-items:center}
.itrow .x{background:var(--surf2);color:var(--crim);border:none;border-radius:10px;height:42px;cursor:pointer;font-size:16px;transition:.16s var(--ease)}
.itrow .x:hover{background:#E6E6EA}
.err{display:none;background:#FCEEF0;color:#8E0C20;border:1px solid rgba(196,18,48,.18);border-radius:11px;padding:.7rem .9rem;font-size:13px;font-weight:540;margin-top:.9rem;line-height:1.45}
.ok{display:none;background:#EDF7F0;color:#0F5C36;border:1px solid rgba(17,99,58,.18);border-radius:11px;padding:.85rem 1rem;font-size:13.5px;font-weight:520;margin-top:.9rem}
.foot{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.muted{font-size:13px;color:var(--tx2);text-align:center;margin-top:1rem}
.muted a{color:var(--crim);font-weight:560;cursor:pointer}.muted a:hover{text-decoration:underline}
/* panel — clair */
.phead{background:var(--surf);border-bottom:1px solid var(--line);padding:clamp(24px,3vw,36px) 0 clamp(20px,2.4vw,28px)}
.phead h1{font-size:clamp(21px,2.3vw,27px);letter-spacing:-.025em;margin-bottom:.2rem;font-weight:600;color:var(--ink)}
.phead h1 span{color:var(--crim)}
.phead p{color:var(--tx2);font-size:13.5px;letter-spacing:-.005em;font-weight:450;line-height:1.45}
.phead-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.ptabs{display:flex;gap:.25rem;flex-wrap:wrap;margin:26px 0 24px;background:var(--surf2);padding:.3rem;border-radius:13px;width:fit-content;max-width:100%}
.ptab{flex:0 0 auto;min-width:130px;border:none;background:transparent;padding:.62rem 1.1rem;border-radius:10px;font:inherit;font-family:var(--sans);font-weight:540;font-size:13.5px;color:var(--tx2);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.45rem;transition:background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}
.ptab:hover{color:var(--ink)}
.ptab.on{background:#fff;color:var(--ink);box-shadow:var(--e1);font-weight:600}
.ptab .b{background:rgba(0,0,0,.07);border-radius:99px;font-size:11px;padding:1px 7px;font-weight:600}.ptab.on .b{background:rgba(196,18,48,.12);color:var(--crim)}
.dcard{background:var(--surf);border:1px solid var(--line);border-radius:var(--rad);padding:1.4rem 1.5rem;margin-bottom:1rem;box-shadow:var(--e1);transition:box-shadow .22s var(--ease),transform .22s var(--ease)}
.dcard:hover{box-shadow:var(--e2)}
.dcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:.9rem;flex-wrap:wrap}
.dcard h3{font-size:16.5px;letter-spacing:-.02em;font-weight:600;color:var(--ink);line-height:1.3}
.st{font-size:11px;font-weight:640;padding:.3rem .76rem;border-radius:99px;white-space:nowrap;letter-spacing:.01em}
.st-p{background:#FEF3E2;color:#9A6300}.st-v{background:#E9F8EE;color:#11633A}.st-r{background:#FFF0F3;color:#900C21}.st-cp{background:#EAF1FF;color:#1B4DA8}
.cpbox{margin-top:.9rem;padding:1rem 1.1rem;border:1px solid #D6E2FF;background:#F5F8FF;border-radius:13px}
.cpbox-h{font-size:12px;font-weight:660;text-transform:uppercase;letter-spacing:.04em;color:#1B4DA8}
.chip.cp{background:#fff;border-color:#D6E2FF;color:#1B4DA8}
.refbox{margin-top:.9rem;padding:.95rem 1.1rem;border:1px solid #F3CDD2;background:#FDF6F7;border-radius:13px;font-size:13px;color:#7A1020}
.refbox b{color:#900C21}
.panel-shell{min-height:calc(100vh - 64px);display:flex;flex-direction:column}.panel-shell>.wrap{flex:1}.phead{background:linear-gradient(180deg,#fff 0%,#fafafd 100%);position:relative;overflow:hidden}.phead:after{content:"";position:absolute;width:260px;height:260px;right:-80px;top:-130px;border-radius:50%;background:radial-gradient(circle,rgba(196,18,48,.1),transparent 70%);pointer-events:none}.phead .wrap{position:relative;z-index:1}.phead h1{font-size:clamp(26px,4vw,38px);font-weight:700}.phead p{max-width:620px}.dcard{padding:1.55rem;border-radius:20px;box-shadow:0 8px 30px rgba(16,24,40,.055);transition:transform .22s var(--spring),box-shadow .22s var(--ease)}.dcard:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(16,24,40,.1)}.dcard .top{padding-bottom:.9rem;border-bottom:1px solid var(--line2);margin-bottom:.9rem}.st{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .72rem;border-radius:999px;font-size:11px;font-weight:750;letter-spacing:.01em}.chip{box-shadow:inset 0 0 0 1px rgba(0,0,0,.025)}.cpbox,.refbox{box-shadow:0 8px 22px rgba(16,24,40,.04)}.empty{padding:4rem 2rem;background:linear-gradient(145deg,#fff,#fafafd)}.empty-ic{box-shadow:0 8px 20px rgba(16,24,40,.07)}.hero-grid>div:first-child{animation:clientReveal .65s var(--ease) both}.hero-grid>div:last-child{animation:clientReveal .8s .08s var(--ease) both}@keyframes clientReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.catg{box-shadow:0 8px 24px rgba(16,24,40,.045)}.catg:hover{transform:translateY(-5px) scale(1.01)}
.dmeta{font-size:13px;color:var(--tx2);margin:.55rem 0 .9rem;display:flex;gap:.4rem 1.15rem;flex-wrap:wrap}
.dmeta span{display:inline-flex;align-items:center;gap:.4rem}
.dmeta i{font-size:15px;color:var(--tx3)}
.dmeta b{color:var(--ink);font-weight:600}
.empty{text-align:center;color:var(--tx2);padding:3rem 2rem;background:var(--surf);border:1px solid var(--line);border-radius:var(--rad);font-size:14px;box-shadow:var(--e1)}
.empty-ic{width:56px;height:56px;border-radius:50%;background:var(--surf2);display:flex;align-items:center;justify-content:center;margin:0 auto .9rem;font-size:26px;color:var(--tx3)}
.empty p{margin-bottom:0}
.tw{overflow:auto}
/* responsive */
@media(max-width:560px){.itrow{grid-template-columns:1fr 1fr}.itrow .x{grid-column:2}}
@media(max-width:600px){
  .wrap{padding:0 17px}
  #tb-actions .btn{padding:.46rem .72rem;font-size:12px}
  .hero .cta{flex-direction:column}.hero .cta .btn{width:100%}
  .phead-row .btn{width:100%}
  .row2{grid-template-columns:1fr}
  .ptabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:auto}
  .mo{padding:0;align-items:flex-end}
  .mbox{width:100vw;max-width:100vw;max-height:94dvh;overflow-y:auto;border-radius:20px 20px 0 0;padding:1.4rem 1.2rem;animation:sheetIn .3s var(--ease)}
  @keyframes sheetIn{from{transform:translateY(100%)}to{transform:none}}
  .foot{flex-direction:column-reverse}.foot .btn{width:100%}
  .cal-card{padding:1.2rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* ===== PORTAIL CLIENT — composition plein écran ===== */
body.landing-screen{height:100dvh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}
body.landing-screen>.public-header{flex:0 0 auto}
body.landing-screen #land{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}
body.landing-screen #land>.hero{display:flex;flex:1 1 auto;min-height:0;align-items:center}
body.landing-screen #land>.hero>.wrap{width:min(1120px,100%);padding:clamp(18px,3.8vh,42px) 22px}
body.landing-screen #land .hero-grid{gap:clamp(22px,4vw,54px)}
body.landing-screen #land .hero h1{font-size:clamp(38px,5.2vw,66px);margin:.18em 0}
body.landing-screen #land .hero .lead{margin-bottom:clamp(14px,2.5vh,25px)}
body.landing-screen #land .cal-card{padding:clamp(12px,2vh,20px)}
body.landing-screen #land .cal-head{margin-bottom:8px}
body.landing-screen #land .cal-foot{margin-top:8px;padding-top:8px}
@media(max-width:820px){
  body.landing-screen #land>.hero>.wrap{padding:12px 16px}
  body.landing-screen #land .hero-grid{grid-template-columns:1fr;gap:10px}
  body.landing-screen #land .hero h1{font-size:clamp(30px,8vw,42px);line-height:.96;margin:5px 0}
  body.landing-screen #land .hero .lead{font-size:13px;margin:5px 0 9px}
  body.landing-screen #land .eyebrow{font-size:9px;padding:4px 7px}
  body.landing-screen #land .hero .cta{display:flex;flex-direction:row;gap:5px;flex-wrap:wrap}
  body.landing-screen #land .hero .cta .btn{width:auto;min-height:34px;padding:.42rem .62rem;font-size:11px;flex:1 1 auto}
  body.landing-screen #land .cal-card{padding:9px 11px}
  body.landing-screen #land .cal-head{margin-bottom:4px}
  body.landing-screen #land .cal-day{aspect-ratio:auto;height:25px;min-height:25px;font-size:11px;border-radius:6px}
  body.landing-screen #land .cal-wd{font-size:8px;padding:2px 0}
  body.landing-screen #land .cal-foot{margin-top:4px;padding-top:5px}
  body.landing-screen #land .cal-period{font-size:10px}
}
@media(max-height:680px){
  body.landing-screen #land>.hero>.wrap{padding-top:7px;padding-bottom:7px}
  body.landing-screen #land .hero-grid{gap:6px}
  body.landing-screen #land .hero h1{font-size:clamp(28px,7vw,38px)}
  body.landing-screen #land .hero .lead{margin:3px 0 6px}
  body.landing-screen #land .cal-day{height:22px;min-height:22px}
}



:root{--public-accent:#c41230;--bg:#ebe6df;--surf:#fff;--surf2:#f2eeea;--ink:#191716;--tx2:#655f59;--tx3:#8a837d;--line:#ded9d3;--crim:var(--public-accent)}
*{box-sizing:border-box}
body{margin:0;background-color:var(--bg);background-image:linear-gradient(rgba(57,43,34,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(57,43,34,.028) 1px,transparent 1px);background-size:34px 34px;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.public-header{position:relative;z-index:50;width:100%;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);box-shadow:0 8px 30px rgba(29,22,18,.055);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.public-header-wrap{width:min(1120px,100%);height:64px;margin:auto;padding:8px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px}.public-brand{min-width:0;display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:800;line-height:1.15}.public-brand-mark,.public-footer-mark{display:grid;place-items:center;background:var(--public-accent);color:#fff;font-weight:800}.public-brand-mark{width:36px;height:36px;flex:0 0 36px;border-radius:8px;font-size:18px}.public-brand-copy{display:flex;flex-direction:column}.public-brand-copy small{margin-top:2px;color:#6d6862;font-size:10px;font-weight:600}.public-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px}.public-nav>a{padding:.55rem .76rem;border-radius:8px;color:#5f5954;text-decoration:none;font-size:13px;font-weight:700;transition:background .18s,color .18s}.public-nav>a:hover,.public-nav>a[aria-current=page]{background:var(--surf2);color:var(--ink)}.public-nav>a[aria-current=page]{box-shadow:inset 0 -2px var(--public-accent)}.public-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:190px}.public-actions #tb-actions{display:flex;justify-content:flex-end;min-width:124px}.public-actions #tb-actions>.btn{width:124px;justify-content:center;white-space:nowrap}.public-theme-toggle{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5f5954;font-size:17px;cursor:pointer;transition:.18s}.public-theme-toggle:hover{border-color:#c9c2bb;background:var(--surf2);color:var(--ink)}.public-login-link{min-width:124px;padding:.55rem .76rem!important;border:1px solid var(--line);text-align:center}.public-nav a:focus-visible,.public-brand:focus-visible,.public-theme-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--public-accent) 28%,transparent);outline-offset:2px}
.public-footer{position:relative;margin-top:48px;padding:22px 0 16px;border-top:1px solid var(--line);background:#fff;color:var(--tx2)}.public-footer-wrap{width:min(1120px,100%);margin:auto;padding:0 22px}.public-footer-main{display:flex;align-items:center;justify-content:space-between;gap:24px}.public-footer-brand{display:flex;align-items:center;gap:10px}.public-footer-mark{width:34px;height:34px;border-radius:8px}.public-footer-brand strong{display:block;color:var(--ink)}.public-footer-brand p{margin:2px 0 0;color:#6d6862;font-size:12px}.public-footer-links{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.public-footer-links a{padding:.42rem .55rem;border-radius:7px;color:var(--tx2);text-decoration:none;font-size:12px;font-weight:650}.public-footer-links a:hover{background:var(--surf2);color:var(--public-accent)}.public-footer-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #e8e4df;color:var(--tx3);font-size:11px}.public-footer-secure{padding:.25rem .5rem;border:1px solid var(--line);border-radius:6px;color:var(--tx2)}
body.public-blog,body.public-legal,body.public-reset{min-height:100vh;display:flex;flex-direction:column}.public-blog .top{display:none}.public-blog .hero{padding:88px 22px 54px;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(235,230,223,.3));border-bottom:1px solid var(--line)}.public-blog .hero span{display:inline-flex;padding:6px 10px;border:1px solid color-mix(in srgb,var(--public-accent) 20%,transparent);border-radius:6px;background:#fff0f3;color:var(--public-accent);font-size:11px;font-weight:800;letter-spacing:.12em}.public-blog .hero h1{max-width:850px;margin:18px auto 16px;color:var(--ink);font-size:clamp(42px,7vw,76px);font-weight:780;letter-spacing:-.06em;line-height:.98;text-wrap:balance}.public-blog .hero p{max-width:650px;margin:auto;color:var(--tx2);font-size:17px}.public-blog>.wrap,.public-blog main.wrap{width:min(1120px,100%);margin:auto;padding:32px 22px 84px}.public-blog .cats{display:flex;margin:0 0 30px;justify-content:flex-start;gap:8px;flex-wrap:wrap}.public-blog .cats a{padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.75);color:#5f5954;text-decoration:none;font-size:12px;font-weight:750}.public-blog .cats a:hover{border-color:var(--public-accent);color:var(--public-accent);background:#fff}.public-blog .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0}.public-blog .card{margin:0;max-width:none;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 34px rgba(29,22,18,.06);transition:transform .2s,box-shadow .2s}.public-blog .card:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(29,22,18,.1)}.public-blog .card img{width:100%;aspect-ratio:16/9;object-fit:cover}.public-blog .card .pad{padding:22px}.public-blog .card a{color:inherit;text-decoration:none}.public-blog .card h2{margin:8px 0 10px;color:var(--ink);font-size:21px;line-height:1.15;letter-spacing:-.035em}.public-blog .card p{margin:0;color:var(--tx2);font-size:14px;line-height:1.6}.public-blog .meta{color:var(--public-accent);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.public-blog>article,.public-legal .box,.public-reset>.box{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(29,22,18,.07)}.public-blog>article{width:min(860px,calc(100% - 32px));margin:48px auto;padding:clamp(25px,5vw,58px);overflow:hidden}.public-blog>article h1,.public-legal h1,.public-reset h1{color:var(--ink);font-weight:780;letter-spacing:-.045em;line-height:1.05}.public-blog>article h1{font-size:clamp(36px,6vw,60px)}.public-blog>article img{width:100%;border-radius:14px}.public-blog>article>p:first-child a{display:inline-flex;padding:7px 10px;border-radius:7px;background:var(--surf2);color:#5f5954;text-decoration:none;font-size:12px;font-weight:750}.public-blog .body{color:#393532;line-height:1.7}.public-blog .body h2{margin-top:1.7em;color:var(--ink);letter-spacing:-.025em}.public-blog .body a,.public-legal a,.public-reset a{color:var(--public-accent)}.public-blog .public-footer,.public-legal .public-footer,.public-reset .public-footer{margin-top:auto}
.public-legal .box{width:min(900px,calc(100% - 32px));margin:48px auto;padding:clamp(22px,5vw,52px)}.public-legal .meta{color:var(--tx2);font-size:13px}.public-legal .body{white-space:pre-wrap;line-height:1.65}.public-legal main>.nav{display:none}.public-reset>.box{width:min(430px,calc(100% - 32px));margin:48px auto;padding:30px}.public-reset label{display:block;font-weight:750;margin:18px 0 6px}.public-reset input,.public-reset button{width:100%;min-height:44px;padding:13px;border-radius:10px;font:inherit}.public-reset input{border:1px solid #bbb;background:#fff}.public-reset button{margin-top:18px;border:0;background:var(--public-accent);color:#fff;font-weight:800;cursor:pointer}.public-reset .msg{margin-top:14px;font-weight:700}
body.client-dark{--bg:#111318;--surf:#20242a;--surf2:#292e35;--ink:#f6f7f9;--tx2:#b7bdc7;--tx3:#8e97a4;--line:rgba(255,255,255,.11);background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);color:var(--ink)}body.client-dark .public-header{background:rgba(20,23,28,.96)}body.client-dark .public-brand,body.client-dark .public-footer-brand strong{color:#fff}body.client-dark .public-brand-copy small,body.client-dark .public-nav>a,body.client-dark .public-footer-brand p,body.client-dark .public-footer-links a{color:#b7bdc7}body.client-dark .public-nav>a:hover,body.client-dark .public-nav>a[aria-current=page],body.client-dark .public-theme-toggle,body.client-dark .public-footer-links a:hover{background:#292e35;color:#fff}body.client-dark .public-theme-toggle{border-color:var(--line)}body.client-dark .public-footer{background:#1d2126}body.client-dark .public-footer-bottom{border-color:var(--line)}body.client-dark .public-blog .hero{background:linear-gradient(180deg,#1b1f25,#111318)}body.client-dark .public-blog .hero span{background:rgba(196,18,48,.16);color:#ff8fa0}body.client-dark .public-blog .card,body.client-dark .public-blog>article,body.client-dark .public-legal .box,body.client-dark .public-reset>.box{background:#20242a;color:#f6f7f9}body.client-dark .public-blog .body{color:#c8cdd5}body.client-dark .public-reset input{background:#292e35;color:#fff;border-color:var(--line)}
@media(max-width:860px){.public-blog .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.public-footer-main{align-items:flex-start;flex-direction:column}.public-footer-links{justify-content:flex-start}.public-footer-bottom{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.public-header-wrap{height:56px;padding:6px 14px;gap:8px}.public-brand-copy small{display:none}.public-nav{gap:0}.public-nav>a{padding:.42rem .48rem;font-size:12px}.public-actions{min-width:0}.public-login-link{min-width:0}}@media(max-width:580px){.public-blog .hero{padding:58px 18px 38px}.public-blog>.wrap,.public-blog main.wrap{padding:24px 16px 56px}.public-blog .grid{grid-template-columns:1fr}.public-blog>article,.public-legal .box,.public-reset>.box{margin:24px auto}}@media(prefers-reduced-motion:reduce){.public-header *,.public-footer *,.public-blog *{transition:none!important;scroll-behavior:auto!important}}

/* Autorité visuelle commune : mêmes proportions sur accueil, blog et pages de contenu. */
.public-login-link{display:inline-flex;align-items:center;justify-content:center;min-width:124px;min-height:38px;padding:.55rem .9rem!important;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)!important;text-decoration:none;font-size:13px;font-weight:650;line-height:1;box-shadow:0 2px 7px rgba(29,22,18,.06)}
.public-login-link:hover{background:var(--surf2)}
.public-blog .hero{padding:58px 22px 40px}
.public-blog .hero h1{max-width:760px;margin:15px auto 11px;font-size:clamp(36px,4.8vw,58px);font-weight:600;letter-spacing:-.045em;line-height:1.05}
.public-blog .hero span{font-weight:700;letter-spacing:.09em}
.public-blog>.wrap,.public-blog main.wrap{padding-bottom:56px}
.public-blog>article h1{font-size:clamp(32px,4.5vw,50px);font-weight:650}
.public-footer{flex:0 0 auto;margin-top:0!important;padding:9px 0 7px!important}
.public-footer-mark{width:28px!important;height:28px!important;font-size:14px!important}
.public-footer-brand p{display:none!important}
.public-footer-bottom{margin-top:6px!important;padding-top:6px!important}
.public-blog .public-footer,.public-legal .public-footer,.public-reset .public-footer{margin-top:auto!important}
body.client-dark .public-login-link{background:#292e35;color:#fff!important;border-color:var(--line)}
@media(max-width:580px){.public-blog .hero{padding:42px 18px 30px}.public-blog .hero h1{font-size:clamp(32px,10vw,44px)}}

/* Le shell public reste neutre, indépendamment des couleurs propres au contenu de chaque page. */
.public-header .public-brand{color:var(--ink)!important}
.public-header .public-nav>a{color:#5f5954!important}
.public-header .public-nav>a:hover,.public-header .public-nav>a[aria-current="page"]{color:var(--ink)!important}
.public-footer .public-footer-brand strong{color:var(--ink)!important}
.public-footer .public-footer-links a{color:var(--tx2)!important}
.public-footer .public-footer-links a:hover{color:var(--public-accent)!important}
.public-footer .public-footer-links a[aria-current="page"]{background:var(--surf2);color:var(--public-accent)!important}
body.client-dark .public-header .public-brand,body.client-dark .public-header .public-nav>a:hover,body.client-dark .public-header .public-nav>a[aria-current="page"],body.client-dark .public-footer .public-footer-brand strong{color:#fff!important}
body.client-dark .public-header .public-nav>a,body.client-dark .public-footer .public-footer-links a{color:#b7bdc7!important}
body.client-dark .public-footer .public-footer-links a:hover{color:#fff!important}
body.client-dark .public-footer .public-footer-links a[aria-current="page"]{background:#292e35;color:#fff!important}

/* Blog : état vide éditorial et contraste sombre accessible. */
.public-blog-empty{grid-column:1/-1;min-height:190px;padding:36px 24px;border:1px dashed #cfc8c1;border-radius:14px;background:rgba(255,255,255,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--tx2);box-shadow:0 12px 34px rgba(29,22,18,.035)}
.public-blog-empty-icon{width:46px;height:46px;margin-bottom:13px;border:1px solid color-mix(in srgb,var(--public-accent) 20%,transparent);border-radius:12px;background:#fff0f3;display:grid;place-items:center;color:var(--public-accent);font-size:22px}
.public-blog-empty strong{color:var(--ink);font-size:17px;letter-spacing:-.02em}.public-blog-empty p{margin:5px 0 0;color:var(--tx2);font-size:13px}
body.client-dark.public-blog{background-color:#111318!important;color:#f6f7f9!important}
body.client-dark.public-blog .hero{background:radial-gradient(circle at 50% 0,rgba(196,18,48,.14),transparent 48%),linear-gradient(180deg,#1b1f25 0%,#14171c 100%)!important;border-bottom-color:rgba(255,255,255,.1)!important}
body.client-dark.public-blog .hero h1{color:#f7f8fa!important}body.client-dark.public-blog .hero p{color:#b7bdc7!important}
body.client-dark.public-blog .hero span{background:rgba(196,18,48,.14)!important;border-color:rgba(255,104,128,.3)!important;color:#ff8fa0!important}
body.client-dark.public-blog .cats a{background:#20242a!important;border-color:rgba(255,255,255,.12)!important;color:#c7ccd4!important}
body.client-dark.public-blog .cats a:hover,body.client-dark.public-blog .cats a[aria-current="page"]{background:#292e35!important;border-color:rgba(255,143,160,.5)!important;color:#ff9aac!important}
body.client-dark.public-blog .public-blog-empty{background:linear-gradient(145deg,#20242a,#1b1f24)!important;border-color:rgba(255,255,255,.16)!important;color:#b7bdc7!important;box-shadow:0 18px 48px rgba(0,0,0,.2)}
body.client-dark.public-blog .public-blog-empty-icon{background:rgba(196,18,48,.14);border-color:rgba(255,143,160,.25);color:#ff8fa0}
body.client-dark.public-blog .public-blog-empty strong{color:#f6f7f9}body.client-dark.public-blog .public-blog-empty p{color:#aeb5c0}
body.client-dark.public-blog .card,body.client-dark.public-blog>article{background:#20242a!important;border-color:rgba(255,255,255,.11)!important;color:#f6f7f9!important}

/* Contrat de thème des contenus publics, y compris les futurs imports. */
[data-public-surface]{background:var(--surf);color:var(--ink);border-color:var(--line)}
body.client-dark [data-public-surface],body.client-dark.public-legal main.box,body.client-dark.public-reset main.box{background:linear-gradient(145deg,#20242a,#1b1f24)!important;color:#e8ebef!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 20px 56px rgba(0,0,0,.24)!important}
body.client-dark [data-public-surface] h1,body.client-dark [data-public-surface] h2,body.client-dark [data-public-surface] h3,body.client-dark.public-legal main.box h1,body.client-dark.public-reset main.box h1{color:#f7f8fa!important}
body.client-dark [data-public-surface] p,body.client-dark [data-public-surface] li,body.client-dark [data-public-surface] .body,body.client-dark.public-legal main.box .body{color:#c8cdd5!important}
body.client-dark [data-public-surface] .meta,body.client-dark.public-legal main.box .meta{color:#9fa7b3!important}
body.client-dark [data-public-surface] a,body.client-dark.public-legal main.box a,body.client-dark.public-reset main.box a{color:#ff8fa0!important}
body.client-dark [data-public-surface] input,body.client-dark [data-public-surface] select,body.client-dark [data-public-surface] textarea{background:#292e35!important;color:#f7f8fa!important;border-color:rgba(255,255,255,.14)!important}
body.client-dark [data-public-surface] input::placeholder,body.client-dark [data-public-surface] textarea::placeholder{color:#8f98a5!important}
body.client-dark [data-public-surface] hr{border-color:rgba(255,255,255,.11)!important}

/* Page d’erreur publique — même shell, aucun thème autonome. */
body.public-error{min-height:100dvh;display:flex;flex-direction:column}
.public-error>main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;position:relative}
.public-error .bg-blur{position:absolute;width:min(400px,80vw);height:min(400px,80vw);background:radial-gradient(circle,color-mix(in srgb,var(--public-accent) 8%,transparent),transparent 70%);top:40%;left:50%;transform:translate(-50%,-50%);pointer-events:none}
.public-error .error-card{position:relative;z-index:2;width:min(560px,100%);padding:clamp(30px,6vw,58px);border:1px solid var(--line);border-radius:20px;background:var(--surf);box-shadow:0 24px 64px rgba(29,22,18,.09);text-align:center}
.public-error .error-code{margin-bottom:18px;color:var(--ink);font-size:clamp(72px,12vw,110px);font-weight:850;line-height:.9;letter-spacing:-.06em}
.public-error .error-card h1{margin:0 0 14px;color:var(--ink);font-size:clamp(24px,4vw,30px);letter-spacing:-.035em}
.public-error .error-card p{margin:0 auto 28px;max-width:48ch;color:var(--tx2);font-size:15px;line-height:1.6}
.public-error .btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;border-radius:11px;background:var(--public-accent);color:#fff;text-decoration:none;font-size:14px;font-weight:750;transition:filter .18s ease,box-shadow .18s ease}
.public-error .btn-primary:hover{filter:brightness(1.06);box-shadow:0 12px 28px color-mix(in srgb,var(--public-accent) 25%,transparent)}
.public-error .countdown-container{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--tx2);font-size:12px}.public-error .progress-dots{display:flex}.public-error .dot{width:6px;height:6px;border-radius:50%;background:var(--public-accent)}.public-error #countdown{color:var(--public-accent);font-weight:800}
body.client-dark.public-error .error-card{background:linear-gradient(145deg,#20242a,#1b1f24);border-color:rgba(255,255,255,.12);box-shadow:0 24px 64px rgba(0,0,0,.28)}

/* Primitives du portail client — remplacent les styles HTML statiques. */
.client-initially-hidden{display:none}.client-muted,.client-help{color:var(--tx2)}.client-section-flush{padding-top:0}.client-section-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;flex-wrap:wrap}.client-search-medium{max-width:300px}.client-search-wide{min-width:220px}.client-actions-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.client-content-bottom{padding-bottom:60px}.client-help{font-size:13px}.client-help-spaced{margin:.4rem 0 .8rem}.client-help-bottom{margin-bottom:1rem}.client-button-row{display:flex;gap:.5rem;flex-wrap:wrap}.client-card-medium{max-width:620px}.client-card-large{max-width:700px}.client-heading-tight{margin-bottom:.2rem}.client-label-note{color:var(--tx2);font-weight:600;text-transform:none}.client-primary-full{width:100%;justify-content:center;margin-top:1rem}.client-results{margin-top:1.25rem}
.client-consent{display:flex;gap:.55rem;align-items:flex-start;text-transform:none;font-weight:600}.client-consent-check{width:auto;margin-top:.2rem}.client-label-spaced{margin-top:1rem}.client-row-spaced{margin-top:.6rem}.client-button-spaced{margin-top:.5rem}.client-textarea-fixed{resize:none}.client-modal-primary{width:100%;margin-top:1.2rem;justify-content:center}.client-muted-tight{margin-top:.2rem}.client-account-note{margin-top:.35rem;color:var(--tx2);font-size:11.5px}
.client-faq-title{margin-bottom:.45rem;font-size:16px}.client-button-top{margin-top:1rem}.client-request-note{margin-top:.6rem;color:var(--tx2);font-size:13px}.client-counter-note{margin:.3rem 0 .6rem;font-size:13px}.client-request-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.client-ref-action{margin-top:.7rem}.client-edit-action{margin-top:.9rem}.client-valid-note{margin-top:.5rem;color:#11633a;font-size:13px}.client-estim-cell{padding:.55rem .85rem;border-bottom:1px solid var(--bd)}.client-estim-qty{text-align:right;font-weight:800}.client-estim-summary{margin-bottom:.85rem}.client-estim-table-wrap{overflow:hidden;border:1px solid var(--bd);border-radius:14px}.client-estim-table{width:100%;border-collapse:collapse;font-size:13px}.client-estim-head{padding:.6rem .85rem;background:var(--surf2);color:var(--tx2);font-size:11px;text-align:left;text-transform:uppercase;letter-spacing:.05em}.client-estim-head.client-estim-qty{text-align:right}.client-estim-disclaimer{margin-top:.7rem;color:var(--tx3);font-size:12px}.client-estim-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
body.client-dark .client-valid-note{color:#75d39f}

/* Document client imprimable, chargé depuis la même feuille commune. */
body.public-print{margin:0;padding:0;background:#fff;background-image:none;color:#1a1a1a;font-family:Arial,sans-serif}.public-print h1{margin:0 0 4px;font-size:18px}.public-print .sub{margin-bottom:16px;color:#666;font-size:13px}.public-print table{width:100%;border-collapse:collapse;font-size:13px}.public-print th{padding:7px 10px;background:var(--public-accent);color:#fff;text-align:left}.public-print th.r,.public-print td.r{text-align:right}.public-print td{padding:7px 10px;border-bottom:1px solid #ddd}.public-print .msg{margin-top:18px;padding-left:12px;border-left:3px solid var(--public-accent);color:#333;font-size:13px;white-space:pre-wrap}.public-print .ft{margin-top:24px;color:#999;font-size:11px}.public-print-button{margin-top:16px;padding:9px 16px;cursor:pointer}@page{size:A4;margin:14mm}@media print{.public-print-button{display:none}}

/* Écran d’accès technique — réutilise la feuille client commune. */
body.public-auth-screen{min-height:100vh;padding:24px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--public-accent) 26%,transparent),transparent 36%),linear-gradient(135deg,#090807,#15110f 55%,#231313)}.public-auth-screen .b{width:380px;max-width:94vw;padding:2.3rem;border-radius:28px;background:rgba(255,255,255,.97);box-shadow:0 30px 90px rgba(0,0,0,.45)}.public-auth-screen .ic{width:50px;height:50px;margin-bottom:1rem;border-radius:16px;background:var(--public-accent);display:flex;align-items:center;justify-content:center;color:#fff;font-size:25px;font-weight:900;letter-spacing:-.5px}.public-auth-screen h1{margin-bottom:.3rem;font-size:19px;letter-spacing:-.5px}.public-auth-screen p{margin-bottom:1.4rem;color:#6d6862;font-size:13px}.public-auth-screen label{display:block;margin:.9rem 0 .3rem;color:#6d6862;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.public-auth-screen input{width:100%;padding:.78rem .9rem;border:1px solid rgba(0,0,0,.12);border-radius:14px;font:14px inherit}.public-auth-screen input:focus{outline:none;border-color:var(--public-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--public-accent) 12%,transparent)}.public-auth-screen button{width:100%;margin-top:1.3rem;padding:.85rem;border:0;border-radius:14px;background:var(--public-accent);color:#fff;font:800 14px inherit;cursor:pointer;box-shadow:0 12px 28px color-mix(in srgb,var(--public-accent) 30%,transparent)}.public-auth-screen .e{display:none;margin-top:1rem;padding:.65rem .85rem;border:1px solid color-mix(in srgb,var(--public-accent) 25%,transparent);border-radius:12px;background:#fff0f3;color:#900c21;font-size:13px;font-weight:700;text-align:center}.public-auth-strength{height:6px;margin-top:.55rem;overflow:hidden;border-radius:99px;background:rgba(0,0,0,.08)}.public-auth-strength #pwfill{height:100%;width:0;background:var(--public-accent);transition:width .2s,background .2s}.public-auth-strength #pwfill[data-score="1"]{width:20%}.public-auth-strength #pwfill[data-score="2"]{width:40%;background:#e3a22b}.public-auth-strength #pwfill[data-score="3"]{width:60%;background:#e3a22b}.public-auth-strength #pwfill[data-score="4"]{width:80%;background:#2d7a3e}.public-auth-strength #pwfill[data-score="5"]{width:100%;background:#1e6b10}.public-auth-strength-text{margin-top:.35rem;color:#6d6862;font-size:11px;font-weight:700}.public-auth-strength-text[data-state="valid"]{color:#1e6b10}.public-auth-strength-text[data-state="warning"]{color:#9a6300}.public-auth-copy{margin-top:1.25rem;color:#6d6862;font-size:10.5px;line-height:1.5;text-align:center}

/* Shell immuable : le contenu ne peut jamais comprimer ni déplacer le footer. */
:root{--public-footer-height:76px}
body:has(> .public-footer){min-height:100dvh;padding-bottom:var(--public-footer-height)!important}
body>.public-footer{position:fixed!important;z-index:45;left:0;right:0;bottom:0;width:100%;height:var(--public-footer-height);min-height:var(--public-footer-height);max-height:var(--public-footer-height);margin:0!important;overflow:hidden;flex:none!important}
body>.public-footer .public-footer-wrap{height:100%;display:flex;flex-direction:column;justify-content:center}
body>.public-footer .public-footer-main,body>.public-footer .public-footer-bottom{flex:none}
@media(max-width:720px){:root{--public-footer-height:154px}body>.public-footer{overflow-y:auto}body>.public-footer .public-footer-wrap{justify-content:flex-start}}

/* Garde-fous responsive du shell : aucun contenu ne peut élargir la page ni décaler le footer. */
html,body{width:100%;max-width:100%;overflow-x:clip}
.public-header,.public-footer,.public-header-wrap,.public-footer-wrap,body>main,body>article,[data-public-surface]{max-width:100%}
.public-blog h1,.public-legal h1,.public-legal .body,.public-blog .body,[data-public-surface]{overflow-wrap:anywhere}
@media(max-width:580px){
  .public-header-wrap{width:100%;padding-inline:14px}
  .public-brand{flex:1 1 auto;overflow:hidden}.public-brand-copy{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .public-nav{flex:0 0 auto}.public-actions #tb-actions{display:none}.public-actions{min-width:38px}
  .public-blog .hero{overflow:hidden}.public-blog .hero h1,.public-blog .hero p{max-width:100%;overflow-wrap:anywhere}
  .hero-grid,.hero-grid>*{width:100%;max-width:100%;min-width:0}.cal-card{width:100%;max-width:100%;overflow:hidden}
  .hero-actions,.client-actions-row,.client-button-row{max-width:100%;flex-wrap:wrap}
  .public-legal .box,.public-reset>.box,.public-blog>article{width:calc(100% - 24px);max-width:calc(100% - 24px);padding:24px 20px}
  .public-footer-wrap{padding-inline:22px}.public-footer-links{max-width:100%}
}

/* États sobres et accessibles : aucun soulignement décoratif rouge dans la navigation. */
.public-nav>a[aria-current="page"]{box-shadow:none!important;background:var(--surf2);color:var(--ink)!important}
.public-footer-links a[aria-current="page"]{background:var(--surf2);color:var(--ink)!important}
body.client-dark .public-nav>a[aria-current="page"],body.client-dark .public-footer-links a[aria-current="page"]{background:#292e35;color:#fff!important}

/* Calendrier : les deux flèches restent lisibles, y compris lorsqu'une direction est désactivée. */
.cal-nav{border-color:var(--line);background:var(--surf);color:var(--ink)}
.cal-nav:disabled{opacity:1;background:var(--surf2);color:var(--tx3);cursor:not-allowed}
body.client-dark .cal-nav,body.client-dark .cal-nav:disabled{border-color:rgba(255,255,255,.13);background:#292e35;color:#f6f7f9}
body.client-dark .cal-nav:disabled{color:#8e97a4}

/* Estimation : surface claire en thème clair, panneau sombre uniquement en thème sombre. */
#estim .phead{background:linear-gradient(180deg,#fff 0%,#f5f1ed 100%);color:var(--ink);border-bottom:1px solid var(--line)}
#estim .phead h1{color:var(--ink)}#estim .phead p{color:var(--tx2)}
body.client-dark #estim .phead{background:linear-gradient(135deg,#17191e 0%,#303743 100%);color:#fff;border-bottom-color:rgba(255,255,255,.1)}
body.client-dark #estim .phead h1{color:#fff}body.client-dark #estim .phead p{color:#c8cdd5}

/* Navigation publique premium — source unique pour toutes les pages. */
:root{--public-header-height:76px;--public-footer-height:96px;--public-shell-width:1280px}
.public-header{height:var(--public-header-height);border-bottom:1px solid rgba(35,29,25,.08);background:rgba(255,255,255,.9);box-shadow:0 1px 0 rgba(255,255,255,.7),0 12px 36px rgba(35,29,25,.055);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
.public-header-wrap{width:min(var(--public-shell-width),100%);height:100%;padding:10px 30px;gap:32px}
.public-brand{gap:13px;letter-spacing:-.025em}.public-brand-mark{width:44px;height:44px;flex-basis:44px;border-radius:13px;font-size:20px;box-shadow:0 8px 22px color-mix(in srgb,var(--public-accent) 24%,transparent),inset 0 1px rgba(255,255,255,.25)}
.public-brand-copy{font-size:16px}.public-brand-copy small{margin-top:3px;color:#77716b;font-size:10.5px;letter-spacing:.01em}
.public-nav{gap:10px}.public-nav>a{min-height:42px;padding:.68rem 1rem;border:1px solid transparent;border-radius:12px;color:#625c57;font-size:13px;font-weight:680;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.public-nav>a:hover{border-color:var(--line);background:rgba(255,255,255,.72);color:var(--ink)!important;box-shadow:0 5px 16px rgba(35,29,25,.05)}
.public-nav>a[aria-current="page"]{border-color:var(--line);background:var(--surf);color:var(--ink)!important;box-shadow:0 6px 18px rgba(35,29,25,.07)!important}
.public-actions{min-width:auto;gap:8px;padding-left:3px}.public-actions #tb-actions{min-width:138px}.public-actions #tb-actions>.btn{width:138px;min-height:42px;border-radius:12px!important;font-weight:680}
.public-theme-toggle{width:42px;height:42px;flex-basis:42px;border-radius:12px;background:rgba(255,255,255,.72);font-size:18px;box-shadow:0 4px 14px rgba(35,29,25,.04)}
.public-login-link{min-width:138px;min-height:42px;padding:.7rem 1rem!important;border-radius:12px;background:var(--ink);color:#fff!important;font-weight:720;box-shadow:0 8px 22px rgba(28,25,23,.14)}
.public-login-link:hover{background:#302c29;color:#fff!important;box-shadow:0 10px 26px rgba(28,25,23,.18)}

.public-footer{height:var(--public-footer-height)!important;min-height:var(--public-footer-height)!important;max-height:var(--public-footer-height)!important;padding:0!important;border-top:1px solid rgba(35,29,25,.09);background:rgba(255,255,255,.96);box-shadow:0 -12px 36px rgba(35,29,25,.045);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.public-footer-wrap{width:min(var(--public-shell-width),100%);padding:13px 30px!important;justify-content:center!important}
.public-footer-main{gap:32px}.public-footer-brand{gap:12px}.public-footer-mark{width:36px!important;height:36px!important;border-radius:11px!important;font-size:16px!important;box-shadow:0 7px 18px color-mix(in srgb,var(--public-accent) 20%,transparent)}
.public-footer-brand strong{font-size:15px;letter-spacing:-.02em}.public-footer-links{gap:3px}.public-footer-links a{padding:.48rem .66rem;border:1px solid transparent;border-radius:9px;font-size:11.5px;font-weight:680;transition:background .18s ease,border-color .18s ease,color .18s ease}
.public-footer-links a:hover{border-color:var(--line);background:var(--surf2);color:var(--ink)!important}.public-footer-links a[aria-current="page"]{border-color:var(--line);background:var(--surf2);color:var(--ink)!important}
.public-footer-bottom{margin-top:8px!important;padding-top:7px!important;align-items:center}.public-footer-secure{padding:.28rem .58rem;border-radius:8px;background:var(--surf2);font-weight:650}

body.client-dark .public-header{background:rgba(20,23,28,.9);border-bottom-color:rgba(255,255,255,.09);box-shadow:0 14px 38px rgba(0,0,0,.2)}
body.client-dark .public-nav>a:hover,body.client-dark .public-nav>a[aria-current="page"]{border-color:rgba(255,255,255,.12);background:#292e35;color:#fff!important;box-shadow:0 7px 20px rgba(0,0,0,.18)!important}
body.client-dark .public-theme-toggle{background:#252a31;border-color:rgba(255,255,255,.12);color:#fff;box-shadow:none}
body.client-dark .public-login-link{background:#f5f6f8;color:#17191e!important;box-shadow:0 8px 24px rgba(0,0,0,.22)}body.client-dark .public-login-link:hover{background:#fff;color:#111318!important}
body.client-dark .public-footer{background:rgba(29,33,38,.97);border-top-color:rgba(255,255,255,.1);box-shadow:0 -14px 38px rgba(0,0,0,.18)}
body.client-dark .public-footer-links a:hover,body.client-dark .public-footer-links a[aria-current="page"]{border-color:rgba(255,255,255,.1);background:#292e35;color:#fff!important}body.client-dark .public-footer-secure{background:#292e35}
.public-footer .public-footer-links a[aria-current="page"]{border-color:var(--line);background:var(--surf2);color:var(--ink)!important}
body.client-dark .public-footer .public-footer-links a[aria-current="page"]{border-color:rgba(255,255,255,.1);background:#292e35;color:#fff!important}

@media(max-width:720px){:root{--public-header-height:64px;--public-footer-height:176px}.public-header-wrap{padding:8px 16px}.public-brand-mark{width:40px;height:40px;flex-basis:40px;border-radius:11px}.public-footer-wrap{padding:13px 22px!important}.public-footer-main{gap:10px}.public-footer-bottom{gap:5px}.public-footer-secure{display:none}}
@media(max-width:580px){.public-nav{gap:5px}.public-nav>a{min-height:40px;padding:.58rem .7rem}.public-theme-toggle{width:40px;height:40px;flex-basis:40px}.public-footer-links{gap:1px}.public-footer-links a{padding:.4rem .5rem}}

/* Espace client connecté — système complet clair/sombre. */
#panel{min-height:calc(100dvh - var(--public-header-height) - var(--public-footer-height));background:transparent;color:var(--ink)}
#panel>.phead{padding:30px 0 28px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,249,247,.94));color:var(--ink);box-shadow:0 12px 34px rgba(35,29,25,.035)}
#panel>.phead:after{width:360px;height:240px;right:4%;top:-150px;background:radial-gradient(circle,color-mix(in srgb,var(--public-accent) 10%,transparent),transparent 70%)}
#panel .wrap{width:min(1180px,100%);max-width:1180px;padding-inline:30px}
#panel .phead-row{padding:0;align-items:center;gap:28px}
#panel .phead h1{margin:0 0 6px;color:var(--ink);font-size:clamp(28px,3.1vw,42px);font-weight:720;letter-spacing:-.045em;line-height:1.05}
#panel .phead h1 span{color:var(--public-accent)}#panel .phead p{color:var(--tx2);font-size:13.5px}
#panel .client-actions-row{justify-content:flex-end;gap:10px}#panel .sw{min-width:240px}#panel .sw input{height:46px;border:1px solid var(--line);border-radius:13px;background:var(--surf);color:var(--ink);box-shadow:0 5px 18px rgba(35,29,25,.04);transition:border-color .18s,box-shadow .18s,background .18s}
#panel .sw input:focus{outline:none;border-color:color-mix(in srgb,var(--public-accent) 45%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--public-accent) 10%,transparent)}#panel .sw input::placeholder{color:var(--tx3)}
#panel .phead-row>.client-actions-row>.btn{min-height:46px;padding-inline:1.2rem;border-radius:13px;box-shadow:0 9px 24px color-mix(in srgb,var(--public-accent) 22%,transparent);color:#fff}
#panel>.wrap.client-content-bottom{padding-top:22px}
#panel .ptabs{margin:0 0 22px;padding:5px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surf2) 82%,transparent);box-shadow:inset 0 1px rgba(255,255,255,.6)}
#panel .ptab{min-width:144px;min-height:42px;padding:.66rem 1rem;border:1px solid transparent;border-radius:10px;color:var(--tx2);font-weight:650}
#panel .ptab:hover{background:color-mix(in srgb,var(--surf) 65%,transparent);color:var(--ink)}#panel .ptab.on{border-color:var(--line);background:var(--surf);color:var(--ink);box-shadow:0 5px 15px rgba(35,29,25,.07)}
#panel .ptab .b{background:var(--line);color:var(--tx2)}#panel .ptab.on .b{background:color-mix(in srgb,var(--public-accent) 11%,transparent);color:var(--public-accent)}
#panel .dcard,#panel .empty{border:1px solid var(--line);border-radius:18px;background:var(--surf);color:var(--ink);box-shadow:0 10px 30px rgba(35,29,25,.045)}
#panel .dcard{padding:24px}#panel .dcard:hover{transform:none;border-color:color-mix(in srgb,var(--ink) 16%,var(--line));box-shadow:0 16px 38px rgba(35,29,25,.075)}
#panel .dcard h2,#panel .dcard h3,#panel .dcard h4{color:var(--ink)}#panel .dcard p,#panel .dmeta,#panel .client-help{color:var(--tx2)}
#panel .empty{min-height:230px;padding:44px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center}
#panel .empty-ic{width:58px;height:58px;margin-bottom:14px;border:1px solid var(--line);background:var(--surf2);color:var(--tx3);box-shadow:none}
#panel input,#panel select,#panel textarea{border-color:var(--line);background:var(--surf);color:var(--ink)}#panel input::placeholder,#panel textarea::placeholder{color:var(--tx3)}
#panel .bg{border-color:var(--line);background:var(--surf);color:var(--ink);box-shadow:0 4px 13px rgba(35,29,25,.045)}#panel .bg:hover{background:var(--surf2);border-color:color-mix(in srgb,var(--ink) 15%,var(--line))}
#panel .bp{background:var(--public-accent);color:#fff!important}#panel table{color:var(--ink)}#panel th{color:var(--tx2)}#panel td,#panel th{border-color:var(--line)}
#panel .cpbox{border-color:color-mix(in srgb,#4f7dcc 32%,var(--line));background:color-mix(in srgb,#edf4ff 72%,var(--surf));color:#274b83}#panel .refbox{border-color:color-mix(in srgb,var(--public-accent) 22%,var(--line));background:color-mix(in srgb,var(--public-accent) 5%,var(--surf));color:#7a2532}

body.client-dark #panel>.phead{border-bottom-color:rgba(255,255,255,.1);background:linear-gradient(180deg,#191d23 0%,#15181d 100%);color:#f6f7f9;box-shadow:0 16px 40px rgba(0,0,0,.18)}
body.client-dark #panel>.phead:after{background:radial-gradient(circle,rgba(196,18,48,.14),transparent 70%)}body.client-dark #panel .phead h1{color:#f7f8fa}body.client-dark #panel .phead p{color:#aeb6c1}
body.client-dark #panel .sw input{border-color:rgba(255,255,255,.13);background:#22272e;color:#f7f8fa;box-shadow:0 7px 20px rgba(0,0,0,.16)}body.client-dark #panel .sw input::placeholder{color:#8e97a4}
body.client-dark #panel .ptabs{border-color:rgba(255,255,255,.1);background:#252a31;box-shadow:inset 0 1px rgba(255,255,255,.035)}body.client-dark #panel .ptab{color:#aeb6c1}body.client-dark #panel .ptab:hover{background:#2b3038;color:#fff}body.client-dark #panel .ptab.on{border-color:rgba(255,255,255,.12);background:#343a43;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.22)}
body.client-dark #panel .ptab .b{background:rgba(255,255,255,.08);color:#aeb6c1}body.client-dark #panel .ptab.on .b{background:rgba(255,143,160,.13);color:#ff9aac}
body.client-dark #panel .dcard,body.client-dark #panel .empty{border-color:rgba(255,255,255,.11);background:linear-gradient(145deg,#20242a,#1c2026);color:#f6f7f9;box-shadow:0 14px 36px rgba(0,0,0,.16)}
body.client-dark #panel .dcard:hover{border-color:rgba(255,255,255,.17);box-shadow:0 18px 44px rgba(0,0,0,.24)}body.client-dark #panel .dcard h2,body.client-dark #panel .dcard h3,body.client-dark #panel .dcard h4{color:#f7f8fa}body.client-dark #panel .dcard p,body.client-dark #panel .dmeta,body.client-dark #panel .client-help{color:#b7bdc7}
body.client-dark #panel .empty-ic{border-color:rgba(255,255,255,.1);background:#292e35;color:#9aa4b1}
body.client-dark #panel input,body.client-dark #panel select,body.client-dark #panel textarea{border-color:rgba(255,255,255,.13);background:#292e35;color:#f7f8fa}body.client-dark #panel input::placeholder,body.client-dark #panel textarea::placeholder{color:#8f98a5}
body.client-dark #panel .bg{border-color:rgba(255,255,255,.12);background:#292e35;color:#f7f8fa;box-shadow:none}body.client-dark #panel .bg:hover{background:#343a43;border-color:rgba(255,255,255,.18)}body.client-dark #panel .bp{background:var(--public-accent);color:#fff!important}
body.client-dark #panel table{color:#e8ebef}body.client-dark #panel th{color:#9fa8b4}body.client-dark #panel td,body.client-dark #panel th{border-color:rgba(255,255,255,.1)}
body.client-dark #panel .cpbox{border-color:rgba(111,157,226,.28);background:#1e2938;color:#a9c7f4}body.client-dark #panel .cpbox-h{color:#a9c7f4}body.client-dark #panel .refbox{border-color:rgba(255,143,160,.22);background:rgba(196,18,48,.1);color:#ffb0bd}body.client-dark #panel .refbox b{color:#ffc2cb}
body.client-dark #panel .bp,body.client-dark #panel .bp:hover{background-color:var(--public-accent)!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;filter:none!important}body.client-dark #panel .bp i{color:#fff!important;-webkit-text-fill-color:#fff!important}

@media(max-width:720px){#panel>.phead{padding:22px 0}#panel .wrap{padding-inline:18px}#panel .phead-row{align-items:stretch;gap:18px}#panel .client-actions-row{justify-content:stretch}#panel .sw{min-width:100%;width:100%}#panel .phead-row>.client-actions-row>.btn{flex:1 1 100%}#panel .ptabs{width:100%}#panel .ptab{min-width:0;flex:1 1 0}#panel .empty{min-height:210px}}
.client-profile-card{width:100%;max-width:920px;margin:0 auto 24px!important;padding:clamp(24px,3vw,34px)!important}
.client-profile-card>.client-help{margin-bottom:22px}.client-profile-card label{margin-top:15px}.client-profile-card input,.client-profile-card select{min-height:48px;border-radius:12px}.client-profile-card .sep{margin-block:25px}.client-profile-card .foot{margin-top:24px}.client-profile-card .foot .btn{min-width:170px;min-height:44px}
@media(max-width:720px){.client-profile-card{padding:22px 18px!important}#panel .ptabs{overflow-x:auto;justify-content:flex-start}#panel .ptab{flex:0 0 auto;min-width:132px}}

/* Champ de recherche du panneau : géométrie isolée des styles de formulaires. */
#panel .client-actions-row .sw{position:relative!important;display:block!important;width:240px;height:46px;min-width:240px;margin:0!important;padding:0!important}
#panel .client-actions-row .sw>i{position:absolute!important;z-index:2;left:15px!important;top:23px!important;transform:translateY(-50%)!important;margin:0!important;padding:0!important;color:var(--tx3);font-size:17px;line-height:1;pointer-events:none}
#panel .client-actions-row .sw>input{display:block!important;width:100%!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0 15px 0 43px!important;line-height:46px!important}
@media(max-width:720px){#panel .client-actions-row .sw{width:100%;min-width:100%}}

/* Panneau client sans bloc introductif redondant : navigation immédiatement accessible. */
#panel>.wrap.client-content-bottom{padding-top:26px}
#panel #pan-tabs{margin-bottom:24px}

/* Architecture connectée à deux niveaux : shell global + barre de travail unique. */
body.client-authenticated .public-nav>a{display:none}
body.client-authenticated .public-actions{padding-left:0}
#panel .client-new-request{min-height:48px;padding-inline:1.35rem;border-radius:14px;box-shadow:0 10px 26px color-mix(in srgb,var(--public-accent) 24%,transparent)}
#panel .client-workspace-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px;padding:7px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surf) 90%,transparent);box-shadow:0 9px 28px rgba(35,29,25,.05)}
#panel .client-workspace-bar .ptabs,#panel .client-workspace-bar #pan-tabs{flex:0 1 auto;margin:0;border:0;background:transparent;box-shadow:none}
#panel .client-workspace-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
#panel .client-workspace-bar .sw{position:relative!important;display:block!important;flex:0 1 300px;width:300px;height:42px;min-width:220px;margin:0;padding:0}
#panel .client-workspace-bar .sw>i{position:absolute!important;z-index:2;left:14px;top:21px;transform:translateY(-50%);margin:0;color:var(--tx3);font-size:16px;line-height:1;pointer-events:none}
#panel .client-workspace-bar .sw>input{display:block;width:100%;height:42px;min-height:42px;margin:0;padding:0 14px 0 40px;border-radius:11px;line-height:42px}
body.client-dark #panel .client-workspace-bar{border-color:rgba(255,255,255,.1);background:rgba(32,36,42,.94);box-shadow:0 12px 32px rgba(0,0,0,.16)}
body.client-dark #panel .client-workspace-bar .ptabs{background:transparent}
@media(max-width:960px){#panel .client-workspace-bar{align-items:stretch;flex-direction:column}#panel .client-workspace-bar .ptabs{width:100%}#panel .client-workspace-actions{width:100%}#panel .client-workspace-bar .sw{flex:1 1 auto;width:auto;min-width:0}}
@media(max-width:720px){#panel .client-new-request{width:100%;justify-content:center}body.client-authenticated .public-actions #tb-actions>.btn{width:auto;min-width:44px}#panel .client-workspace-bar{padding:6px}}

/* Vue compacte : aucune bannière de bienvenue, accès immédiat aux tâches. */
#panel>.wrap.client-content-bottom{padding-top:28px}
#panel .client-workspace-bar .client-new-request{min-height:42px;padding:.65rem 1rem;border-radius:11px;box-shadow:none}
@media(max-width:640px){#panel .client-workspace-actions{align-items:stretch;flex-direction:column}#panel .client-workspace-bar .sw{width:100%;min-width:100%}}

/* Mobile-first public/client — n'affecte jamais le staff. */
@media(max-width:640px){
  :root{--public-header-height:60px;--public-footer-height:164px}
  body:has(> .public-footer){padding-bottom:calc(var(--public-footer-height) + env(safe-area-inset-bottom))!important}
  body>.public-footer{height:calc(var(--public-footer-height) + env(safe-area-inset-bottom))!important;min-height:calc(var(--public-footer-height) + env(safe-area-inset-bottom))!important;max-height:calc(var(--public-footer-height) + env(safe-area-inset-bottom))!important;padding-bottom:env(safe-area-inset-bottom)!important}
  .public-header-wrap{padding:7px 12px;gap:10px}.public-brand{gap:9px}.public-brand-mark{width:38px;height:38px;flex-basis:38px;border-radius:10px;font-size:17px}.public-brand-copy{max-width:150px;font-size:13.5px}.public-brand-copy small{display:none}
  .public-nav{gap:8px}.public-nav>a{display:none}.public-actions{gap:8px}.public-actions #tb-actions{min-width:0}.public-actions #tb-actions>.btn{width:auto;min-width:44px;min-height:44px;padding:.65rem .8rem}.public-theme-toggle{width:44px;height:44px;flex-basis:44px}
  body.client-authenticated .public-action-label{display:none}body.client-authenticated .public-actions #tb-actions>.btn{width:44px!important;padding:0!important}
  .public-footer-wrap{padding:12px 16px!important}.public-footer-main{gap:8px}.public-footer-brand{gap:9px}.public-footer-mark{width:32px!important;height:32px!important}.public-footer-brand strong{font-size:14px}.public-footer-links{width:100%;gap:2px}.public-footer-links a{min-height:36px;padding:.42rem .48rem;display:inline-flex;align-items:center;font-size:11px}.public-footer-bottom{width:100%;font-size:10px}
  body.landing-screen #land>.hero{align-items:flex-start;overflow-y:auto}body.landing-screen #land>.hero>.wrap{padding:18px 16px 22px}body.landing-screen #land .hero-grid{gap:14px}body.landing-screen #land .hero h1{font-size:clamp(30px,9.5vw,38px);line-height:1.02}body.landing-screen #land .hero .lead{font-size:14px;line-height:1.45}
  body.landing-screen #land .hero .cta{display:grid;grid-template-columns:1fr 1fr;gap:8px}body.landing-screen #land .hero .cta .btn{width:100%;min-height:44px;padding:.65rem .55rem;font-size:12px}body.landing-screen #land .hero .cta .btn:nth-child(3){grid-column:1/-1}
  body.landing-screen #land .cal-card{width:100%;padding:10px;border-radius:16px}body.landing-screen #land .cal-in{padding:10px}body.landing-screen #land .cal-nav{width:44px;height:44px}body.landing-screen #land .cal-day{min-height:30px;height:30px}
  #panel>.wrap.client-content-bottom{padding:16px 12px 28px}#panel .client-workspace-bar{gap:8px;margin-bottom:14px;padding:6px;border-radius:14px}#panel .client-workspace-bar #pan-tabs{width:100%;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}#panel .client-workspace-bar #pan-tabs::-webkit-scrollbar{display:none}#panel .client-workspace-bar .ptab{min-width:max-content;min-height:44px;padding:.66rem .8rem}#panel .client-workspace-actions{gap:8px}#panel .client-workspace-bar .sw,#panel .client-workspace-bar .sw>input{height:44px;min-height:44px}#panel .client-workspace-bar .sw>i{top:22px}#panel .client-workspace-bar .client-new-request{min-height:44px}
  #panel .empty{min-height:190px;padding:28px 16px;border-radius:16px}#panel .empty .btn{min-height:44px}.client-profile-card{padding:20px 16px!important;border-radius:16px!important}.client-profile-card .row2{grid-template-columns:1fr}.client-profile-card input,.client-profile-card select,.client-profile-card textarea{width:100%;min-height:48px;font-size:16px}.client-profile-card .foot .btn{width:100%;min-height:48px}
  .mo{padding:0;align-items:flex-end}.mbox,.mbox.sm{width:100%;max-width:100%;max-height:calc(100dvh - 12px);margin:0;border-radius:22px 22px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.mbox input,.mbox select,.mbox textarea{font-size:16px}.mbox .btn{min-height:44px}
  .public-blog .hero h1{font-size:clamp(32px,10vw,42px)}.public-blog>.wrap,.public-blog main.wrap{padding-inline:14px}.public-legal .box,.public-reset>.box,.public-blog>article{width:calc(100% - 20px);max-width:calc(100% - 20px);padding:22px 17px}
}
@media(min-width:641px){.public-action-label{display:inline}}

/* Très petits écrans : chaque colonne reste bornée au viewport, sans contenu rogné. */
@media(max-width:420px){
  body.landing-screen #land,
  body.landing-screen #land>.hero,
  body.landing-screen #land>.hero>.wrap,
  body.landing-screen #land .hero-grid,
  body.landing-screen #land .hero-grid>div,
  body.landing-screen #land .cal-card,
  body.landing-screen #land .cal-in{width:100%;min-width:0;max-width:100%}
  body.landing-screen #land .hero h1{overflow-wrap:anywhere}
  body.landing-screen #land .hero .cta{grid-template-columns:minmax(0,1fr)}
  body.landing-screen #land .hero .cta .btn:nth-child(3){grid-column:auto}
  body.landing-screen #land .cal-grid{width:100%;grid-template-columns:repeat(7,minmax(0,1fr))}
  body.landing-screen #land .cal-day,
  body.landing-screen #land .cal-dow{min-width:0}
  .public-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
  .public-footer-links a{min-width:0;padding:.35rem .2rem;text-align:center;justify-content:center;font-size:10px;line-height:1.15;white-space:normal}
}
