:root{
  --cream:#f7f2ee;--cream-2:#efe7e1;--paper:#fffdfa;--white:#fff;--ink:#2f252b;--ink-2:#55484f;--muted:#8a7d83;
  --rose:#b9787e;--rose-deep:#9e626a;--rose-soft:#edd9d8;--rose-pale:#f7ece9;--gold:#bd9b6a;--green:#5f8772;--red:#b95d62;
  --line:#eadfda;--shadow:0 20px 60px rgba(58,40,48,.09);--shadow-soft:0 8px 28px rgba(58,40,48,.06);
  --radius:24px;--radius-sm:15px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%}.hidden,[hidden]{display:none!important}.shell{width:min(1180px,calc(100% - 40px));margin:0 auto}.eyebrow,.admin-eyebrow{display:inline-block;font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--rose-deep);text-transform:uppercase}.eyebrow.light{color:#ead6d2}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:13px 20px;font-weight:750;cursor:pointer;transition:.2s ease;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.42;cursor:not-allowed;transform:none}.button-primary{background:var(--rose);color:#fff;box-shadow:0 10px 24px rgba(185,120,126,.2)}.button-primary:hover{background:var(--rose-deep)}.button-dark{background:var(--ink);color:#fff}.button-light{background:#fff;color:var(--ink)}.button-soft{background:var(--rose-pale);color:var(--ink);border:1px solid var(--rose-soft)}.button-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.button-danger{background:#fff2f1;color:var(--red);border:1px solid #f0c9c6}.button-large{padding:16px 24px;font-size:15px}.button-small{padding:10px 16px;font-size:13px}.full-button{width:100%}.text-link{font-weight:750;border-bottom:1px solid var(--ink);padding-bottom:3px}.toast-stack,.admin-toasts{position:fixed;right:20px;top:90px;z-index:1000;display:grid;gap:10px}.toast{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:13px 16px;border-radius:14px;font-weight:700}.toast.success{border-left:4px solid var(--green)}.toast.error{border-left:4px solid var(--red)}

/* Client */
.client-header{position:sticky;top:0;z-index:50;background:rgba(247,242,238,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,223,218,.8)}.client-header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:-.04em}.brand>span:last-child,.admin-brand>span:last-child{display:grid}.brand strong,.admin-brand strong{font-family:var(--serif);font-size:19px;line-height:1}.brand small,.admin-brand small{font-size:9px;letter-spacing:.17em;color:var(--muted);margin-top:5px}.client-nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:700}.client-nav>a:not(.button){color:var(--ink-2)}.client-nav>a:hover{color:var(--rose-deep)}.nav-admin{padding-left:18px;border-left:1px solid var(--line)}.mobile-book{display:none;font-weight:800;color:var(--rose-deep)}
.hero-section{overflow:hidden;padding:88px 0 92px;background:radial-gradient(circle at 82% 22%,#f1dedd 0,rgba(241,222,221,.35) 20%,transparent 42%),linear-gradient(180deg,#faf6f2 0%,#f7f2ee 100%)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px}.hero-copy h1{font:500 clamp(54px,6vw,82px)/.98 var(--serif);letter-spacing:-.045em;margin:17px 0 24px}.hero-copy h1 em{font-weight:400;color:var(--rose-deep)}.hero-lead{font-size:18px;line-height:1.72;color:var(--ink-2);max-width:640px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px}.hero-trust{display:flex;gap:28px;margin-top:46px;padding-top:25px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.hero-trust span{display:flex;align-items:center;gap:8px}.hero-trust b{color:var(--rose-deep);font-size:10px;letter-spacing:.08em}.hero-visual{height:520px;position:relative;display:grid;place-items:center}.hero-card-main{position:relative;width:360px;height:430px;border-radius:180px 180px 36px 36px;background:linear-gradient(155deg,#bb7f82,#9a6269);box-shadow:0 40px 80px rgba(100,58,66,.22);overflow:hidden;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.hero-card-main:before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.25);border-radius:170px 170px 29px 29px}.hero-monogram{font:700 76px/1 var(--serif);letter-spacing:-.08em;z-index:2}.hero-card-copy{display:grid;gap:12px;margin-top:26px;z-index:2}.hero-card-copy small{font-size:10px;letter-spacing:.22em}.hero-card-copy strong{font:500 26px/1.25 var(--serif)}.hair-line{position:absolute;border:1px solid rgba(255,255,255,.19);border-radius:50%;width:310px;height:500px;transform:rotate(28deg)}.hair-line-1{left:72px;top:-70px}.hair-line-2{left:22px;top:-90px;transform:rotate(48deg)}.hair-line-3{left:-40px;top:-75px;transform:rotate(67deg)}.hero-orbit{position:absolute;border:1px solid rgba(158,98,106,.15);border-radius:50%;width:460px;height:460px}.orbit-one{transform:rotate(20deg) scaleX(.86)}.orbit-two{transform:rotate(78deg) scaleX(.78)}.floating-card{position:absolute;background:#fff;border:1px solid rgba(234,223,218,.8);box-shadow:var(--shadow);border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:12px;min-width:190px}.floating-card small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.floating-card strong{font-size:12px}.floating-card-top{top:76px;left:10px}.floating-card-bottom{bottom:68px;right:0}.dot{width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px #e9f1ed}.mini-pin{width:30px;height:30px;border-radius:50%;background:var(--rose-pale);display:grid;place-items:center;color:var(--rose-deep);font-weight:900}.section{padding:92px 0}.soft-section{background:var(--paper);border-top:1px solid #f0e6e1;border-bottom:1px solid #f0e6e1}.section-heading{margin-bottom:38px}.split-heading{display:flex;justify-content:space-between;gap:50px;align-items:end}.section-heading h2{font:500 clamp(38px,4.5vw,58px)/1.05 var(--serif);letter-spacing:-.035em;margin:12px 0 0}.section-heading p{max-width:470px;color:var(--muted);line-height:1.65;margin:0}.centered{text-align:center;max-width:780px;margin:0 auto 44px}.centered p{margin:15px auto 0}.category-pills{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.category-pill{border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:999px;padding:10px 16px;font-size:13px;font-weight:750;cursor:pointer}.category-pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:25px;padding:25px 4px;border-bottom:1px solid var(--line)}.service-row h3{font-size:17px;margin:0 0 6px}.service-row p{margin:0;color:var(--muted);font-size:13px}.service-meta{display:flex;align-items:center;gap:24px}.service-meta>span{font-size:12px;color:var(--muted)}.service-meta>strong{font:600 20px var(--serif)}.service-meta>a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);transition:.2s}.service-meta>a:hover{background:var(--rose);border-color:var(--rose);color:#fff}.center-action{text-align:center;margin-top:34px}.empty-soft{padding:30px;color:var(--muted);text-align:center}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;min-height:275px}.step-card.featured{background:var(--rose-pale);border-color:var(--rose-soft)}.step-number{position:absolute;right:22px;top:20px;font:500 40px var(--serif);color:#e7dad4}.step-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:20px;margin-bottom:40px}.step-card h3{font:600 24px var(--serif);margin:0 0 10px}.step-card p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.route-section{padding-top:20px}.route-card{background:linear-gradient(130deg,#3b2f35,#2b2227);color:#fff;border-radius:34px;padding:62px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;overflow:hidden;position:relative}.route-copy h2{font:500 48px/1.08 var(--serif);margin:14px 0 18px}.route-copy p{color:#d7cbd0;line-height:1.75;max-width:530px;margin-bottom:28px}.route-visual{height:300px;position:relative;border-radius:26px;background:radial-gradient(circle at 60% 40%,rgba(185,120,126,.18),transparent 50%),rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.route-visual svg{position:absolute;inset:40px;width:calc(100% - 80px);height:calc(100% - 80px)}.route-visual path{fill:none;stroke:#c99397;stroke-width:3;stroke-dasharray:7 7}.route-pin{position:absolute;width:18px;height:18px;border:4px solid #fff;border-radius:50%;color:transparent;background:var(--rose);z-index:2}.p1{left:15%;bottom:19%}.p2{left:51%;top:45%}.p3{right:9%;top:26%}.route-label{position:absolute;background:#fff;color:var(--ink);font-size:11px;font-weight:800;padding:7px 10px;border-radius:999px}.l1{left:7%;bottom:8%}.l2{left:45%;top:57%}.l3{right:5%;top:12%}.final-cta{padding-top:34px}.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:58px 0;border-top:1px solid var(--line)}.final-cta h2{font:500 42px/1.1 var(--serif);margin:12px 0 0}.client-footer{background:#2d2429;color:#fff;padding:48px 0;margin-top:20px}.footer-grid{display:grid;grid-template-columns:1fr 1.3fr .5fr;align-items:center;gap:40px}.footer-brand .brand-mark{background:#fff;color:var(--ink)}.footer-brand small{color:#bfb1b7}.footer-grid>p{color:#c6b9bf;font-size:13px;line-height:1.7}.footer-links{display:grid;gap:8px;justify-items:end;font-size:13px;color:#e8dfe3}

/* Booking */
.booking-page{min-height:calc(100vh - 78px);padding:48px 0 100px;background:linear-gradient(180deg,#f8f3ef,#f4ece7)}.booking-shell{max-width:980px}.booking-head{text-align:center;max-width:720px;margin:0 auto 30px}.back-home{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:24px}.booking-head h1{font:500 46px/1.05 var(--serif);margin:10px 0 12px}.booking-head>p{color:var(--muted);line-height:1.6}.booking-progress{display:flex;align-items:flex-start;justify-content:center;max-width:650px;margin:0 auto 26px}.progress-item{width:86px;text-align:center;color:var(--muted);position:relative}.progress-item span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7ddd8;color:#877981;margin:0 auto 7px;font-size:12px;font-weight:850}.progress-item small{font-size:10px;font-weight:750}.progress-item.active span,.progress-item.done span{background:var(--rose);color:#fff}.progress-item.active small,.progress-item.done small{color:var(--ink)}.progress-line{width:82px;height:1px;background:#ded2cc;margin-top:17px}.booking-card{background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);overflow:hidden}.booking-step{display:none;padding:38px}.booking-step.active{display:block}.step-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:24px}.step-kicker{display:block;font-size:11px;color:var(--rose-deep);font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.step-heading h2{font:600 29px/1.1 var(--serif);margin:0}.step-heading>p{color:var(--muted);font-size:12px;max-width:330px;text-align:right;line-height:1.5;margin:0}.category-pills.compact{margin-bottom:18px}.booking-services{display:grid;gap:10px}.booking-service{width:100%;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:14px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;cursor:pointer;transition:.18s}.booking-service:hover{border-color:#d9bebd;background:#fffaf8}.booking-service.selected{border:2px solid var(--rose);background:var(--rose-pale);padding:16px}.service-check{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eee5e1;color:#ad9ea4;font-size:12px}.booking-service.selected .service-check{background:var(--rose);color:#fff}.booking-service-copy{display:grid;gap:4px}.booking-service-copy strong{font-size:14px}.booking-service-copy small{font-size:11px;color:var(--muted)}.booking-service-side{display:grid;gap:4px;text-align:right}.booking-service-side strong{font:600 18px var(--serif)}.booking-service-side small{font-size:10px;color:var(--muted)}.booking-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.booking-actions.right{justify-content:flex-end}.address-panel{padding:25px;border-radius:22px;background:#fbf7f4;border:1px solid #eee4df}.field-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:#675a61;margin:0 0 8px}.optional{font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;margin-left:4px}.address-input-wrap{position:relative}.field-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:2;color:var(--rose-deep);font-size:18px}.address-input-wrap input{padding-left:43px}.big-input{height:58px;font-size:15px!important;background:#fff!important}.address-status{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--green)}input,select,textarea{width:100%;border:1px solid #ded2cc;border-radius:13px;background:#fff;padding:12px 13px;color:var(--ink);outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(185,120,126,.10)}textarea{resize:vertical}.address-suggestions{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 7px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;max-height:290px;overflow-y:auto}.address-suggestion{padding:12px 14px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;border-bottom:1px solid #f2eae6}.address-suggestion:last-child{border-bottom:0}.address-suggestion:hover{background:#fcf7f5}.address-suggestion b{font-size:12px}.address-suggestion small{display:block;color:var(--muted);margin-top:3px}.field-help{display:block;color:var(--muted);font-size:11px;margin:8px 0 0;line-height:1.45}.selection-summary.mini{margin-top:18px}.mini-summary-card{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 17px;border:1px solid var(--line);border-radius:16px}.mini-summary-card span{display:grid;gap:3px}.mini-summary-card small{color:var(--muted);font-size:10px}.slot-loading{text-align:center;padding:54px 20px}.slot-loading span{display:inline-block;width:34px;height:34px;border:3px solid #eaded8;border-top-color:var(--rose);border-radius:50%;animation:spin .8s linear infinite}.slot-loading p{color:var(--muted);font-size:12px}@keyframes spin{to{transform:rotate(360deg)}}.recommended-box{background:linear-gradient(145deg,#f4ece7,#fbf6f3);border:1px solid #ead8d3;border-radius:22px;padding:20px;margin-bottom:20px}.slot-zone-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:13px}.slot-zone-head h3{font:600 20px var(--serif);margin:0}.slot-zone-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.recommended-badge{font-size:10px;background:var(--rose);color:#fff;padding:7px 10px;border-radius:999px;font-weight:800;letter-spacing:.05em}.slot-days{display:grid;gap:14px}.slot-day{border:1px solid var(--line);border-radius:18px;overflow:hidden}.slot-day-title{padding:12px 15px;background:#fcf8f5;border-bottom:1px solid var(--line);font-size:12px;font-weight:800;text-transform:capitalize}.slot-buttons{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.slot-button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 13px;font-weight:800;color:var(--ink);cursor:pointer;min-width:78px}.slot-button:hover{border-color:var(--rose)}.slot-button.selected{background:var(--rose);border-color:var(--rose);color:#fff}.slot-reason{font-size:9px;display:block;color:var(--muted);font-weight:600;margin-top:3px}.slot-button.selected .slot-reason{color:#fff}.show-all-slots{width:100%;margin:15px 0 0}.no-slots{padding:38px 20px;text-align:center;background:#faf6f3;border-radius:20px}.no-slots strong{display:block;margin-bottom:6px}.no-slots p{font-size:12px;color:var(--muted);margin:0}.booking-final-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px}.contact-fields{display:grid;gap:17px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.final-summary{background:#33282e;color:#fff;border-radius:22px;padding:23px;align-self:start}.final-summary h3{font:600 22px var(--serif);margin:0 0 18px}.summary-line{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1)}.summary-line small{color:#cbbfc4}.summary-line strong{text-align:right;font-size:12px}.summary-total{display:flex;justify-content:space-between;align-items:end;padding-top:18px}.summary-total small{color:#cbbfc4}.summary-total strong{font:600 24px var(--serif)}.deposit-note{display:flex;gap:13px;align-items:flex-start;margin-top:20px;padding:15px;border-radius:16px;background:#f7eee8;border:1px solid #ead7cf}.deposit-note>span{width:32px;height:32px;border-radius:50%;background:var(--rose);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}.deposit-note strong{font-size:12px}.deposit-note p{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.5}.success-page{min-height:75vh;padding:70px 0}.success-card{max-width:700px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:30px;padding:48px;text-align:center;box-shadow:var(--shadow)}.success-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#edf4f0;color:var(--green);font-size:26px;font-weight:900;margin:0 auto 22px}.success-card h1{font:500 44px var(--serif);margin:10px 0}.success-card>p{color:var(--muted)}.success-recap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:28px 0}.success-recap>div{background:#fff;padding:16px 10px;display:grid;gap:5px}.success-recap small{color:var(--muted);font-size:9px;text-transform:uppercase}.success-recap strong{font-size:12px}

/* Admin */
.admin-body{background:#f5f1ed}.admin-layout{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;background:#2e252a;color:#fff;padding:26px 18px;display:flex;flex-direction:column;z-index:60}.admin-brand{display:flex;align-items:center;gap:11px;padding:0 8px 25px}.admin-brand .brand-mark{background:#f6ece8;color:var(--ink)}.admin-brand small{color:#a99ca2}.admin-menu{display:grid;gap:5px}.admin-menu a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;color:#d5c9ce;font-size:12px;font-weight:700;transition:.15s}.admin-menu a span{width:22px;text-align:center;color:#bdaeb4}.admin-menu a:hover,.admin-menu a.active{background:#45373e;color:#fff}.admin-menu a.active span{color:#e7bbb9}.menu-separator{height:1px;background:#45383e;margin:10px 7px}.admin-sidebar-foot{margin-top:auto;padding:15px 9px 0;border-top:1px solid #45383e;display:grid;gap:7px}.admin-sidebar-foot a{font-size:11px;font-weight:750;color:#e6dbdf}.admin-sidebar-foot small{font-size:9px;color:#8f8187}.admin-main{min-width:0}.admin-topbar{height:74px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:40}.admin-topbar>div{display:grid}.admin-topbar small{font-size:8px;letter-spacing:.18em;color:var(--muted)}.admin-topbar strong{font:600 18px var(--serif);margin-top:3px}.admin-quick{font-size:11px;font-weight:800;color:var(--rose-deep)}.mobile-menu-btn{display:none}.admin-content{padding:32px;max-width:1500px;margin:0 auto}.admin-page-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}.admin-page-head h1{font:600 38px/1 var(--serif);margin:8px 0 8px}.admin-page-head p{color:var(--muted);font-size:12px;margin:0}.back-admin{display:block;font-size:11px;color:var(--muted);margin-bottom:14px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;display:flex;gap:14px;align-items:flex-start;box-shadow:var(--shadow-soft)}.kpi-icon{width:38px;height:38px;border-radius:12px;background:#f6eeea;display:grid;place-items:center;color:var(--rose-deep);font-size:12px;font-weight:850;flex:none}.kpi-card>div{display:grid}.kpi-card small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.kpi-card strong{font:600 28px var(--serif);margin:5px 0 2px}.kpi-card p{font-size:10px;color:var(--muted);margin:0}.kpi-card.accent{background:#3b2f35;color:#fff;border-color:#3b2f35}.kpi-card.accent .kpi-icon{background:#55444c;color:#f3cbc7}.kpi-card.accent small,.kpi-card.accent p{color:#c4b7bd}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);gap:20px}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-soft);margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.panel-head h2{font:600 22px var(--serif);margin:0 0 4px}.panel-head p{font-size:10px;color:var(--muted);margin:0}.panel-head>a{font-size:10px;font-weight:800;color:var(--rose-deep)}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:54px 20px 1fr;gap:10px;min-height:94px}.timeline-time{font-size:11px;font-weight:850;padding-top:18px}.timeline-line{position:relative;display:flex;justify-content:center}.timeline-line:before{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--line)}.timeline-line span{margin-top:21px;width:9px;height:9px;border-radius:50%;background:var(--rose);border:2px solid #fff;box-shadow:0 0 0 2px var(--rose-soft);z-index:1}.timeline-card{margin:5px 0 12px;background:#faf7f4;border:1px solid #eee5e0;border-radius:15px;padding:13px 15px;display:flex;justify-content:space-between;gap:16px}.timeline-card>div:first-child{display:grid;gap:3px}.timeline-card strong{font-size:12px}.timeline-card small,.timeline-card p{font-size:9px;color:var(--muted);margin:0}.timeline-side{text-align:right;display:grid;justify-items:end;align-content:center;gap:7px}.source-pill{font-size:8px;background:#eee4df;color:#7f6d75;border-radius:999px;padding:5px 7px}.quick-panel{align-self:start}.quick-action{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.quick-action:last-child{border-bottom:0}.quick-action>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f7efeb;color:var(--rose-deep);font-weight:900}.quick-action>div{display:grid;gap:3px}.quick-action strong{font-size:11px}.quick-action small{font-size:9px;color:var(--muted)}.quick-action>b{font-size:14px;color:#baaab1}.empty-state{text-align:center;padding:44px 18px}.empty-state>span{font-size:30px}.empty-state h3{font:600 20px var(--serif);margin:13px 0 7px}.empty-state p{font-size:11px;color:var(--muted);margin:0 0 16px}.compact-empty{padding:35px 15px}.week-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:18px}.week-toolbar>div{display:grid;text-align:center;min-width:180px}.week-toolbar strong{font-size:12px}.week-toolbar small{font-size:9px;color:var(--muted)}.icon-button{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}.day-column{background:#fff;border:1px solid var(--line);border-radius:18px;min-width:145px;overflow:hidden}.day-column.today{border-color:var(--rose);box-shadow:0 0 0 2px var(--rose-soft)}.day-head{padding:14px;text-align:center;background:#faf6f3;border-bottom:1px solid var(--line);display:grid}.day-head span{font-size:9px;font-weight:850;color:var(--muted);letter-spacing:.08em}.day-head strong{font:600 25px var(--serif);margin:3px 0}.day-head small{font-size:8px;color:var(--muted)}.day-list{padding:8px;display:grid;gap:8px;min-height:220px;align-content:start}.appointment-mini{padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff}.appt-time{font-size:10px;font-weight:900;color:var(--rose-deep);margin-bottom:5px}.appointment-mini>strong{font-size:10px;display:block}.appointment-mini>small,.appointment-mini>p{font-size:8px;color:var(--muted);margin:3px 0 0;line-height:1.35}.appt-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:7px;border-top:1px solid #f0e8e4}.appt-footer span{font-size:7px;background:#f4ece8;padding:3px 5px;border-radius:999px}.appt-footer button{border:0;background:none;color:var(--red);font-size:7px;cursor:pointer}.day-empty{color:#b5a8ae;font-size:9px;text-align:center;padding:30px 5px}.admin-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.form-panel{align-self:start}.panel-step{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;background:var(--rose-pale);color:var(--rose-deep);font-size:10px;font-weight:850;margin-bottom:8px}.segmented{display:flex;padding:4px;background:#f4efec;border-radius:13px;gap:4px;margin-bottom:18px}.segmented button,.segmented label{flex:1;border:0;background:transparent;border-radius:10px;padding:9px 10px;font-size:10px;font-weight:800;color:var(--muted);cursor:pointer;text-align:center}.segmented button.active,.segmented input:checked+span{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(45,35,41,.06)}.segmented label{padding:0}.segmented label span{display:block;padding:9px 10px;border-radius:10px}.segmented input{position:absolute;opacity:0}.search-wrap{display:flex;align-items:center;gap:9px;border:1px solid #ddd2cc;border-radius:13px;background:#fff;padding:0 12px}.search-wrap>span{color:var(--muted)}.search-wrap input{border:0!important;box-shadow:none!important;padding-left:0!important}.client-suggestions{margin-top:9px;max-height:250px;overflow:auto}.client-suggestion{display:flex;justify-content:space-between;gap:15px;padding:10px;border:1px solid var(--line);border-radius:12px;margin-bottom:7px;cursor:pointer}.client-suggestion:hover{background:#fbf7f5}.client-suggestion span{display:grid;gap:2px}.client-suggestion strong{font-size:10px}.client-suggestion small{font-size:8px;color:var(--muted)}.selected-client{background:#f6efeb;border:1px solid #e9d9d2;border-radius:14px;padding:12px;margin-top:12px}.selected-client strong{display:block;font-size:11px}.selected-client small{font-size:9px;color:var(--muted)}.field-block{margin-top:16px}.select-large{height:48px}.admin-slot-zone{margin-top:16px;max-height:430px;overflow:auto}.slot-placeholder{text-align:center;padding:38px 15px;border:1px dashed #d9ccc6;border-radius:16px;color:var(--muted)}.slot-placeholder span{font-size:25px}.slot-placeholder p{font-size:10px;line-height:1.5;max-width:330px;margin:8px auto 0}.admin-slot-group{margin-bottom:13px}.admin-slot-group>strong{display:block;font-size:10px;margin:0 0 7px}.admin-slot-buttons{display:flex;flex-wrap:wrap;gap:6px}.admin-slot{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:9px;font-weight:850;cursor:pointer}.admin-slot.recommended{background:#f8ece9;border-color:#dfbbb8}.admin-slot.selected{background:var(--rose);color:#fff;border-color:var(--rose)}.muted-text{font-size:10px;color:var(--muted)}.collapsible-panel{background:#fffaf7}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.switch-row{display:flex;align-items:center;gap:11px;margin-top:16px;cursor:pointer}.switch-row input{position:absolute;opacity:0;pointer-events:none}.switch{width:38px;height:22px;border-radius:999px;background:#ddd1cc;position:relative;transition:.2s;flex:none}.switch:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.2s}.switch-row input:checked+.switch{background:var(--rose)}.switch-row input:checked+.switch:after{left:19px}.switch-row>span:last-child{display:grid;gap:2px}.switch-row strong{font-size:10px}.switch-row small{font-size:8px;color:var(--muted)}.large-switch{padding:14px 0}.compact-switch{margin:0}.panel-actions{display:flex;justify-content:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.service-group{padding:0;overflow:hidden}.service-group>.panel-head{padding:20px 22px 16px;margin:0}.service-admin-list{border-top:1px solid var(--line)}.service-admin-row{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(260px,.8fr) auto;gap:18px;align-items:center;padding:15px 22px;border-bottom:1px solid var(--line)}.disabled-row{opacity:.55}.service-admin-main{display:flex;align-items:center;gap:10px}.service-admin-main>div{display:grid;gap:3px}.service-admin-main strong{font-size:11px}.service-admin-main small{font-size:8px;color:var(--muted)}.status-dot{width:9px;height:9px;border-radius:50%;background:#bbb;flex:none}.status-dot.on{background:var(--green);box-shadow:0 0 0 4px #e8f0ec}.service-admin-facts{display:flex;gap:22px}.service-admin-facts span{display:grid;gap:2px}.service-admin-facts small{font-size:7px;text-transform:uppercase;color:var(--muted)}.service-admin-facts b{font-size:9px}.service-admin-actions{display:flex;gap:5px}.icon-text-button{border:0;background:#f5efec;color:var(--ink);border-radius:9px;padding:7px 9px;font-size:8px;font-weight:800;cursor:pointer}.danger-text{color:var(--red)}.inline-editor{padding:18px 22px;background:#fbf7f4;border-bottom:1px solid var(--line)}.editor-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.empty-row{padding:25px;color:var(--muted);font-size:10px}.client-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.client-search{flex:1;max-width:620px}.client-search .button{margin-right:-6px}.count-label{font-size:9px;color:var(--muted)}.client-table-head,.client-row{display:grid;grid-template-columns:1.1fr 1fr 1.4fr 26px;gap:16px;align-items:center}.client-table-head{padding:9px 13px;color:var(--muted);font-size:8px;text-transform:uppercase;border-bottom:1px solid var(--line)}.client-row{padding:12px 13px;border-bottom:1px solid var(--line)}.client-row:hover{background:#fcf8f6}.client-row>span:not(.client-name){display:grid;gap:3px}.client-row strong{font-size:9px}.client-row small{font-size:8px;color:var(--muted)}.client-name{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#f2e4df;color:var(--rose-deep);font-size:10px}.client-name>span{display:grid;gap:3px}.row-arrow{color:#b8aab0}.client-detail-grid,.two-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.history-list{display:grid}.history-row{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.history-date,.history-row>div:nth-child(2),.history-price{display:grid;gap:3px}.history-row strong{font-size:10px}.history-row small{font-size:8px;color:var(--muted)}.history-price{text-align:right}.status-text.confirmed{color:var(--green)}.status-text.cancelled{color:var(--red)}.hours-list{display:grid;gap:10px}.hour-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px 18px;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:22px;align-items:center}.hour-card.off{opacity:.55}.hour-times,.hour-break{display:flex;align-items:end;gap:8px}.hour-times>div{flex:1}.hour-times label,.hour-break>small{font-size:8px;color:var(--muted);display:block;margin-bottom:4px}.hour-times>span,.hour-break>span{font-size:9px;color:var(--muted);padding-bottom:12px}.hour-break input{min-width:0}.sticky-save{position:sticky;bottom:14px;display:flex;justify-content:center;margin-top:20px;z-index:20}.sticky-save .button{box-shadow:0 12px 35px rgba(74,43,51,.24)}.exception-list{display:grid}.exception-row{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.exception-date{width:46px;height:46px;border-radius:13px;background:#f6ece8;display:grid;place-items:center;align-content:center}.exception-date strong{font:600 18px var(--serif)}.exception-date small{font-size:7px;color:var(--muted)}.exception-row>div:nth-child(2){display:grid;gap:3px}.exception-row>div:nth-child(2) strong{font-size:10px}.exception-row>div:nth-child(2) small{font-size:8px;color:var(--muted)}.settings-stack{display:grid;gap:0}.settings-fields{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.input-suffix{position:relative}.input-suffix input{padding-right:60px}.input-suffix span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:9px;color:var(--muted)}.info-banner{display:flex;gap:12px;padding:14px;border-radius:14px;background:#f7efeb;color:var(--ink)}.info-banner>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--rose-deep);flex:none}.info-banner p{font-size:9px;line-height:1.55;color:var(--muted);margin:0}.admin-mobile-nav{display:none}

@media(max-width:1100px){.hero-grid{gap:30px}.hero-card-main{width:320px;height:390px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.admin-form-grid{grid-template-columns:1fr}.service-admin-row{grid-template-columns:1fr auto}.service-admin-facts{grid-column:1/2}.service-admin-actions{grid-column:2;grid-row:1/3}.client-detail-grid,.two-panel-grid{grid-template-columns:1fr}}
@media(max-width:820px){.shell{width:min(100% - 28px,1180px)}.client-header-inner{height:68px}.client-nav{display:none}.mobile-book{display:block}.brand strong{font-size:17px}.brand-mark{width:38px;height:38px}.hero-section{padding:58px 0 65px}.hero-grid{grid-template-columns:1fr}.hero-copy h1{font-size:56px}.hero-lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-trust{gap:13px;flex-wrap:wrap}.hero-visual{height:420px}.hero-card-main{width:280px;height:340px}.floating-card-top{left:0;top:45px}.floating-card-bottom{right:0;bottom:35px}.section{padding:66px 0}.split-heading{display:block}.split-heading p{margin-top:16px}.steps-grid{grid-template-columns:1fr}.route-card{grid-template-columns:1fr;padding:34px}.route-copy h2{font-size:38px}.route-visual{height:240px}.final-cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-links{justify-items:start}.booking-page{padding-top:28px}.booking-head h1{font-size:38px}.booking-progress{max-width:100%}.progress-line{width:38px}.progress-item small{font-size:8px}.booking-card{border-radius:22px}.booking-step{padding:24px 18px}.step-heading{display:block}.step-heading>p{text-align:left;margin-top:8px}.booking-final-grid{grid-template-columns:1fr}.success-recap{grid-template-columns:1fr 1fr}.admin-layout{display:block}.admin-sidebar{position:fixed;left:-280px;width:255px;transition:.25s}.admin-sidebar.open{left:0;box-shadow:30px 0 60px rgba(0,0,0,.18)}.admin-topbar{height:64px;padding:0 16px}.mobile-menu-btn{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:11px;background:#fff;margin-right:8px}.admin-topbar>div{margin-right:auto}.admin-quick{display:none}.admin-content{padding:20px 14px 92px}.admin-page-head{align-items:flex-start}.admin-page-head h1{font-size:31px}.admin-page-head>.button{display:none}.kpi-grid{grid-template-columns:1fr 1fr}.admin-mobile-nav{position:fixed;bottom:0;left:0;right:0;height:68px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;z-index:55;padding-bottom:env(safe-area-inset-bottom)}.admin-mobile-nav a{display:grid;place-items:center;gap:2px;font-size:16px;color:#7f7278}.admin-mobile-nav small{font-size:7px;font-weight:800}.admin-mobile-nav .mobile-add{width:48px;height:48px;border-radius:50%;background:var(--rose);color:#fff;margin:-22px auto 0;font-size:25px;box-shadow:0 8px 22px rgba(185,120,126,.3)}.form-grid-3{grid-template-columns:1fr 1fr}.span-3{grid-column:span 2}.service-admin-row{grid-template-columns:1fr}.service-admin-facts{grid-column:auto}.service-admin-actions{grid-column:auto;grid-row:auto}.client-table-head{display:none}.client-row{grid-template-columns:1fr 30px}.client-row>span:not(.client-name){display:none}.client-row .row-arrow{grid-column:2}.hour-card{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(7,180px)}.client-toolbar{align-items:stretch;flex-direction:column}.client-search{max-width:none}.client-detail-grid,.two-panel-grid{grid-template-columns:1fr}}
@media(max-width:560px){.hero-copy h1{font-size:48px}.hero-visual{height:365px}.hero-card-main{width:235px;height:295px}.hero-monogram{font-size:58px}.hero-card-copy strong{font-size:20px}.floating-card{min-width:158px;padding:10px 11px}.floating-card strong{font-size:10px}.floating-card small{font-size:8px}.section-heading h2{font-size:39px}.service-row{grid-template-columns:1fr}.service-meta{justify-content:space-between}.route-card{padding:28px 20px}.route-copy h2{font-size:34px}.final-cta h2{font-size:34px}.booking-head h1{font-size:34px}.booking-progress{margin-bottom:18px}.progress-item{width:60px}.progress-line{width:22px}.progress-item small{display:none}.booking-service{grid-template-columns:28px 1fr}.booking-service-side{grid-column:2;display:flex;justify-content:space-between;text-align:left}.two-fields,.form-grid-2{grid-template-columns:1fr}.span-2{grid-column:span 1}.booking-actions{flex-wrap:wrap}.booking-actions .button{flex:1}.success-card{padding:34px 18px}.success-recap{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:1fr}.admin-page-head{display:block}.admin-page-head>.button{margin-top:14px}.form-grid-3{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.service-admin-facts{gap:12px;flex-wrap:wrap}.week-toolbar .button-soft{display:none}.hour-times,.hour-break{align-items:center}.exception-row{grid-template-columns:48px 1fr}.exception-row form{grid-column:2}.final-summary{padding:18px}}

.delete-service-form{display:flex;justify-content:flex-end;margin-top:8px}

/* ===== V3 CLIENT BOOKING + AUTH ===== */
.v3-zone-copy{color:var(--muted);margin:12px 0 0;line-height:1.6}.v3-steps .step-card{min-height:245px}.booking-v3{padding:58px 0 90px;background:linear-gradient(180deg,#fbf7f3,#f5efea)}.booking-shell-v3{max-width:920px}.booking-head-v3{text-align:center;margin-bottom:30px}.booking-head-v3 h1{font:500 clamp(40px,5vw,58px)/1.05 var(--serif);margin:10px 0 10px;letter-spacing:-.035em}.booking-head-v3 p{margin:0;color:var(--muted);font-size:15px}.booking-v3-form{display:grid;gap:18px}.booking-v3-panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow-soft)}.booking-v3-panel-title{display:flex;gap:15px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:24px}.booking-v3-panel-title>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:800;flex:0 0 auto}.booking-v3-panel-title h2{font:600 27px/1.1 var(--serif);margin:0 0 6px}.booking-v3-panel-title p{margin:0;color:var(--muted);font-size:13px}.booking-v3-block{margin-top:22px}.compact-pills{margin:10px 0 12px}.booking-service-list{display:grid;gap:8px}.booking-service-v3{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 16px;cursor:pointer;transition:.18s ease}.booking-service-v3:hover{border-color:#d8c2c0;background:#fffaf8}.booking-service-v3.selected{border-color:var(--rose);box-shadow:0 0 0 3px rgba(185,120,126,.09);background:#fffaf8}.booking-service-v3 .service-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #c8b8b4;position:relative}.booking-service-v3.selected .service-radio{border-color:var(--rose)}.booking-service-v3.selected .service-radio:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--rose)}.booking-service-copy{display:grid;gap:4px}.booking-service-copy strong{font-size:14px}.booking-service-copy small{font-size:11px;color:var(--muted)}.booking-service-side strong{font:600 18px var(--serif)}.booking-v3-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.booking-v3-fields input,.booking-v3-block textarea,.booking-v3-block input{width:100%}.address-block-v3{position:relative}.address-feedback-v3{min-height:18px;margin-top:8px;font-size:12px;font-weight:700}.address-feedback-v3.ok{color:var(--green)}.address-feedback-v3.error{color:var(--red);background:#fff3f2;border:1px solid #f2d1ce;border-radius:12px;padding:10px 12px;line-height:1.45}.chosen-recap-v3{display:grid;grid-template-columns:1.25fr 1.5fr .65fr;gap:10px;background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:20px}.chosen-recap-v3>div{display:grid;gap:4px}.chosen-recap-v3 small{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:800}.chosen-recap-v3 strong{font-size:12px;line-height:1.35}.recommended-v3{margin-bottom:16px}.recommended-v3 .slot-zone-head p{margin-top:4px}.slot-days-other{margin-top:18px}.booking-v3-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.booking-v3-actions .button:last-child{margin-left:auto}.admin-auth-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#f5dedd 0,transparent 32%),linear-gradient(140deg,#f8f2ed,#efe5df);padding:24px}.admin-auth-shell{width:min(460px,100%)}.admin-auth-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 28px 80px rgba(58,40,48,.13)}.admin-auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px}.admin-auth-brand>div{display:grid}.admin-auth-brand strong{font:600 20px var(--serif)}.admin-auth-brand small{font-size:9px;letter-spacing:.15em;color:var(--muted);margin-top:4px}.admin-auth-card h1{font:600 36px/1.05 var(--serif);margin:10px 0 12px}.admin-auth-card>p{color:var(--muted);line-height:1.6;margin:0 0 20px}.admin-auth-form{display:grid;gap:14px}.admin-auth-form input{width:100%}.auth-error{background:#fff1f0;border:1px solid #f0cfcc;color:var(--red);padding:11px 13px;border-radius:12px;font-size:13px;font-weight:700;margin-bottom:16px}.auth-back{display:block;text-align:center;margin-top:20px;font-size:12px;font-weight:700;color:var(--muted)}.admin-logout{border:0;background:transparent;padding:0;color:#c5b9be;font:inherit;font-size:12px;cursor:pointer}.admin-logout:hover{color:#fff}.admin-sidebar-foot form{margin-top:9px}.admin-sidebar-foot small{display:block;margin-top:10px}.final-cta-inner>div p{max-width:560px}
@media(max-width:760px){.booking-v3{padding:30px 0 76px}.booking-head-v3{text-align:left}.booking-v3-panel{padding:20px 16px;border-radius:22px}.booking-v3-fields{grid-template-columns:1fr}.booking-service-v3{grid-template-columns:24px 1fr auto;padding:13px 12px}.chosen-recap-v3{grid-template-columns:1fr 1fr}.chosen-recap-v3>div:nth-child(2){grid-column:1/-1;grid-row:2}.booking-v3-actions{flex-direction:column}.booking-v3-actions .button{width:100%;margin-left:0!important}.admin-auth-card{padding:28px 20px}.client-nav a:not(.button){display:none}}
@media(max-width:520px){.booking-head-v3 h1{font-size:37px}.booking-v3-panel-title h2{font-size:24px}.booking-service-side strong{font-size:16px}.chosen-recap-v3{grid-template-columns:1fr}.chosen-recap-v3>div:nth-child(2){grid-column:auto;grid-row:auto}.v3-steps{grid-template-columns:1fr}.v3-steps .step-card{min-height:auto}}

/* =====================================================================
   V4 — séparation terrain mobile / pilotage PC
   ===================================================================== */
.mobile-only{display:none!important}.admin-sidebar.desktop-only{display:flex}.admin-topbar.desktop-only{display:flex}
.status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:850;letter-spacing:.02em;background:#f0ecea;color:#72666b;white-space:nowrap}.status-chip.confirmed{background:#eef1f6;color:#56677e}.status-chip.in_progress{background:#fff0dc;color:#9a641b}.status-chip.completed{background:#e9f2ed;color:#4e785f}.status-chip.cancelled{background:#f8e8e7;color:#a45156}

/* Desktop tournée */
.desktop-route-list{display:grid}.desktop-route-row{display:grid;grid-template-columns:88px 40px 1fr auto;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.desktop-route-row:last-child{border-bottom:0}.route-depart{display:grid;gap:2px}.route-depart small,.route-appt small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.route-depart strong{font-size:19px}.route-depart span{font-size:10px;color:var(--rose-deep);font-weight:750}.route-arrow{color:#c9bbb6}.route-appt{display:grid;gap:3px}.route-appt>strong{font-size:14px}.route-appt>span{font-size:11px;color:var(--muted)}

/* Rendez-vous : détail + encaissement */
.appointment-detail-shell{max-width:1100px;margin:0 auto}.appointment-detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.appt-hero-card{background:linear-gradient(135deg,#342a30,#46363e);color:#fff;border-radius:26px;padding:24px 28px;display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:22px;box-shadow:var(--shadow)}.appt-hero-time{display:grid;border-right:1px solid rgba(255,255,255,.14)}.appt-hero-time strong{font:600 34px var(--serif)}.appt-hero-time small{font-size:10px;color:#cbbfc4}.appt-hero-person h1{font:600 28px var(--serif);margin:0 0 5px}.appt-hero-person p{margin:0;color:#d4c8cd;font-size:13px}.appt-price{text-align:right;display:grid}.appt-price small{font-size:9px;color:#cbbfc4}.appt-price strong{font:600 24px var(--serif)}.terrain-route-card{margin:14px 0 18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.terrain-route-card>div{display:flex;align-items:center;gap:13px}.terrain-route-card>div>span{width:38px;height:38px;border-radius:13px;background:var(--rose-pale);display:grid;place-items:center;color:var(--rose-deep);font-weight:900}.terrain-route-card small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.terrain-route-card strong{display:block;font-size:14px;margin:2px 0}.terrain-route-card p{font-size:11px;color:var(--muted);margin:0}.appointment-detail-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:18px}.appt-info-panel,.checkout-panel{padding:24px}.contact-actions{display:grid;gap:10px}.contact-actions>a{border:1px solid var(--line);border-radius:14px;padding:13px;display:flex;align-items:center;gap:12px}.contact-actions>a>span{width:35px;height:35px;border-radius:12px;background:var(--cream);display:grid;place-items:center}.contact-actions a div{display:grid}.contact-actions small{font-size:9px;color:var(--muted)}.contact-actions strong{font-size:12px}.appt-note{margin-top:15px;background:var(--cream);border-radius:14px;padding:14px}.appt-note small{font-size:9px;letter-spacing:.1em;color:var(--muted);font-weight:800}.appt-note p{font-size:12px;line-height:1.55;margin:6px 0 0}.checkout-panel>h2{font:600 28px var(--serif);margin:8px 0}.checkout-panel>p{font-size:13px;line-height:1.6;color:var(--muted)}.checkout-panel form+form{margin-top:9px}.checkout-state-icon{width:48px;height:48px;border-radius:16px;background:#eaf2ed;color:var(--green);display:grid;place-items:center;font-size:22px;font-weight:900}.checkout-state-icon.pending{background:#fff0dc;color:#a26d22}.checkout-state-icon.paid{background:#eaf2ed;color:var(--green)}.finish-form{display:grid;gap:13px;margin-top:18px}.big-money-input{height:62px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;align-items:center;padding:0 18px}.big-money-input input{border:0!important;outline:0;background:transparent;font:600 30px var(--serif);min-width:0;width:100%;padding:0!important}.big-money-input span{font:600 22px var(--serif);color:var(--muted)}.deposit-line,.remaining-line{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:3px 2px}.deposit-line{color:var(--muted)}.remaining-line{padding:12px 14px;background:var(--rose-pale);border-radius:13px}.remaining-line strong{font-size:17px}.payment-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.payment-methods input{position:absolute;opacity:0;pointer-events:none}.payment-methods label>span{border:1px solid var(--line);border-radius:14px;padding:12px 8px;display:grid;text-align:center;gap:3px;cursor:pointer}.payment-methods label>span b{font-size:19px}.payment-methods label>span strong{font-size:11px}.payment-methods label>span small{font-size:8px;color:var(--muted)}.payment-methods input:checked+span{border-color:var(--rose);background:var(--rose-pale);box-shadow:0 0 0 2px rgba(185,120,126,.08)}.paid-check{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--ink-2);padding:6px 0}.payment-due{display:grid;background:var(--cream);border-radius:16px;padding:20px;margin:18px 0}.payment-due small{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800}.payment-due strong{font:600 34px var(--serif);margin:3px 0}.payment-due span{font-size:11px;color:var(--muted)}.payment-reference{font-size:11px;color:var(--muted)}

/* CRM PC */
.crm-kpis{margin-bottom:18px}.crm-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px}.crm-map-panel,.crm-alerts-panel,.crm-table-panel{padding:22px}.crm-map-toolbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.crm-filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:6px}.crm-filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.crm-filter i,.map-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-late{background:#b85c62}.dot-watch{background:#d29a4a}.dot-ok{background:#5f8772}.dot-never{background:#9a9094}.client-map{height:430px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#ede7e3}.map-legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:12px;font-size:9px;color:var(--muted)}.map-legend span{display:flex;align-items:center;gap:5px}.crm-map-popup{display:grid;gap:3px;min-width:170px}.crm-map-popup>strong{font-size:13px}.crm-map-popup>span,.crm-map-popup>small{font-size:10px;color:#756a6f}.crm-map-popup>div{display:flex;gap:6px;margin-top:7px}.map-popup-action{background:#2f252b!important;color:#fff!important;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}.crm-alert-list{display:grid;gap:8px;max-height:520px;overflow:auto}.crm-alert-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:11px}.crm-avatar{width:38px;height:38px;border-radius:13px;background:var(--cream);display:grid;place-items:center;font-size:10px;font-weight:850}.crm-alert-main{display:grid;gap:2px;min-width:0}.crm-alert-main strong{font-size:11px}.crm-alert-main span{font-size:9px;color:var(--ink-2)}.crm-alert-main small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-alert-side{text-align:right;display:grid;justify-items:end;gap:4px}.crm-alert-side>small{font-size:9px;color:var(--red);font-weight:800}.crm-alert-side>a{font-size:9px;font-weight:800}.crm-state{display:inline-flex;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:850;white-space:nowrap}.crm-state.late{background:#f8e5e4;color:#a64f55}.crm-state.watch{background:#fff0dc;color:#98651f}.crm-state.ok{background:#e7f1eb;color:#4f765f}.crm-state.new{background:#e8eef5;color:#55708e}.crm-state.never{background:#f0eeee;color:#756d70}.crm-table{overflow:auto}.crm-table-row{display:grid;grid-template-columns:1.45fr .45fr .8fr .8fr .9fr .9fr;gap:10px;align-items:center;padding:12px 6px;border-bottom:1px solid var(--line);min-width:850px}.crm-table-row.head{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850}.crm-table-row:not(.head):hover{background:#fffaf8}.crm-table-row span{font-size:10px}.crm-table-row span:first-child{display:grid}.crm-table-row span:first-child strong{font-size:11px}.crm-table-row span:first-child small{font-size:8px;color:var(--muted)}

/* Ajout rendez-vous V4 */
.v4-appt-form{align-items:start}.panel-head.compact{padding-bottom:13px;margin-bottom:15px}.panel-head.compact>div{display:flex;align-items:center;gap:10px}.panel-head.compact h2{margin:0}.mobile-search-big{margin-top:12px}.find-slot-v4{margin-top:13px}.admin-slot button b,.admin-slot button small{display:block}.admin-slot{min-width:85px}.admin-slot b{font-size:12px}.admin-slot small{font-size:7px;color:var(--muted);margin-top:3px}.admin-slot.selected small,.admin-slot.recommended.selected small{color:rgba(255,255,255,.75)}.appt-note-details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.appt-note-details summary{font-size:11px;font-weight:800;cursor:pointer;color:var(--ink-2)}.appt-note-details textarea{width:100%;margin-top:10px}.save-appt-v4{margin-top:14px}

/* Mobile planning */
.mobile-week-list{display:none}.mobile-day-block{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:10px}.mobile-day-block.today{border-color:var(--rose);box-shadow:0 0 0 2px rgba(185,120,126,.07)}.mobile-day-block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mobile-day-block-head>div{display:flex;align-items:baseline;gap:8px}.mobile-day-block-head strong{font:600 18px var(--serif)}.mobile-day-block-head span,.mobile-day-block-head small{font-size:9px;color:var(--muted)}.mobile-plan-card{display:grid;grid-template-columns:62px 1fr 15px;gap:9px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.mobile-plan-time{display:grid}.mobile-plan-time strong{font-size:16px}.mobile-plan-time small{font-size:7px;color:var(--rose-deep);font-weight:800}.mobile-plan-card>div:nth-child(2){display:grid;gap:2px}.mobile-plan-card>div:nth-child(2)>strong{font-size:11px}.mobile-plan-card>div:nth-child(2)>span{font-size:9px;color:var(--ink-2)}.mobile-plan-card>div:nth-child(2)>small{font-size:8px;color:var(--muted)}.mobile-plan-card>b{color:#b8aaa5}.mobile-plan-free{border-top:1px solid var(--line);padding:13px 0 2px;color:var(--muted);font-size:10px}

/* Feature desktop sur petit écran */
.pc-feature-message{text-align:center;padding:60px 24px}.pc-feature-message>span{width:54px;height:54px;background:var(--rose-pale);display:grid;place-items:center;border-radius:18px;margin:0 auto 15px;font-size:23px}.pc-feature-message h1{font:600 30px var(--serif);margin:0 0 9px}.pc-feature-message p{font-size:12px;color:var(--muted);line-height:1.6;max-width:350px;margin:0 auto 20px}

@media(max-width:760px){
  .desktop-only{display:none!important}.mobile-only{display:block!important}.admin-sidebar.desktop-only,.admin-topbar.desktop-only{display:none!important}
  .admin-layout{min-height:100vh}.admin-main{min-width:0}.admin-content{padding:14px 12px calc(88px + env(safe-area-inset-bottom))}
  .mobile-pro-header.mobile-only{height:60px;position:sticky;top:0;z-index:54;background:rgba(255,253,250,.95);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);padding:0 14px;display:flex!important;align-items:center;justify-content:space-between}.mobile-pro-brand{display:flex;align-items:center;gap:9px}.mobile-pro-brand .brand-mark{width:34px;height:34px;font-size:13px}.mobile-pro-brand>span:last-child{display:grid}.mobile-pro-brand strong{font:600 15px var(--serif);line-height:1}.mobile-pro-brand small{font-size:7px;color:var(--muted);margin-top:4px}.mobile-pro-settings{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:11px;display:grid;place-items:center;font-size:14px}
  .admin-mobile-nav.mobile-only{display:grid!important;grid-template-columns:repeat(5,1fr);height:69px}.admin-mobile-nav a.active{color:var(--rose-deep)}
  .admin-toasts{top:68px;left:12px;right:12px}.admin-toasts .toast{font-size:10px}
  .mobile-day-title{display:flex;align-items:end;justify-content:space-between;margin:8px 2px 14px}.mobile-day-title h1{font:600 34px/1 var(--serif);margin:5px 0 0}.mobile-round-add{width:42px;height:42px;border-radius:14px;background:var(--rose);color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 8px 18px rgba(185,120,126,.22)}
  .mobile-next-card{background:linear-gradient(145deg,#342a30,#44353d);color:#fff;border-radius:24px;padding:18px;box-shadow:0 18px 40px rgba(58,40,48,.16);margin-bottom:18px}.mobile-next-top{display:flex;align-items:center;justify-content:space-between}.mobile-next-top .status-chip{background:rgba(255,255,255,.1);color:#fff}.mobile-next-top>strong{font:600 26px var(--serif)}.mobile-next-card h2{font:600 28px/1.05 var(--serif);margin:18px 0 5px}.mobile-service-name{font-size:11px;color:#d4c8cd;margin:0}.mobile-route-strip{margin-top:15px;padding:12px;border-radius:15px;background:rgba(255,255,255,.07);display:flex;gap:11px;align-items:center}.route-car{width:35px;height:35px;border-radius:12px;background:rgba(255,255,255,.1);display:grid;place-items:center}.mobile-route-strip>div{display:grid}.mobile-route-strip small{font-size:7px;color:#cbbfc4;text-transform:uppercase;letter-spacing:.08em}.mobile-route-strip strong{font-size:12px;margin:2px 0}.mobile-route-strip p{font-size:8px;color:#cbbfc4;margin:0}.mobile-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.mobile-action-grid>a{min-height:55px;border-radius:14px;background:rgba(255,255,255,.08);display:grid;place-items:center;align-content:center;gap:2px}.mobile-action-grid>a.primary{background:var(--rose)}.mobile-action-grid span{font-size:15px}.mobile-action-grid small{font-size:7px;font-weight:800}
  .mobile-section-head{display:flex;align-items:center;justify-content:space-between;margin:18px 2px 8px}.mobile-section-head h2{font:600 20px var(--serif);margin:0}.mobile-section-head span{font-size:9px;color:var(--muted);font-weight:800}.mobile-agenda{background:#fff;border:1px solid var(--line);border-radius:20px;padding:4px 14px}.mobile-agenda-item{display:grid;grid-template-columns:54px 1fr 48px;gap:8px;align-items:center;padding:13px 0}.mobile-agenda-item.done{opacity:.55}.mobile-agenda-time{display:grid}.mobile-agenda-time strong{font-size:16px}.mobile-agenda-time small{font-size:8px;color:var(--muted)}.mobile-agenda-main{display:grid;gap:2px}.mobile-agenda-main strong{font-size:11px}.mobile-agenda-main span{font-size:9px;color:var(--ink-2)}.mobile-agenda-main small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-agenda-travel{text-align:right;display:grid;justify-items:end}.mobile-agenda-travel strong{font-size:10px;color:var(--rose-deep)}.mobile-agenda-travel small{font-size:7px;color:var(--muted)}.mobile-agenda-travel span{position:absolute;color:#c7bbb6}.mobile-between{height:20px;border-top:1px dashed var(--line);display:flex;align-items:center;gap:8px;color:var(--muted);font-size:7px}.mobile-between i{height:1px;background:var(--line);flex:1}.mobile-empty-day{text-align:center;padding:32px 15px}.mobile-empty-day>span{font-size:25px}.mobile-empty-day h3{font:600 22px var(--serif);margin:7px}.mobile-empty-day p{font-size:10px;color:var(--muted)}.mobile-quick-create{display:grid;grid-template-columns:38px 1fr 16px;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px;margin-top:10px}.mobile-quick-create>span{width:38px;height:38px;border-radius:13px;background:var(--rose-pale);color:var(--rose-deep);display:grid;place-items:center;font-size:20px}.mobile-quick-create>div{display:grid}.mobile-quick-create strong{font-size:11px}.mobile-quick-create small{font-size:8px;color:var(--muted)}.mobile-quick-create b{color:#baaDA8}
  .week-toolbar{margin:5px 0 12px;padding:9px}.week-toolbar>div{flex:1;text-align:center}.week-toolbar strong{font-size:10px}.week-toolbar small{font-size:7px}.mobile-week-list{display:block!important}
  .mobile-form-title{display:flex!important;align-items:center;gap:12px;margin:5px 2px 13px}.mobile-form-title>a{width:34px;height:34px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;place-items:center}.mobile-form-title span{font-size:7px;letter-spacing:.1em;color:var(--rose-deep);font-weight:850}.mobile-form-title h1{font:600 25px var(--serif);margin:1px 0 0}.v4-appt-form{display:block}.v4-appt-form .admin-panel{padding:16px;border-radius:19px;margin-bottom:10px}.v4-appt-form .panel-step{width:27px;height:27px;font-size:9px}.v4-appt-form .panel-head h2{font-size:19px}.segmented{margin-bottom:10px}.client-suggestions{max-height:190px;overflow:auto}.selected-client{margin-top:8px}.select-large{min-height:48px}.admin-slot-zone{max-height:330px;overflow:auto}.admin-slot-group{padding:10px 0}.admin-slot-buttons{display:flex;overflow-x:auto;padding-bottom:4px}.admin-slot{flex:0 0 auto;min-width:88px;padding:9px 8px}.save-appt-v4{position:sticky;bottom:78px;z-index:5;box-shadow:0 10px 25px rgba(47,37,43,.18)}
  .appointment-detail-shell{margin:0}.appointment-detail-head{margin:4px 2px 10px}.appt-hero-card{border-radius:22px;padding:17px;grid-template-columns:66px 1fr auto;gap:10px}.appt-hero-time{padding-right:8px}.appt-hero-time strong{font-size:25px}.appt-hero-time small{font-size:7px}.appt-hero-person h1{font-size:21px}.appt-hero-person p{font-size:9px}.appt-price small{font-size:7px}.appt-price strong{font-size:17px}.terrain-route-card{padding:12px;border-radius:16px}.terrain-route-card .button{padding:10px 12px;font-size:9px}.terrain-route-card>div>span{width:34px;height:34px}.terrain-route-card strong{font-size:10px}.terrain-route-card p{font-size:8px}.appointment-detail-grid{grid-template-columns:1fr}.appt-info-panel,.checkout-panel{padding:17px;border-radius:19px}.appointment-detail-grid .appt-info-panel{order:2}.appointment-detail-grid .checkout-panel{order:1}.checkout-panel>h2{font-size:25px}.checkout-panel>p{font-size:10px}.contact-actions{grid-template-columns:1fr 1fr}.contact-actions>a{padding:9px}.contact-actions>a>span{width:30px;height:30px}.contact-actions strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-methods label>span{padding:10px 5px}.big-money-input{height:58px}.big-money-input input{font-size:27px}.finish-form .button{min-height:52px}.checkout-state-icon{width:42px;height:42px}.payment-due strong{font-size:31px}
  .settings-stack .admin-panel{padding:17px}.settings-stack .panel-head h2{font-size:20px}
}
.client-rhythm-bar{display:grid;grid-template-columns:.6fr 1fr 1fr 1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:16px;overflow:hidden}.client-rhythm-bar>div{padding:14px 16px;border-right:1px solid var(--line);display:grid;gap:4px;align-content:center}.client-rhythm-bar>div:last-child{border-right:0}.client-rhythm-bar small{font-size:8px;letter-spacing:.08em;color:var(--muted);font-weight:850}.client-rhythm-bar strong{font-size:12px}


/* V4.1 — menu terrain mobile */
.mobile-more-page{padding-bottom:96px}.mobile-more-list{display:grid;gap:10px;margin:16px 0}.mobile-more-list>a{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:15px;background:#fff;border:1px solid rgba(47,37,43,.09);border-radius:18px;text-decoration:none;color:inherit;box-shadow:0 8px 28px rgba(47,37,43,.05)}.mobile-more-list strong{display:block;font-size:15px}.mobile-more-list small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.more-icon{width:44px;height:44px;border-radius:14px;background:#f5eef1;display:grid;place-items:center;font-weight:800}.mobile-pc-note{margin:22px 0;padding:16px;border-radius:18px;background:#f8f5f6;border:1px solid rgba(47,37,43,.08)}.mobile-pc-note strong{display:block;margin-bottom:5px}.mobile-pc-note p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.mobile-pc-only-page{text-align:center;padding:40px 14px 110px}.mobile-pc-only-page>.more-icon{margin:0 auto 16px}.mobile-pc-only-page h1{margin:0 0 8px}.mobile-pc-only-page p{color:var(--muted);line-height:1.55;margin:0 auto 22px;max-width:420px}

/* V5 — parcours de réservation simplifié */
.booking-v5-page{min-height:100vh;background:linear-gradient(180deg,#faf7f4 0,#f4eeea 100%);padding:0 0 80px}.booking-v5-shell{width:min(780px,calc(100% - 28px));margin:0 auto}.booking-v5-topbar{height:82px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center}.booking-v5-home{width:40px;height:40px;border-radius:13px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-weight:800}.booking-v5-brand{display:flex;align-items:center;justify-content:center;gap:10px}.booking-v5-brand .brand-mark{width:38px;height:38px;font-size:14px}.booking-v5-brand>div{display:grid}.booking-v5-brand strong{font:600 17px var(--serif);line-height:1}.booking-v5-brand small{font-size:8px;letter-spacing:.13em;color:var(--muted);margin-top:4px}.booking-v5-card{background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:0 24px 70px rgba(58,40,48,.08);padding:24px 28px 32px;min-height:560px}.booking-v5-progress{height:4px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:44px}.booking-v5-progress span{height:4px;border-radius:10px;background:#eee7e3;transition:.25s}.booking-v5-progress span.active{background:var(--rose)}.booking-v5-step{animation:v5fade .25s ease}.booking-v5-question{text-align:center;margin:0 auto 30px;max-width:600px}.booking-v5-question.narrow{max-width:520px}.booking-v5-kicker{font-size:10px;font-weight:850;letter-spacing:.16em;color:var(--rose-deep)}.booking-v5-question h1{font:600 clamp(31px,5vw,44px)/1.08 var(--serif);letter-spacing:-.025em;margin:9px 0 10px}.booking-v5-question p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.booking-v5-back{border:0;background:transparent;color:var(--muted);font-weight:750;font-size:12px;padding:0;margin:0 0 22px;cursor:pointer}.booking-v5-back:hover{color:var(--ink)}
.booking-v5-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.audience-card-v5{min-height:190px;border:1px solid var(--line);background:#fff;border-radius:22px;padding:20px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.2s;color:var(--ink)}.audience-card-v5:hover,.audience-card-v5.selected{transform:translateY(-2px);border-color:#d7b1b4;background:var(--rose-pale);box-shadow:0 12px 30px rgba(58,40,48,.07)}.audience-card-v5 strong{font:600 20px var(--serif);margin-top:11px}.audience-card-v5 small{font-size:10px;color:var(--muted);margin-top:2px}.audience-icon-v5{width:78px;height:78px;border-radius:50%;background:#f7f1ee;display:grid;place-items:center}.audience-icon-v5 svg{width:58px;height:58px;stroke:var(--rose-deep);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.audience-card-v5.selected .audience-icon-v5{background:#fff}
.booking-v5-services{max-width:590px;margin:0 auto}.booking-v5-service-group{display:grid;gap:9px}.service-choice-v5{width:100%;display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);border-radius:17px;background:#fff;padding:16px 17px;cursor:pointer;color:var(--ink);transition:.15s}.service-choice-v5:hover,.service-choice-v5.selected{border-color:#d7b1b4;background:var(--rose-pale)}.service-choice-v5>div{display:grid;gap:4px}.service-choice-v5 strong{font-size:14px}.service-choice-v5 small{font-size:10px;color:var(--muted)}.service-choice-v5>span{font-weight:850;font-size:13px}.service-choice-v5>b{font-size:22px;color:#b9aaa4;font-weight:400}
.booking-v5-single-field{max-width:500px;margin:0 auto}.booking-v5-single-field>label,.booking-v5-profile-grid label,.booking-v5-sex-block>label{display:block;font-size:11px;font-weight:800;color:var(--ink-2);margin:0 0 7px}.booking-v5-single-field input,.booking-v5-single-field textarea,.booking-v5-profile-grid input{width:100%;border:1px solid var(--line);background:#fff;border-radius:15px;min-height:54px;padding:13px 15px;outline:none;color:var(--ink);transition:.15s}.booking-v5-single-field textarea{resize:vertical;min-height:76px}.booking-v5-single-field input:focus,.booking-v5-single-field textarea:focus,.booking-v5-profile-grid input:focus{border-color:#c89196;box-shadow:0 0 0 4px rgba(185,120,126,.08)}.booking-v5-single-field .button{margin-top:14px}.booking-v5-inline-error{min-height:22px;padding-top:6px;color:var(--red);font-size:11px;font-weight:700}.booking-v5-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;max-width:560px;margin:0 auto}.booking-v5-profile-grid .full{grid-column:1/-1}.booking-v5-sex-block{max-width:560px;margin:18px auto 0}.booking-v5-sex-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.booking-v5-sex-grid button{min-height:55px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer;display:grid;place-items:center;align-content:center}.booking-v5-sex-grid button small{font-size:8px;color:var(--muted);font-weight:600}.booking-v5-sex-grid button.selected{background:var(--rose-pale);border-color:#d3a6aa;color:var(--rose-deep)}#profileContinue{max-width:560px;margin:14px auto 0;display:flex}.booking-v5-step[data-step="profile"] .booking-v5-inline-error{max-width:560px;margin:0 auto}
.booking-v5-address-state{min-height:27px;padding:7px 2px 0;font-size:11px;font-weight:750}.booking-v5-address-state.ok{color:var(--green)}.booking-v5-address-state.error{color:var(--red)}.booking-v5-note-label{margin-top:10px!important}.booking-v5-note-label span{font-weight:500;color:var(--muted);margin-left:4px}.booking-v5-recap{display:grid;grid-template-columns:1fr auto;gap:9px;background:#faf7f5;border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:0 auto 20px;max-width:610px}.booking-v5-recap>div{display:grid}.booking-v5-recap>div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);padding-top:9px}.booking-v5-recap small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.booking-v5-recap strong{font-size:11px;margin-top:3px}.booking-v5-slot-list{max-width:610px;margin:0 auto}.booking-v5-slot-day{padding:13px 0;border-bottom:1px solid var(--line)}.booking-v5-slot-day>strong{display:block;font:600 15px var(--serif);text-transform:capitalize;margin-bottom:9px}.booking-v5-slot-day>div{display:flex;flex-wrap:wrap;gap:7px}.slot-v5{min-width:74px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:800;cursor:pointer;color:var(--ink)}.slot-v5:hover,.slot-v5.selected{background:var(--ink);border-color:var(--ink);color:#fff}.booking-v5-more{display:block;margin:17px auto;border:0;background:transparent;color:var(--rose-deep);font-weight:800;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.booking-v5-step[data-step="slots"]>#confirmBookingV5{max-width:610px;margin:18px auto 0;display:flex}.booking-v5-step[data-step="slots"]>.booking-v5-inline-error{max-width:610px;margin:0 auto}.booking-v5-loading,.booking-v5-empty{text-align:center;padding:30px 14px;color:var(--muted);font-size:12px}.booking-v5-empty strong{display:block;color:var(--ink);font:600 20px var(--serif);margin-bottom:5px}@keyframes v5fade{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){.booking-v5-page{padding-bottom:20px}.booking-v5-shell{width:100%}.booking-v5-topbar{height:66px;padding:0 14px}.booking-v5-card{border-radius:26px 26px 0 0;border-left:0;border-right:0;border-bottom:0;box-shadow:none;min-height:calc(100vh - 66px);padding:20px 16px 40px}.booking-v5-progress{margin-bottom:34px}.booking-v5-question{margin-bottom:23px}.booking-v5-question h1{font-size:32px}.booking-v5-question p{font-size:12px}.booking-v5-audience-grid{grid-template-columns:1fr 1fr;gap:10px}.audience-card-v5{min-height:150px;border-radius:19px}.audience-icon-v5{width:64px;height:64px}.audience-icon-v5 svg{width:48px;height:48px}.audience-card-v5 strong{font-size:18px}.booking-v5-profile-grid{grid-template-columns:1fr}.booking-v5-profile-grid .full{grid-column:auto}.booking-v5-sex-grid{grid-template-columns:1fr 1fr}.service-choice-v5{padding:15px 14px}.booking-v5-recap{grid-template-columns:1fr 1fr}.booking-v5-brand small{display:none}.booking-v5-home{width:36px;height:36px}.slot-v5{min-width:70px;padding:10px 9px}}

/* =========================================================
   V6 — thème inspiré du flyer Chloé Ré
   blanc / noir / rose poudré / gris, typographie éditoriale
   ========================================================= */
.flyer-theme{
  --cream:#fbfaf9;--cream-2:#f5f3f2;--paper:#fff;--ink:#121212;--ink-2:#3e3e3e;--muted:#8b8b8b;
  --rose:#e8aeb9;--rose-deep:#c98592;--rose-soft:#f4cbd3;--rose-pale:#fff1f4;--line:#e9e7e5;
  --shadow:0 28px 80px rgba(35,35,35,.08);--shadow-soft:0 10px 30px rgba(35,35,35,.06);
  background:#fbfaf9;color:#121212;
}
.flyer-theme .button{border-radius:4px;letter-spacing:.01em;font-weight:750}
.flyer-theme .button-primary{background:#111;color:#fff;box-shadow:none}
.flyer-theme .button-primary:hover{background:#2b2b2b}
.flyer-theme .button-dark{background:#111;color:#fff}
.flyer-theme .eyebrow{color:#111}

.flyer-header{background:rgba(251,250,249,.94);border-bottom:1px solid rgba(20,20,20,.07);backdrop-filter:blur(18px)}
.flyer-header .client-header-inner{height:86px}
.flyer-brand{display:inline-flex;align-items:center;gap:15px;min-width:max-content}
.flyer-brand-line{display:block;width:1px;height:46px;background:#111}
.flyer-brand-copy{display:grid;line-height:1}
.flyer-brand-copy strong{font:800 26px/1 Georgia,'Times New Roman',serif;letter-spacing:-.045em}
.flyer-brand-copy em{font:400 17px/1.05 'Segoe Script','Brush Script MT','Lucida Handwriting',cursive;margin:5px 0 0 26px;color:#292929;white-space:nowrap}
.flyer-header .client-nav{gap:30px}
.flyer-header .client-nav>a:not(.button){font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#4b4b4b}
.flyer-header .client-nav>a:not(.button):hover{color:#111}
.flyer-header .mobile-book{color:#111;font-size:12px;text-transform:uppercase;letter-spacing:.06em}

.flyer-hero{position:relative;overflow:hidden;min-height:660px;background:linear-gradient(180deg,#fbfaf9 0%,#fff 100%);border-bottom:1px solid #efedeb}
.flyer-hero:after{content:"";position:absolute;right:-5%;top:4%;width:46%;height:1px;background:#b9bec0;transform:rotate(-12deg);transform-origin:right center;opacity:.85}
.flyer-hero-pink{position:absolute;pointer-events:none;background:rgba(244,191,202,.58);transform:rotate(-43deg)}
.flyer-hero-pink-a{width:95px;height:760px;left:-38px;bottom:-310px}
.flyer-hero-pink-b{width:32px;height:540px;left:105px;bottom:-350px;opacity:.55}
.flyer-hero-grid{min-height:660px;display:grid;grid-template-columns:1.03fr .97fr;gap:70px;align-items:center;position:relative;z-index:2}
.flyer-hero-copy{padding:70px 0 75px}
.flyer-hero-kicker{font-size:10px;letter-spacing:.28em;font-weight:800;color:#777;margin:0 0 16px}
.flyer-hero-headline{font:600 clamp(44px,5vw,68px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.04em;margin:0 0 20px}
.flyer-hero-headline span{font:400 .78em/1 'Segoe Script','Brush Script MT','Lucida Handwriting',cursive;letter-spacing:-.03em;display:inline-block;margin-top:6px;transform:rotate(-1.4deg)}
.flyer-hero-lead{font-size:15px;line-height:1.75;color:#555;max-width:570px;margin:0}
.flyer-hero-actions{display:flex;align-items:center;gap:25px;margin-top:31px}
.flyer-text-link{font-size:12px;font-weight:750;border-bottom:1px solid #111;padding:2px 0 4px}
.flyer-tools{height:580px;position:relative;color:#9ba1a4}
.flyer-tools:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(240,239,237,.95) 0,rgba(247,246,244,.55) 54%,transparent 72%);left:10%;top:18%}
.flyer-tool{position:absolute;filter:drop-shadow(0 20px 24px rgba(0,0,0,.08))}
.flyer-comb{width:250px;height:170px;left:6%;bottom:142px;transform:rotate(-42deg);color:#a4aaad;opacity:.96}
.flyer-brush{width:220px;height:360px;right:9%;top:54px;transform:rotate(12deg);color:#9aa1a4;opacity:.96}
.flyer-tool-caption{position:absolute;right:56px;bottom:60px;font:400 23px/1 'Segoe Script','Brush Script MT','Lucida Handwriting',cursive;color:#555;transform:rotate(-5deg)}

.flyer-services-section{position:relative;padding:104px 0 100px;background:#fff;overflow:hidden}
.flyer-services-section:before{content:"";position:absolute;right:-130px;top:210px;width:420px;height:58px;background:#f8dce2;transform:rotate(-38deg);opacity:.72}
.flyer-section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:38px}
.flyer-section-head>div>span{font-size:9px;font-weight:800;letter-spacing:.25em;text-transform:uppercase;color:#888}
.flyer-section-head h2{font:600 clamp(42px,4.5vw,61px)/1 Georgia,'Times New Roman',serif;letter-spacing:-.04em;margin:8px 0 0}
.flyer-section-head h2 em{font:400 .72em/1 'Segoe Script','Brush Script MT','Lucida Handwriting',cursive;letter-spacing:-.03em;margin-left:5px}
.flyer-section-head>p{max-width:410px;color:#777;line-height:1.65;font-size:13px;margin:0 0 4px}
.flyer-category-pills{margin:0 0 22px;gap:7px}
.flyer-theme .category-pill{border-radius:3px;background:#fff;border:1px solid #dedbd8;color:#555;padding:9px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.flyer-theme .category-pill.active{background:#111;color:#fff;border-color:#111}
.flyer-services-paper{position:relative;overflow:hidden;border:1px solid #e8e6e4;background:linear-gradient(145deg,#fff 0,#fff 72%,#fbf8f7 100%);padding:12px 40px;box-shadow:0 18px 60px rgba(30,30,30,.05)}
.paper-pink-slash{position:absolute;background:#f7cfd7;opacity:.5;transform:rotate(-44deg);pointer-events:none}
.slash-a{width:70px;height:430px;left:-43px;bottom:-185px}.slash-b{width:22px;height:350px;left:52px;bottom:-230px;opacity:.35}
.flyer-service-list{position:relative;z-index:2;border-top:0}
.flyer-service-row{padding:21px 4px;border-bottom:1px solid #ece9e7}
.flyer-service-row:last-child{border-bottom:0}
.flyer-service-row h3{font:700 16px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.01em}
.flyer-service-row p{font-size:11px;color:#999;margin-top:5px}
.flyer-service-row .service-meta>span{font-size:10px;color:#999}
.flyer-service-row .service-meta>strong{font:700 18px Georgia,'Times New Roman',serif;color:#111}
.flyer-service-row .service-meta>a{border-radius:2px;border-color:#d9d6d4}
.flyer-service-row .service-meta>a:hover{background:#111;border-color:#111;color:#fff}

.flyer-how-section{padding:102px 0;background:#f8f6f4;border-top:1px solid #ece9e7;border-bottom:1px solid #ece9e7}
.flyer-how-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:110px;align-items:start}
.flyer-how-title>span{font-size:9px;font-weight:800;letter-spacing:.25em;text-transform:uppercase;color:#888}
.flyer-how-title h2{font:600 clamp(39px,4vw,56px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.04em;margin:10px 0 0}
.flyer-how-title h2 em{font:400 .72em/1.1 'Segoe Script','Brush Script MT','Lucida Handwriting',cursive}
.flyer-how-list{border-top:1px solid #d9d5d2}
.flyer-how-list article{display:grid;grid-template-columns:60px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid #ddd9d6}
.flyer-how-list b{font:400 25px Georgia,'Times New Roman',serif;color:#c9a1aa}
.flyer-how-list strong{font:700 17px Georgia,'Times New Roman',serif}.flyer-how-list p{margin:6px 0 0;color:#777;font-size:12px}
.flyer-final-cta{padding:70px 0 85px;background:#fff}
.flyer-final-card{position:relative;overflow:hidden;min-height:250px;border:1px solid #e6e2df;padding:48px 54px;display:flex;align-items:center;justify-content:space-between;gap:45px;background:#fff}
.flyer-final-card:before{content:"";position:absolute;right:-65px;top:-90px;width:190px;height:430px;background:#f6cdd5;transform:rotate(41deg);opacity:.55}
.flyer-final-card>div,.flyer-final-card>a{position:relative;z-index:2}.flyer-final-card>div>span{font-size:9px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;color:#888}
.flyer-final-card h2{font:600 clamp(34px,4vw,49px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:8px 0 0}
.flyer-final-card h2 em{font:400 .74em/1 'Segoe Script','Brush Script MT','Lucida Handwriting',cursive}
.flyer-footer{margin-top:0;background:#111;color:#fff;padding:42px 0}
.flyer-footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:center}
.flyer-brand-footer .flyer-brand-line{background:#fff;height:44px}.flyer-brand-footer .flyer-brand-copy strong{font-size:23px}.flyer-brand-footer .flyer-brand-copy em{font-size:15px;color:#fff}.flyer-footer-grid p{font-size:11px;letter-spacing:.05em;color:#aaa;margin:0}.footer-rdv{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* Réservation — même langage visuel que le flyer */
.flyer-theme .booking-v5-page{background:#f8f6f4;position:relative;overflow:hidden}
.flyer-theme .booking-v5-page:before{content:"";position:fixed;left:-60px;bottom:-180px;width:90px;height:620px;background:#f7d2d9;transform:rotate(-40deg);opacity:.6;pointer-events:none}
.flyer-theme .booking-v5-topbar{height:90px}
.flyer-theme .booking-v5-home{border-radius:3px;border-color:#dfdcda;background:#fff;color:#111}
.flyer-theme .booking-v5-brand .brand-mark{display:none}
.flyer-theme .booking-v5-brand>div{display:flex;align-items:center;gap:12px}
.flyer-theme .booking-v5-brand>div:before{content:"";width:1px;height:38px;background:#111}
.flyer-theme .booking-v5-brand strong{font:800 21px/1 Georgia,'Times New Roman',serif;letter-spacing:-.04em}
.flyer-theme .booking-v5-brand small{font:400 13px/1 'Segoe Script','Brush Script MT','Lucida Handwriting',cursive;text-transform:none;letter-spacing:0;color:#333;margin:4px 0 0 11px}
.flyer-theme .booking-v5-card{border-radius:4px;border-color:#e5e2df;box-shadow:0 22px 70px rgba(20,20,20,.06);background:rgba(255,255,255,.98)}
.flyer-theme .booking-v5-progress span{border-radius:0;background:#ece9e7}
.flyer-theme .booking-v5-progress span.active{background:#e3a7b3}
.flyer-theme .booking-v5-kicker{color:#8a8a8a;letter-spacing:.22em}
.flyer-theme .booking-v5-question h1{font:700 clamp(31px,5vw,45px)/1.04 Georgia,'Times New Roman',serif;color:#111}
.flyer-theme .booking-v5-question p{color:#7b7b7b}
.flyer-theme .booking-v5-back{color:#777}.flyer-theme .booking-v5-back:hover{color:#111}
.flyer-theme .audience-card-v5{border-radius:3px;border-color:#e2dfdc;box-shadow:none;position:relative;overflow:hidden}
.flyer-theme .audience-card-v5:after{content:"";position:absolute;left:-35px;bottom:-45px;width:38px;height:150px;background:#f7d5dc;transform:rotate(-42deg);opacity:0;transition:.2s}
.flyer-theme .audience-card-v5:hover,.flyer-theme .audience-card-v5.selected{transform:translateY(-2px);border-color:#d7aab3;background:#fff;box-shadow:0 12px 32px rgba(30,30,30,.06)}
.flyer-theme .audience-card-v5:hover:after,.flyer-theme .audience-card-v5.selected:after{opacity:.75}
.flyer-theme .audience-icon-v5{background:#f7f6f4;border-radius:50%}
.flyer-theme .audience-icon-v5 svg{stroke:#7e8588}
.flyer-theme .audience-card-v5 strong{font:700 20px Georgia,'Times New Roman',serif}
.flyer-theme .service-choice-v5{border-radius:3px;border-color:#e3e0dd;padding:17px 18px}
.flyer-theme .service-choice-v5:hover,.flyer-theme .service-choice-v5.selected{border-color:#d4a8b1;background:#fff6f7}
.flyer-theme .service-choice-v5 strong{font:700 15px Georgia,'Times New Roman',serif}
.flyer-theme .booking-v5-single-field input,.flyer-theme .booking-v5-single-field textarea,.flyer-theme .booking-v5-profile-grid input{border-radius:3px;background:#fff;border-color:#dedbd8}
.flyer-theme .booking-v5-single-field input:focus,.flyer-theme .booking-v5-single-field textarea:focus,.flyer-theme .booking-v5-profile-grid input:focus{border-color:#d19aa6;box-shadow:0 0 0 3px rgba(232,174,185,.14)}
.flyer-theme .booking-v5-sex-grid button{border-radius:3px}.flyer-theme .booking-v5-sex-grid button.selected{background:#fff1f4;border-color:#d7a5af;color:#111}
.flyer-theme .booking-v5-recap{border-radius:3px;background:#faf9f8;border-color:#e3e0de}
.flyer-theme .slot-v5{border-radius:3px}.flyer-theme .slot-v5:hover,.flyer-theme .slot-v5.selected{background:#111;border-color:#111;color:#fff}
.flyer-theme .booking-v5-more{color:#111}
.flyer-theme .address-suggestions{border-radius:3px}

/* Confirmation */
.flyer-theme .success-page{background:#f8f6f4;min-height:calc(100vh - 86px);padding:80px 0}
.flyer-theme .success-card{border-radius:4px;border-color:#e3dfdc;box-shadow:0 24px 70px rgba(20,20,20,.06)}
.flyer-theme .success-icon{background:#111;color:#fff}

@media(max-width:860px){
  .flyer-hero{min-height:auto}.flyer-hero-grid{min-height:auto;grid-template-columns:1fr;gap:0}.flyer-hero-copy{padding:62px 0 35px}.flyer-tools{height:340px;margin-top:-10px}.flyer-brush{width:170px;height:285px;right:12%;top:12px}.flyer-comb{width:185px;height:122px;left:10%;bottom:92px}.flyer-tool-caption{right:12%;bottom:35px;font-size:19px}
  .flyer-section-head{align-items:start;flex-direction:column;gap:16px}.flyer-how-grid{grid-template-columns:1fr;gap:45px}.flyer-footer-grid{grid-template-columns:1fr;gap:23px}.flyer-footer-grid p{display:none}.flyer-final-card{align-items:flex-start;flex-direction:column}.flyer-services-paper{padding:8px 24px}
}
@media(max-width:650px){
  .flyer-header .client-header-inner{height:72px}.flyer-brand-line{height:38px}.flyer-brand-copy strong{font-size:22px}.flyer-brand-copy em{font-size:14px;margin-left:19px}.flyer-header .client-nav{display:none}.flyer-header .mobile-book{display:block}
  .flyer-hero:after{right:-15%;top:10%}.flyer-hero-pink-a{left:-55px;bottom:-390px}.flyer-hero-copy{padding:48px 0 18px}.flyer-hero-kicker{margin-top:8px}.flyer-hero-headline{font-size:44px}.flyer-hero-headline span{font-size:.74em}.flyer-hero-lead{font-size:13px;line-height:1.7}.flyer-hero-actions{gap:15px;align-items:flex-start;flex-direction:column}.flyer-tools{height:310px}.flyer-brush{width:150px;height:255px;right:5%;top:18px}.flyer-comb{width:150px;height:100px;left:6%;bottom:95px}.flyer-tool-caption{right:7%;bottom:19px;font-size:17px}
  .flyer-services-section{padding:72px 0}.flyer-section-head h2{font-size:41px}.flyer-section-head>p{font-size:12px}.flyer-category-pills{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;margin-right:-20px}.flyer-theme .category-pill{flex:0 0 auto}.flyer-services-paper{padding:5px 14px}.flyer-service-row{grid-template-columns:1fr;padding:18px 2px;gap:12px}.flyer-service-row .service-meta{justify-content:space-between;gap:15px}.flyer-service-row .service-meta>span{margin-right:auto}.flyer-how-section{padding:70px 0}.flyer-how-title h2{font-size:39px}.flyer-how-list article{grid-template-columns:45px 1fr;gap:15px}.flyer-final-cta{padding:45px 0 60px}.flyer-final-card{padding:35px 28px;min-height:260px}.flyer-final-card h2{font-size:35px}
  .flyer-theme .booking-v5-topbar{height:68px;padding:0 14px}.flyer-theme .booking-v5-card{border-radius:0;border-left:0;border-right:0;border-bottom:0;box-shadow:none}.flyer-theme .booking-v5-page:before{left:-75px;opacity:.45}.flyer-theme .booking-v5-brand strong{font-size:18px}.flyer-theme .booking-v5-brand small{display:none}.flyer-theme .audience-card-v5{border-radius:3px}.flyer-theme .service-choice-v5{border-radius:3px}.flyer-theme .booking-v5-question h1{font-size:32px}
  .flyer-footer{padding-bottom:90px}
}

/* V6 — cohérence visuelle de l'espace pro sans le rendre moins fonctionnel */
.admin-body{--rose:#d99ca8;--rose-deep:#b97886;--rose-pale:#fff1f4;--rose-soft:#f0c6ce;--ink:#171717;--ink-2:#444;--muted:#858585;--line:#e5e2df;background:#f6f5f3}
.admin-body .admin-sidebar{background:#111;color:#fff}
.admin-body .admin-sidebar .brand-mark{background:#f5d9df;color:#111}
.admin-body .admin-menu a{color:#c8c8c8;border-radius:4px}
.admin-body .admin-menu a:hover,.admin-body .admin-menu a.active{background:#282828;color:#fff}
.admin-body .admin-menu a.active span{color:#efb8c3}
.admin-body .menu-separator,.admin-body .admin-sidebar-foot{border-color:#2b2b2b;background-color:transparent}
.admin-body .admin-sidebar-foot{border-top:1px solid #2b2b2b}
.admin-body .admin-topbar{border-bottom-color:#e4e1de}
.admin-body .admin-quick{color:#111;border-bottom:1px solid #111;padding-bottom:2px}
.admin-body .kpi-card,.admin-body .admin-panel{border-radius:8px;box-shadow:0 10px 30px rgba(30,30,30,.035)}
.admin-body .kpi-card.accent{background:#111;border-color:#111}
.admin-body .kpi-icon{border-radius:4px;background:#fff0f3;color:#b97886}
.admin-body .button{border-radius:4px}
.admin-body .button-primary{background:#111;color:#fff;box-shadow:none}
.admin-body .button-primary:hover{background:#2b2b2b}
@media(max-width:860px){.admin-body .mobile-pro-header{background:#111;color:#fff}.admin-body .mobile-pro-header .brand-mark{background:#f5d9df;color:#111}.admin-body .admin-mobile-nav{border-top-color:#e2dfdc}.admin-body .admin-mobile-nav .mobile-add{background:#111;color:#fff}}

/* =========================================================
   V7 — suivi ventes & CA (PC)
   ========================================================= */
.sales-page{padding-bottom:30px}.sales-head{align-items:center}.sales-head-actions{display:flex;gap:8px;align-items:center}.sales-period-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);padding:10px 12px;margin-bottom:14px}.sales-presets{display:flex;gap:6px;flex-wrap:wrap}.period-chip{border:1px solid var(--line);background:#fff;padding:8px 11px;border-radius:4px;font-size:10px;font-weight:800;color:var(--ink-2);cursor:pointer}.period-chip.active{background:#111;border-color:#111;color:#fff}.custom-period{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--muted)}.custom-period label{display:flex;align-items:center;gap:5px}.custom-period input{border:1px solid var(--line);background:#fafafa;padding:8px;font-size:10px}.sales-period-title{display:flex;align-items:center;justify-content:space-between;margin:4px 0 13px}.sales-period-title>div:first-child{display:grid}.sales-period-title>div:first-child span{font:600 19px var(--serif)}.sales-period-title>div:first-child strong{font-size:9px;color:var(--muted);margin-top:4px}.period-compare{display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:center;text-align:right}.period-compare small{grid-column:1/3;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.period-compare strong{font-size:13px}.period-compare span{font-size:10px;font-weight:850;color:var(--muted)}.period-compare.up span{color:#3e7c5b}.period-compare.down span{color:#aa5454}
.sales-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}.sales-kpi{background:#fff;border:1px solid var(--line);padding:15px 14px;min-height:114px;display:flex;flex-direction:column;justify-content:center}.sales-kpi small{font-size:7px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:850}.sales-kpi strong{font:600 23px var(--serif);margin:8px 0 4px;white-space:nowrap}.sales-kpi p{margin:0;color:var(--muted);font-size:8px;line-height:1.35}.sales-kpi.primary{background:#111;color:#fff;border-color:#111}.sales-kpi.primary small,.sales-kpi.primary p{color:#bdbdbd}.sales-kpi.warning{background:#fff8ef;border-color:#eed7b9}.sales-kpi.warning strong{color:#8b5c1c}
.sales-main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.6fr);gap:14px}.sales-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sales-chart-panel{min-height:350px}.panel-total{font:600 20px var(--serif)}.sales-chart{height:245px;display:flex;align-items:stretch;gap:5px;padding:10px 2px 0;border-bottom:1px solid var(--line);overflow:hidden}.sales-bar-wrap{min-width:0;flex:1;display:grid;grid-template-rows:18px 1fr 24px;align-items:end;text-align:center}.sales-bar-value{font-size:7px;color:var(--muted);white-space:nowrap;overflow:hidden}.sales-bar-track{height:100%;display:flex;align-items:end;justify-content:center;border-left:1px solid #f0efed}.sales-bar{display:block;width:min(18px,70%);min-height:2px;background:#111;transition:.2s}.sales-bar.negative{background:#b95c5c}.sales-bar-wrap small{font-size:7px;color:var(--muted);padding-top:6px;transform:rotate(-36deg);transform-origin:center;white-space:nowrap}
.method-breakdown{display:grid;gap:14px}.method-row-top{display:flex;justify-content:space-between;gap:12px;font-size:10px}.method-row-top strong{font-size:11px}.method-track,.ranking-track{height:5px;background:#f0eeeb;overflow:hidden;margin-top:6px}.method-track i,.ranking-track i{height:100%;display:block;background:#d99ca8}.sales-ranking{display:grid}.sales-ranking>div{display:grid;grid-template-columns:22px minmax(130px,1fr) 150px 82px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.sales-ranking>div:last-child{border-bottom:0}.rank-no{font:600 14px var(--serif);color:#aaa}.sales-ranking strong{font-size:10px}.sales-ranking b{text-align:right;font-size:10px}.sales-ranking .ranking-track{margin:0}.empty-mini{font-size:10px;color:var(--muted);padding:20px 0!important;display:block!important}.activity-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.activity-metrics>div{padding:14px;background:#faf9f7;border:1px solid var(--line);display:grid}.activity-metrics small{font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.activity-metrics strong{font:600 22px var(--serif);margin:5px 0}.activity-metrics span{font-size:8px;color:var(--muted)}.activity-metrics .metric-alert{background:#fff7f3;border-color:#edd5c9}.activity-metrics .metric-alert strong{color:#a3533d}
.ledger-panel{padding:0;overflow:hidden}.ledger-panel>.panel-head{padding:20px 20px 0}.ledger-actions{display:flex;align-items:center;gap:12px}.ledger-actions>a{font-size:9px;font-weight:800;border-bottom:1px solid #111;padding-bottom:2px}.ledger-table-wrap{overflow:auto}.ledger-table{width:100%;border-collapse:collapse;min-width:850px}.ledger-table th{font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;background:#f8f7f5;padding:9px 13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ledger-table td{padding:11px 13px;border-bottom:1px solid var(--line);font-size:9px;vertical-align:middle}.ledger-table td strong{display:block;font-size:9px}.ledger-table td small{display:block;color:var(--muted);font-size:7px;margin-top:2px}.ledger-table .num{text-align:right}.ledger-table .amount{font-weight:900;font-size:11px}.ledger-table .amount.negative{color:#b25555}.refund-row{background:#fffafa}.movement-kind{display:inline-block;padding:5px 7px;background:#f2f0ed;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.movement-kind.deposit{background:#fff0f4;color:#9f6270}.movement-kind.refund{background:#fff0ef;color:#a95050}.movement-kind.adjustment{background:#fff8e9;color:#8a681e}.ref-text{font-family:ui-monospace,Consolas,monospace;font-size:8px;color:#666}.ledger-empty{text-align:center;padding:35px}.ledger-empty span{display:block;font:600 30px var(--serif)}.ledger-empty strong{display:block;margin:8px}.ledger-empty p{margin:0;color:var(--muted)}
.outstanding-panel>.panel-head>strong{font:600 22px var(--serif);color:#8b5c1c}.outstanding-list{display:grid}.outstanding-list>a{display:grid;grid-template-columns:80px 1fr 100px 20px;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.outstanding-list>a>span{font-size:9px;color:var(--muted)}.outstanding-list div{display:grid}.outstanding-list strong{font-size:10px}.outstanding-list small{font-size:8px;color:var(--muted)}.outstanding-list b{text-align:right}.outstanding-list i{font-style:normal;color:#aaa}
.movement-dialog{width:min(670px,calc(100% - 40px));border:0;padding:0;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.2)}.movement-dialog::backdrop{background:rgba(20,20,20,.45);backdrop-filter:blur(2px)}.movement-dialog form{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{font:600 28px var(--serif);margin:5px 0}.dialog-head button{border:0;background:#f2f0ed;width:32px;height:32px;font-size:20px;cursor:pointer}.dialog-help{font-size:9px;color:var(--muted);line-height:1.5;background:#faf8f5;padding:10px;border-left:3px solid #d99ca8;margin:0 0 14px}.movement-dialog label{display:grid;gap:5px;margin-bottom:11px}.movement-dialog label>span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.movement-dialog label small{font-size:7px;color:var(--muted);text-transform:none}.movement-dialog input,.movement-dialog select{width:100%;border:1px solid var(--line);background:#fff;padding:11px;font-size:10px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inline-money{display:grid;grid-template-columns:1fr 34px;border:1px solid var(--line)}.inline-money input{border:0}.inline-money b{display:grid;place-items:center;background:#f5f2ef}
.appointment-payments-history{margin-top:18px}.appt-payment-list{display:grid}.appt-payment-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;border-top:1px solid var(--line)}.appt-payment-list span{display:grid}.appt-payment-list strong{font-size:9px}.appt-payment-list small{font-size:8px;color:var(--muted);margin-top:2px}.appt-payment-list b{font-size:11px}.appt-payment-list b.negative{color:#b25555}.deposit-line.planned{opacity:.7}.big-money-input.compact{margin-bottom:10px}
@media(max-width:1180px){.sales-kpis{grid-template-columns:repeat(3,1fr)}.sales-main-grid{grid-template-columns:1fr}.sales-ranking>div{grid-template-columns:22px minmax(130px,1fr) 100px 75px}}
@media(max-width:860px){.sales-page{display:none!important}.movement-dialog:not([open]){display:none}.appointment-payments-history{padding:15px;margin-bottom:10px}.appt-payment-list strong{font-size:10px}.appt-payment-list small{font-size:8px}}


/* =========================================================
   V8 — rendez-vous existants, annulation & e-mails
   ========================================================= */
.existing-appointments-v8{display:grid;gap:10px;margin:8px 0 22px}.existing-appointment-v8{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #e4dfdc;background:#fff;padding:16px 17px}.existing-appointment-v8>div{display:grid;gap:4px}.existing-appointment-v8 span{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#9a737c;font-weight:800}.existing-appointment-v8 strong{font:700 18px Georgia,'Times New Roman',serif}.existing-appointment-v8 small{font-size:10px;color:#777}.existing-appointment-v8>a{flex:0 0 auto;border:1px solid #e3d4d7;padding:9px 12px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#9b5564;background:#fff8fa}.existing-appointment-v8>a:hover{background:#fbe8ec}
.booking-email-status{margin:16px 0;padding:13px 15px;font-size:11px;line-height:1.5;border-left:3px solid #7aa181;background:#f4faf5;color:#3e6344}.booking-email-status.warning{border-color:#d6a85b;background:#fff9ef;color:#805d24}
.cancel-page-v8{min-height:70vh;background:#f8f6f4;padding:70px 0}.cancel-card-v8{max-width:610px;margin:auto;background:#fff;border:1px solid #e5e0dd;padding:42px;box-shadow:0 24px 70px rgba(20,20,20,.06)}.cancel-card-v8 h1{font:700 clamp(34px,6vw,48px)/1.05 Georgia,'Times New Roman',serif;margin:9px 0 14px}.cancel-card-v8>p{color:#6f6f6f;line-height:1.65}.cancel-recap-v8{display:grid;gap:7px;background:#faf8f6;border-left:4px solid #efc8d0;padding:18px;margin:25px 0}.cancel-recap-v8 strong{font:700 18px Georgia,'Times New Roman',serif}.cancel-recap-v8 span{font-weight:750}.cancel-recap-v8 small{color:#777}.cancel-phone-v8{text-align:center;font-size:11px!important;margin-top:18px!important}.cancel-phone-v8 a{font-weight:800;border-bottom:1px solid #111}.settings-reminders-v8{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.email-test-form-v8{display:flex;align-items:center;gap:12px;margin:15px 0 35px}.email-test-form-v8 small{font-size:9px;color:var(--muted)}.field-help{display:block;color:var(--muted);font-size:8px;margin-top:5px}
@media(max-width:640px){.existing-appointment-v8{align-items:flex-start}.cancel-page-v8{padding:30px 12px}.cancel-card-v8{padding:28px 22px}.settings-reminders-v8{grid-template-columns:1fr}}

/* V9 — géolocalisation précise des adresses */
.address-suggestion.address-approx{opacity:.52;cursor:not-allowed;background:#faf8f8}
.address-suggestion.address-approx b{color:#756d70}
.address-suggestion.address-approx small{color:#9a777d}
.map-address-warning{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:11px 13px;border-radius:12px;background:#fff5f5;border:1px solid #ead4d7;font-size:13px}
.map-address-warning strong{color:#9f4f58}.map-address-warning span{color:#746b6e;flex:1}.map-address-warning a{font-weight:700;color:#221d1f;text-decoration:none}

/* ===== V10 · CRM e-mails & mailing ===== */
.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.client-mail-pref{margin-top:24px;padding-top:20px;border-top:1px solid var(--border,#e8e2df);display:flex;justify-content:space-between;gap:20px;align-items:center}
.client-mail-pref p{margin:4px 0 0;color:var(--muted,#756d70);font-size:13px;max-width:520px}.inline-pref-form{display:flex;gap:12px;align-items:center}.switch-line{display:flex;gap:9px;align-items:center;font-size:13px}.switch-line input{width:18px;height:18px}
.email-history-panel{margin-top:20px}.email-history-list{display:grid;gap:9px}.email-event{border:1px solid #ece5e2;border-radius:15px;background:#fff;overflow:hidden}.email-event summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px}.email-event summary::-webkit-details-marker{display:none}.email-event-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#edf6ee;color:#3f724b;font-weight:800}.email-event.email-error .email-event-icon{background:#fff0ee;color:#a84338}.email-event-main{min-width:0;display:flex;flex-direction:column;gap:3px}.email-event-main strong{font-size:14px}.email-event-main span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#71696c;font-size:13px}.email-event-meta{text-align:right;display:flex;flex-direction:column;gap:2px;font-size:13px}.email-event-meta small{color:#8d8588}.email-event-detail{border-top:1px solid #f0ebe9;padding:16px 18px;background:#fcfbfa}.email-event-detail p{margin:0 0 8px;font-size:13px}.email-preview-text{white-space:pre-wrap;background:#fff;border:1px solid #eee7e4;border-radius:10px;padding:14px;margin-top:10px;font-size:13px;line-height:1.55}.email-error-box{margin-top:10px;padding:10px 12px;background:#fff0ee;color:#8d342c;border-radius:9px;font-size:12px}
.mailing-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}.mailing-templates{position:sticky;top:88px}.template-list{display:grid;gap:8px}.template-card{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid #ece5e2;border-radius:12px;text-decoration:none;color:inherit;background:#fff}.template-card:hover,.template-card.active{border-color:#dcaeb8;background:#fff8fa}.template-card strong{font-size:14px}.template-card small{color:#81787b;font-size:11px;line-height:1.35}.new-template-mini{margin-top:12px}.button-full{width:100%}.mail-form-grid{display:grid;grid-template-columns:1fr 2fr;gap:14px}.variable-bank{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:14px;padding:12px 0}.variable-bank>strong{font-size:12px;margin-right:4px}.variable-chip{border:1px solid #e3d9d6;background:#fbf8f7;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer}.variable-chip:hover{background:#f7e8ec;border-color:#ddb1bb}.template-save-row{display:flex;gap:12px;align-items:center;padding-bottom:22px;border-bottom:1px solid #eee8e5}.link-danger{border:0;background:none;color:#a8473d;cursor:pointer;text-decoration:underline;font-size:12px}.recipient-zone{padding-top:22px}.compact-head{margin-bottom:12px}.recipient-counter{display:flex;flex-direction:column;align-items:flex-end}.recipient-counter strong{font-size:25px}.recipient-counter small{font-size:10px;color:#81787b}.recipient-tools{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;margin-bottom:10px}.recipient-list{border:1px solid #ece5e2;border-radius:14px;max-height:390px;overflow:auto;background:#fff}.recipient-row{display:grid;grid-template-columns:22px 38px minmax(0,1fr) 110px auto;gap:10px;align-items:center;padding:11px 13px;border-bottom:1px solid #f1ecea;cursor:pointer}.recipient-row:last-child{border-bottom:0}.recipient-row:hover{background:#fcf8f8}.recipient-row.optout{opacity:.52;cursor:not-allowed}.recipient-avatar{width:34px;height:34px;border-radius:50%;background:#f4e7ea;display:grid;place-items:center;font-size:11px;font-weight:800}.recipient-name{display:flex;flex-direction:column;min-width:0}.recipient-name strong{font-size:13px}.recipient-name small{font-size:11px;color:#857d80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipient-last{text-align:right;display:flex;flex-direction:column;font-size:11px}.recipient-last small{color:#938b8e}.optout-badge{font-size:10px;background:#f2efee;padding:5px 7px;border-radius:999px}.send-mail-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding:16px;border-radius:14px;background:#2f252b;color:#fff}.send-mail-bar div{display:flex;flex-direction:column;gap:3px}.send-mail-bar small{color:#d9ced2;font-size:11px}.mailing-log{margin-top:20px}.mailing-log-table{display:grid}.mailing-log-row{display:grid;grid-template-columns:34px 180px minmax(0,1fr) 80px;gap:12px;align-items:center;padding:12px 2px;border-bottom:1px solid #eee8e5}.mailing-log-row>div{display:flex;flex-direction:column}.mailing-log-row small{color:#867e81;font-size:11px}.mail-state{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#edf6ee;color:#397047;font-weight:800}.mail-state.error{background:#fff0ee;color:#9a3f36}.mail-result{font-size:11px;font-weight:700;text-align:right}.mail-preview-modal{position:fixed;z-index:9999;inset:0;background:rgba(27,22,25,.55);display:grid;place-items:center;padding:20px}.mail-preview-modal[hidden]{display:none}.mail-preview-card{position:relative;width:min(600px,100%);max-height:80vh;overflow:auto;background:#fff;padding:32px;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.preview-close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:28px;cursor:pointer}.mail-preview-card h2{font-family:Georgia,serif;font-size:25px;margin:8px 0 20px}.preview-body{white-space:pre-wrap;line-height:1.7;color:#4f484b}.unsubscribe-page{min-height:75vh;display:grid;place-items:center;padding:40px 18px}.unsubscribe-card{max-width:560px;width:100%;border:1px solid #ebe4e1;background:#fff;padding:38px;border-radius:20px;text-align:center}.unsubscribe-card h1{font-family:Georgia,serif;font-size:34px}.unsubscribe-card .muted{color:#81787b;font-size:13px}.brand-lockup{display:flex;flex-direction:column;margin-bottom:26px}.brand-lockup strong{font-family:Georgia,serif;font-size:26px}.brand-lockup span{font-style:italic;color:#777}
@media(max-width:900px){.mailing-layout{grid-template-columns:1fr}.mailing-templates{position:static}.mail-form-grid{grid-template-columns:1fr}.mail-form-grid .span-2{grid-column:auto}.recipient-tools{grid-template-columns:1fr 1fr}.recipient-tools input{grid-column:1/-1}.recipient-row{grid-template-columns:22px 36px minmax(0,1fr)}.recipient-last,.optout-badge{display:none}.send-mail-bar{flex-direction:column;align-items:stretch}.email-event summary{grid-template-columns:34px minmax(0,1fr)}.email-event-meta{grid-column:2;text-align:left}.client-mail-pref{align-items:flex-start;flex-direction:column}.inline-pref-form{align-items:flex-start;flex-direction:column}.mailing-log-row{grid-template-columns:30px minmax(0,1fr) 60px}.mail-log-subject{grid-column:2}.mail-result{grid-column:3;grid-row:1}.head-actions{width:100%}}


/* V13 — Hero avec vraie image remplaçable depuis l'administration */
.flyer-tools{display:flex;align-items:center;justify-content:center;isolation:isolate}
.flyer-tools:before{z-index:-1}
.flyer-hero-image{display:block;position:absolute;inset:28px 0 62px 0;margin:auto;width:min(100%,610px);height:490px;object-fit:contain;object-position:center;filter:drop-shadow(0 24px 26px rgba(0,0,0,.10));user-select:none;pointer-events:none}
.flyer-tool-caption{z-index:3;right:48px;bottom:50px}
.flyer-comb,.flyer-brush{display:none!important}
.hero-admin-grid-v13{display:grid;grid-template-columns:minmax(340px,1.2fr) minmax(280px,.8fr);gap:30px;align-items:center}
.hero-admin-preview-v13{position:relative;min-height:320px;border:1px solid var(--line);background:linear-gradient(145deg,#fff 0%,#fbfaf9 100%);overflow:hidden;padding:25px;display:flex;align-items:center;justify-content:center}
.hero-admin-preview-v13:before{content:"";position:absolute;left:-90px;bottom:-150px;width:105px;height:520px;background:rgba(244,191,202,.48);transform:rotate(-42deg)}
.hero-admin-preview-v13 img{position:relative;z-index:1;width:100%;height:270px;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(0,0,0,.08))}
.hero-admin-caption-v13{position:absolute;z-index:2;right:25px;bottom:20px;font:400 20px/1 'Segoe Script','Brush Script MT','Lucida Handwriting',cursive;transform:rotate(-4deg);color:#444}
.hero-admin-controls-v13{display:grid;gap:14px}.hero-admin-controls-v13 input[type=file]{width:100%;padding:14px;border:1px dashed #c9c5c2;background:#fff;border-radius:4px}.check-line-v13{display:flex;gap:9px;align-items:center;font-size:13px;color:#555;margin-top:8px}
@media(max-width:900px){.flyer-hero-image{inset:18px 0 48px;height:295px;width:min(92%,520px)}.flyer-tool-caption{right:12%;bottom:26px}.hero-admin-grid-v13{grid-template-columns:1fr}}
@media(max-width:650px){.flyer-hero-image{inset:14px 0 48px;height:250px;width:min(95%,430px)}.flyer-tool-caption{right:8%;bottom:18px}}

/* V14 — historique e-mails repliable + ciblage mailing CRM */
.mail-count-pill{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:5px;border-radius:999px;background:#efe7e9;color:#5d4c52;font-size:10px;font-weight:800}.email-history-panel[hidden]{display:none}.email-history-actions{display:flex;gap:8px;align-items:center}.mailing-target-card{border:1px solid #e9e1de;background:#fbf9f8;border-radius:15px;padding:15px;margin-bottom:12px}.mailing-target-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:13px}.mailing-target-title>div{display:flex;flex-direction:column;gap:3px}.mailing-target-title strong{font-size:14px}.mailing-target-title small{font-size:11px;color:#837a7d;line-height:1.45}.mailing-target-title>span{white-space:nowrap;background:#fff;border:1px solid #eadfdd;border-radius:999px;padding:7px 10px;font-size:11px;color:#756b6e}.mailing-target-title b{color:#171717;font-size:13px}.recipient-filter-grid{display:grid;grid-template-columns:1.25fr repeat(4,minmax(125px,1fr));gap:10px}.recipient-filter-grid .filter-wide{grid-column:span 1}.recipient-filter-grid .field-label{font-size:10px}.recipient-filter-grid input,.recipient-filter-grid select{height:39px;padding:8px 10px;font-size:12px;background:#fff}.recipient-filter-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.recipient-crm{display:inline-flex;align-self:flex-start;margin-top:4px;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:800;background:#f1eeee;color:#766e70}.recipient-crm.late{background:#fff0ee;color:#a84439}.recipient-crm.watch{background:#fff6df;color:#8d6718}.recipient-crm.ok{background:#edf6ee;color:#397047}.recipient-crm.new{background:#edf2fb;color:#48638a}.recipient-crm.never{background:#f1efee;color:#776e70}.recipient-last .has-next{color:#397047;font-weight:700;margin-top:2px}.recipient-row[hidden]{display:none!important}
@media(max-width:1180px){.recipient-filter-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.recipient-filter-grid .filter-wide{grid-column:1/-1}}
@media(max-width:700px){.recipient-filter-grid{grid-template-columns:1fr}.recipient-filter-grid .filter-wide{grid-column:auto}.mailing-target-title{flex-direction:column}.email-history-actions{align-items:stretch;flex-direction:column}}


/* V15 — couverture commerciale du secteur */
.sector-page{padding-bottom:40px}.sector-head{align-items:center}.sector-source-line{display:flex;justify-content:space-between;gap:20px;margin:-7px 0 18px;color:#777;font-size:12px}.sector-kpis{margin-bottom:22px}.sector-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:20px;margin-bottom:20px}.sector-map{height:560px;border-radius:12px;overflow:hidden;background:#eee}.sector-map-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.sector-map-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;color:#777;font-size:11px}.sector-swatch{display:inline-block;width:14px;height:11px;border-radius:3px;margin-right:6px;border:2px solid transparent;vertical-align:-1px}.sector-swatch.zero{background:#d8d4d1;border-color:#8f8884}.sector-swatch.low{background:#efc4cc;border-color:#b48790}.sector-swatch.medium{background:#d98d9e;border-color:#935a68}.sector-swatch.high{background:#9e5f6d;border-color:#603642}.sector-popup{min-width:235px;display:grid;gap:5px}.sector-popup>strong{font-size:15px}.sector-popup>span,.sector-popup>small{color:#777;font-size:11px}.sector-popup>a{margin-top:5px;font-weight:800;color:#a56371}.sector-opportunity-list{display:grid}.sector-opportunity-list article{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eee}.sector-rank{width:28px;height:28px;border-radius:50%;background:#f6eef0;display:grid;place-items:center;font-weight:800;font-size:11px;color:#9f6572}.sector-opportunity-list article>div:nth-child(2){min-width:0}.sector-opportunity-list strong{display:block}.sector-opportunity-list small{display:block;color:#888;font-size:10px;margin-top:3px}.sector-progress{height:4px;background:#eee;border-radius:99px;margin-top:8px;overflow:hidden}.sector-progress i{display:block;height:100%;background:#c98694;border-radius:99px}.sector-opportunity-side{text-align:right}.sector-opportunity-side b{font-size:12px}.sector-opportunity-side a{display:block;font-size:10px;font-weight:800;color:#a4606e;margin-top:6px}.sector-method-note{margin-top:18px;padding:14px;background:#faf6f7;border-radius:10px;color:#6e6165}.sector-method-note strong{font-size:11px}.sector-method-note p{font-size:10px;line-height:1.5;margin:4px 0 0}.sector-table-panel{margin-top:0}.sector-search{display:flex;gap:8px}.sector-search input{width:220px}.sector-table-wrap{overflow:auto}.sector-table{width:100%;border-collapse:collapse;min-width:1260px;font-size:11px}.sector-table th{text-align:left;color:#888;font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:11px 9px;border-bottom:1px solid #ddd;white-space:nowrap}.sector-table td{padding:12px 9px;border-bottom:1px solid #eee;vertical-align:middle;white-space:nowrap}.sector-table td:first-child strong{display:block;font-size:12px;color:#222}.sector-table td small{display:block;color:#999;font-size:9px;margin-top:3px}.sector-warn{color:#b55f68;font-weight:800}.potential-pill{font-size:9px;font-weight:800;border-radius:99px;padding:5px 8px;display:inline-block}.potential-pill.phigh{background:#f6dce2;color:#9d4e60}.potential-pill.pmid{background:#f5ead9;color:#98703b}.potential-pill.plow{background:#eee;color:#777}.sector-mail-link{font-weight:800;color:#a4606e}.sector-data-note{font-size:10px;line-height:1.55;color:#8a8583;margin-top:14px}.sector-empty{max-width:700px;margin:55px auto;text-align:center;padding:55px}.sector-empty-icon{font-size:44px;color:#c48794}.sector-empty h2{font-size:28px;margin:12px 0 8px}.sector-empty p{color:#777;line-height:1.6}.sector-empty small{display:block;color:#999;margin-top:18px}.sector-empty form{margin-top:20px}
@media(max-width:1180px){.sector-grid{grid-template-columns:1fr}.sector-map{height:480px}}

/* V17 — vrais contours communaux */
.sector-contour-warning{display:flex;align-items:center;gap:14px;margin:-5px 0 18px;padding:12px 14px;border:1px solid #edc8cf;background:#fff5f7;border-radius:10px;color:#7d5660;font-size:11px}.sector-contour-warning strong{color:#a45f6e}.sector-contour-warning span{line-height:1.45}.sector-map .leaflet-interactive{transition:fill-opacity .12s ease,stroke-width .12s ease}

/* V18 — prospection flyers et mesure d'acquisition locale */
.sector-popup-flyer{margin-top:7px;padding:8px 9px;background:#fbf3f5;border-radius:7px;display:grid;gap:2px}.sector-popup-flyer b{font-size:10px}.sector-popup-flyer small{font-size:9px;color:#8a6570}.sector-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.sector-popup-actions a{display:grid;place-items:center;min-height:32px;padding:6px 8px;border-radius:6px;background:#f5eef0;color:#8e5361;font-size:10px;font-weight:800;text-align:center}.sector-popup-actions a.flyer-action{background:#111;color:#fff}.sector-row-actions{display:flex;gap:8px}.sector-row-actions a{padding:4px 0}.flyer-prospect-page{padding-bottom:45px}.flyer-kpis{margin-bottom:22px}.flyer-prospect-grid{display:grid;grid-template-columns:minmax(420px,.8fr) minmax(600px,1.2fr);gap:20px}.flyer-city-picker{margin-bottom:18px}.flyer-city-picker label{display:grid;gap:7px;font-size:11px;font-weight:800;color:#555}.flyer-city-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 18px}.flyer-city-summary>div{padding:14px;border:1px solid #e7e3e1;border-radius:10px;background:#faf9f8}.flyer-city-summary small,.flyer-city-summary em{display:block;color:#8b8582;font-size:9px;font-style:normal}.flyer-city-summary strong{display:block;font-size:18px;margin:4px 0}.flyer-campaign-form{display:grid;gap:15px}.flyer-campaign-form label{font-size:11px;font-weight:800;color:#555}.flyer-campaign-form input,.flyer-campaign-form textarea{margin-top:6px}.field-help{display:block;font-weight:500;color:#999;font-size:9px;margin-top:2px}.check-line{display:flex!important;align-items:center;gap:7px;margin-top:7px!important;font-size:9px!important;font-weight:650!important;color:#777}.check-line input{width:auto!important;margin:0!important}.flyer-form-actions{display:flex;gap:10px;align-items:center}.flyer-select-empty{padding:35px;text-align:center}.flyer-history-list{display:grid}.flyer-history-card{display:grid;grid-template-columns:58px 1fr auto;gap:14px;padding:17px 0;border-bottom:1px solid #eee;align-items:start}.flyer-date-box{width:52px;height:54px;border-radius:10px;background:#f8eef0;display:grid;place-items:center;align-content:center;color:#995f6c}.flyer-date-box b{font-size:19px;line-height:1}.flyer-date-box span{font-size:8px;margin-top:4px}.flyer-history-title{display:flex;align-items:center;gap:8px}.flyer-history-title strong{font-size:14px}.campaign-status{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;padding:4px 6px;border-radius:99px}.campaign-status.done{background:#e9f5ed;color:#52805e}.campaign-status.planned{background:#eef1fb;color:#5d6d9d}.campaign-status.confirm{background:#fff0dd;color:#9b6b31}.flyer-history-main>p{font-size:10px;color:#777;margin:5px 0 10px;line-height:1.45}.flyer-results{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.flyer-results span{padding:8px 9px;background:#faf9f8;border-radius:7px}.flyer-results small{display:block;font-size:8px;color:#999}.flyer-results b{display:block;font-size:13px;margin-top:2px}.flyer-attribution-note{display:block;margin-top:7px;color:#aaa;font-size:8px}.flyer-history-actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end}.flyer-history-actions a,.flyer-history-actions button{font-size:9px;font-weight:800;color:#9b6672;background:none;border:0;padding:0;cursor:pointer}.flyer-history-actions button{color:#a77f7f}.sector-table{min-width:1560px}@media(max-width:1250px){.flyer-prospect-grid{grid-template-columns:1fr}.flyer-history-panel{min-height:0}}

/* V19 — conformité & pages légales */
.legal-footer-links{grid-column:1/-1;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-size:12px}.legal-footer-links a{color:inherit;opacity:.72}.legal-page{padding:48px 18px 72px;background:#fbfaf9;min-height:65vh}.legal-card{max-width:900px;margin:auto;background:#fff;border:1px solid #eadfd9;border-radius:22px;padding:clamp(24px,5vw,52px);box-shadow:0 12px 35px rgba(45,35,40,.06)}.legal-card h1{font-size:clamp(30px,5vw,48px);margin:0 0 28px}.legal-card h2{margin-top:30px;font-size:21px}.legal-card p{line-height:1.7;color:#554b50}.legal-price-list p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #eee;padding:9px 0;margin:0}.booking-v5-consents{margin:20px 0 12px;padding:16px;border:1px solid #e4d9d3;border-radius:14px;background:#fff}.booking-v5-consents label{display:flex;align-items:flex-start;gap:10px;margin:8px 0;font-size:13px;line-height:1.45}.booking-v5-consents input{margin-top:3px;flex:0 0 auto}.booking-v5-consents small{display:block;opacity:.68;margin-top:2px}.compliance-warning{margin-top:18px;padding:14px;border-radius:12px;background:#fff3cd;color:#684f00}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-grid>div{display:flex;flex-direction:column;gap:6px}@media(max-width:700px){.settings-grid{grid-template-columns:1fr}.legal-page{padding:22px 12px 48px}.legal-card{border-radius:16px;padding:22px}}

/* V20 — administration hors ligne */
.offline-v20-banner{position:fixed;right:14px;bottom:78px;z-index:1200;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid rgba(47,37,43,.12);box-shadow:0 8px 28px rgba(47,37,43,.14);border-radius:999px;padding:8px 11px;font-size:12px;color:#2f252b;max-width:min(92vw,430px)}
.offline-v20-banner small{opacity:.68}.offline-v20-banner em{font-style:normal;font-size:11px;opacity:.78}.offline-dot{width:8px;height:8px;border-radius:50%;background:#55825f;box-shadow:0 0 0 3px rgba(85,130,95,.12)}
.offline-v20-banner.is-offline{background:#fff7e9;border-color:#e6c98f}.offline-v20-banner.is-offline .offline-dot{background:#c27a25}.offline-v20-banner.has-queue{border-color:#d8b772}
.offline-manual-slot{padding:16px;border:1px dashed #c7a66d;border-radius:14px;background:#fffaf1;display:grid;gap:10px}.offline-manual-slot p,.offline-manual-slot small{margin:0;color:#6d6266}.offline-toast{border-left:4px solid #c18c3f}
.offline-settings-card{display:grid;gap:10px}.offline-status-big{display:flex;align-items:center;gap:10px}.offline-status-big .offline-dot{width:10px;height:10px}
@media(min-width:900px){.offline-v20-banner{bottom:18px}}
.appt-edit-v20 details>summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;list-style:none}.appt-edit-v20 details>summary span{font-size:12px;opacity:.65}.appt-edit-v20 details[open]>summary{margin-bottom:18px}.appt-edit-v20 form{gap:14px}

/* ================= V21 · Déclarations, factures & photos ================= */
.nav-alert-badge{margin-left:auto;background:#b42318;color:#fff;border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;padding:0 6px}
.desktop-admin-alert,.mobile-admin-alert{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;background:#fff6ed;border:1px solid #fed7aa;border-radius:18px;padding:14px 18px;margin:0 0 18px}.desktop-admin-alert>span,.mobile-admin-alert>span{width:34px;height:34px;border-radius:50%;background:#c2410c;color:#fff;display:grid;place-items:center;font-weight:800}.desktop-admin-alert div,.mobile-admin-alert div{flex:1}.desktop-admin-alert strong,.mobile-admin-alert strong{display:block}.desktop-admin-alert p,.desktop-admin-alert small,.mobile-admin-alert small{margin:3px 0 0;color:#7c2d12}.desktop-admin-alert>b,.mobile-admin-alert>b{font-size:13px}
.declarations-head{align-items:flex-start}.declaration-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.declaration-kpis article{background:#fff;border:1px solid var(--line,#e8e1dd);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:5px}.declaration-kpis small{text-transform:uppercase;letter-spacing:.08em;color:#8b7b79;font-size:11px}.declaration-kpis strong{font-size:25px}.declaration-kpis span{font-size:12px;color:#777}.declaration-alert{border-radius:16px;padding:14px 16px;margin-bottom:12px;border:1px solid #ddd;background:#fff}.declaration-alert strong{display:block;margin-bottom:3px}.declaration-alert p{margin:0;font-size:13px}.declaration-alert.warning{background:#fff9e9;border-color:#f4d58d}.declaration-alert.danger{background:#fff0f0;border-color:#f1b5b5}.declaration-alert a{display:inline-block;margin-top:8px;font-weight:700;color:inherit}.declaration-list{display:flex;flex-direction:column;gap:12px}.declaration-card{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:16px;align-items:start;border:1px solid #e7e1de;border-radius:16px;padding:16px;background:#fff}.declaration-card.urgent{border-color:#f0b55f;background:#fffaf1}.declaration-card.overdue{border-color:#e3a4a4;background:#fff7f7}.declaration-card.done{opacity:.78;background:#fafafa}.declaration-state{display:flex;align-items:center;gap:7px;font-size:12px}.declaration-state span{width:10px;height:10px;border-radius:50%;background:#aaa}.declaration-card.done .declaration-state span{background:#2f855a}.declaration-card.urgent .declaration-state span{background:#d97706}.declaration-card.overdue .declaration-state span{background:#c53030}.declaration-main h3{margin:0;font-size:16px}.declaration-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.declaration-title>span{font-size:12px;color:#777}.urssaf-amount-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,230px));gap:10px;margin-top:12px}.urssaf-amount-grid>div{background:#f7f5f3;border-radius:12px;padding:10px}.urssaf-amount-grid small{display:block;font-size:11px;color:#777}.urssaf-amount-grid strong{font-size:19px}.declaration-help,.done-meta{font-size:12px;color:#777;margin:9px 0 0}.done-meta{color:#2f6f4e}.declaration-actions{display:flex;flex-direction:column;gap:8px;min-width:185px}.complete-task-details summary{list-style:none;cursor:pointer}.complete-task-details summary::-webkit-details-marker{display:none}.declaration-complete-form{margin-top:10px;padding:12px;border:1px solid #e7e1de;border-radius:12px;background:#fff;min-width:280px}.declaration-complete-form input{margin-bottom:8px}.declaration-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.declaration-flow span{background:#f7f5f3;border-radius:999px;padding:8px 12px;font-weight:700;font-size:12px}.declaration-flow b{color:#a78f90}
.client-documents-panel,.client-photos-panel,.appointment-documents-panel,.appointment-photos-panel{margin-top:18px}.client-invoice-list,.appointment-invoices{display:flex;flex-direction:column;gap:8px}.client-invoice-row,.appointment-invoice-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #ece6e2;border-radius:13px}.client-invoice-row strong,.appointment-invoice-row strong{display:block}.client-invoice-row small,.appointment-invoice-row small{display:block;color:#777;margin-top:2px}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.photo-upload-form{border:1px dashed #d8ceca;background:#fbfaf9;border-radius:15px;padding:15px;margin-bottom:16px}.photo-upload-form.compact{margin-bottom:12px}.photo-capture-line{display:grid;grid-template-columns:1.1fr .6fr 1.2fr;gap:8px;margin-bottom:10px}.client-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-photo-card{border:1px solid #e8e1dd;border-radius:15px;overflow:hidden;background:#fff}.client-photo-card>a{display:block;aspect-ratio:4/3;background:#eee}.client-photo-card img{width:100%;height:100%;object-fit:cover;display:block}.client-photo-card>div{padding:10px}.client-photo-card strong,.client-photo-card small{display:block}.client-photo-card small{color:#777;margin-top:2px}.client-photo-card p{font-size:12px;margin:7px 0}.photo-consent{display:inline-block;font-size:10px;padding:4px 7px;border-radius:999px;background:#eee;color:#666}.photo-consent.ok{background:#e8f6ee;color:#276749}.photo-delete{border:0;background:none;color:#a33;padding:5px 0 0;cursor:pointer;font-size:11px}.appointment-photo-strip{display:flex;gap:8px;overflow:auto;padding-top:6px}.appointment-photo-strip a{min-width:100px;text-decoration:none;color:inherit}.appointment-photo-strip img{display:block;width:100px;height:86px;object-fit:cover;border-radius:10px}.appointment-photo-strip span{display:block;text-align:center;font-size:11px;margin-top:4px}.span-all{grid-column:1/-1}.micro-settings-v21 .info-banner{margin-top:12px}
@media(max-width:760px){.declaration-kpis{grid-template-columns:1fr}.declaration-card{grid-template-columns:1fr}.declaration-actions{min-width:0}.declaration-complete-form{min-width:0}.urssaf-amount-grid{grid-template-columns:1fr 1fr}.client-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-capture-line{grid-template-columns:1fr}.client-invoice-row,.appointment-invoice-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%}.mobile-admin-alert{margin:12px 0}}

/* V22 — double zone de déplacement & frais kilométriques */
.booking-travel-quote{margin:10px 0 4px;padding:12px 14px;border:1px solid #d9e8dc;background:#f4faf6;border-radius:12px;display:grid;gap:3px;color:#365741}.booking-travel-quote:empty{display:none}.booking-travel-quote strong{font-size:13px}.booking-travel-quote span{font-size:12px;line-height:1.45;color:#66736a}.booking-travel-quote b{color:#2f5e3b}.travel-summary-success{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:12px 14px;background:#f4faf6;border:1px solid #dbe9de;border-radius:13px}.travel-summary-success span{font-size:20px}.travel-summary-success strong,.travel-summary-success small{display:block}.travel-summary-success small{margin-top:3px;color:#6e766f;font-size:12px}.admin-travel-quote,.client-travel-quote,.appointment-travel-fee-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:12px;border:1px solid #dce9df;background:#f5faf6;border-radius:13px}.admin-travel-quote>div,.client-travel-quote>div,.appointment-travel-fee-card>div{padding:8px 10px;background:rgba(255,255,255,.7);border-radius:9px}.admin-travel-quote small,.client-travel-quote small,.appointment-travel-fee-card small{display:block;font-size:10px;color:#718077;text-transform:uppercase;letter-spacing:.04em}.admin-travel-quote strong,.client-travel-quote strong,.appointment-travel-fee-card strong{display:block;margin-top:2px;font-size:15px}.admin-travel-quote p,.client-travel-quote p{grid-column:1/-1;margin:0;font-size:11px;color:#7a6150}.admin-travel-quote.outside,.client-travel-quote.outside{border-color:#efc7a7;background:#fff7ef}.appointment-travel-fee-card{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px}.appointment-travel-fee-card>div:nth-child(3){background:#fff8ee}.appointment-travel-fee-card>div:nth-child(4){background:#f7f5f3}@media(max-width:700px){.admin-travel-quote,.client-travel-quote{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-travel-fee-card{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-travel-fee-card strong{font-size:14px}}

/* ================= V23 · Dépenses, achats & rentabilité ================= */
.expenses-page-v23{display:grid;gap:18px}.expenses-head-v23{margin-bottom:0}.expense-rule-v23{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #eadfca;background:#fffaf0;border-radius:16px}.expense-rule-v23>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#9b743d;color:#fff;font-weight:800;flex:0 0 auto}.expense-rule-v23 strong{display:block}.expense-rule-v23 p{margin:3px 0 0;color:#75634c;font-size:12px;line-height:1.45}.expense-kpis-v23{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.expense-kpis-v23 article{border:1px solid #e8e1dd;background:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:5px}.expense-kpis-v23 small{text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:#8c7d79}.expense-kpis-v23 strong{font-size:23px}.expense-kpis-v23 span{font-size:11px;color:#777;line-height:1.35}.expense-kpis-v23 .expense-red-v23{background:#fff8f5;border-color:#ead8d0}.expense-kpis-v23 .expense-red-v23 strong{color:#9b3d2f}.expense-kpis-v23 .expense-result-v23{background:#f2f8f3;border-color:#d9e7dc}.expense-kpis-v23 .expense-result-v23 strong{color:#356445}.expense-kpis-v23 .expense-result-v23.negative{background:#fff4f4;border-color:#efcaca}.expense-kpis-v23 .expense-result-v23.negative strong{color:#a23434}.expense-grid-v23{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px}.expense-category-list-v23{display:grid;gap:12px}.expense-category-list-v23>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center}.expense-category-list-v23 strong,.expense-category-list-v23 small{display:block}.expense-category-list-v23 small{font-size:11px;color:#7c7370;margin-top:2px}.expense-category-list-v23 b{font-size:13px}.expense-category-list-v23 span{grid-column:1/-1;height:7px;background:#f0ece9;border-radius:999px;overflow:hidden}.expense-category-list-v23 i{display:block;height:100%;background:#8f7568;border-radius:999px}.expense-tip-list-v23{display:grid;gap:9px}.expense-tip-list-v23 span{padding:10px 12px;border-radius:11px;background:#f8f6f4;font-size:12px;line-height:1.35}.expense-list-v23{display:grid;gap:9px}.expense-row-v23{display:grid;grid-template-columns:150px minmax(0,1fr) 120px auto;gap:14px;align-items:center;padding:13px 10px;border-bottom:1px solid #eee7e3}.expense-row-v23:last-child{border-bottom:0}.expense-date-v23 strong,.expense-date-v23 span,.expense-main-v23 strong,.expense-main-v23 small,.expense-amount-v23 strong,.expense-amount-v23 small{display:block}.expense-date-v23 span{font-size:10px;color:#826e67;margin-top:3px}.expense-main-v23 small,.expense-amount-v23 small{font-size:11px;color:#777;margin-top:3px}.expense-main-v23 p{margin:5px 0 0;font-size:11px;color:#786f6b}.expense-amount-v23{text-align:right}.expense-amount-v23 strong{font-size:17px;color:#8b3e30}.expense-actions-v23{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.expense-dialog-v23{max-width:720px}.expense-dialog-v23 form{display:grid;gap:11px}.expense-dialog-v23 label>span{display:block;font-size:12px;font-weight:700;margin-bottom:5px}.expense-remove-receipt-v23{font-size:12px;color:#8a3d35}.expense-delete-form-v23{border-top:1px solid #eee4df;padding-top:10px!important;margin-top:4px}.sales-profit-v23,.month-finance-v23{display:grid;grid-template-columns:repeat(4,minmax(0,1fr) auto) minmax(110px,auto);align-items:center;gap:10px;padding:13px 16px;border:1px solid #dfddd8;border-radius:16px;background:#fff;text-decoration:none;color:inherit}.sales-profit-v23{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto;margin-bottom:18px}.sales-profit-v23>div,.month-finance-v23>div{display:flex;flex-direction:column;gap:2px}.sales-profit-v23 small,.month-finance-v23 small{font-size:10px;color:#7a7470;text-transform:uppercase;letter-spacing:.04em}.sales-profit-v23 strong,.month-finance-v23 strong{font-size:17px}.sales-profit-v23>span,.month-finance-v23>span{font-weight:800;color:#a1958f}.sales-profit-v23 a{justify-self:end;font-size:12px;font-weight:800;color:#493a3f}.sales-profit-v23 .profit-final-v23,.month-finance-result-v23{padding:8px 10px;border-radius:10px;background:#eff7f1}.sales-profit-v23 .profit-final-v23 strong,.month-finance-result-v23 strong{color:#356445}.month-finance-v23{margin:0 0 18px}.month-finance-v23>b{justify-self:end;font-size:12px}.expense-period-v23{margin:0}.expense-ledger-v23{overflow:hidden}
@media(max-width:980px){.expense-kpis-v23{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-grid-v23{grid-template-columns:1fr}.sales-profit-v23{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}.sales-profit-v23 a{grid-column:1/-1;justify-self:start}.month-finance-v23{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}.month-finance-v23>b{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.expenses-page-v23{gap:12px;padding-bottom:80px}.expenses-head-v23{display:flex;align-items:flex-start;gap:10px}.expenses-head-v23 h1{font-size:25px}.expenses-head-v23 p{font-size:12px}.expenses-head-v23 .button{white-space:nowrap;padding:10px 12px}.expense-rule-v23{padding:11px}.expense-period-v23{display:block;overflow:hidden}.expense-period-v23 .sales-presets{display:flex;overflow:auto;padding-bottom:5px}.expense-period-v23 .custom-period{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.expense-period-v23 .custom-period button{grid-column:1/-1}.expense-kpis-v23{grid-template-columns:1fr 1fr;gap:8px}.expense-kpis-v23 article{padding:12px;border-radius:14px}.expense-kpis-v23 strong{font-size:19px}.expense-kpis-v23 span{font-size:10px}.expense-grid-v23{gap:10px}.expense-row-v23{grid-template-columns:1fr auto;gap:7px 10px;align-items:start;padding:12px 2px}.expense-date-v23{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px}.expense-date-v23 span{margin:0}.expense-main-v23{grid-column:1}.expense-amount-v23{grid-column:2;grid-row:2;text-align:right}.expense-actions-v23{grid-column:1/-1;justify-content:flex-start}.expense-dialog-v23{width:calc(100% - 20px);max-height:92vh}.expense-dialog-v23 .form-grid.two{grid-template-columns:1fr}.sales-profit-v23,.month-finance-v23{grid-template-columns:1fr auto 1fr;padding:10px;gap:7px}.sales-profit-v23>span:nth-of-type(2),.sales-profit-v23>span:nth-of-type(3),.month-finance-v23>span:nth-of-type(2),.month-finance-v23>span:nth-of-type(3){display:none}.sales-profit-v23>div:nth-of-type(3),.sales-profit-v23>div:nth-of-type(4),.month-finance-v23>div:nth-of-type(3),.month-finance-v23>div:nth-of-type(4){margin-top:4px}.sales-profit-v23 a,.month-finance-v23>b{grid-column:1/-1}.month-finance-v23{display:none}}


/* V24 — rémunération / trésorerie */
.remun-dashboard-v24{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:18px;align-items:center;padding:18px 22px;border:1px solid #e6dfe2;border-radius:18px;background:#fff;color:inherit;text-decoration:none;margin:14px 0 22px}.remun-dashboard-v24 div{display:flex;flex-direction:column;gap:4px}.remun-dashboard-v24 small,.remun-equation-v24 small,.treasury-cards-v24 small{color:#786c72}.remun-dashboard-v24 strong{font-size:20px}.remun-dashboard-v24 b{color:#704d5e}.remun-dashboard-v24.ok{border-color:#bdddc7}.remun-dashboard-v24.low{border-color:#ebc4c4}.remun-rule-v24{display:flex;gap:14px;padding:16px 18px;border-radius:16px;background:#f7f3f5;margin-bottom:18px}.remun-rule-v24>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;font-weight:800}.remun-rule-v24 p{margin:4px 0 0}.remun-status-v24{display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:1px;background:#e8e0e4;border:1px solid #e8e0e4;border-radius:18px;overflow:hidden;margin-bottom:18px}.remun-status-v24>div{background:#fff;padding:20px;display:flex;flex-direction:column;gap:5px}.remun-status-v24 small{color:#7d7076}.remun-status-v24 strong{font-size:25px}.remun-status-v24 .remun-suggest-v24{background:#f4ebeF}.remun-status-v24.ok .remun-suggest-v24{background:#eef8f1}.remun-status-v24.low .remun-suggest-v24{background:#fff0f0}.remun-suggest-v24 span{font-size:12px;color:#6f6269}.remun-equation-v24{display:flex;align-items:stretch;gap:8px;padding:14px;background:#30272c;border-radius:18px;color:#fff;overflow:auto;margin-bottom:20px}.remun-equation-v24>div{min-width:135px;padding:10px 12px;display:flex;flex-direction:column}.remun-equation-v24>span{align-self:center;font-size:20px;color:#cdbfc6}.remun-equation-v24 small{color:#d9cfd4}.remun-equation-v24 strong{font-size:20px;margin-top:4px}.remun-equation-v24 em{font-size:11px;color:#bbaeb5;font-style:normal}.remun-equation-v24 .result{background:#fff;color:#30272c;border-radius:12px}.remun-equation-v24 .result small{color:#786c72}.remun-grid-v24{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-bottom:18px}.treasury-cards-v24{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.treasury-cards-v24>div{padding:16px;border-radius:14px;background:#f7f4f5;display:flex;flex-direction:column;gap:5px}.treasury-cards-v24 strong{font-size:22px}.treasury-cards-v24 .accent{background:#efe4e9}.remun-disclaimer-v24{font-size:12px;color:#7b6e75;margin:12px 0 0}.hourly-v24{display:flex;gap:22px;align-items:center}.hourly-v24>strong{font-size:32px;white-space:nowrap}.hourly-v24>div{display:grid;gap:5px;font-size:13px;color:#6f6269}.draw-list-v24{display:grid;gap:8px}.draw-list-v24 article{display:grid;grid-template-columns:150px 1fr 120px auto;gap:15px;align-items:center;padding:12px 0;border-top:1px solid #eee5e9}.draw-list-v24 article:first-child{border-top:0}.draw-list-v24 article div{display:flex;flex-direction:column}.draw-list-v24 article small{color:#7a6d74}.draw-list-v24 article p{margin:0}.draw-list-v24 article>b{text-align:right;font-size:18px}.remun-history-v24{overflow:auto}.remun-history-v24 table{width:100%;border-collapse:collapse}.remun-history-v24 th,.remun-history-v24 td{text-align:left;padding:11px 12px;border-bottom:1px solid #eee6ea}.remun-history-v24 td:not(:first-child),.remun-history-v24 th:not(:first-child){text-align:right}.remun-history-v24 .negative{color:#b12d2d}
@media(max-width:800px){.remun-dashboard-v24{grid-template-columns:1fr 1fr}.remun-status-v24{grid-template-columns:1fr 1fr}.remun-status-v24 .remun-suggest-v24{grid-column:1/-1}.remun-equation-v24{flex-direction:column}.remun-equation-v24>span{transform:rotate(90deg)}.remun-grid-v24{grid-template-columns:1fr}.treasury-cards-v24{grid-template-columns:1fr}.hourly-v24{align-items:flex-start;flex-direction:column}.draw-list-v24 article{grid-template-columns:1fr auto}.draw-list-v24 article p{grid-column:1/2}.draw-list-v24 article form{grid-column:2/3;grid-row:2}.remun-page-v24 .admin-page-head{align-items:flex-start}.remun-page-v24 .admin-page-head .button{width:100%;margin-top:10px}.remun-dashboard-v24 b{grid-column:1/-1}}


/* V25 — catalogue articles, PAMP, codes-barres & mémoire produits */
.product-search-v25{display:flex;gap:10px;margin:0 0 18px}.product-search-v25 input{flex:1}.product-list-v25{display:grid;gap:10px}.product-card-v25{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:22px;align-items:center;background:#fff;border:1px solid #e9e3e5;border-radius:18px;padding:16px 18px;text-decoration:none;color:inherit}.product-card-v25 h3{margin:4px 0}.product-card-v25.archived{opacity:.55}.product-cat-v25{font-size:11px;font-weight:800;letter-spacing:.06em;color:#8a6b77}.product-pamp-v25{text-align:right}.product-pamp-v25 strong{display:block;font-size:20px}.product-pamp-v25 span{font-size:12px}.product-detail-grid-v25{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;margin-bottom:16px}.product-pamp-panel-v25>div:first-child strong{display:block;font-size:31px;margin:8px 0}.pamp-mini-v25{display:grid;gap:12px;margin-top:18px}.pamp-mini-v25 span{display:flex;justify-content:space-between;border-top:1px solid #eee5e8;padding-top:10px}.barcode-tags-v25{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.barcode-tags-v25>span{display:flex;align-items:center;gap:8px;background:#f6f1f3;border-radius:12px;padding:8px 10px}.barcode-tags-v25 form{display:inline}.barcode-tags-v25 button{border:0;background:none;font-size:18px}.barcode-add-v25{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.product-history-v25{display:grid;gap:0}.product-history-v25>div,.product-history-v25>a{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 2px;border-bottom:1px solid #eee7e9;color:inherit;text-decoration:none}.product-history-v25 span{display:grid;gap:3px}.expense-products-add-v25{margin:12px 0;border:1px solid #e6dfe2;border-radius:14px;padding:12px}.expense-products-add-v25 summary{cursor:pointer;font-weight:700}.expense-product-line-v25{display:grid;grid-template-columns:1.6fr .7fr .7fr .6fr .75fr 1fr auto;gap:6px;margin:9px 0}.appointment-products-v25{margin-top:16px}.product-reminder-v25,.used-products-v25,.client-product-future-v25,.client-usual-products-v25{display:grid;gap:8px;margin:12px 0}.product-reminder-v25>div,.used-products-v25>div,.client-product-future-v25>a,.client-usual-products-v25>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:13px;background:#faf5f0;color:inherit;text-decoration:none}.used-products-v25>div,.client-usual-products-v25>a{background:#f7f5f6}.product-line-actions-v25{display:flex;align-items:center;gap:6px}.product-line-actions-v25 form{display:inline}.appointment-product-add-v25{border-top:1px solid #eee5e8;padding-top:13px;margin-top:13px}.scanner-box-v25{position:relative;max-width:700px;margin:auto;background:#151215;border-radius:22px;overflow:hidden;min-height:320px}.scanner-box-v25 video{display:block;width:100%;min-height:320px;object-fit:cover}.scanner-target-v25{position:absolute;inset:28% 8%;border:2px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.26);pointer-events:none}.scanner-box-v25 #scannerStatus{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(20,15,18,.72);color:#fff;padding:10px;border-radius:12px;text-align:center}.scanner-manual-v25{display:flex;gap:8px;max-width:700px;margin:14px auto}.scanner-manual-v25 input{flex:1}.scan-found-v25,.scan-notfound-v25{max-width:700px;margin:12px auto;padding:14px;border-radius:14px;background:#fff;border:1px solid #e5dfe1;display:flex;justify-content:space-between;align-items:center;gap:10px}.client-products-v25{margin-top:16px}
@media(max-width:800px){.product-card-v25{grid-template-columns:1fr auto;gap:10px}.product-card-v25>div:last-child{display:none}.product-detail-grid-v25{grid-template-columns:1fr}.barcode-add-v25{grid-template-columns:1fr}.expense-product-line-v25{grid-template-columns:1fr 1fr}.expense-product-line-v25 select:first-child{grid-column:1/-1}.scanner-box-v25{border-radius:16px}.product-line-actions-v25{flex-direction:column}.product-reminder-v25>div,.used-products-v25>div{align-items:flex-start}.scanner-manual-v25{flex-direction:column}}

.mobile-product-reminder-v25{margin:8px 0 12px;padding:10px 12px;border-radius:12px;background:#fff1cf;display:grid;gap:3px}.agenda-products-v25{color:#9b5d10!important;font-weight:700}.desktop-products-v25{display:block;margin-top:5px;color:#9b5d10;font-style:normal;font-weight:700;font-size:12px}.scanner-photo-fallback-v25{max-width:700px;margin:12px auto 0;display:flex;align-items:center;gap:10px;justify-content:center}.scanner-photo-fallback-v25 small{color:#756a6f}@media(max-width:800px){.scanner-photo-fallback-v25{align-items:stretch;flex-direction:column;text-align:center}}

/* V25 — rappels produits à préparer */
.upcoming-products-v25{border:1px solid rgba(122,87,72,.18);background:linear-gradient(135deg,rgba(250,246,242,.98),rgba(255,255,255,.98));border-radius:18px;padding:14px 16px;margin:12px 0 18px;box-shadow:0 8px 24px rgba(60,42,34,.05)}
.upcoming-products-v25>strong,.upcoming-products-v25>div>strong{display:block;color:#4e352b;font-size:.98rem;margin-bottom:8px}.upcoming-products-v25>div>small{display:block;color:#806f67;margin-top:2px}
.mobile-upcoming-products-v25 a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid rgba(122,87,72,.10);text-decoration:none;color:inherit}.mobile-upcoming-products-v25 a span{display:grid;gap:2px}.mobile-upcoming-products-v25 a small{color:#806f67}.mobile-upcoming-products-v25 a em{font-style:normal;font-size:1.4rem;color:#9c7664}
.desktop-upcoming-products-v25{display:flex;align-items:flex-start;gap:22px}.desktop-upcoming-products-v25>div:first-child{min-width:260px}.upcoming-products-list-v25{display:flex;flex-wrap:wrap;gap:8px;flex:1}.upcoming-products-list-v25 a{display:grid;gap:2px;min-width:190px;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid rgba(122,87,72,.12);text-decoration:none;color:inherit}.upcoming-products-list-v25 a b{font-size:.83rem}.upcoming-products-list-v25 a span{font-size:.78rem;color:#806f67}.expense-product-line-v25 input[required]:invalid,.expense-product-line-v25 select[required]:invalid{border-color:#d9a497}
@media(max-width:900px){.desktop-upcoming-products-v25{display:block}.upcoming-products-list-v25{margin-top:10px}}

/* V26 — fiabilité, tournée et mémoire technique */
.status-chip.pending_payment{background:#fff2d8;color:#95611b}
.route-summary-v26{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px;margin:0 0 12px;background:#faf8f6;border:1px solid #eee7e3;border-radius:14px}.route-summary-v26 span{display:grid;gap:2px}.route-summary-v26 small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.route-summary-v26 strong{font-size:13px}.mobile-route-summary-v26{grid-template-columns:repeat(3,1fr);margin:0 0 12px}.previous-formula-v26{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#faf7f3;border:1px solid #e9dfd7;border-radius:14px;padding:14px;margin:12px 0}.previous-formula-v26>div{display:grid;gap:3px}.previous-formula-v26 small{color:var(--muted);font-size:9px}.previous-formula-v26 p{margin:4px 0 0;font-size:10px;line-height:1.5;color:#655c61}@media(max-width:760px){.route-summary-v26{grid-template-columns:repeat(2,1fr)}.mobile-route-summary-v26{grid-template-columns:repeat(3,1fr)}.previous-formula-v26{align-items:stretch;flex-direction:column}.previous-formula-v26 form,.previous-formula-v26 button{width:100%}}

.terrain-locked-v26 body>.admin-layout,.terrain-locked-v26 body>.admin-mobile-nav{filter:blur(12px);pointer-events:none;user-select:none}.terrain-lock-v26{position:fixed;inset:0;z-index:99999;background:rgba(36,28,33,.72);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}.terrain-lock-card-v26{width:min(390px,100%);background:#fff;border-radius:24px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.25);text-align:center}.terrain-lock-card-v26 .brand-mark{margin:auto}.terrain-lock-card-v26 h2{font:600 27px/1.1 var(--serif);margin:18px 0 7px}.terrain-lock-card-v26 p{font-size:10px;color:var(--muted);line-height:1.6}.terrain-lock-card-v26 form{display:grid;gap:10px;margin-top:20px}.terrain-lock-card-v26 input{text-align:center;font-size:25px;letter-spacing:.28em;font-weight:750}.terrain-lock-card-v26 small{min-height:14px;color:#a45156;font-size:9px}.pin-settings-v26{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding-top:15px;border-top:1px solid #eee6e2}.pin-settings-v26>small,.pin-settings-v26>.paid-check{grid-column:1/-1}.pin-settings-v26>small{color:var(--muted);font-size:9px;line-height:1.5}@media(max-width:760px){.pin-settings-v26{grid-template-columns:1fr}}

/* V27 — agenda intelligent, km routiers, liste d’attente */
.smart-suggestions-v27,.admin-smart-slots-v27{margin:10px 0 14px;padding:13px;border:1px solid #eadde1;border-radius:14px;background:#fcf7f9}.smart-suggestions-v27>div:first-child,.admin-smart-slots-v27>div:first-child{display:grid;gap:2px;margin-bottom:10px}.smart-suggestions-v27 small,.admin-smart-slots-v27 small{color:var(--muted);font-size:10px}.admin-smart-slots-v27 .admin-slot-buttons{display:flex;flex-wrap:wrap;gap:8px}.admin-slot em{display:block;font-style:normal;font-size:9px;color:#8d6572;margin-top:3px}.waitlist-box-v27{margin-top:18px;padding:15px;border-radius:14px;background:#faf8f6;border:1px dashed #d9ccca;display:grid;gap:9px}.waitlist-box-v27 p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.waitlist-box-v27 select{width:100%}.admin-intake-v27,.intake-block-v27{display:grid;gap:6px;margin:12px 0;padding:12px;border-radius:12px;background:#faf7f3;border:1px solid #eee3dc}.admin-intake-v27 small,.intake-block-v27 small{color:var(--muted);font-size:9px}.appt-repeat-v27{margin:13px 0;padding:11px 12px;border:1px solid #eee4e0;border-radius:12px;background:#fcfbfa}.appt-repeat-v27 summary{cursor:pointer;font-weight:700}.appt-repeat-v27 .two-fields{margin-top:10px}.appt-repeat-v27>small{display:block;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.4}.planning-gaps-v27{margin:0 0 13px;padding:11px 13px;background:#f3f8f4;border:1px solid #dceade;border-radius:13px;display:grid;gap:6px}.planning-gaps-v27>strong{font-size:11px}.planning-gaps-v27 a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:inherit;font-size:10px}.planning-gaps-v27 a b{color:#3f6b4c}.desktop-gap-card-v27{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 16px;margin:0 0 18px;border:1px solid #dceade;background:#f6faf7;border-radius:16px}.desktop-gap-card-v27>div{display:grid;gap:3px}.desktop-gap-card-v27>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.desktop-gap-card-v27 a{padding:7px 9px;border-radius:10px;background:#fff;color:inherit;text-decoration:none;font-size:11px;font-weight:700;border:1px solid #dceade}.waitlist-list-v27{display:grid;gap:10px}.waitlist-list-v27 article{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(230px,.8fr) auto;gap:14px;align-items:center;padding:14px;border-bottom:1px solid #eee7e3}.waitlist-list-v27 article>div:first-child{display:grid;gap:3px}.waitlist-list-v27 article>div:first-child span{font-size:11px;font-weight:700}.waitlist-list-v27 article>div:first-child small{color:var(--muted);font-size:9px}.waitlist-meta-v27{display:flex;gap:6px;flex-wrap:wrap}.waitlist-meta-v27 span{font-size:9px;padding:5px 7px;background:#f7f3f4;border-radius:999px}.intake-note-v27{background:#fff8ec}.review-sent-v27{font-size:10px;color:#4f7659;text-align:center}.review-settings-v27{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #eee5e2}
@media(max-width:800px){.desktop-gap-card-v27{display:none}.waitlist-list-v27 article{grid-template-columns:1fr;gap:9px}.waitlist-list-v27 .row-actions{justify-content:flex-start;flex-wrap:wrap}.admin-smart-slots-v27 .admin-slot-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V28 — référencement local : contenu visible, léger et cohérent avec le flyer */
.seo-local-section{padding:72px 0;background:#fbfaf9;border-top:1px solid rgba(91,65,76,.08);border-bottom:1px solid rgba(91,65,76,.08)}
.seo-local-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:48px;align-items:center}
.seo-local-copy h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;margin:10px 0 20px;color:#30262b}.seo-local-copy h2 em{font-family:Georgia,serif;font-weight:400;color:#b56f83}.seo-local-copy>p{max-width:760px;line-height:1.75;color:#655860}.seo-local-cities-label{margin:20px 0 8px!important;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8b6b76!important}.seo-local-cities{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px}.seo-local-cities span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(181,111,131,.22);font-size:.9rem;color:#55474e}.seo-local-note{font-size:.9rem}.seo-local-card{background:#fff;border:1px solid rgba(91,65,76,.10);border-radius:22px;padding:28px;box-shadow:0 16px 45px rgba(62,39,49,.06)}.seo-local-card>strong{font-size:1.15rem}.seo-local-card ul{margin:18px 0 24px;padding-left:20px;color:#655860;line-height:1.9}.flyer-footer p a{color:inherit;text-decoration:none}.flyer-footer p a:hover{text-decoration:underline}
@media(max-width:800px){.seo-local-section{padding:48px 0}.seo-local-grid{grid-template-columns:1fr;gap:24px}.seo-local-card{padding:22px}.client-nav a[href="/#zone-intervention"]{display:none}}

/* V28.2 — les ancres tiennent compte du bandeau fixe */
html{scroll-padding-top:104px}
#zone-intervention{scroll-margin-top:104px}
@media(max-width:800px){html{scroll-padding-top:86px}#zone-intervention{scroll-margin-top:86px}}

/* ================= V29 · PWA terrain & administration hors ligne ================= */
.offline-v20-banner{appearance:none;text-align:left;cursor:pointer;border-radius:16px;padding:9px 12px;gap:9px;min-width:190px;font-family:inherit}.offline-v20-banner .offline-banner-copy{display:grid;gap:1px;line-height:1.15;min-width:0}.offline-v20-banner .offline-banner-copy strong{font-size:11px}.offline-v20-banner .offline-banner-copy small{font-size:9px}.offline-v20-banner .offline-banner-copy em{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.offline-v20-banner .offline-banner-arrow{margin-left:auto;font-size:18px;font-weight:400;opacity:.55}.offline-v20-banner.has-error{background:#fff1f1;border-color:#df9b9b}.offline-v20-banner.has-error .offline-dot{background:#b94a4a}.offline-v20-banner:focus-visible{outline:3px solid rgba(181,111,131,.25);outline-offset:2px}
.offline-center-overlay-v29{position:fixed;inset:0;z-index:100000;background:rgba(42,31,37,.58);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}.offline-center-card-v29{position:relative;width:min(540px,100%);max-height:min(760px,92vh);overflow:auto;background:#fff;border-radius:24px;padding:26px;box-shadow:0 30px 100px rgba(30,19,24,.28)}.offline-center-card-v29 h2{margin:5px 0 18px;font:600 28px/1.05 var(--serif)}.offline-center-close-v29{position:absolute;right:15px;top:13px;border:0;background:#f7f3f4;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}.offline-center-state-v29{display:grid;gap:3px;padding:14px;border-radius:15px;background:#f8f5f5;border:1px solid #ece3e6}.offline-center-state-v29 small{color:var(--muted);font-size:10px}.offline-center-list-v29{display:grid;gap:8px;margin:14px 0}.offline-center-list-v29>div{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #eee6e8;border-radius:12px}.offline-center-list-v29 p{display:grid;gap:2px;margin:0}.offline-center-list-v29 small{font-size:9px;color:var(--muted)}.offline-center-empty-v29{padding:14px;text-align:center;color:var(--muted);font-size:10px}.offline-conflict-v29{background:#fff0f0;border:1px solid #efb6b6;border-radius:14px;padding:14px}.offline-conflict-v29 p{font-size:10px;line-height:1.5}.offline-center-actions-v29{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.offline-center-actions-v29 .button{flex:1;min-width:190px}
.offline-local-stats-v29{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.offline-local-stats-v29 span{display:grid;gap:2px;background:#f8f5f5;border-radius:12px;padding:10px}.offline-local-stats-v29 strong{font-size:17px}.offline-local-stats-v29 span{font-size:9px;color:var(--muted)}.offline-local-stats-v29 small{grid-column:1/-1;color:var(--muted);font-size:9px}.offline-card-actions-v29{display:flex;gap:8px;flex-wrap:wrap}.offline-privacy-v29{display:block;margin-top:10px;color:var(--muted);font-size:9px;line-height:1.5}.pwa-install-card-v29{display:grid;gap:10px}.pwa-install-card-v29 .offline-status-big{display:flex;align-items:center;gap:12px}.pwa-install-card-v29 p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.pwa-app-icon-v29{width:58px;height:58px;border-radius:17px;box-shadow:0 8px 22px rgba(66,43,54,.14)}
.offline-slot-notice-v29{display:grid;gap:2px;margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#fff8e9;border:1px solid #ead29b}.offline-slot-notice-v29 span{font-size:9px;line-height:1.45;color:#775f35}.offline-temp-client-v29,.offline-temp-appointment-v29{background:#fffaf0!important;border-style:dashed!important}.offline-pending-chip-v29{display:inline-block;width:max-content;margin-top:5px;padding:3px 6px;border-radius:999px;background:#fff1ce;color:#89621e;font-size:8px;font-style:normal;font-weight:750}.offline-product-summary-v29{display:grid;gap:5px;padding:10px 12px;margin:0 0 12px;border-radius:12px;background:#fff9eb;border:1px solid #ead5a5}.offline-product-summary-v29>strong{font-size:10px}.offline-product-summary-v29 span{font-size:9px}.offline-product-summary-v29 em{font-size:8px;color:#8b672b}.offline-route-note-v29{display:block;margin-top:6px;color:#997431;font-size:8px;line-height:1.4}.offline-queued-v29{position:relative}.offline-queued-v29:after{content:'Enregistré sur ce téléphone';display:block;margin-top:7px;color:#8a6520;font-size:9px;font-weight:750}.offline-queued-v29 button:disabled{opacity:.72}.offline-manual-slot-v29{padding:14px;background:#fff9eb;border:1px dashed #d2b26e;border-radius:13px}
@media(max-width:899px){.offline-v20-banner{left:10px;right:10px;bottom:72px;max-width:none;min-width:0}.offline-v20-banner .offline-banner-copy{flex:1}.offline-center-card-v29{padding:22px 17px 18px;border-radius:22px}.offline-center-actions-v29{display:grid}.offline-center-actions-v29 .button{min-width:0;width:100%}.offline-local-stats-v29{grid-template-columns:repeat(3,1fr)}.pwa-app-icon-v29{width:52px;height:52px;border-radius:15px}}
@media(display-mode:standalone){body{overscroll-behavior-y:none}.admin-mobile-nav{padding-bottom:max(7px,env(safe-area-inset-bottom))}.offline-v20-banner{bottom:calc(72px + env(safe-area-inset-bottom))}}

/* V30 — coûts routiers & commissions SumUp */
.v30-finance-page{display:grid;gap:18px}.period-tabs-v30{display:flex;gap:8px;flex-wrap:wrap}.period-tabs-v30 a{padding:9px 14px;border:1px solid var(--line,#e6e0dc);border-radius:999px;text-decoration:none;color:inherit;background:#fff;font-weight:700}.period-tabs-v30 a.active{background:#26201e;color:#fff;border-color:#26201e}.v30-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v30-kpi-grid article{background:#fff;border:1px solid var(--line,#e8e1dc);border-radius:18px;padding:18px;display:grid;gap:5px;box-shadow:0 8px 24px rgba(50,35,28,.04)}.v30-kpi-grid small{color:#7c6d66;font-weight:700}.v30-kpi-grid strong{font-size:1.7rem}.v30-kpi-grid span{color:#8a7c75;font-size:.88rem}.v30-kpi-grid article.accent{background:#f6eee9}.v30-ledger{display:grid;gap:7px}.v30-ledger article{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(85px,.65fr));align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #eee6e1}.v30-ledger article>div{display:grid;gap:2px}.v30-ledger article small,.table-sub-v30{display:block;color:#8b7b73;font-size:.78rem;margin-top:2px}.v30-ledger article>span{text-align:right;color:#615650}.v30-ledger article>b{text-align:right}.v30-quick-links{display:flex;gap:10px;flex-wrap:wrap}.settings-link-card{display:grid;align-content:center;gap:4px;padding:12px 14px;border:1px solid #eadfd8;border-radius:14px;background:#fbf8f6}.settings-link-card a{font-weight:800;text-decoration:none}.remun-equation-v30{grid-template-columns:repeat(15,auto)}
@media(max-width:980px){.v30-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.remun-equation-v30{grid-template-columns:1fr}.remun-equation-v30>span{display:none}}
@media(max-width:620px){.v30-kpi-grid{grid-template-columns:1fr 1fr}.v30-kpi-grid article{padding:14px}.v30-kpi-grid strong{font-size:1.35rem}.v30-ledger article{grid-template-columns:1fr auto;gap:5px 12px}.v30-ledger article>div{grid-column:1/3}.v30-ledger article>span{font-size:.82rem;text-align:left}.v30-ledger article>b{text-align:right;grid-column:2}.period-tabs-v30{overflow:auto;flex-wrap:nowrap}.period-tabs-v30 a{white-space:nowrap}}

/* ================= V31 · Foyers & membres de la famille ================= */
.family-members-v31{display:grid;gap:10px;margin:18px 0}.family-member-card-v31{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 15px;border:1px solid #e8dfe2;border-radius:17px;background:#fff;text-align:left;color:inherit;cursor:pointer;font:inherit;transition:.15s ease}.family-member-card-v31:hover,.family-member-card-v31:focus-visible{border-color:#cfa7b4;box-shadow:0 8px 24px rgba(88,54,67,.08);transform:translateY(-1px)}.family-member-card-v31 span{display:grid;gap:3px}.family-member-card-v31 strong{font-size:14px}.family-member-card-v31 small{font-size:10px;color:var(--muted)}.family-member-card-v31>b:last-child{font-size:18px;color:#a48691}.family-avatar-v31{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#f6edef;color:#805867;font-size:12px;letter-spacing:.03em;flex:0 0 auto}.family-add-v31{margin-top:4px}.selected-member-chip-v31{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin:0 0 16px;padding:8px 12px;border-radius:999px;background:#f7eff2;border:1px solid #eadde2;font-size:11px}.selected-member-chip-v31:empty{display:none}.selected-member-chip-v31 strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-member-chip-v31 span{color:var(--muted)}
.family-admin-v31{margin-bottom:18px}.family-shared-v31{display:grid;grid-template-columns:1fr .75fr 1.5fr;gap:10px;margin:5px 0 15px}.family-shared-v31>span{display:grid;gap:3px;padding:11px 12px;border-radius:13px;background:#faf7f8;border:1px solid #eee5e8;min-width:0}.family-shared-v31 small{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.family-shared-v31 strong{font-size:11px;overflow-wrap:anywhere}.family-admin-list-v31{display:grid;gap:8px}.family-admin-member-v31{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 12px;border:1px solid #eee6e8;border-radius:14px;background:#fff;color:inherit;text-decoration:none}.family-admin-member-v31.current{background:#fbf5f7;border-color:#d9b9c3}.family-admin-member-v31>span{display:grid;gap:2px}.family-admin-member-v31 strong{font-size:12px}.family-admin-member-v31 small{font-size:9px;color:var(--muted)}.family-admin-member-v31 em{font-size:9px;font-style:normal;font-weight:800;color:#855e6d}.family-admin-help-v31{display:block;margin-top:11px;color:var(--muted);font-size:9px;line-height:1.45}
@media(max-width:720px){.family-shared-v31{grid-template-columns:1fr}.family-admin-v31 .panel-head{align-items:flex-start}.family-admin-v31 .panel-head .button{white-space:nowrap}.family-member-card-v31{padding:12px}.family-avatar-v31{width:39px;height:39px;border-radius:12px}}

/* V31.1 — état hors ligne discret sur mobile
   En ligne et à jour : aucun bandeau flottant.
   Hors ligne / file d’attente / erreur : petite pastille non bloquante. */
.offline-v20-banner[hidden]{display:none!important}
.offline-v20-banner{min-width:0!important;width:auto!important;max-width:210px!important;border-radius:999px!important;padding:8px 11px!important;gap:7px!important;line-height:1!important}
.offline-v20-banner>strong{font-size:11px;white-space:nowrap}
.offline-v20-banner .offline-mini-detail{font-size:9px;opacity:.68;white-space:nowrap}
@media(max-width:899px){
  .offline-v20-banner{left:auto!important;right:10px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;max-width:min(190px,62vw)!important;box-shadow:0 5px 18px rgba(47,37,43,.12)!important}
  .offline-v20-banner .offline-dot{width:7px;height:7px;flex:0 0 auto}
  .offline-v20-banner .offline-mini-detail{overflow:hidden;text-overflow:ellipsis}
}
@media(display-mode:standalone) and (max-width:899px){
  .offline-v20-banner{bottom:calc(82px + env(safe-area-inset-bottom))!important}
}


/* V31.2 — correctif dialogs mobiles
   Un ancien style masquait les <dialog> sur smartphone même après showModal(),
   laissant uniquement le backdrop actif et bloquant toute l'interface. */
@media(max-width:860px){
  .movement-dialog[open]{
    display:block!important;
    width:calc(100% - 20px)!important;
    max-width:680px!important;
    max-height:calc(100dvh - 24px)!important;
    margin:auto!important;
    overflow:auto!important;
    border-radius:18px!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .movement-dialog[open] form{padding:18px!important}
  .movement-dialog[open] .form-grid.two{grid-template-columns:1fr!important}
  .movement-dialog[open] .dialog-head{
    position:sticky;top:-18px;z-index:3;background:#fff;
    padding:18px 0 10px;margin-top:-18px;
  }
  .movement-dialog[open] .dialog-head h2{font-size:24px}
  .movement-dialog[open] input,.movement-dialog[open] select,.movement-dialog[open] textarea{font-size:16px!important}
  .movement-dialog[open] .full-button{position:sticky;bottom:-18px;z-index:2;margin:8px 0 -18px;padding-bottom:calc(14px + env(safe-area-inset-bottom));}
}
