:root{--ink:#29242b;--muted:#736b75;--paper:#fffafc;--soft:#f8eef3;--rose:#d96591;--rose-dark:#b84673;--peach:#f3b99c;--lav:#d8c6ec;--line:#eadde3;--white:#fff;--shadow:0 24px 70px rgba(67,40,53,.10);--radius:26px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,82px);position:sticky;top:0;z-index:30;background:rgba(255,250,252,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,221,227,.8)}.brand{display:flex;align-items:center;gap:12px}.brand-dot{width:18px;height:18px;border-radius:50% 42% 50% 42%;background:linear-gradient(135deg,var(--rose),var(--peach));box-shadow:0 0 0 6px rgba(217,101,145,.1)}.brand span:last-child{display:flex;flex-direction:column}.brand strong{font-family:'Playfair Display',serif;font-size:21px}.brand small{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.topbar nav{display:flex;align-items:center;gap:30px}.topbar nav a{font-size:14px;color:var(--muted);transition:.2s}.topbar nav a:hover,.topbar nav a.active{color:var(--ink)}.admin-link{padding:11px 16px;border:1px solid var(--line);border-radius:999px}.mobile-menu{display:none;border:0;background:transparent;font-size:27px}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;padding:70px clamp(24px,7vw,110px);gap:40px;overflow:hidden}.eyebrow{display:inline-block;color:var(--rose-dark);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}.hero h1,.booking-intro h1,.auth-card h1,.admin-heading h1{font-family:'Playfair Display',serif;margin:0;line-height:1.02}.hero h1{font-size:clamp(50px,6vw,88px);max-width:740px}.hero h1 span{color:var(--rose)}.hero-copy>p{font-size:18px;line-height:1.7;color:var(--muted);max-width:610px;margin:28px 0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 24px;font-weight:700;border:0;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(135deg,var(--rose),var(--rose-dark));color:white;box-shadow:0 14px 28px rgba(184,70,115,.2)}.btn.ghost{border:1px solid var(--line);background:rgba(255,255,255,.55)}.btn.light{background:white;color:var(--rose-dark)}.btn.full{width:100%}.hero-points{display:flex;gap:32px;margin-top:48px;flex-wrap:wrap}.hero-points div{display:flex;gap:9px;align-items:center}.hero-points b{font-size:12px;color:var(--rose)}.hero-points span{font-size:13px;color:var(--muted)}.hero-visual{min-height:570px;position:relative;display:flex;align-items:center;justify-content:center}.blob{position:absolute;border-radius:50% 42% 55% 48%;filter:blur(.1px)}.blob-a{width:460px;height:460px;background:linear-gradient(145deg,#f5c4d5,#e9d8f5);transform:rotate(13deg)}.blob-b{width:180px;height:180px;background:#f6d6c7;right:5%;bottom:8%;opacity:.8}.nail-card{width:min(390px,85%);height:490px;border-radius:42px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);backdrop-filter:blur(12px);position:relative;z-index:2;padding:36px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-3deg)}.nail-art{display:flex;gap:14px;align-items:flex-end;justify-content:center;padding-top:60px}.nail-art span{width:46px;height:160px;border-radius:28px 28px 20px 20px;background:linear-gradient(#fde9f0,#d76591);box-shadow:inset 0 0 0 5px rgba(255,255,255,.45)}.nail-art span:nth-child(2){height:185px;background:linear-gradient(#fff4f7,#cfaee8)}.nail-art span:nth-child(3){height:202px;background:linear-gradient(#fbe2ea,#e099ac)}.nail-art span:nth-child(4){height:184px;background:linear-gradient(#fff3ef,#eea889)}.nail-art span:nth-child(5){height:150px}.mini-label{text-align:center;padding:14px;border-radius:18px;background:white;font-family:'Playfair Display',serif}.section-soft,.portfolio-section{padding:100px clamp(24px,7vw,110px)}.section-soft{background:var(--soft)}.section-title{text-align:center;max-width:720px;margin:0 auto 50px}.section-title.left{text-align:left;margin-left:0}.section-title span{color:var(--rose-dark);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.section-title h2,.cta-block h2{font-family:'Playfair Display',serif;font-size:clamp(34px,4vw,54px);margin:10px 0 12px}.section-title p,.cta-block p{color:var(--muted);line-height:1.65}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:white;padding:30px;border-radius:24px;border:1px solid #f0e3e8;box-shadow:0 14px 40px rgba(70,39,54,.05)}.service-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#fae1ea,#ebdcf5);display:grid;place-items:center;color:var(--rose-dark);margin-bottom:22px}.service-card h3{margin:0 0 9px}.service-card p{margin:0;color:var(--muted);line-height:1.55}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portfolio-item{aspect-ratio:1/1.08;border-radius:26px;overflow:hidden;position:relative;background:var(--soft);box-shadow:0 10px 35px rgba(70,39,54,.06)}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:.3s}.portfolio-item:hover img{transform:scale(1.04)}.empty-state{text-align:center;padding:70px 20px;border:1px dashed #dfc8d2;border-radius:28px;background:#fff7fa}.empty-icon{font-size:36px;color:var(--rose)}.empty-state h3{font-family:'Playfair Display',serif;font-size:28px;margin:10px 0}.empty-state p{color:var(--muted)}.cta-block{margin:0 clamp(24px,7vw,110px) 90px;padding:56px 60px;border-radius:34px;background:linear-gradient(135deg,#bd4c79,#d97699 65%,#eeaa98);color:white;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-block .eyebrow,.cta-block p{color:rgba(255,255,255,.86)}footer{padding:40px clamp(24px,7vw,110px);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand>div{display:flex;flex-direction:column}.footer-brand strong{font-family:'Playfair Display',serif}.footer-brand small,footer p{font-size:12px;color:var(--muted)}
/* booking */.booking-wrap{min-height:calc(100vh - 88px);display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;padding:70px clamp(24px,8vw,130px);background:radial-gradient(circle at 10% 10%,#fae7ef 0,transparent 35%),radial-gradient(circle at 90% 80%,#eee5f8 0,transparent 30%)}.booking-intro h1{font-size:clamp(48px,5vw,72px)}.booking-intro>p{font-size:17px;line-height:1.65;color:var(--muted);max-width:530px}.booking-info-card{margin-top:35px;display:grid;gap:12px}.booking-info-card div{display:flex;align-items:center;gap:14px}.booking-info-card span{width:34px;height:34px;border-radius:50%;background:white;border:1px solid var(--line);display:grid;place-items:center;color:var(--rose);font-size:11px;font-weight:700}.booking-info-card p{margin:0;color:var(--muted)}.booking-card{background:rgba(255,255,255,.9);border:1px solid rgba(235,221,227,.9);box-shadow:var(--shadow);border-radius:32px;padding:36px}.booking-card form,.auth-card form,.profile-card form{display:grid;gap:18px}label{display:grid;gap:8px;font-size:13px;font-weight:700}label small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);background:white;padding:14px 15px;border-radius:14px;outline:none;color:var(--ink);transition:.2s}input:focus,select:focus,textarea:focus{border-color:#d98ead;box-shadow:0 0 0 4px rgba(217,101,145,.09)}textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-note{font-size:11px;text-align:center;color:var(--muted);margin:0}.success-box{text-align:center;padding:50px 10px}.success-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#e8f7ed;color:#2e8b57;font-size:30px;margin:0 auto 20px}.success-box h2{font-family:'Playfair Display',serif;font-size:36px;margin:0 0 10px}.success-box p{color:var(--muted);margin:0 auto 25px;max-width:480px;line-height:1.6}
/* admin auth */.admin-page{background:#f8f5f7}.admin-auth{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 15% 20%,#f8dce7 0,transparent 35%),radial-gradient(circle at 85% 75%,#e5d8f4 0,transparent 32%)}.auth-card{width:min(470px,100%);background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow);padding:42px;border-radius:30px}.brand.centered{justify-content:center;margin-bottom:45px}.auth-card h1{font-size:40px;margin-bottom:12px}.auth-card p{color:var(--muted);line-height:1.55}.error-text{color:#c53d4d!important;font-size:12px}.admin-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{background:#2d252d;color:white;position:fixed;inset:0 auto 0 0;width:280px;padding:28px 22px;display:flex;flex-direction:column;z-index:50}.sidebar-brand{padding:0 10px;margin-bottom:40px}.sidebar .brand small{color:#b9acb8}.side-nav{display:grid;gap:8px}.side-link{width:100%;border:0;background:transparent;color:#c9bec7;padding:14px 14px;border-radius:14px;display:flex;align-items:center;gap:12px;text-align:left}.side-link:hover,.side-link.active{background:#473a45;color:white}.side-link b{margin-left:auto;background:var(--rose);color:white;border-radius:999px;font-size:10px;padding:3px 7px}.sidebar-bottom{margin-top:auto;display:grid;gap:8px;border-top:1px solid #473a45;padding-top:18px}.sidebar-bottom a,.sidebar-bottom button{background:transparent;border:0;color:#bfb3bc;text-align:left;padding:10px 12px}.admin-main{grid-column:2;padding:44px clamp(28px,5vw,75px);min-width:0}.admin-mobile-top{display:none}.admin-section{display:none}.admin-section.active{display:block}.admin-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-heading h1{font-size:48px}.admin-heading p{margin:8px 0 0;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stat-card,.panel-card{background:white;border:1px solid #eee5ea;border-radius:22px;box-shadow:0 10px 30px rgba(74,49,61,.04)}.stat-card{padding:25px;display:flex;flex-direction:column}.stat-card span{font-size:13px;color:var(--muted)}.stat-card strong{font-family:'Playfair Display',serif;font-size:42px;margin:10px 0}.stat-card small{color:#a598a2}.panel-card{padding:26px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.panel-header h2,.upload-card h2{margin:0 0 5px}.panel-header p,.upload-card p{margin:0;color:var(--muted);font-size:13px}.text-button{border:0;background:transparent;color:var(--rose-dark);font-weight:700}.appointment-list{display:grid;gap:12px}.appointment-list.large{gap:14px}.appointment-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:18px;align-items:center;padding:16px;border:1px solid #eee5ea;border-radius:17px;background:#fff}.appointment-main strong{display:block}.appointment-main small,.appointment-meta small{display:block;color:var(--muted);margin-top:3px}.status-select{min-width:120px;padding:9px 10px;border-radius:10px}.delete-btn{width:38px;height:38px;border-radius:11px;border:1px solid #f0d5dc;background:#fff6f8;color:#c94d68}.empty-mini{text-align:center;padding:35px;color:var(--muted);border:1px dashed var(--line);border-radius:16px}.toolbar{display:flex;gap:12px;margin-bottom:18px}.toolbar input{flex:1}.toolbar select{width:190px}.upload-card{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}.upload-zone{cursor:pointer;min-width:320px;text-align:center;border:1px dashed #d6b8c5;border-radius:17px;padding:20px;background:#fff8fb;color:var(--muted)}.upload-zone span{font-size:25px;color:var(--rose)}.upload-zone strong,.upload-zone small{display:block}.admin-portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-photo{aspect-ratio:1;border-radius:18px;overflow:hidden;position:relative;background:white;border:1px solid var(--line)}.admin-photo img{width:100%;height:100%;object-fit:cover}.admin-photo button{position:absolute;right:10px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(38,29,36,.8);color:white}.profile-card{max-width:620px}.saved-text{color:#33835d!important;font-size:13px;margin:0}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero-visual{min-height:450px}.booking-wrap{grid-template-columns:1fr}.admin-portfolio-grid{grid-template-columns:repeat(3,1fr)}.appointment-row{grid-template-columns:1fr 1fr}.upload-card{align-items:stretch;flex-direction:column}.upload-zone{min-width:0}.stats-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{height:74px;padding:0 20px}.mobile-menu{display:block}.topbar nav{display:none;position:absolute;top:74px;left:15px;right:15px;flex-direction:column;align-items:stretch;background:white;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.topbar nav.open{display:flex}.topbar nav a{padding:10px}.hero{padding:55px 22px}.hero h1{font-size:49px}.hero-visual{min-height:390px}.blob-a{width:330px;height:330px}.nail-card{height:380px}.nail-art span{height:110px;width:36px}.nail-art span:nth-child(2){height:130px}.nail-art span:nth-child(3){height:145px}.nail-art span:nth-child(4){height:130px}.nail-art span:nth-child(5){height:105px}.section-soft,.portfolio-section{padding:75px 22px}.service-grid,.portfolio-grid{grid-template-columns:1fr}.cta-block{margin:0 20px 65px;padding:38px 28px;flex-direction:column;align-items:flex-start}footer{padding:32px 20px;flex-direction:column;align-items:flex-start}.booking-wrap{padding:48px 20px}.booking-card{padding:24px}.field-row{grid-template-columns:1fr}.admin-shell{display:block}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.admin-main{padding:70px 20px 30px}.admin-mobile-top{height:55px;display:flex;align-items:center;gap:13px;position:fixed;top:0;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:0 18px;z-index:40}.admin-mobile-top button{border:0;background:transparent;font-size:24px}.admin-heading h1{font-size:38px}.appointment-row{grid-template-columns:1fr}.toolbar{flex-direction:column}.toolbar select{width:100%}.admin-portfolio-grid{grid-template-columns:repeat(2,1fr)}.auth-card{padding:30px 22px}.brand strong{font-size:18px}}

/* Cloudflare / comptes */
.consent-card,.account-choice{border:1px solid var(--line);border-radius:18px;background:#fffafb;padding:16px 18px}.account-choice{background:linear-gradient(135deg,#fff8fb,#fbf7ff)}.check-line{display:flex;grid-template-columns:none;align-items:flex-start;gap:12px;font-size:13px;font-weight:500;line-height:1.45;cursor:pointer}.check-line input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--rose)}.check-line span{display:block}.check-line strong{display:block;font-size:14px}.check-line small{display:block;margin-top:3px;color:var(--muted);font-weight:400}.featured-check{font-size:14px}.account-fields{display:grid;gap:15px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.compact-check{font-size:12px;color:var(--muted)}.error-banner{margin:0;padding:12px 14px;border-radius:13px;background:#fff0f2;border:1px solid #f2c9d0;color:#b23e52;font-size:12px;line-height:1.45}.success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.cloudflare-managed{display:grid;gap:15px}.managed-badge{width:max-content;border-radius:999px;padding:7px 11px;background:#eef6ff;color:#376999;font-size:11px;font-weight:800}.cloudflare-managed p{margin:0;color:var(--muted);line-height:1.6;font-size:13px}.cloudflare-managed input[readonly]{background:#f8f5f7;color:#51464e}.security-note{padding:12px 14px!important;border-radius:13px;background:#f1fbf5;color:#3b7254!important}.btn:disabled{opacity:.62;cursor:not-allowed}.small-btn{padding:10px 15px;font-size:12px}

.client-page{background:radial-gradient(circle at 12% 15%,#fae7ef 0,transparent 33%),radial-gradient(circle at 88% 80%,#eee5f8 0,transparent 31%),#fcfafb}.client-wrap{min-height:calc(100vh - 88px);padding:70px clamp(22px,8vw,130px)}.client-auth-card{width:min(520px,100%);margin:0 auto;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow);padding:38px;border-radius:30px}.client-auth-card h1{font-size:44px;margin:8px 0 12px}.client-auth-card>p{color:var(--muted);line-height:1.6}.client-auth-card form{display:grid;gap:17px;margin-top:26px}.client-register-note{font-size:12px;text-align:center;margin-top:20px!important}.client-register-note a{color:var(--rose-dark);font-weight:700}.client-dashboard{max-width:1050px;margin:0 auto}.client-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.client-heading h1{font-size:48px;margin:5px 0}.client-heading p{color:var(--muted);margin:0}.client-appointment-list{display:grid;gap:14px}.client-appointment-card{display:grid;grid-template-columns:1.2fr .7fr;gap:12px 20px;align-items:center;border:1px solid #eee5ea;border-radius:18px;padding:18px;background:white}.client-appointment-card h3{margin:8px 0 0}.client-appointment-card p{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px}.client-date{text-align:right;display:grid;gap:3px}.client-date span{color:var(--muted)}.client-status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;background:#f3edf1;color:#6d5a66}.status-nouveau{background:#fff2dc;color:#9b661e}.status-confirme{background:#eaf7ef;color:#36704d}.status-termine{background:#eef3ff;color:#4b6098}.status-annule{background:#fff0f2;color:#a74355}

@media(max-width:760px){.client-wrap{padding:42px 20px}.client-auth-card{padding:28px 22px}.client-auth-card h1{font-size:36px}.client-heading{align-items:flex-start;flex-direction:column}.client-heading h1{font-size:38px}.client-appointment-card{grid-template-columns:1fr}.client-date{text-align:left}.success-actions{flex-direction:column}.success-actions .btn{width:100%;text-align:center}}
.check-line a{color:var(--rose-dark);font-weight:700;text-decoration:underline;text-underline-offset:2px}.legal-wrap{min-height:calc(100vh - 88px);padding:70px clamp(22px,10vw,170px);background:radial-gradient(circle at 10% 15%,#fae7ef 0,transparent 32%),#fcfafb}.legal-card{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:30px;padding:45px}.legal-card h1{font-size:48px;margin:8px 0 24px}.legal-card h2{font-size:22px;margin:28px 0 8px}.legal-card p{color:var(--muted);line-height:1.75}.legal-note{margin-top:32px!important;padding:14px 16px;border-radius:14px;background:#fff5e8;color:#805d2c!important}@media(max-width:760px){.legal-wrap{padding:35px 18px}.legal-card{padding:28px 22px}.legal-card h1{font-size:37px}}

/* ===== Smart booking V5 ===== */
.public-service-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line);font-size:12px}.public-service-meta span{color:var(--muted)}.public-service-meta strong{color:var(--rose-dark)}
.booking-v2{background:radial-gradient(circle at 8% 8%,#fae6ee 0,transparent 28%),radial-gradient(circle at 94% 22%,#eee4f8 0,transparent 28%),#fcfafb}.smart-booking-wrap{max-width:1500px;margin:0 auto;padding:62px clamp(20px,5vw,72px) 90px}.smart-booking-head{max-width:820px;margin-bottom:34px}.smart-booking-head h1{font-family:'Playfair Display',serif;font-size:clamp(48px,5vw,74px);line-height:1.02;margin:0 0 18px}.smart-booking-head p{font-size:17px;line-height:1.7;color:var(--muted);margin:0}.smart-booking-form{display:grid;gap:24px}.booking-step-card{background:rgba(255,255,255,.92);border:1px solid #eee1e7;border-radius:30px;padding:30px;box-shadow:0 18px 50px rgba(70,39,54,.06);transition:.25s}.booking-step-card.muted-step{opacity:.62}.step-title{display:flex;align-items:flex-start;gap:16px;margin-bottom:25px}.step-title>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:linear-gradient(135deg,#f7d9e5,#eadcf5);color:var(--rose-dark);font-size:12px;font-weight:800}.step-title h2{font-family:'Playfair Display',serif;font-size:30px;margin:0 0 5px}.step-title p{margin:0;color:var(--muted);font-size:13px}.booking-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.booking-service-card{position:relative;text-align:left;border:1px solid var(--line);border-radius:20px;padding:20px;background:white;color:var(--ink);transition:.2s;min-height:150px}.booking-service-card:hover{transform:translateY(-2px);border-color:#d8b0c0;box-shadow:0 12px 28px rgba(70,39,54,.07)}.booking-service-card.selected{border-color:var(--rose);box-shadow:0 0 0 3px rgba(217,101,145,.1);background:#fff9fb}.booking-service-card h3{font-size:18px;margin:0 30px 8px 0}.booking-service-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;min-height:36px}.booking-service-card>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:13px;border-top:1px solid #f0e5e9}.booking-service-card>div:last-child span{font-size:12px;color:var(--muted)}.booking-service-card>div:last-child strong{font-size:13px;color:var(--rose-dark)}.service-card-check{position:absolute;right:16px;top:16px;width:24px;height:24px;border-radius:50%;background:#f2edf0;color:#b7a9b2;display:grid;place-items:center;font-size:11px}.booking-service-card.selected .service-card-check{background:var(--rose);color:white}.booking-loader{grid-column:1/-1;padding:35px;text-align:center;color:var(--muted)}
.selected-service-summary,.appointment-recap{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:12px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#fff6fa,#f8f3ff);border:1px solid #eadce4;margin-bottom:18px}.selected-service-summary>div,.appointment-recap>div{display:grid;gap:3px}.selected-service-summary small,.selected-service-summary span,.appointment-recap small,.appointment-recap span{font-size:11px;color:var(--muted)}.selected-service-summary strong,.appointment-recap strong{font-size:14px}.suggestions-panel{padding:16px 18px;background:#fffaf2;border:1px solid #f0e1c8;border-radius:18px;margin-bottom:18px}.suggestions-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.suggestions-head small{color:#8b7a62}.suggestion-chips{display:flex;gap:9px;flex-wrap:wrap}.suggestion-chip{border:1px solid #e8d7ba;background:white;border-radius:14px;padding:10px 13px;display:grid;gap:2px;text-align:left;color:var(--ink)}.suggestion-chip span{font-size:10px;color:var(--muted);text-transform:capitalize}.suggestion-chip strong{font-size:13px}.suggestion-chip:hover{border-color:#d7b77d;background:#fff9ef}
.booking-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:18px}.public-calendar-card,.day-slots-card{border:1px solid var(--line);border-radius:22px;background:#fff;padding:20px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.calendar-toolbar>div{display:grid;text-align:center;gap:2px}.calendar-toolbar small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.calendar-toolbar strong{font-family:'Playfair Display',serif;font-size:22px}.calendar-arrow{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink)}.calendar-arrow:disabled{opacity:.35;cursor:not-allowed}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:7px}.calendar-weekdays span{text-align:center;font-size:10px;font-weight:800;color:#a698a2;text-transform:uppercase}.booking-calendar-grid,.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-day{min-height:72px;border:1px solid #eee5ea;border-radius:14px;background:white;padding:9px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;color:var(--ink);transition:.18s}.calendar-day span{font-weight:800}.calendar-day small{font-size:9px;color:var(--muted)}.calendar-day.has-slots:hover{transform:translateY(-2px);border-color:#d9a6ba;background:#fff8fb}.calendar-day.selected{border-color:var(--rose);background:#fff1f6;box-shadow:0 0 0 2px rgba(217,101,145,.11)}.calendar-day.no-slots{background:#f8f5f6;color:#c0b6bc}.calendar-day.no-slots small{color:#c0b6bc}.calendar-day.empty{border:0;background:transparent}.calendar-placeholder{grid-column:1/-1;padding:45px 20px;text-align:center;color:var(--muted)}.slots-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:15px}.slots-heading>div:first-child{display:grid;gap:3px}.slots-heading small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.slots-heading strong{text-transform:capitalize}.slot-legend{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.slot-legend span{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted)}.slot-legend i{width:8px;height:8px;border-radius:50%}.available-dot{background:#62b285}.unavailable-dot{background:#d5cbd0}.time-slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:520px;overflow:auto;padding-right:4px}.time-slot{border:1px solid var(--line);border-radius:13px;background:white;padding:10px 7px;display:grid;gap:2px;text-align:center}.time-slot strong{font-size:13px}.time-slot small{font-size:9px;color:var(--muted)}.time-slot.available:hover{border-color:#86c8a3;background:#f5fcf8}.time-slot.available.selected{border-color:#4ba875;background:#eaf8f0;box-shadow:0 0 0 2px rgba(75,168,117,.1)}.time-slot.unavailable{background:#f7f4f5;color:#b5aab1;cursor:not-allowed}.time-slot.unavailable small{color:#b9afb5}.booking-step-card .consent-card,.booking-step-card .account-choice{margin-top:18px}.appointment-recap{margin:0 0 22px}.success-box.booking-step-card{padding:55px 30px}

/* ===== Admin planning / services V5 ===== */
.stats-grid-four{grid-template-columns:repeat(4,1fr)}.planning-layout{display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(360px,.8fr);gap:18px;align-items:start}.planning-side{display:grid;gap:18px}.planning-calendar-card{position:sticky;top:30px}.compact-form{display:grid;gap:15px}.compact-form .panel-header{margin-bottom:2px}.multi-range-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.time-ranges{display:grid;gap:10px}.time-range-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.time-range-row label{margin:0}.block-list-card{margin-top:18px}.blocks-list{display:grid;gap:10px}.block-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--line);border-radius:15px}.block-row>div{display:grid;gap:3px}.block-row small{color:var(--muted)}.admin-day-cell{min-height:88px;border:1px solid #eee5ea;border-radius:13px;background:white;padding:9px;display:flex;flex-direction:column;justify-content:space-between}.admin-day-cell.empty{border:0;background:transparent}.admin-day-cell.fully-blocked{background:#fff2f4;border-color:#efc6cf}.admin-day-cell.has-appointments{box-shadow:inset 0 3px 0 #d96591}.admin-day-tags{display:grid;gap:4px}.admin-day-tags span{width:max-content;max-width:100%;padding:3px 6px;border-radius:999px;font-size:8px;font-weight:800;white-space:nowrap}.tag-rdv{background:#f9e7ef;color:#a84469}.tag-block{background:#fff0e7;color:#a65f38}.services-admin-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-admin-card{background:white;border:1px solid #eee5ea;border-radius:22px;padding:22px;box-shadow:0 10px 30px rgba(74,49,61,.04);display:grid;gap:15px}.service-admin-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.service-admin-head h3{margin:7px 0 0;font-size:20px}.service-admin-head>strong{color:var(--rose-dark);font-size:16px}.service-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase}.service-status.on{background:#eaf7ef;color:#36704d}.service-status.off{background:#f2eff1;color:#82737c}.service-edit-grid,.service-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.service-card-actions,.form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.service-save-state{font-size:11px;color:var(--muted)}.danger-outline{color:#b64558;border-color:#efcbd2!important}.service-create-card{margin-bottom:18px;display:grid;gap:15px}

@media(max-width:1180px){.booking-service-grid{grid-template-columns:repeat(2,1fr)}.booking-calendar-layout{grid-template-columns:1fr}.planning-layout{grid-template-columns:1fr}.planning-calendar-card{position:static}.stats-grid-four{grid-template-columns:repeat(2,1fr)}.services-admin-list{grid-template-columns:1fr}.service-edit-grid,.service-form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.smart-booking-wrap{padding:36px 14px 60px}.smart-booking-head h1{font-size:43px}.booking-step-card{padding:20px 15px;border-radius:22px}.booking-service-grid{grid-template-columns:1fr}.step-title h2{font-size:25px}.selected-service-summary,.appointment-recap{grid-template-columns:1fr}.suggestions-head{align-items:flex-start;flex-direction:column}.booking-calendar-layout{display:block}.day-slots-card{margin-top:14px}.public-calendar-card,.day-slots-card{padding:13px}.calendar-day{min-height:58px;padding:6px}.calendar-day small{display:none}.calendar-weekdays{gap:3px}.booking-calendar-grid,.admin-calendar-grid{gap:3px}.time-slot-grid{grid-template-columns:repeat(3,1fr);max-height:none}.slots-heading{flex-direction:column}.slot-legend{justify-content:flex-start}.stats-grid-four{grid-template-columns:1fr}.planning-layout{display:block}.planning-side{margin-top:14px}.admin-day-cell{min-height:66px;padding:6px}.admin-day-tags span{font-size:7px}.service-edit-grid,.service-form-grid{grid-template-columns:1fr 1fr}.time-range-row{grid-template-columns:1fr 1fr auto}.admin-heading{align-items:flex-start;gap:14px;flex-direction:column}.admin-heading .btn{width:100%}}
@media(max-width:430px){.time-slot-grid{grid-template-columns:repeat(2,1fr)}.service-edit-grid,.service-form-grid{grid-template-columns:1fr}.calendar-toolbar strong{font-size:18px}.calendar-arrow{width:35px;height:35px}.calendar-day span{font-size:12px}.admin-day-cell{min-height:58px}.admin-day-tags span{max-width:42px;overflow:hidden;text-overflow:ellipsis}}

/* =========================================================
   CLÉA FÉE DES MAINS — V6 AURA / COMPLETE ART DIRECTION
   ========================================================= */
:root{
  --ink:#171219;--ink-2:#2a202c;--paper:#fffaf7;--paper-2:#f7f1f5;--soft:#f4edf3;--muted:#786d79;
  --rose:#ff5f8f;--rose-dark:#c82e64;--violet:#8b5cf6;--lilac:#d7c2ff;--mint:#a8f0cf;--peach:#ffb792;
  --line:rgba(41,27,44,.11);--white:#fff;--shadow:0 30px 90px rgba(51,30,52,.13);--radius:30px;
  --display:'Fraunces',serif;--sans:'Manrope',sans-serif;--mx:50%;--my:50%;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{font-family:var(--sans);color:var(--ink);background:
  radial-gradient(circle at 10% 5%,rgba(255,95,143,.10),transparent 28%),
  radial-gradient(circle at 92% 22%,rgba(139,92,246,.10),transparent 25%),var(--paper);overflow-x:hidden}
body:before{content:"";position:fixed;inset:-20%;pointer-events:none;z-index:-2;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,95,143,.09),transparent 18%);transition:background .18s linear}.page-noise{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.12;background-image:radial-gradient(rgba(17,12,19,.13) .65px,transparent .65px);background-size:5px 5px;mix-blend-mode:multiply}.hidden{display:none!important}em{font-style:italic;color:var(--rose-dark)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}
@keyframes floaty{0%,100%{transform:translate3d(0,0,0) rotate(var(--r,0deg))}50%{transform:translate3d(0,-14px,0) rotate(calc(var(--r,0deg) + 2deg))}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translateX(-140%) skewX(-20deg)}100%{transform:translateX(260%) skewX(-20deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes pulseSoft{0%,100%{box-shadow:0 0 0 0 rgba(168,240,207,.0)}50%{box-shadow:0 0 0 7px rgba(168,240,207,.12)}}

/* GLOBAL NAV */
.topbar{height:82px;padding:0 clamp(20px,4vw,70px);background:rgba(255,250,247,.72);border-bottom:1px solid rgba(44,30,46,.08);backdrop-filter:blur(22px) saturate(140%)}.brand{gap:13px}.brand-dot{width:28px;height:28px;border-radius:50%;position:relative;background:conic-gradient(from 210deg,var(--rose),var(--peach),var(--lilac),var(--rose));box-shadow:0 0 0 5px rgba(255,255,255,.7),0 0 0 6px rgba(59,38,61,.08)}.brand-dot:after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:11px}.brand strong,.footer-brand strong{font-family:var(--display);font-size:21px;letter-spacing:-.02em}.brand small,.footer-brand small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#8f818c;font-weight:800}.topbar nav{gap:8px}.topbar nav a{padding:10px 13px;border-radius:999px;font-size:12px;font-weight:700;color:#6f626e;transition:.25s}.topbar nav a:hover,.topbar nav a.active{background:rgba(255,255,255,.86);box-shadow:0 8px 24px rgba(47,29,48,.07);color:var(--ink)}.admin-link{border:1px solid rgba(42,30,44,.1)!important}.mobile-menu{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:white;font-size:18px}
.eyebrow,.section-title>span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--rose-dark)}
.btn{position:relative;overflow:hidden;gap:12px;border-radius:16px;padding:14px 20px;font-weight:800;font-size:12px;letter-spacing:.01em;transition:transform .25s,box-shadow .25s,border-color .25s}.btn:before{content:"";position:absolute;inset:-1px;background:linear-gradient(115deg,transparent 15%,rgba(255,255,255,.42) 45%,transparent 70%);transform:translateX(-140%) skewX(-20deg)}.btn:hover:before{animation:shimmer .75s ease}.btn:hover{transform:translateY(-3px)}.btn.primary{background:linear-gradient(135deg,#1b141d,#3b263e 56%,#7e3658);color:white;box-shadow:0 18px 42px rgba(44,27,46,.20)}.btn.primary b,.btn.light b{font-size:15px}.btn.ghost{background:rgba(255,255,255,.66);border:1px solid rgba(44,28,46,.11);backdrop-filter:blur(10px)}.btn.light{background:white;color:var(--ink);box-shadow:0 12px 28px rgba(79,28,55,.16)}
input,select,textarea{font-family:var(--sans);border:1px solid rgba(49,32,50,.11);background:rgba(255,255,255,.82);padding:14px 15px;border-radius:14px;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transition:.2s}input:focus,select:focus,textarea:focus{border-color:rgba(255,95,143,.56);box-shadow:0 0 0 4px rgba(255,95,143,.08),0 10px 24px rgba(74,43,67,.06);background:white}label{font-size:11px;letter-spacing:.02em;font-weight:800;color:#443845}label small{font-weight:600;color:#958792}

/* HOME / HERO */
.hero{min-height:calc(100vh - 82px);grid-template-columns:1.02fr .98fr;padding:clamp(55px,8vw,110px) clamp(22px,7vw,112px);gap:30px;position:relative}.hero:before{content:"CFDM";position:absolute;left:-3vw;bottom:-3vw;font-family:var(--display);font-weight:700;font-size:clamp(120px,21vw,350px);line-height:.7;color:rgba(54,31,52,.025);pointer-events:none}.hero-kicker{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#766875}.hero-kicker span{width:42px;height:1px;background:linear-gradient(90deg,var(--rose),transparent)}.hero h1{font-family:var(--display);font-size:clamp(62px,7.2vw,116px);line-height:.84;letter-spacing:-.055em;max-width:880px;margin:19px 0 0}.hero h1 em{display:inline;font-weight:500}.hero-copy>p{max-width:640px;font-size:16px;line-height:1.8;color:#716470;margin:32px 0 30px}.hero-actions{gap:11px}.hero-points{margin-top:56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:620px}.hero-points div{padding-top:13px;border-top:1px solid rgba(48,31,49,.12);align-items:flex-start}.hero-points b{font-size:9px;color:var(--rose-dark);letter-spacing:.12em}.hero-points span{font-size:10px;font-weight:800;color:#675a66;text-transform:uppercase;letter-spacing:.08em}
.hero-visual{min-height:650px;isolation:isolate}.hero-visual:before{content:"";position:absolute;width:min(36vw,520px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.96),rgba(238,216,235,.68) 38%,rgba(176,131,211,.12) 68%,transparent 70%);filter:drop-shadow(0 50px 70px rgba(58,28,57,.14));z-index:-1}.blob-a{width:430px;height:520px;border-radius:46% 54% 55% 45%/58% 41% 59% 42%;background:linear-gradient(145deg,rgba(255,95,143,.18),rgba(139,92,246,.14),rgba(255,183,146,.16));filter:blur(1px);animation:floaty 8s ease-in-out infinite;--r:9deg}.blob-b{width:170px;height:170px;background:radial-gradient(circle at 30% 30%,#fff,#ffd7e3 44%,#cfa8ff);right:4%;bottom:10%;filter:blur(.2px);animation:floaty 6.2s ease-in-out infinite reverse}.aura-ring{position:absolute;border-radius:50%;border:1px solid rgba(104,65,105,.13);z-index:-1}.ring-one{width:530px;height:530px;animation:spinSlow 24s linear infinite}.ring-one:before,.ring-one:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--rose);top:48px;left:96px;box-shadow:0 0 0 8px rgba(255,95,143,.08)}.ring-one:after{top:auto;left:auto;right:36px;bottom:132px;background:var(--violet)}.ring-two{width:620px;height:380px;transform:rotate(-21deg);border-style:dashed;opacity:.55}.nail-card{width:min(390px,78%);height:510px;border-radius:160px 160px 44px 44px;padding:34px;background:linear-gradient(165deg,rgba(255,255,255,.86),rgba(255,247,251,.56));border:1px solid rgba(255,255,255,.8);box-shadow:0 40px 100px rgba(57,32,56,.17),inset 0 1px 0 white;backdrop-filter:blur(18px);transform:rotate(-5deg);animation:floaty 7s ease-in-out infinite;--r:-5deg}.card-corner{font-size:8px;letter-spacing:.2em;font-weight:800;color:#9e8e9a;text-align:center}.nail-art{padding-top:50px;gap:10px}.nail-art span{width:43px;border-radius:26px 26px 20px 20px;background:linear-gradient(180deg,#fff7fa 0 35%,#ff729d 36% 100%);box-shadow:inset 0 0 0 1px rgba(55,26,44,.06),0 10px 18px rgba(114,55,79,.10)}.nail-art span:nth-child(2){background:linear-gradient(180deg,#fff 0 32%,#b692ff 33% 100%)}.nail-art span:nth-child(3){background:linear-gradient(180deg,#fff8f4 0 34%,#ffb08b 35% 100%)}.nail-art span:nth-child(4){background:linear-gradient(180deg,#fff 0 34%,#8de3bc 35% 100%)}.mini-label{background:rgba(28,20,30,.95);color:white;border-radius:20px;text-align:left;padding:17px 19px;font-family:var(--sans);display:grid;gap:3px}.mini-label small{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#c7b7c5}.mini-label strong{font-family:var(--display);font-size:17px}.floating-word{position:absolute;font-size:8px;letter-spacing:.28em;font-weight:800;color:#998a96;z-index:3}.word-one{left:3%;top:18%;transform:rotate(-90deg)}.word-two{right:0;top:41%;transform:rotate(90deg)}.floating-chip{position:absolute;z-index:4;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(50,31,51,.09);backdrop-filter:blur(16px);box-shadow:0 14px 34px rgba(49,29,48,.09);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.chip-a{left:8%;bottom:17%;animation:floaty 5s ease-in-out infinite}.chip-b{right:2%;top:23%;animation:floaty 6s ease-in-out infinite reverse}
.manifesto-strip{overflow:hidden;border-top:1px solid rgba(50,31,51,.08);border-bottom:1px solid rgba(50,31,51,.08);background:#181219;color:white;padding:17px 0}.marquee-track{display:flex;width:max-content;gap:26px;align-items:center;animation:marquee 23s linear infinite}.marquee-track span{font-family:var(--display);font-size:15px;letter-spacing:.08em}.marquee-track i{color:var(--rose);font-style:normal}
.section-soft,.portfolio-section,.experience-section{padding:clamp(80px,9vw,130px) clamp(22px,7vw,112px)}.section-soft{background:linear-gradient(180deg,#f6f0f4,#fffaf7);position:relative}.section-soft:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(139,92,246,.07);filter:blur(70px);right:2%;top:8%}.section-title{max-width:780px;margin-bottom:55px}.section-title h2,.experience-copy h2,.cta-block h2{font-family:var(--display);font-size:clamp(44px,5.4vw,76px);line-height:.95;letter-spacing:-.045em;margin:10px 0 18px}.section-title p,.cta-block p,.experience-step p{font-size:13px;line-height:1.75;color:#786a76}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.service-card{position:relative;overflow:hidden;padding:28px;border-radius:24px;background:rgba(255,255,255,.68);border:1px solid rgba(51,31,51,.08);box-shadow:none;backdrop-filter:blur(12px);transition:.35s}.service-card:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(255,95,143,.12);right:-50px;top:-50px;filter:blur(8px);transition:.35s}.service-card:nth-child(2n):before{background:rgba(139,92,246,.12)}.service-card:nth-child(3n):before{background:rgba(168,240,207,.18)}.service-card:hover{transform:translateY(-8px) rotate(-.5deg);background:white;box-shadow:0 26px 55px rgba(60,37,58,.10)}.service-card:hover:before{transform:scale(1.4)}.service-icon{width:38px;height:38px;border-radius:50%;background:#1b141d;color:white;font-size:12px;margin-bottom:35px}.service-card h3{font-family:var(--display);font-size:25px;line-height:1;margin-bottom:11px}.service-card p{font-size:11px;line-height:1.65;min-height:54px}.public-service-meta{display:flex;justify-content:space-between;align-items:center;margin-top:23px;padding-top:14px;border-top:1px solid rgba(52,33,54,.08);font-size:10px}.public-service-meta strong{color:var(--rose-dark);font-size:12px}.experience-section{background:#181219;color:white;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;position:relative;overflow:hidden}.experience-section:after{content:"✦";position:absolute;right:-20px;bottom:-80px;font-family:var(--display);font-size:300px;color:rgba(255,255,255,.025)}.experience-copy{position:sticky;top:130px;align-self:start}.experience-copy .eyebrow{color:#ff9eb9}.experience-copy h2{font-size:clamp(46px,5vw,72px)}.experience-copy em{color:#ff8ead}.experience-steps{display:grid}.experience-step{display:grid;grid-template-columns:90px 1fr;gap:25px;padding:38px 0;border-top:1px solid rgba(255,255,255,.11)}.experience-step:last-child{border-bottom:1px solid rgba(255,255,255,.11)}.experience-step>span{font-size:9px;letter-spacing:.15em;color:#a998a8}.experience-step h3{font-family:var(--display);font-size:31px;margin:0 0 9px}.experience-step p{margin:0;color:#c9bbc7;max-width:540px}.portfolio-section{background:var(--paper)}.portfolio-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.circle-cta{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ff668f,#aa65ff);color:white;box-shadow:0 22px 50px rgba(156,71,128,.22);position:relative;transition:.3s}.circle-cta:hover{transform:rotate(8deg) scale(1.04)}.circle-cta span{font-size:9px;font-weight:800;letter-spacing:.14em}.circle-cta b{position:absolute;font-size:18px}.portfolio-grid{grid-template-columns:repeat(12,1fr);gap:13px}.portfolio-item{grid-column:span 4;border-radius:24px;aspect-ratio:1/.98;box-shadow:none;border:1px solid rgba(49,31,50,.07)}.portfolio-item:nth-child(5n+1){grid-column:span 7;aspect-ratio:1.35/1}.portfolio-item:nth-child(5n+2){grid-column:span 5;aspect-ratio:.95/1}.portfolio-item:after{content:"VIEW ✦";position:absolute;right:14px;bottom:14px;padding:8px 10px;border-radius:999px;background:rgba(20,15,22,.74);color:white;font-size:8px;letter-spacing:.12em;opacity:0;transform:translateY(6px);transition:.25s}.portfolio-item:hover:after{opacity:1;transform:none}.portfolio-item img{transition:.5s cubic-bezier(.2,.7,.2,1)}.portfolio-item:hover img{transform:scale(1.06)}.cta-block{margin:0 clamp(22px,7vw,112px) 90px;padding:clamp(42px,6vw,72px);border-radius:34px;background:radial-gradient(circle at 85% 15%,rgba(180,127,255,.7),transparent 25%),linear-gradient(135deg,#221723,#5f2949 58%,#d84c7d);position:relative;overflow:hidden}.cta-block:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:4%;top:-45px}.cta-block h2{font-size:clamp(42px,5vw,68px);max-width:720px}.cta-block em{color:#ffd6e3}.cta-block p{color:#eadce8;max-width:700px}footer{padding:34px clamp(22px,7vw,112px);background:#181219;border:0;color:white}.footer-brand small,footer p{color:#9f919e}.footer-links{display:flex;gap:16px;font-size:10px;color:#bcaeb9}

/* BOOKING */
.booking-page{background:linear-gradient(180deg,#fffaf7 0,#f6f0f5 45%,#fffaf7 100%)}.smart-booking-wrap{max-width:1540px;padding:75px clamp(18px,6vw,88px) 120px}.smart-booking-head{max-width:1020px;padding:38px 0 70px;position:relative}.booking-head-number{position:absolute;right:0;top:45px;font-size:9px;letter-spacing:.18em;font-weight:800;color:#9e909a}.smart-booking-head h1{font-family:var(--display);font-size:clamp(58px,7vw,104px);line-height:.83;letter-spacing:-.055em;margin:12px 0 25px}.smart-booking-head p{font-size:14px;line-height:1.8;max-width:680px;color:#756875}.booking-head-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.booking-head-badges span{padding:9px 12px;border:1px solid rgba(49,31,49,.09);border-radius:999px;background:rgba(255,255,255,.66);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.smart-booking-form{gap:22px}.booking-step-card{border-radius:28px;padding:clamp(24px,4vw,44px);border:1px solid rgba(50,31,51,.09);background:rgba(255,255,255,.72);box-shadow:0 20px 70px rgba(60,38,59,.06);backdrop-filter:blur(18px)}.booking-step-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.45),transparent 35%)}.step-title{grid-template-columns:50px 1fr;gap:18px}.step-title>span{width:46px;height:46px;border:1px solid rgba(51,31,51,.12);border-radius:15px;background:#181219;color:white;display:grid;place-items:center;font-size:10px}.step-title small{font-size:9px;color:var(--rose-dark);text-transform:uppercase;letter-spacing:.14em;font-weight:800}.step-title h2{font-family:var(--display);font-size:clamp(31px,3vw,44px);line-height:1;margin:3px 0 5px}.step-title p{font-size:11px;color:#837582}.booking-service-grid{gap:10px;margin-top:26px}.booking-service-card{border-radius:20px;padding:22px;background:rgba(255,255,255,.78);border:1px solid rgba(48,30,49,.09);transition:.3s;min-height:165px}.booking-service-card:before{content:"";position:absolute;inset:auto 14px 0 14px;height:2px;background:linear-gradient(90deg,var(--rose),var(--violet));transform:scaleX(0);transform-origin:left;transition:.3s}.booking-service-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(53,31,51,.09)}.booking-service-card.selected{border-color:rgba(255,95,143,.45);background:linear-gradient(145deg,#fff,#fff3f8)}.booking-service-card.selected:before{transform:scaleX(1)}.booking-service-card h3{font-family:var(--display);font-size:22px}.service-card-check{background:#ece6ea;color:#958590}.booking-service-card.selected .service-card-check{background:#181219}.selected-service-summary,.appointment-recap{border:1px solid rgba(51,31,51,.09);background:linear-gradient(135deg,#fff,#f8f2ff);border-radius:18px}.suggestions-panel{background:linear-gradient(135deg,#f2fff8,#fff9f3);border:1px solid rgba(78,132,103,.15);border-radius:20px}.suggestions-head>span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#6c8a7a}.suggestion-chip{border-radius:14px;border-color:rgba(73,114,92,.14);transition:.2s}.suggestion-chip:hover{transform:translateY(-2px);background:#effbf4}.booking-calendar-layout{grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr);gap:13px}.public-calendar-card,.day-slots-card{border-radius:24px;border:1px solid rgba(52,33,54,.09);background:rgba(255,255,255,.82);padding:22px}.calendar-toolbar strong{font-family:var(--display);font-size:25px}.calendar-arrow{border-radius:50%;width:44px;height:44px;transition:.22s}.calendar-arrow:not(:disabled):hover{background:#181219;color:white;transform:scale(1.06)}.calendar-weekdays span{font-size:8px;letter-spacing:.1em}.booking-calendar-grid,.admin-calendar-grid{gap:6px}.calendar-day{min-height:78px;border-radius:15px;border:1px solid rgba(49,30,49,.08);transition:.25s}.calendar-day span{font-size:13px}.calendar-day small{font-size:8px}.calendar-day.has-slots{background:linear-gradient(145deg,#fff,#fbf7fb)}.calendar-day.has-slots:hover{transform:translateY(-4px);border-color:rgba(255,95,143,.35);box-shadow:0 12px 24px rgba(53,32,51,.06)}.calendar-day.selected{background:#181219;color:white;border-color:#181219;box-shadow:0 14px 28px rgba(33,22,34,.17)}.calendar-day.selected small{color:#d8cad5}.calendar-day.no-slots{background:#f2eef0;opacity:.62}.slots-heading{margin-bottom:12px}.day-timeline-label{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:8px}.day-timeline-label span{font-size:7px;letter-spacing:.14em;font-weight:800;color:#9d8e99;text-align:center}.time-slot-grid{grid-template-columns:repeat(4,1fr);gap:7px}.time-slot{border-radius:13px;border:1px solid rgba(50,31,51,.08);min-height:54px;transition:.2s}.time-slot.available{background:#fbfffd}.time-slot.available:hover{transform:translateY(-2px);background:#effbf4;border-color:rgba(79,169,119,.3)}.time-slot.available.selected{background:#173426;color:white;border-color:#173426}.time-slot.available.selected small{color:#c6dfd1}.time-slot.unavailable{background:repeating-linear-gradient(135deg,#f4f1f2,#f4f1f2 6px,#eee9ec 6px,#eee9ec 12px);opacity:.65}.booking-confirm{min-height:54px}.consent-card,.account-choice{border-radius:18px}.account-choice{background:linear-gradient(145deg,#fff,#faf5ff)}.success-box h2{font-family:var(--display);font-size:46px}

/* ADMIN */
.admin-page{background:#f5f1f4}.admin-auth{grid-template-columns:1fr 1fr;gap:60px;padding:clamp(30px,7vw,100px);background:radial-gradient(circle at 20% 15%,rgba(255,95,143,.18),transparent 30%),radial-gradient(circle at 85% 80%,rgba(139,92,246,.16),transparent 28%),#f8f3f6}.auth-visual{min-height:620px;border-radius:42px;background:linear-gradient(145deg,#171018,#3b2033 56%,#6f3454);position:relative;overflow:hidden;color:white;display:flex;align-items:center;justify-content:center;box-shadow:0 40px 100px rgba(47,27,46,.18)}.auth-visual:before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;border:1px solid rgba(255,255,255,.18);animation:spinSlow 24s linear infinite}.auth-visual:after{content:"✦";font-size:190px;color:rgba(255,255,255,.06);position:absolute}.auth-visual strong{font-family:var(--display);font-size:clamp(90px,12vw,180px);letter-spacing:-.08em}.auth-visual span,.auth-visual i{position:absolute;font-style:normal;font-size:8px;letter-spacing:.3em}.auth-visual span{top:30px;left:30px}.auth-visual i{bottom:30px;right:30px}.auth-card{width:min(520px,100%);padding:0;background:transparent;border:0;box-shadow:none}.brand.centered{justify-content:flex-start;margin-bottom:70px}.auth-card h1{font-family:var(--display);font-size:clamp(50px,5vw,72px);line-height:.9;letter-spacing:-.045em}.auth-card form{margin-top:30px}.admin-shell{grid-template-columns:264px 1fr}.sidebar{width:264px;background:#171219;padding:28px 18px;color:white;border-right:1px solid rgba(255,255,255,.05)}.sidebar:before{content:"";position:absolute;left:-60px;top:35%;width:180px;height:180px;border-radius:50%;background:rgba(255,95,143,.12);filter:blur(60px)}.sidebar-brand{margin-bottom:36px}.sidebar .brand small{color:#8e7f8c}.side-label{font-size:7px;letter-spacing:.2em;color:#70626e;padding:0 12px 10px}.side-nav{gap:4px}.side-link{border-radius:12px;padding:12px 13px;color:#aa9caa;font-size:11px;font-weight:700;transition:.2s}.side-link>span{width:24px;color:#806f7c}.side-link:hover,.side-link.active{background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.04));color:white;transform:translateX(3px)}.side-link.active:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--rose);margin-left:auto}.side-link b{margin-left:auto;background:#ff5f8f;font-size:8px}.side-link.active b{margin-left:0}.sidebar-bottom{border-color:rgba(255,255,255,.08)}.sidebar-bottom a,.sidebar-bottom button{color:#8f818d;font-size:10px}.admin-main{padding:34px clamp(24px,4vw,64px) 70px;background:radial-gradient(circle at 92% 6%,rgba(139,92,246,.07),transparent 24%),#f5f1f4}.sync-ribbon{position:sticky;top:12px;z-index:40;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:10px 12px 10px 14px;border:1px solid rgba(49,31,50,.08);border-radius:16px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);box-shadow:0 10px 30px rgba(49,30,48,.07);margin-bottom:34px}.sync-pulse{width:8px;height:8px;border-radius:50%;background:#56c98d;animation:pulseSoft 2s infinite}.sync-ribbon>div{display:grid;gap:1px}.sync-ribbon strong{font-size:10px}.sync-ribbon small{font-size:8px;color:#8e808b}.sync-badge{padding:7px 10px;border-radius:999px;background:#f0ebef;font-size:8px;font-weight:800;color:#766975}.sync-badge b{color:var(--rose-dark)}.sync-now{border:0;border-radius:10px;background:#181219;color:white;padding:9px 12px;font-size:8px;font-weight:800;letter-spacing:.04em}.sync-now:disabled{opacity:.35;cursor:not-allowed}.admin-section{animation:none}.admin-section.active{display:block;animation:adminIn .42s ease both}@keyframes adminIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.admin-heading{margin-bottom:28px}.admin-heading h1{font-family:var(--display);font-size:clamp(44px,5vw,68px);line-height:.9;letter-spacing:-.045em}.admin-heading p{font-size:11px}.heading-code{font-size:7px;letter-spacing:.2em;color:#9c8e99;border:1px solid var(--line);border-radius:999px;padding:8px 10px}.stats-grid{gap:10px}.stat-card{border-radius:20px;padding:22px;border:1px solid rgba(50,31,51,.08);box-shadow:none;background:rgba(255,255,255,.74);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-25px;top:-25px;background:rgba(255,95,143,.10)}.stat-card:nth-child(2):after{background:rgba(139,92,246,.10)}.stat-card:nth-child(3):after{background:rgba(168,240,207,.18)}.stat-card:nth-child(4):after{background:rgba(255,183,146,.16)}.stat-card>span{font-size:8px;text-transform:uppercase;letter-spacing:.13em}.stat-card>strong{font-family:var(--display);font-size:42px}.stat-card small{font-size:9px}.panel-card{border-radius:22px;background:rgba(255,255,255,.77);border:1px solid rgba(48,30,49,.08);box-shadow:0 14px 45px rgba(54,33,52,.045);backdrop-filter:blur(12px)}.panel-header h2{font-family:var(--display);font-size:25px}.panel-index{display:inline-grid;place-items:center;min-width:27px;height:19px;padding:0 7px;border-radius:999px;background:#181219;color:white;font-size:7px;letter-spacing:.1em;margin-bottom:7px}.appointment-row{border-radius:15px;border:1px solid rgba(49,31,50,.07);background:white}.appointment-row:hover{box-shadow:0 12px 25px rgba(56,34,54,.05)}.status-select{border-radius:10px}.planning-layout{gap:12px}.planning-side{gap:12px}.planning-calendar-card{top:82px}.admin-day-cell{border-radius:14px;border-color:rgba(49,31,50,.07);background:rgba(255,255,255,.8)}.admin-day-cell.has-appointments{box-shadow:inset 0 3px 0 #ff5f8f}.admin-day-cell.fully-blocked{background:repeating-linear-gradient(135deg,#fff2f5,#fff2f5 8px,#fce9ee 8px,#fce9ee 16px)}.immediate-card{border-color:rgba(255,95,143,.18)}.block-row{background:white;border-color:rgba(49,31,50,.07)}.info-glass{display:flex;gap:16px;align-items:flex-start;padding:14px 16px;border:1px solid rgba(73,55,77,.09);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(247,240,255,.72));margin-bottom:14px;font-size:10px}.info-glass b{white-space:nowrap;color:var(--rose-dark)}.info-glass span{color:#7c6f79;line-height:1.55}.service-admin-card{border-radius:20px;border-color:rgba(49,31,50,.08);box-shadow:none;background:rgba(255,255,255,.78)}.service-admin-card:hover{box-shadow:0 16px 36px rgba(58,35,56,.06)}.service-admin-head h3{font-family:var(--display);font-size:24px}.service-save-state{color:#a07450;font-weight:700}.upload-card{background:linear-gradient(135deg,#1c151e,#402838);color:white}.upload-card p{color:#c9bbc7}.upload-zone{border:1px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.07)}.upload-zone:hover{background:rgba(255,255,255,.12)}.admin-photo{border-radius:18px;overflow:hidden}.profile-card{max-width:680px}

/* CLIENT + LEGAL */
.client-page,.legal-page{min-height:100vh;background:radial-gradient(circle at 90% 14%,rgba(139,92,246,.10),transparent 25%),radial-gradient(circle at 8% 70%,rgba(255,95,143,.10),transparent 28%),#fffaf7}.client-wrap{padding:80px clamp(20px,7vw,110px) 110px}.client-auth-card{width:min(680px,100%);margin:0 auto;padding:clamp(30px,6vw,60px);border-radius:32px;background:rgba(255,255,255,.72);border:1px solid rgba(50,31,51,.09);box-shadow:0 30px 90px rgba(58,35,56,.08);backdrop-filter:blur(18px);position:relative}.client-auth-code{position:absolute;right:24px;top:22px;font-size:7px;letter-spacing:.18em;color:#9b8d98}.client-auth-card h1,.client-heading h1,.legal-card h1{font-family:var(--display);font-size:clamp(48px,5vw,72px);line-height:.9;letter-spacing:-.045em}.client-auth-card>p{font-size:12px;line-height:1.7;color:#7b6e79}.client-auth-card form{display:grid;gap:15px;margin-top:28px}.client-dashboard{max-width:1200px;margin:0 auto}.client-appointment-card{border-radius:18px;background:white}.legal-wrap{padding:70px clamp(20px,8vw,130px) 120px}.legal-card{max-width:1180px;margin:0 auto;padding:clamp(30px,6vw,70px);border-radius:34px;background:rgba(255,255,255,.72);border:1px solid rgba(49,31,50,.08);backdrop-filter:blur(16px)}.legal-card h1{font-size:clamp(58px,7vw,96px)}.legal-lead{max-width:760px;font-size:15px!important;line-height:1.8}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:45px 0}.legal-grid section{padding:25px;border:1px solid rgba(49,31,50,.08);border-radius:20px;background:white}.legal-grid section>span{font-size:8px;color:var(--rose-dark);font-weight:800}.legal-grid h2{font-family:var(--display);font-size:27px;margin:14px 0 8px}.legal-grid p{font-size:11px;line-height:1.7;color:#7d707b}.legal-note{border-radius:15px;background:#181219!important;color:#d8cad6!important;border:0!important}

/* RESPONSIVE */
@media(max-width:1180px){.hero{grid-template-columns:1fr .9fr}.hero h1{font-size:clamp(56px,7vw,88px)}.service-grid{grid-template-columns:repeat(2,1fr)}.experience-section{grid-template-columns:1fr}.experience-copy{position:static}.booking-calendar-layout{grid-template-columns:1fr}.admin-auth{grid-template-columns:1fr}.auth-visual{display:none}.sync-ribbon{grid-template-columns:auto 1fr auto}.sync-now{grid-column:2/4;width:max-content}.portfolio-item,.portfolio-item:nth-child(5n+1),.portfolio-item:nth-child(5n+2){grid-column:span 6;aspect-ratio:1/1}}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:55px}.hero-visual{min-height:520px}.hero-copy{max-width:760px}.hero-points{max-width:100%}.portfolio-head{align-items:flex-start}.circle-cta{width:90px;height:90px}.experience-step{grid-template-columns:60px 1fr}.admin-shell{display:block}.admin-main{padding-top:80px}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.admin-mobile-top{display:flex}.sync-ribbon{top:72px}.planning-calendar-card{position:static}.topbar nav{position:fixed;left:16px;right:16px;top:74px;display:none;flex-direction:column;align-items:stretch;padding:12px;background:rgba(255,250,247,.96);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.topbar nav.open{display:flex}.mobile-menu{display:block}}
@media(max-width:700px){.hero{padding-left:18px;padding-right:18px}.hero h1{font-size:clamp(52px,16vw,76px)}.hero-copy>p{font-size:14px}.hero-points{grid-template-columns:1fr}.hero-visual{min-height:470px}.nail-card{height:410px;width:76%}.nail-art span{width:34px;height:125px}.nail-art span:nth-child(2){height:145px}.nail-art span:nth-child(3){height:160px}.nail-art span:nth-child(4){height:145px}.nail-art span:nth-child(5){height:118px}.ring-one{width:400px;height:400px}.ring-two{width:450px}.service-grid{grid-template-columns:1fr}.section-title h2,.experience-copy h2,.cta-block h2{font-size:46px}.experience-section,.section-soft,.portfolio-section{padding-left:18px;padding-right:18px}.portfolio-head{display:block}.circle-cta{margin:0 0 35px auto}.portfolio-grid{display:grid;grid-template-columns:1fr}.portfolio-item,.portfolio-item:nth-child(5n+1),.portfolio-item:nth-child(5n+2){grid-column:auto;aspect-ratio:1/.95}.cta-block{margin-left:18px;margin-right:18px;display:grid;padding:32px 24px}.footer-links{display:none}.smart-booking-wrap{padding-left:13px;padding-right:13px}.smart-booking-head{padding-top:20px}.booking-head-number{display:none}.smart-booking-head h1{font-size:55px}.booking-head-badges{display:none}.booking-step-card{padding:20px 14px}.step-title{grid-template-columns:42px 1fr}.step-title>span{width:40px;height:40px}.booking-calendar-layout{display:block}.day-slots-card{margin-top:10px}.time-slot-grid{grid-template-columns:repeat(3,1fr)}.day-timeline-label{display:none}.sync-ribbon{grid-template-columns:auto 1fr}.sync-badge{display:none}.sync-now{grid-column:2;width:100%}.stats-grid-four{grid-template-columns:1fr 1fr}.service-edit-grid,.service-form-grid{grid-template-columns:1fr}.info-glass{display:grid}.appointment-row{grid-template-columns:1fr}.legal-grid{grid-template-columns:1fr}.client-wrap,.legal-wrap{padding-left:14px;padding-right:14px}}
@media(max-width:460px){.hero h1{font-size:49px}.hero-visual{min-height:410px}.nail-card{height:360px}.floating-chip,.floating-word{display:none}.stats-grid-four{grid-template-columns:1fr}.time-slot-grid{grid-template-columns:repeat(2,1fr)}.calendar-day{min-height:56px;padding:6px}.calendar-day small{display:none}.smart-booking-head h1{font-size:48px}.auth-card h1{font-size:50px}.sync-ribbon{font-size:9px}.admin-main{padding-left:12px;padding-right:12px}.legal-card{padding:26px 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ===== Gestion sécurisée d'un rendez-vous depuis l'e-mail ===== */
.appointment-manage-page{min-height:100vh;background:radial-gradient(circle at 13% 20%,rgba(255,95,143,.14),transparent 27%),radial-gradient(circle at 88% 22%,rgba(139,92,246,.14),transparent 26%),linear-gradient(180deg,#fffaf7,#f5eef4)}
.manage-rdv-wrap{min-height:calc(100vh - 82px);display:grid;place-items:center;padding:55px 18px 90px}.manage-rdv-card{width:min(760px,100%);position:relative;overflow:hidden;padding:clamp(28px,6vw,58px);border-radius:36px;background:rgba(255,255,255,.82);border:1px solid rgba(52,31,53,.09);box-shadow:0 35px 100px rgba(54,31,55,.13);backdrop-filter:blur(20px)}.manage-rdv-card:before{content:"";position:absolute;width:270px;height:270px;right:-150px;top:-155px;border-radius:50%;border:52px solid rgba(255,95,143,.07)}.manage-rdv-orb{position:absolute;width:150px;height:150px;right:7%;top:8%;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#ffd5e1 28%,#af82ff 72%,#4a2942);filter:blur(.1px);opacity:.25;animation:floaty 5s ease-in-out infinite}.manage-rdv-card h1{position:relative;font-family:var(--display);font-size:clamp(48px,7vw,74px);line-height:.92;letter-spacing:-.05em;margin:13px 0 19px;max-width:620px}.manage-rdv-lead{position:relative;max-width:600px;color:#756874;font-size:13px;line-height:1.75}.manage-state{display:flex;align-items:center;gap:13px;margin-top:32px;padding:18px;border-radius:17px;background:#f7f1f5}.manage-spinner{width:19px;height:19px;border:2px solid #e4d9e1;border-top-color:var(--rose);border-radius:50%;animation:spinSlow .8s linear infinite}.manage-error{margin-top:28px;padding:17px 18px;border-radius:16px;background:#fff0f2;border:1px solid #f0cdd4;color:#a33c50;font-size:12px;line-height:1.6}.manage-status{display:inline-flex;align-items:center;gap:8px;margin:29px 0 13px;padding:8px 11px;border-radius:999px;background:#f2edf1;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:800}.manage-status i{width:7px;height:7px;border-radius:50%;background:#a996a3}.manage-status.status-confirme{background:#eaf8ef;color:#2b7047}.manage-status.status-confirme i{background:#54c484}.manage-status.status-annule{background:#fff0f2;color:#a33c50}.manage-status.status-annule i{background:#d45870}.manage-status.status-nouveau{background:#f2ecff;color:#7252ad}.manage-status.status-nouveau i{background:#916cea}.manage-recap{display:grid;grid-template-columns:1.2fr 1.2fr 1fr .8fr;gap:8px;margin:5px 0 15px}.manage-recap>div{padding:16px;border-radius:16px;border:1px solid rgba(49,31,50,.08);background:white;display:grid;gap:4px}.manage-recap small{text-transform:uppercase;font-size:7px;letter-spacing:.14em;color:#948590;font-weight:800}.manage-recap strong{font-family:var(--display);font-size:17px}.manage-recap span{font-size:9px;color:#857782}.manage-prompt{padding:18px 19px;border-radius:17px;background:linear-gradient(135deg,#19121b,#3e283b);color:white;margin:12px 0 18px;display:grid;gap:5px}.manage-prompt strong{font-family:var(--display);font-size:20px}.manage-prompt span{font-size:10px;line-height:1.6;color:#d4c6d1}.manage-actions{display:flex;gap:10px;flex-wrap:wrap}.manage-danger{border:1px solid #e9c6d2;background:#fff7f8;color:#a23358}.manage-attention{box-shadow:0 0 0 5px rgba(255,95,143,.10)}.manage-feedback{margin-top:16px;padding:13px 15px;border-radius:13px;font-size:11px;font-weight:700}.manage-feedback.success{background:#eaf8ef;color:#2c7048}.manage-feedback.error{background:#fff0f2;color:#a33c50}.manage-rdv-foot{display:flex;gap:12px;align-items:flex-start;margin-top:30px;padding-top:19px;border-top:1px solid rgba(49,31,50,.08)}.manage-rdv-foot span{color:var(--rose)}.manage-rdv-foot p{margin:0;color:#958791;font-size:9px;line-height:1.6}
@media(max-width:700px){.manage-rdv-wrap{padding:25px 12px 60px}.manage-rdv-card{padding:28px 18px;border-radius:25px}.manage-rdv-orb{display:none}.manage-recap{grid-template-columns:1fr 1fr}.manage-actions{display:grid}.manage-actions .btn{width:100%}}
@media(max-width:430px){.manage-recap{grid-template-columns:1fr}.manage-rdv-card h1{font-size:46px}}

/* ========================================================================== */
/* V8 — Espace client complet / sécurité / factures / modification de RDV    */
/* ========================================================================== */
.connected-client-notice{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid rgba(64,151,102,.18);border-radius:16px;background:linear-gradient(135deg,#effcf5,#fff);color:#355e48}.connected-client-notice strong{font-size:12px}.connected-client-notice span{font-size:11px;color:#698074}.client-link-notice{display:grid;gap:5px;margin:22px 0 5px;padding:16px 18px;border-radius:17px;background:linear-gradient(135deg,#f8eefd,#fff5f7);border:1px solid rgba(143,75,157,.13)}.client-link-notice strong{font-size:12px;color:#784067}.client-link-notice span{font-size:11px;color:#756875;line-height:1.55}.client-text-button{appearance:none;border:0;background:none;color:var(--rose-dark);font:inherit;font-size:11px;font-weight:800;text-align:center;cursor:pointer;padding:2px 0}.client-auth-subbox{display:grid;gap:14px;margin-top:18px;padding:19px;border-radius:19px;border:1px solid rgba(51,31,51,.09);background:linear-gradient(145deg,#fff,#faf7ff)}.client-auth-subbox>strong{font-family:var(--display);font-size:22px}.client-auth-subbox>p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.client-auth-subbox label{display:grid;gap:7px}.client-link-activation{background:linear-gradient(145deg,#fff7fa,#f8f4ff)}
.client-heading-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.client-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px}.client-stats article{min-height:132px;padding:20px;border-radius:22px;border:1px solid rgba(50,31,51,.08);background:rgba(255,255,255,.78);display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 16px 40px rgba(54,33,53,.04)}.client-stats span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8c7e89;font-weight:800}.client-stats strong{font-family:var(--display);font-size:38px;line-height:1.05;margin:7px 0 3px}.client-stats small{color:#8b7d88;font-size:10px}.client-stat-accent{background:linear-gradient(145deg,#19131c,#502e47)!important;color:white}.client-stat-accent span,.client-stat-accent small{color:#d7c5d2!important}.client-tabs{display:flex;gap:7px;overflow:auto;padding:7px;margin:0 0 14px;border-radius:18px;border:1px solid rgba(52,31,51,.08);background:rgba(255,255,255,.65);scrollbar-width:none}.client-tabs::-webkit-scrollbar{display:none}.client-tabs button{white-space:nowrap;border:0;border-radius:12px;background:transparent;padding:11px 15px;font:inherit;font-size:10px;font-weight:800;color:#7d707a;cursor:pointer;transition:.2s}.client-tabs button:hover{background:#f6eff4}.client-tabs button.active{background:#181219;color:#fff;box-shadow:0 8px 20px rgba(35,22,35,.15)}.client-tab-panel>.panel-card{border-radius:26px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px)}.client-appointment-card{position:relative;grid-template-columns:1.2fr .8fr auto;transition:.24s}.client-appointment-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(52,33,53,.06)}.client-card-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end}.tiny-btn{padding:9px 11px!important;font-size:9px!important;border-radius:11px!important}.danger-soft{border:1px solid #efccd4!important;color:#aa4659!important;background:#fff5f6!important}.client-focus-card{animation:clientFocus 1.6s ease;box-shadow:0 0 0 3px rgba(255,95,143,.16),0 24px 60px rgba(63,34,55,.12)}@keyframes clientFocus{0%,100%{transform:translateY(0)}35%{transform:translateY(-6px)}}.client-billing-list{display:grid;gap:9px}.billing-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:17px 18px;border:1px solid rgba(50,31,51,.08);border-radius:17px;background:white}.billing-row>div{display:grid;gap:3px}.billing-row small,.billing-row span{font-size:10px;color:var(--muted)}.billing-row>strong{font-family:var(--display);font-size:23px}.client-settings-form{display:grid;gap:17px;max-width:780px}.profile-readonly-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-readonly-grid>div{display:grid;gap:4px;padding:15px 16px;border-radius:14px;background:#f8f5f7;border:1px solid rgba(49,31,50,.06)}.profile-readonly-grid small{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#998b95}.profile-readonly-grid strong{font-size:12px;overflow-wrap:anywhere}
.client-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.security-card{display:grid;align-content:start;gap:13px;border-radius:24px!important}.security-card-wide{grid-column:1/-1}.security-card h2{font-family:var(--display);font-size:30px;margin:0}.security-card>p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.security-card label{display:grid;gap:7px}.security-confirm-box{display:grid;gap:10px;padding:14px;border-radius:15px;background:#f8f3f7;border:1px solid rgba(54,31,52,.08)}.security-channel-row{display:flex;gap:9px;flex-wrap:wrap}.security-channel{display:flex!important;align-items:center;gap:8px;padding:11px 14px;border-radius:13px;border:1px solid rgba(53,32,51,.09);background:#fff;cursor:pointer}.security-channel input{accent-color:var(--rose)}.security-channel span{font-size:11px;font-weight:700}.security-channel.disabled{opacity:.4;cursor:not-allowed}
.client-modal{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:20px}.client-modal-backdrop{position:absolute;inset:0;background:rgba(20,13,21,.62);backdrop-filter:blur(10px)}.client-modal-card{position:relative;width:min(1180px,100%);max-height:92vh;overflow:auto;padding:28px;border-radius:30px;background:#fffaf7;border:1px solid rgba(255,255,255,.45);box-shadow:0 35px 120px rgba(18,10,18,.28)}.client-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.client-modal-head h2{font-family:var(--display);font-size:42px;line-height:1;margin:7px 0}.client-modal-head p{margin:0;color:var(--muted);font-size:11px}.modal-close{width:42px;height:42px;border:1px solid rgba(50,31,51,.1);border-radius:50%;background:white;font-size:22px;cursor:pointer}.reschedule-layout{display:grid;grid-template-columns:.75fr 1.1fr 1fr;gap:13px;align-items:start}.client-section-label{display:block;margin:0 0 9px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#8e7f89}.reschedule-services{display:grid;gap:7px}.reschedule-service{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid rgba(53,31,51,.08);border-radius:14px;background:#fff;text-align:left;cursor:pointer}.reschedule-service>span{display:grid;gap:2px}.reschedule-service strong{font-size:11px}.reschedule-service small{font-size:9px;color:var(--muted)}.reschedule-service b{font-size:11px}.reschedule-service.selected{background:#181219;color:white;border-color:#181219}.reschedule-service.selected small{color:#cdbdca}.calendar-toolbar.compact{margin-bottom:9px}.calendar-toolbar.compact>strong{font-size:20px}.reschedule-slots-panel{padding:14px;border:1px solid rgba(50,31,51,.08);border-radius:18px;background:#fff}.reschedule-slots-panel .time-slot-grid{grid-template-columns:repeat(3,1fr);max-height:410px}.client-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.modal-open{overflow:hidden}
.security-link-page,.invoice-page{min-height:100vh;background:radial-gradient(circle at 80% 10%,rgba(139,92,246,.10),transparent 30%),radial-gradient(circle at 10% 80%,rgba(255,95,143,.10),transparent 30%),#fffaf7}.security-link-wrap{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:40px 20px}.security-link-card{width:min(620px,100%);padding:42px;border-radius:30px;border:1px solid rgba(49,31,50,.09);background:rgba(255,255,255,.82);box-shadow:0 28px 80px rgba(53,32,52,.08);backdrop-filter:blur(16px)}.security-link-card h1{font-family:var(--display);font-size:52px;line-height:.9}.security-link-card>p{color:var(--muted);line-height:1.7}.security-link-confirm{padding:15px;border-radius:14px;background:#f8f3f7;font-size:12px}
.invoice-wrap{max-width:940px;margin:0 auto;padding:60px 20px 110px}.invoice-document{padding:50px;border-radius:28px;background:white;border:1px solid rgba(50,31,51,.08);box-shadow:0 30px 80px rgba(50,31,51,.07)}.invoice-head{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid #eee5ea;padding-bottom:28px}.invoice-head h1{font-family:var(--display);font-size:48px;margin:6px 0}.invoice-head p{color:var(--muted)}.invoice-meta{display:grid;grid-template-columns:auto auto;gap:5px 14px;text-align:right;align-content:start}.invoice-meta small{font-size:8px;text-transform:uppercase;color:#9b8d97}.invoice-meta strong{font-size:11px}.invoice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}.invoice-grid section{padding:20px;border-radius:18px;background:#faf7f9}.invoice-grid small{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#968892}.invoice-grid h3{margin:8px 0;font-size:17px}.invoice-grid p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.invoice-total{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-top:1px solid #eee5ea;border-bottom:1px solid #eee5ea}.invoice-total span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.invoice-total strong{font-family:var(--display);font-size:38px}.invoice-note{font-size:9px;line-height:1.6;color:#9b8d97;margin-top:24px}.invoice-actions{display:flex;justify-content:flex-end;margin-top:16px}
@media(max-width:900px){.client-stats{grid-template-columns:1fr 1fr}.client-stat-accent{grid-column:1/-1}.client-security-grid{grid-template-columns:1fr}.security-card-wide{grid-column:auto}.client-appointment-card{grid-template-columns:1fr}.client-date{text-align:left}.client-card-actions{justify-content:flex-start}.reschedule-layout{grid-template-columns:1fr}.client-modal-card{padding:20px}.billing-row{grid-template-columns:1fr auto}.billing-row .btn{grid-column:1/-1;width:max-content}}
@media(max-width:600px){.client-stats{grid-template-columns:1fr}.client-stat-accent{grid-column:auto}.client-heading-actions{width:100%}.client-heading-actions .btn{flex:1;text-align:center}.profile-readonly-grid,.invoice-grid{grid-template-columns:1fr}.billing-row{grid-template-columns:1fr}.client-modal{padding:8px}.client-modal-card{border-radius:22px;max-height:96vh}.client-modal-head h2{font-size:34px}.reschedule-slots-panel .time-slot-grid{grid-template-columns:repeat(3,1fr)}.invoice-document{padding:26px 20px}.invoice-head{display:grid}.invoice-meta{text-align:left;grid-template-columns:auto 1fr}.security-link-card{padding:30px 22px}.security-link-card h1{font-size:42px}}
@media print{.no-print{display:none!important}.invoice-page{background:white}.invoice-wrap{padding:0}.invoice-document{box-shadow:none;border:0;border-radius:0;padding:0}.invoice-note{font-size:8px}}


/* ===== Correctifs V8.1 : portfolio public + placement du bouton RDV ===== */
.portfolio-hero-card{overflow:visible}
.hero-portfolio-media{position:relative;display:grid;place-items:center;min-height:315px;border-radius:27px;overflow:hidden;background:linear-gradient(145deg,#fbe8ef,#eee1f8)}
.hero-portfolio-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;animation:portfolioHeroIn .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes portfolioHeroIn{from{opacity:0;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
.hero-portfolio-media .nail-art{padding-top:0}
.hero-portfolio-thumb{position:absolute;z-index:4;width:132px;aspect-ratio:.82/1;border-radius:22px;overflow:hidden;border:7px solid rgba(255,255,255,.86);box-shadow:0 22px 55px rgba(42,25,40,.18);background:#fff;animation:portfolioFloat 5.5s ease-in-out infinite}
.hero-portfolio-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hero-portfolio-thumb-a{right:-3%;top:12%;transform:rotate(7deg)}
.hero-portfolio-thumb-b{left:-2%;bottom:8%;transform:rotate(-8deg);animation-delay:-2.4s}
@keyframes portfolioFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
.portfolio-item.portfolio-image-error{display:grid;place-items:center;background:linear-gradient(145deg,#fff0f5,#f4edfa)}
.portfolio-item.portfolio-image-error:before{content:"Image momentanément indisponible";padding:20px;text-align:center;font-size:10px;line-height:1.5;color:#8a7b86;letter-spacing:.05em;text-transform:uppercase}
.portfolio-item.portfolio-image-error img{display:none}
.booking-step-card{position:relative}
.booking-submit-row{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding-top:22px;border-top:1px solid rgba(50,31,51,.09)}
.booking-submit-copy{display:grid;gap:4px;max-width:560px}
.booking-submit-copy small{font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-dark)}
.booking-submit-copy strong{font-size:12px;line-height:1.5;color:#6f626d}
.booking-confirm{width:auto;min-width:285px;min-height:58px;flex:0 0 auto;padding-left:28px;padding-right:28px}
@media(max-width:700px){.hero-portfolio-media{min-height:265px}.hero-portfolio-thumb{width:92px;border-width:5px}.hero-portfolio-thumb-a{right:-7%;top:9%}.hero-portfolio-thumb-b{left:-6%;bottom:11%}.booking-submit-row{display:grid;gap:14px}.booking-confirm{width:100%;min-width:0}}

/* V8.2 — Suppléments + ticket de réservation */
.service-option-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}.supplement-admin-check{background:linear-gradient(145deg,#fff7fb,#f7f1ff);border:1px solid rgba(147,73,118,.13);border-radius:16px;padding:12px 14px}.supplement-admin-check span{display:grid;gap:2px}.supplement-admin-check small{font-size:9px;color:var(--muted);font-weight:500}.service-badges{display:flex;gap:6px;flex-wrap:wrap}.service-status.supplement{background:#fff0f7;color:#9d3f68}.service-status.main{background:#f2eff8;color:#625873}
.booking-supplements-panel{margin-top:18px;padding:20px;border-radius:24px;border:1px solid rgba(71,43,72,.10);background:linear-gradient(135deg,rgba(255,247,251,.92),rgba(248,245,255,.92));transition:.25s}.booking-supplements-panel.waiting{opacity:.58}.supplements-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.supplements-heading small{font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:var(--rose-dark);font-weight:800}.supplements-heading h3{font-family:var(--display);font-size:28px;margin:3px 0 4px}.supplements-heading p{margin:0;color:var(--muted);font-size:11px;max-width:650px;line-height:1.6}.supplements-heading>span{white-space:nowrap;padding:8px 11px;border-radius:999px;background:#181219;color:white;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.booking-supplement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.booking-supplement-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;text-align:left;border:1px solid rgba(50,31,51,.09);border-radius:16px;background:rgba(255,255,255,.82);padding:13px;transition:.22s}.booking-supplement-card:not(:disabled):hover{transform:translateY(-2px);border-color:rgba(199,72,119,.28);box-shadow:0 12px 24px rgba(64,36,60,.06)}.booking-supplement-card.selected{background:linear-gradient(145deg,#fff,#fff1f7);border-color:rgba(207,72,124,.36)}.booking-supplement-card:disabled{cursor:not-allowed}.supplement-toggle{width:30px;height:30px;border-radius:10px;background:#eee8ed;display:grid;place-items:center;font-weight:900;color:#887581}.booking-supplement-card.selected .supplement-toggle{background:#181219;color:white}.supplement-copy{display:grid;gap:3px;min-width:0}.supplement-copy strong{font-size:13px}.supplement-copy small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supplement-meta{display:grid;text-align:right;gap:2px}.supplement-meta small{font-size:8px;color:var(--muted)}.supplement-meta b{font-size:12px;color:var(--rose-dark)}
.booking-receipt{position:relative;max-width:590px;margin:18px auto 22px;padding:27px 26px 22px;background:#fffef9;border:1px solid #e8e0d7;box-shadow:0 18px 45px rgba(57,42,47,.08);font-family:"Manrope",sans-serif;color:#282126;overflow:visible}.booking-receipt:before,.booking-receipt:after{content:"";position:absolute;left:-1px;right:-1px;height:10px;background:radial-gradient(circle at 5px 0,transparent 5px,#fffef9 5.5px) 0 0/10px 10px repeat-x}.booking-receipt:before{top:-9px;transform:rotate(180deg)}.booking-receipt:after{bottom:-9px}.receipt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.receipt-head>div{display:grid;gap:3px}.receipt-head small{font-size:8px;letter-spacing:.18em;font-weight:800}.receipt-head strong{font-family:var(--display);font-size:22px}.receipt-head>span{font-size:22px;color:var(--rose-dark)}.receipt-dots{height:1px;margin:17px 0;border-top:1px dashed #bfb4b9}.receipt-line{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;padding:7px 0}.receipt-line span{font-size:12px}.receipt-line span small{display:block;font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:#9a8d93;margin-bottom:2px}.receipt-line strong{font-size:12px;white-space:nowrap}.receipt-line.main-line span{font-weight:700}.receipt-total{display:flex;justify-content:space-between;align-items:end;padding:2px 0 12px}.receipt-total span{font-size:10px;letter-spacing:.14em;font-weight:900}.receipt-total strong{font-family:var(--display);font-size:30px}.receipt-foot{display:flex;justify-content:space-between;gap:18px;padding:5px 0;font-size:10px;color:#6f6269}.receipt-foot b{color:#30272c}.receipt-thanks{text-align:center;margin-top:14px;padding-top:13px;border-top:1px dashed #c9bec3;font-size:7px;letter-spacing:.15em;font-weight:800;color:#92858b}
.reschedule-supplements-panel{margin-top:14px}.reschedule-supplements{display:grid;gap:7px;margin-top:7px}.reschedule-supplement{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;text-align:left;padding:10px 11px;border:1px solid rgba(51,31,51,.09);border-radius:13px;background:#fff;transition:.2s}.reschedule-supplement>span{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#eee8ed;font-weight:900}.reschedule-supplement>div{display:grid}.reschedule-supplement small{font-size:8px;color:var(--muted)}.reschedule-supplement b{font-size:11px}.reschedule-supplement.selected{background:#fff2f7;border-color:rgba(200,70,118,.30)}.reschedule-supplement.selected>span{background:#181219;color:white}
.invoice-items{display:grid;gap:0;margin:24px 0;border-top:1px solid rgba(51,31,51,.10);border-bottom:1px solid rgba(51,31,51,.10)}.invoice-item-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 0}.invoice-item-row+.invoice-item-row{border-top:1px dashed rgba(51,31,51,.12)}.invoice-item-row>div{display:grid;gap:2px}.invoice-item-row small{font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.invoice-item-row strong{font-size:13px}.invoice-item-row span{font-size:9px;color:var(--muted)}.invoice-item-row>b{font-size:13px}.invoice-item-row.supplement strong:before{content:"+ ";color:var(--rose-dark)}
@media(max-width:760px){.service-option-row{grid-template-columns:1fr}.booking-supplement-grid{grid-template-columns:1fr}.supplements-heading{display:grid}.supplements-heading>span{justify-self:start}.booking-receipt{margin-left:3px;margin-right:3px;padding:24px 17px}.receipt-total strong{font-size:26px}.booking-supplement-card{grid-template-columns:32px minmax(0,1fr);}.supplement-meta{grid-column:2;text-align:left;display:flex;gap:8px}}
.client-appointment-extras{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0}.client-appointment-extras span{padding:4px 7px;border-radius:999px;background:#fff1f6;color:#8f3c61;font-size:8px;font-weight:700}


/* V8.3 — sélection multiple de prestations + ticket unique */
.multi-service-selector{margin-top:22px;padding:22px;border:1px solid rgba(54,34,54,.10);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,246,250,.82))}.multi-service-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:15px}.multi-service-heading small{display:block;font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-dark)}.multi-service-heading h3{font-family:var(--display);font-size:29px;line-height:1;margin:4px 0 6px}.multi-service-heading p{margin:0;max-width:720px;color:var(--muted);font-size:11px;line-height:1.6}.multi-service-heading>span{flex:0 0 auto;padding:8px 11px;border-radius:999px;background:#181219;color:#fff;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.booking-multi-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.booking-multi-service{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;text-align:left;border:1px solid rgba(50,31,51,.09);border-radius:16px;background:rgba(255,255,255,.9);padding:14px;transition:.22s;color:var(--ink)}.booking-multi-service:hover{transform:translateY(-2px);border-color:rgba(199,72,119,.28);box-shadow:0 12px 24px rgba(64,36,60,.06)}.booking-multi-service.selected{background:linear-gradient(145deg,#fff,#fff1f7);border-color:rgba(207,72,124,.38);box-shadow:0 0 0 2px rgba(207,72,124,.07)}.multi-service-check{width:30px;height:30px;border-radius:10px;background:#eee8ed;display:grid;place-items:center;font-weight:900;color:white}.booking-multi-service.selected .multi-service-check{background:#181219}.multi-service-copy{display:grid;gap:3px;min-width:0}.multi-service-copy strong{font-size:13px}.multi-service-copy small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi-service-duration{font-size:10px;color:#6f6269;white-space:nowrap;padding:6px 8px;border-radius:999px;background:#f5f1f3}.receipt-accounting{display:grid;gap:6px;padding:1px 0 13px}.receipt-accounting>div{display:flex;justify-content:space-between;gap:18px;font-size:10px;color:#6f6269}.receipt-accounting strong{color:#30272c}.receipt-total{border-top:1px solid #2d2529;padding-top:12px}.booking-page .booking-receipt{margin-top:24px}.booking-page .appointment-recap{grid-template-columns:1.6fr 1fr .65fr}
@media(max-width:760px){.booking-multi-service-grid{grid-template-columns:1fr}.multi-service-heading{display:grid}.multi-service-heading>span{justify-self:start}.booking-page .appointment-recap{grid-template-columns:1fr}}


/* ===== Correctifs V8.4 : TVA HT->TTC, login admin client-style, durees, decorations ===== */
.circle-cta{display:none!important}
.cta-block:after{display:none!important;content:none!important}
.admin-auth-client-style{grid-template-columns:1fr!important;place-items:center;padding:clamp(36px,7vw,100px) 20px;background:radial-gradient(circle at 12% 12%,rgba(139,92,246,.10),transparent 28%),radial-gradient(circle at 88% 78%,rgba(255,95,143,.10),transparent 30%),#fffaf7}
.admin-login-card{width:min(680px,100%);margin:0 auto}
.admin-login-card form{display:grid;gap:15px;margin-top:28px}
.duration-control{display:grid;gap:7px;align-content:start}.duration-control-title{font-size:13px;font-weight:700}.duration-control>small{font-size:9px;color:var(--muted);line-height:1.4}.duration-split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.duration-split label{gap:5px;font-size:9px;color:var(--muted)}.duration-split input,.duration-split select{padding:12px 11px}.service-edit-grid .duration-control{min-width:0}
@media(max-width:700px){.duration-split{grid-template-columns:1fr 1fr}.admin-auth-client-style{padding:24px 14px}.admin-login-card{padding:30px 22px}}

/* V8.4.3 — espace studio intégré à la page principale */
body.admin-mode{background:#f5f1f4}
body.admin-mode .client-wrap{display:none}
body.admin-mode .topbar{position:sticky;top:0;z-index:80;background:rgba(255,250,247,.92);box-shadow:0 10px 35px rgba(45,28,44,.05)}
body.admin-mode #spaceNavLink{background:#181219;color:#fff;box-shadow:0 8px 24px rgba(47,29,48,.12)}
.admin-integrated{min-height:calc(100vh - 82px);grid-template-columns:264px minmax(0,1fr);background:#f5f1f4}
.admin-integrated .sidebar{top:82px;height:calc(100vh - 82px);inset:auto auto 0 0}
.admin-integrated .admin-main{min-height:calc(100vh - 82px);padding-top:34px}
.admin-integrated .sidebar-brand{pointer-events:none}
.admin-integrated .sidebar-bottom a{border-radius:10px;transition:.2s}
.admin-integrated .sidebar-bottom a:hover{background:rgba(255,255,255,.06);color:#fff}
@media(max-width:900px){
  .admin-integrated{min-height:calc(100vh - 74px)}
  .admin-integrated .sidebar{top:74px;height:calc(100vh - 74px)}
  .admin-integrated .admin-mobile-top{top:74px}
  .admin-integrated .admin-main{min-height:calc(100vh - 74px);padding-top:142px}
  .admin-integrated .sync-ribbon{top:64px}
}

/* V8.5 — CRM clients + codes promo */
.admin-clients-list{display:grid;gap:8px}.admin-client-row{width:100%;display:grid;grid-template-columns:minmax(260px,1.5fr) 150px 90px 90px 150px 34px;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(49,31,50,.08);border-radius:18px;background:rgba(255,255,255,.82);text-align:left;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.admin-client-row:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(47,31,47,.07);border-color:rgba(129,77,120,.16)}.admin-client-identity{display:flex;align-items:center;gap:12px;min-width:0}.admin-client-identity>span:last-child{display:grid;gap:3px;min-width:0}.admin-client-identity strong{font-size:12px}.admin-client-identity small{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-avatar-mini,.client-avatar-large{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-family:var(--display);font-weight:700;background:linear-gradient(145deg,#241824,#72516a);color:#fff}.client-avatar-mini{width:38px;height:38px;font-size:12px}.client-avatar-large{width:70px;height:70px;font-size:22px}.account-pill{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:6px 9px;border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.02em}.account-pill i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 4px rgba(0,0,0,.03)}.account-pill.with{background:#eaf8ef;color:#2e7250}.account-pill.with i{background:#36ae6d}.account-pill.without{background:#fff0f0;color:#a44d51}.account-pill.without i{background:#e3575f}.admin-client-metric{display:grid;gap:2px}.admin-client-metric small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.admin-client-metric strong{font-size:12px}.admin-client-metric.money strong{font-family:var(--display);font-size:16px}.admin-client-arrow{font-size:17px;color:#8c7c88}.client-record-modal{width:min(1360px,100%)}.client-record-summary{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:12px;margin-bottom:22px}.client-record-profile,.client-record-contact,.client-record-kpis{padding:18px;border:1px solid rgba(50,31,51,.08);border-radius:20px;background:#fff}.client-record-profile{display:flex;align-items:center;gap:14px}.client-record-profile>div:last-child{display:grid;gap:5px}.client-record-profile small,.client-record-contact small,.client-record-kpis small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.client-record-profile h3{font-family:var(--display);font-size:25px;margin:0}.client-record-contact{display:grid;gap:12px}.client-record-contact>div,.client-record-kpis>div{display:grid;gap:3px}.client-record-contact strong{font-size:11px;word-break:break-word}.client-record-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.client-record-kpis strong{font-family:var(--display);font-size:20px}.client-record-history-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 10px}.client-record-history-head>div{display:grid;gap:2px}.client-record-history-head small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.client-record-history-head strong{font-family:var(--display);font-size:22px}.client-record-history-head>span{font-size:9px;color:var(--muted)}.client-record-history{display:grid;gap:8px}.client-record-history-grid-head,.client-record-appointment{display:grid;grid-template-columns:150px minmax(280px,1.8fr) 120px 120px 120px 170px;gap:12px;align-items:stretch}.client-record-history-grid-head{padding:0 14px 2px}.client-record-history-grid-head span{font-size:10px;font-weight:800;letter-spacing:.04em;color:#8a7b86;text-transform:uppercase}.client-record-appointment{padding:14px;border:1px solid rgba(50,31,51,.07);border-radius:16px;background:#fff}.client-record-col{display:grid;gap:4px;align-content:start;min-width:0}.client-record-col small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.client-record-col strong,.client-record-col span{font-size:11px;line-height:1.45}.client-record-col span{color:#72646f}.client-record-service strong,.client-record-price strong,.client-record-discount strong,.client-record-code strong{font-size:11px}.client-record-price strong,.client-record-discount strong{font-size:11px;line-height:1.45;font-weight:700}.client-record-code strong{overflow-wrap:anywhere}.client-record-promo,.client-record-discount strong{color:#9a476e!important}.client-record-invoice{display:grid;justify-items:end;align-content:center;gap:8px}.client-record-invoice .btn,.client-record-invoice .invoice-state{justify-self:end}.invoice-state{display:inline-flex;padding:7px 9px;border-radius:999px;font-size:8px;font-weight:800}.invoice-state.future{background:#f5efff;color:#72529a}.invoice-state.cancelled{background:#f6f3f4;color:#8d8189}
.promo-admin-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);gap:14px;align-items:start}.promo-editor-card{position:sticky;top:145px}.promo-active-list{display:grid;gap:8px}.promo-row{display:grid;grid-template-columns:120px minmax(0,1fr) 40px 40px;align-items:center;gap:10px;padding:13px;border:1px solid rgba(50,31,51,.08);border-radius:17px;background:#fff}.promo-code-badge{padding:10px 12px;border-radius:12px;background:#1b151d;color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-align:center;overflow:hidden;text-overflow:ellipsis}.promo-row-copy{display:grid;gap:3px}.promo-row-copy strong{font-family:var(--display);font-size:20px}.promo-row-copy small{font-size:8px;color:var(--muted)}.promo-icon-btn{width:36px;height:36px;border:1px solid rgba(50,31,51,.08);border-radius:50%;background:#fff;cursor:pointer;font-size:15px;transition:.2s}.promo-icon-btn:hover{transform:translateY(-1px);background:#f7f1f5}.promo-icon-btn.minus{font-size:22px;color:#a44d51}.promo-duration{margin:12px 0}.promo-duration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.promo-clients-head{display:flex;align-items:end;justify-content:space-between;margin:14px 0 8px}.promo-clients-head>div{display:grid;gap:2px}.promo-clients-head small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.promo-client-search{margin-bottom:8px}.promo-client-selector{display:grid;gap:6px;max-height:330px;overflow:auto;padding-right:4px}.promo-client-option{display:block;cursor:pointer}.promo-client-option input{position:absolute;opacity:0;pointer-events:none}.promo-client-option>span{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:10px 11px;border:1px solid rgba(50,31,51,.07);border-radius:13px;background:#fff;transition:.2s}.promo-client-option>span .account-pill{grid-row:1/3}.promo-client-option b{font-size:10px}.promo-client-option small{font-size:8px;color:var(--muted)}.promo-client-option input:checked+span{border-color:rgba(113,72,116,.28);background:#f8f0f7;box-shadow:inset 0 0 0 1px rgba(113,72,116,.08)}
.promo-code-public{margin-top:14px;padding:15px;border:1px solid rgba(56,34,55,.09);border-radius:20px;background:rgba(255,255,255,.72);display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,1.1fr);gap:12px;align-items:center}.promo-code-public>div:first-child{display:grid;gap:3px}.promo-code-public small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.promo-code-public strong{font-family:var(--display);font-size:19px}.promo-code-public span{font-size:9px;color:var(--muted)}.promo-code-public-form{display:grid;grid-template-columns:1fr auto 34px;gap:7px}.promo-code-public-form input{text-transform:uppercase;font-weight:800;letter-spacing:.08em}.promo-code-public-form .btn{padding:0 15px;min-height:44px}.promo-remove{width:34px;height:34px;align-self:center;border:1px solid rgba(50,31,51,.08);border-radius:50%;background:#fff;cursor:pointer}.promo-feedback{grid-column:1/-1;margin:0;font-size:9px;font-weight:700}.promo-feedback.success{color:#2d7951}.promo-feedback.error{color:#ae4d55}.receipt-promo-line{color:#8e3f67}.invoice-discount-row{background:#fff7fb}.invoice-discount-row>b{color:#9b426c}
@media(max-width:1180px){.admin-client-row{grid-template-columns:minmax(240px,1fr) 130px 80px 80px 120px 30px}.promo-admin-layout{grid-template-columns:1fr}.promo-editor-card{position:static}.client-record-summary{grid-template-columns:1fr 1fr}.client-record-kpis{grid-column:1/-1}.client-record-history-grid-head,.client-record-appointment{grid-template-columns:140px minmax(220px,1.6fr) 100px 100px 110px 150px}}
@media(max-width:800px){.admin-client-row{grid-template-columns:1fr auto}.admin-client-account{justify-self:end}.admin-client-metric,.admin-client-arrow{display:none}.client-record-summary{grid-template-columns:1fr}.client-record-kpis{grid-column:auto}.client-record-history-grid-head{display:none}.client-record-appointment{grid-template-columns:1fr 1fr}.client-record-invoice{justify-items:start}.client-record-invoice .btn,.client-record-invoice .invoice-state{justify-self:start}.promo-code-public{grid-template-columns:1fr}.promo-code-public-form{grid-template-columns:1fr auto 34px}}
@media(max-width:520px){.client-record-kpis{grid-template-columns:1fr}.client-record-appointment{grid-template-columns:1fr}.promo-row{grid-template-columns:1fr 40px 40px}.promo-code-badge{grid-column:1/-1;text-align:left}.promo-duration-grid{grid-template-columns:1fr 1fr 1fr}.promo-code-public-form{grid-template-columns:1fr}.promo-code-public-form .promo-remove{display:none}}

/* ===== V8.6 — responsive proportionnel + mobile + slider studio + promo dans ticket ===== */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
.hero>* ,.smart-booking-form>* ,.booking-calendar-layout>* ,.admin-main>* ,.panel-card>*{min-width:0}

/* Le code promo fait désormais partie du ticket, juste avant le total final. */
.receipt-promo-entry{margin:8px 0 14px;padding:13px 0 14px;border-top:1px dashed #c9bec3;border-bottom:1px dashed #c9bec3;display:grid;gap:9px}
.receipt-promo-title{display:flex;align-items:end;justify-content:space-between;gap:12px}
.receipt-promo-title span{font-size:8px;font-weight:900;letter-spacing:.16em;color:#342a30}
.receipt-promo-title small{font-size:7px;color:#92858b;text-align:right}
.receipt-promo-form{display:grid;grid-template-columns:minmax(0,1fr) auto 34px;gap:7px;align-items:center}
.receipt-promo-form input{min-width:0;height:40px;padding:9px 11px;border:1px solid #d9cfd4;border-radius:8px;background:#fff;font-size:10px;font-weight:900;letter-spacing:.10em;text-transform:uppercase;box-shadow:none}
.receipt-promo-form input:focus{border-color:#9b617d;box-shadow:0 0 0 3px rgba(155,97,125,.08)}
.receipt-promo-apply{height:40px;padding:0 14px;border:0;border-radius:8px;background:#2b2227;color:#fff;font-size:9px;font-weight:900;letter-spacing:.03em}
.receipt-promo-apply:disabled{opacity:.55;cursor:wait}
.receipt-promo-remove{width:34px;height:34px;border:1px solid #d9cfd4;border-radius:50%;background:#fff;color:#8d6878;font-size:18px;line-height:1}
.receipt-promo-entry .promo-feedback{grid-column:auto;margin:0;font-size:8px;line-height:1.45}
.receipt-promo-entry .promo-feedback.success{color:#2d7951}.receipt-promo-entry .promo-feedback.error{color:#ae4d55}

/* Bouton permanent sur l'arête droite du slider studio. */
.studio-sidebar-toggle{position:fixed;z-index:95;top:96px;left:246px;width:36px;height:36px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#171219;color:#fff;display:grid;place-items:center;box-shadow:0 10px 28px rgba(31,20,30,.20);transition:left .25s ease,transform .2s ease,background .2s ease}
.studio-sidebar-toggle:hover{transform:translateY(-1px);background:#322630}
.studio-sidebar-toggle span{font-family:Arial,sans-serif;font-size:24px;line-height:1;transform:translateY(-1px)}
.admin-integrated.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
.admin-integrated.sidebar-collapsed .sidebar{transform:translateX(-105%)}
.admin-integrated.sidebar-collapsed .studio-sidebar-toggle{left:14px}
.admin-integrated.sidebar-collapsed .admin-main{grid-column:2}

/* Résolutions PC / laptop : on conserve la composition, mais tout se compacte. */
@media (min-width:901px) and (max-width:1500px){
  .topbar{height:74px;padding:0 clamp(20px,3.2vw,48px)}
  .topbar nav{gap:clamp(14px,1.8vw,24px)}
  .topbar nav a{font-size:clamp(11px,.9vw,13px)}
  .brand{gap:9px}.brand strong{font-size:clamp(16px,1.45vw,20px)}.brand small{font-size:9px}.brand-dot{width:15px;height:15px}
  .hero{grid-template-columns:1.08fr .92fr;min-height:calc(100vh - 74px);padding:clamp(34px,4vw,58px) clamp(24px,4vw,62px);gap:clamp(22px,3vw,38px)}
  .hero h1{font-size:clamp(46px,5.25vw,76px)}.hero-copy>p{font-size:clamp(14px,1.25vw,17px);margin:20px 0}.hero-points{margin-top:32px;gap:20px}
  .hero-visual{min-height:clamp(390px,39vw,520px)}.nail-card{width:min(350px,82%);height:clamp(380px,37vw,455px);padding:28px}.blob-a{width:clamp(330px,34vw,430px);height:clamp(330px,34vw,430px)}
  .section-soft,.portfolio-section{padding:clamp(62px,6vw,86px) clamp(24px,4vw,62px)}
  .section-title{margin-bottom:36px}.section-title h2,.cta-block h2{font-size:clamp(34px,3.8vw,50px)}
  .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.service-card{padding:clamp(18px,2vw,26px)}
  .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portfolio-item,.portfolio-item:nth-child(5n+1),.portfolio-item:nth-child(5n+2){grid-column:auto;aspect-ratio:1/1.04}
  .cta-block{margin:0 clamp(24px,4vw,62px) 64px;padding:38px 42px}
  footer{padding:30px clamp(24px,4vw,62px)}
  .smart-booking-wrap{max-width:1380px;padding:clamp(38px,4.5vw,62px) clamp(20px,3.2vw,46px) 82px}
  .smart-booking-head h1{font-size:clamp(48px,5.4vw,72px)}
  .booking-step-card{padding:clamp(20px,2.6vw,32px)}
  .booking-calendar-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(290px,.92fr);gap:12px}
  .public-calendar-card,.day-slots-card{padding:clamp(12px,1.4vw,18px)}
  .calendar-day{min-height:clamp(54px,5vw,72px)}
  .booking-multi-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-receipt{max-width:560px}
  .admin-integrated{min-height:calc(100vh - 74px);grid-template-columns:230px minmax(0,1fr)}
  .admin-integrated .sidebar{top:74px;height:calc(100vh - 74px);width:230px;padding:22px 14px}
  .admin-integrated .admin-main{min-height:calc(100vh - 74px);padding:26px clamp(18px,2.7vw,38px) 56px}
  .sidebar-brand{margin-bottom:24px}.side-link{padding:11px 10px;font-size:11px;gap:9px}
  .studio-sidebar-toggle{top:87px;left:212px}
  .admin-integrated.sidebar-collapsed .studio-sidebar-toggle{left:12px}
  .sync-ribbon{top:10px;margin-bottom:24px}
  .admin-heading h1{font-size:clamp(34px,3.4vw,48px)}
}

/* Petite résolution de bureau : garde le dessin desktop jusqu'au seuil téléphone. */
@media (min-width:901px) and (max-width:1180px){
  .hero{grid-template-columns:1.08fr .92fr}.hero-visual{min-height:380px}
  .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-card h3{font-size:14px}.service-card p{font-size:11px}
  .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .booking-calendar-layout{grid-template-columns:minmax(0,1fr) minmax(275px,.82fr)}
  .time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .promo-admin-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}
  .promo-editor-card{position:static}
}

/* Téléphone / tablette verticale : vraie version tactile. */
@media (max-width:900px){
  .topbar{height:66px;padding:0 14px}.topbar .brand strong{font-size:16px}.topbar .brand small{font-size:8px}.mobile-menu{display:block;font-size:23px}
  .topbar nav{top:66px;left:10px;right:10px;gap:3px;border-radius:15px;padding:10px}.topbar nav a{padding:10px 12px;font-size:12px;border-radius:10px}.topbar nav a.active{background:#f6edf2}
  .hero{min-height:auto;padding:40px 16px 34px;gap:18px}.hero h1{font-size:clamp(44px,13vw,64px)}.hero-copy>p{font-size:13px;line-height:1.6;margin:18px 0}.hero-actions{gap:9px}.hero-actions .btn{flex:1;min-width:140px;padding:12px 14px;font-size:11px}.hero-points{margin-top:24px;gap:12px}
  .hero-visual{min-height:360px}.nail-card{width:min(310px,78vw);height:340px;padding:23px;border-radius:31px}.blob-a{width:300px;height:300px}.blob-b{width:120px;height:120px}
  .section-soft,.portfolio-section{padding:56px 15px}.section-title{margin-bottom:28px}.section-title h2,.cta-block h2{font-size:clamp(34px,10vw,44px)}
  .service-grid{grid-template-columns:1fr;gap:10px}.service-card{padding:20px}.portfolio-grid{grid-template-columns:1fr;gap:12px}.portfolio-item,.portfolio-item:nth-child(5n+1),.portfolio-item:nth-child(5n+2){grid-column:auto;aspect-ratio:1/.94}
  .cta-block{margin:0 14px 48px;padding:28px 22px;border-radius:25px}footer{padding:28px 15px}
  .smart-booking-wrap{padding:28px 10px 52px}.smart-booking-head{padding:10px 5px 0}.smart-booking-head h1{font-size:clamp(42px,13vw,55px)}.smart-booking-head>p{font-size:12px;line-height:1.6}
  .booking-step-card{padding:17px 12px;border-radius:19px}.step-title{grid-template-columns:36px minmax(0,1fr);gap:9px}.step-title>span{width:34px;height:34px;font-size:9px}.step-title h2{font-size:23px}.step-title p{font-size:10px}
  .field-row{grid-template-columns:1fr}.booking-multi-service-grid{grid-template-columns:1fr}.multi-service-selector{padding:14px;border-radius:18px}.multi-service-heading{display:grid;gap:9px}.multi-service-heading h3{font-size:24px}.booking-multi-service{grid-template-columns:30px minmax(0,1fr) auto;padding:11px 10px;gap:8px}.multi-service-check{width:27px;height:27px}.multi-service-copy strong{font-size:11px}.multi-service-copy small{font-size:8px}.multi-service-duration{font-size:8px;padding:5px 6px}
  .booking-calendar-layout{display:block}.day-slots-card{margin-top:10px}.public-calendar-card,.day-slots-card{padding:10px;border-radius:18px}.calendar-toolbar{gap:6px}.calendar-toolbar strong{font-size:16px}.calendar-weekdays{gap:2px}.booking-calendar-grid{gap:2px}.calendar-day{min-height:48px;padding:4px;border-radius:10px}.calendar-day span{font-size:11px}.calendar-day small{display:none}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.time-slot{padding:9px 5px}.time-slot strong{font-size:11px}.time-slot small{font-size:7px}
  .booking-receipt{width:100%;max-width:none;margin:18px 0 20px;padding:22px 14px 18px}.receipt-head strong{font-size:19px}.receipt-line{gap:10px}.receipt-line span,.receipt-line strong{font-size:10px}.receipt-total strong{font-size:25px}.receipt-foot{font-size:9px}
  .receipt-promo-title{align-items:start;flex-direction:column;gap:2px}.receipt-promo-title small{text-align:left}.receipt-promo-form{grid-template-columns:minmax(0,1fr) auto 32px}.receipt-promo-apply{padding:0 10px;font-size:8px}.receipt-promo-remove{width:32px;height:32px}
  .booking-submit-row{display:grid;gap:11px}.booking-confirm{width:100%;min-width:0}
  .client-wrap,.legal-wrap{padding-left:10px;padding-right:10px}.client-tabs{overflow-x:auto;scrollbar-width:none}.client-tabs::-webkit-scrollbar{display:none}.client-tabs button{flex:0 0 auto}
  body.admin-mode .topbar{height:66px}
  .admin-integrated{display:block;min-height:calc(100vh - 66px)}
  .admin-integrated .sidebar{top:66px;height:calc(100vh - 66px);width:min(86vw,280px);padding:20px 14px;transform:translateX(-105%);transition:transform .25s ease}
  .admin-integrated .sidebar.open{transform:translateX(0)}
  .admin-integrated .admin-main{min-height:calc(100vh - 66px);padding:124px 10px 36px}
  .admin-integrated .admin-mobile-top{top:66px;height:48px;padding:0 14px;z-index:39}.admin-integrated .admin-mobile-top #sidebarToggle{display:none}.admin-integrated .admin-mobile-top strong{font-size:11px}
  .admin-integrated .sync-ribbon{top:54px;margin-bottom:18px;grid-template-columns:auto minmax(0,1fr);gap:7px;padding:8px}.admin-integrated .sync-badge{display:none}.admin-integrated .sync-now{grid-column:1/-1;width:100%;min-height:36px}
  .studio-sidebar-toggle{top:78px;left:12px;width:34px;height:34px;z-index:100}
  .admin-integrated.sidebar-mobile-open .studio-sidebar-toggle{left:calc(min(86vw, 280px) - 17px)}
  .admin-integrated.sidebar-collapsed{display:block}.admin-integrated.sidebar-collapsed .sidebar{transform:translateX(-105%)}
  .admin-heading{gap:10px}.admin-heading h1{font-size:34px}.admin-heading p{font-size:10px}.stats-grid-four{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:14px}.stat-card strong{font-size:27px}
  .panel-card{padding:14px;border-radius:17px}.appointment-row{grid-template-columns:1fr;gap:8px}.toolbar{gap:8px}.toolbar input,.toolbar select{width:100%}
  .planning-layout,.promo-admin-layout{display:block}.planning-side,.promo-editor-card{margin-top:10px}.promo-editor-card{position:static}.promo-row{grid-template-columns:1fr 34px 34px}.promo-code-badge{grid-column:1/-1;text-align:left}
  .admin-client-row{grid-template-columns:1fr auto;padding:11px}.admin-client-metric,.admin-client-arrow{display:none}.client-record-summary{grid-template-columns:1fr}.client-record-appointment{grid-template-columns:1fr}.client-record-invoice{justify-content:flex-start}
}

@media (max-width:520px){
  .brand{gap:7px}.brand-dot{width:13px;height:13px;box-shadow:0 0 0 4px rgba(217,101,145,.1)}.topbar .brand strong{font-size:14px}.topbar .brand small{font-size:7px}
  .hero{padding-left:12px;padding-right:12px}.hero h1{font-size:43px}.hero-visual{min-height:320px}.nail-card{height:310px;width:76vw}
  .section-soft,.portfolio-section{padding-left:11px;padding-right:11px}.cta-block{margin-left:10px;margin-right:10px}
  .smart-booking-wrap{padding-left:7px;padding-right:7px}.booking-step-card{padding:14px 9px}.booking-multi-service{grid-template-columns:27px minmax(0,1fr)}.multi-service-duration{grid-column:2;justify-self:start}.booking-multi-service .multi-service-copy small{white-space:normal}
  .time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .receipt-promo-form{grid-template-columns:1fr 34px}.receipt-promo-apply{grid-column:1/2;grid-row:2;width:100%}.receipt-promo-remove{grid-column:2;grid-row:2}.receipt-promo-form input{grid-column:1/-1}
  .receipt-line{align-items:flex-start}.receipt-line span{max-width:72%}.receipt-total{align-items:center}.receipt-total strong{font-size:23px}
  .stats-grid-four{grid-template-columns:1fr}.promo-duration-grid{grid-template-columns:1fr 1fr 1fr;gap:5px}.admin-main{padding-left:7px!important;padding-right:7px!important}
}

/* Afficher / masquer les mots de passe — connexion, création, récupération et sécurité. */
.password-field{position:relative;display:block;width:100%}
.password-field>input{width:100%;padding-right:48px!important}
.password-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:11px;background:rgba(183,76,115,.08);color:#a94c68;display:grid;place-items:center;cursor:pointer;transition:background .18s ease,transform .18s ease,color .18s ease;z-index:2}
.password-eye:hover{background:rgba(183,76,115,.15);color:#8f3657}
.password-eye:active{transform:translateY(-50%) scale(.94)}
.password-eye:focus-visible{outline:2px solid rgba(183,76,115,.42);outline-offset:2px}
.password-eye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
@media (max-width:900px){.password-eye{width:38px;height:38px;right:5px}.password-field>input{padding-right:50px!important}}

/* === V8.7 — logo visible, suppléments, inspirations et nuancier === */
.brand-logo{
  width:42px;height:42px;display:block;object-fit:contain;flex:0 0 auto;
  filter:drop-shadow(0 8px 18px rgba(184,90,115,.14));
}
.sidebar-brand .brand-logo{width:38px;height:38px}
.footer-brand .brand-logo{width:36px;height:36px}

.inspiration-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.inspiration-upload-field{display:flex;flex-direction:column;gap:8px}
.inspiration-upload-box{position:relative;display:flex;min-height:86px;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:1px dashed rgba(171,84,118,.28);border-radius:18px;background:rgba(255,255,255,.55);cursor:pointer;text-align:center;padding:14px;overflow:hidden}
.inspiration-upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.inspiration-upload-box b{font-size:.88rem;color:#5c3043}.inspiration-upload-box em{font-style:normal;font-size:.72rem;color:var(--muted)}
.inspiration-files-label{font-size:.74rem;color:var(--muted)}

.supplement-selector{margin-top:22px;padding-top:22px;border-top:1px solid rgba(87,41,63,.09)}
.booking-supplement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.booking-supplement-option{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border:1px solid rgba(87,41,63,.11);border-radius:20px;background:rgba(255,255,255,.58);cursor:pointer;transition:.2s ease;min-width:0}
.booking-supplement-option:hover{transform:translateY(-2px);border-color:rgba(196,78,126,.32);box-shadow:0 14px 36px rgba(116,54,82,.08)}
.booking-supplement-option.selected{background:linear-gradient(135deg,rgba(249,221,231,.9),rgba(240,220,250,.72));border-color:rgba(196,78,126,.35)}
.booking-supplement-option>input{position:absolute;opacity:0;pointer-events:none}
.supplement-check{width:32px;height:32px;border-radius:11px;border:1px solid rgba(171,84,118,.25);display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.72);font-weight:900}
.booking-supplement-option.selected .supplement-check{background:linear-gradient(135deg,#d8578b,#a857d7);border-color:transparent}
.supplement-copy{min-width:0}.supplement-copy strong{display:block;color:var(--ink);font-size:.92rem}.supplement-copy small{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;line-height:1.35}
.supplement-meta{text-align:right;white-space:nowrap}.supplement-meta b{display:block;font-size:.76rem;color:#8d4868}.supplement-meta em{display:block;margin-top:4px;font-style:normal;font-size:.72rem;color:var(--muted)}
.summary-supplements{display:block!important;margin-top:5px;color:#a44e74!important}
.supplement-receipt-line span em{font-style:normal;font-size:.66rem;color:var(--muted);margin-left:6px}

.colors-section{padding-top:clamp(70px,8vw,130px);padding-bottom:clamp(70px,8vw,130px)}
.color-brand-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1100px;margin:0 auto 28px}
.color-brand-pill{padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.74);border:1px solid rgba(91,45,64,.1);font-size:.76rem;font-weight:800;letter-spacing:.03em;color:#754158;box-shadow:0 8px 24px rgba(89,43,64,.05)}
.color-catalog-toolbar{max-width:1200px;margin:0 auto 18px;display:flex;align-items:end;justify-content:space-between;gap:18px}
.color-catalog-toolbar small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.65rem}.color-catalog-toolbar strong{font-family:'Fraunces',serif;font-size:1.35rem}.color-catalog-toolbar select{max-width:260px}
.color-catalog-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.color-swatch-card{padding:12px;background:rgba(255,255,255,.72);border:1px solid rgba(91,45,64,.09);border-radius:22px;box-shadow:0 14px 40px rgba(87,42,63,.06);transition:.2s ease;min-width:0}.color-swatch-card:hover{transform:translateY(-4px)}
.color-swatch{height:128px;border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--swatch) 92%,white),var(--swatch));position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.035)}
.color-swatch span{position:absolute;width:55%;height:22%;left:13%;top:10%;border-radius:50%;background:rgba(255,255,255,.24);transform:rotate(-12deg);filter:blur(4px)}
.color-swatch-card>div:last-child{padding:12px 4px 3px}.color-swatch-card small{display:block;color:var(--muted);font-size:.68rem}.color-swatch-card strong{display:block;margin-top:4px;color:var(--ink);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.service-status.supplement{background:rgba(222,113,158,.12);color:#9c3f69}
.catalog-admin-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;margin-bottom:18px}
.catalog-inline-form{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:8px;align-items:center}
.catalog-admin-list{display:grid;gap:8px;margin-top:14px}
.catalog-admin-row{display:grid;grid-template-columns:minmax(0,1fr) 80px auto 36px 36px;gap:7px;align-items:center;padding:8px;border-radius:14px;background:rgba(255,255,255,.55);border:1px solid rgba(90,44,65,.08)}
.catalog-admin-row input{min-width:0}.mini-switch{display:flex!important;gap:6px;align-items:center!important;font-size:.68rem!important}.mini-switch input{width:auto!important}
.icon-action{width:34px;height:34px;border-radius:10px;border:0;background:#fff;color:#754158;font-weight:900;cursor:pointer}.icon-action.danger{color:#bc4566;background:#fff0f3}
.catalog-active{align-self:end;padding-bottom:10px}
.color-admin-grid{display:grid;gap:10px}
.color-admin-card{display:grid;grid-template-columns:74px minmax(0,1fr) auto 36px 36px;align-items:center;gap:10px;padding:10px;border:1px solid rgba(90,44,65,.08);border-radius:18px;background:rgba(255,255,255,.58)}
.color-admin-swatch{width:66px;height:66px;border-radius:15px;background:var(--swatch);position:relative;overflow:hidden}.color-admin-swatch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.color-admin-fields>input{font-weight:800}.color-admin-fields>div{display:grid;grid-template-columns:1fr 1fr 80px;gap:7px;margin-top:6px}.color-admin-fields input,.color-admin-fields select{min-width:0}

.appointment-details-strip{grid-column:1/-1;display:grid;gap:7px;padding:12px 14px;margin-top:2px;border-radius:14px;background:rgba(255,255,255,.52);border:1px solid rgba(87,41,63,.07)}
.appointment-extra-line{display:flex;gap:10px;align-items:flex-start;font-size:.72rem}.appointment-extra-line b{min-width:105px;color:#6d3850}.appointment-extra-line span{color:var(--muted)}.appointment-extra-line.supplement span{color:#9f4c72;font-weight:700}.appointment-extra-line a{color:#9d4b72;font-weight:800;text-decoration:none}
.appointment-inspiration-admin{display:flex;align-items:center;gap:12px;font-size:.72rem}.appointment-inspiration-admin>b{min-width:105px}.appointment-inspiration-admin>div{display:flex;gap:7px;flex-wrap:wrap}.appointment-inspiration-admin img{width:56px;height:56px;object-fit:cover;border-radius:11px;border:1px solid rgba(90,44,65,.12)}

@media (max-width:1100px){.color-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-admin-layout{grid-template-columns:1fr}}
@media (max-width:760px){
  .brand-logo{width:36px;height:36px}.footer-brand .brand-logo{width:32px;height:32px}
  .inspiration-fields,.booking-supplement-grid{grid-template-columns:1fr}
  .booking-supplement-option{grid-template-columns:34px minmax(0,1fr);}.supplement-meta{grid-column:2;text-align:left;display:flex;gap:10px}.supplement-meta b,.supplement-meta em{display:inline;margin:0}
  .color-catalog-toolbar{align-items:stretch;flex-direction:column}.color-catalog-toolbar select{max-width:none;width:100%}
  .color-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.color-swatch{height:110px}
  .catalog-inline-form{grid-template-columns:1fr 80px}.catalog-inline-form button{grid-column:1/-1}
  .catalog-admin-row{grid-template-columns:minmax(0,1fr) 70px 36px 36px}.catalog-admin-row .mini-switch{grid-column:1/-1}
  .color-admin-card{grid-template-columns:58px minmax(0,1fr) 34px 34px}.color-admin-swatch{width:54px;height:54px}.color-admin-card>.mini-switch{grid-column:2/-1}.color-admin-fields>div{grid-template-columns:1fr}.appointment-extra-line,.appointment-inspiration-admin{flex-direction:column;gap:4px}.appointment-extra-line b,.appointment-inspiration-admin>b{min-width:0}
}
@media (max-width:420px){.color-catalog-grid{grid-template-columns:1fr 1fr}.color-swatch-card{padding:8px;border-radius:17px}.color-swatch{height:92px;border-radius:12px}}

/* V8.7.1 — Prestations et suppléments gérés séparément dans un même espace studio */
.catalog-management-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.catalog-management-box{min-width:0;padding:20px;display:grid;gap:14px}.catalog-management-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:4px}.catalog-management-head>div{min-width:0}.catalog-management-head h2{font-family:var(--display);font-size:30px;line-height:1;margin:2px 0 5px}.catalog-management-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.5;max-width:430px}.catalog-management-head .btn{flex:0 0 auto}.catalog-management-box .compact-info{margin:0}.catalog-create-card{padding:16px;border:1px solid rgba(49,31,50,.08);border-radius:18px;background:rgba(250,247,249,.88);margin:0}.catalog-management-box .service-form-grid,.catalog-management-box .service-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-management-box .catalog-column-list{grid-template-columns:1fr;gap:12px}.catalog-management-box .service-admin-card{padding:17px}.supplement-management-box{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(253,244,249,.76))}.service-management-box{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(248,246,253,.76))}.supplement-selector.hidden{display:none!important}@media(max-width:980px){.catalog-management-grid{grid-template-columns:1fr}.catalog-management-head{align-items:center}}@media(max-width:560px){.catalog-management-box{padding:14px}.catalog-management-head{display:grid}.catalog-management-head .btn{width:100%}.catalog-management-box .service-form-grid,.catalog-management-box .service-edit-grid{grid-template-columns:1fr}}


/* === V8.7.2 — alignements rendez-vous + suggestions + logo asset === */
.brand{min-width:0}
.brand-logo{width:44px;height:44px;object-fit:contain;object-position:center center;display:block}

.inspiration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.inspiration-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;align-content:start;min-height:188px;padding:18px 18px 16px;border:1px solid rgba(182,104,135,.14);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(252,245,248,.95));box-shadow:0 10px 26px rgba(84,49,67,.04)}
.inspiration-card small{margin-top:-2px;text-transform:none;letter-spacing:0;font-size:.78rem;color:var(--muted)}
.inspiration-link-field input{min-height:88px;align-self:end;padding:18px 16px;border-radius:16px;background:#fff}
.inspiration-upload-field{gap:10px}
.inspiration-upload-box{min-height:88px;border-radius:16px;background:rgba(255,255,255,.72)}
.inspiration-files-label{font-size:.76rem;line-height:1.4;min-height:1.2em}

.suggestions-panel{padding:20px 22px;border-radius:24px;margin-bottom:18px;border:1px solid rgba(198,216,197,.9);background:linear-gradient(135deg,#f8fcf8 0%,#fffbf5 100%);box-shadow:0 14px 36px rgba(80,90,79,.06)}
.suggestions-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.suggestions-head>div{display:grid;gap:4px}
.suggestions-head small{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9ca79a}
.suggestions-head strong{font-family:'Fraunces',serif;font-size:1.7rem;line-height:1.05;color:#3b3740}
.suggestions-head>span{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid rgba(198,216,197,.95);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8fa08b;white-space:nowrap}
.suggestion-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:10px}
.suggestion-chip{border:1px solid rgba(215,214,204,.92);background:rgba(255,255,255,.96);border-radius:18px;padding:12px 12px 13px;display:grid;gap:6px;align-content:space-between;text-align:left;color:var(--ink);min-height:74px;box-shadow:0 8px 18px rgba(65,49,53,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.suggestion-chip span{font-size:.72rem;font-weight:700;line-height:1.2;color:#8a8390;text-transform:none}
.suggestion-chip strong{font-size:1.25rem;line-height:1;font-family:'Fraunces',serif;color:#39323a}
.suggestion-chip:hover{transform:translateY(-2px);border-color:#d6c58c;background:#fffdf8;box-shadow:0 12px 24px rgba(86,71,60,.09)}

@media (max-width:900px){
  .inspiration-fields{grid-template-columns:1fr}
  .inspiration-card{min-height:auto}
  .suggestions-head{align-items:flex-start;flex-direction:column}
  .suggestions-head>span{align-self:flex-start}
  .suggestion-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .suggestion-chips{grid-template-columns:1fr 1fr}
  .suggestions-panel{padding:16px}
  .suggestions-head strong{font-size:1.35rem}
}


/* === V8.7.3 — logo normal dans le ticket de caisse === */
.receipt-head{align-items:center}
.receipt-logo{width:52px;height:52px;object-fit:contain;object-position:center;display:block;flex:0 0 auto;filter:drop-shadow(0 6px 12px rgba(169,87,120,.10))}
@media(max-width:760px){.receipt-logo{width:44px;height:44px}}


/* === V8.7.4 — portée des codes promo === */
.promo-scope-toggle{margin:14px 0 4px;padding:13px 14px;border:1px solid rgba(50,31,51,.09);border-radius:15px;background:#fff}
.promo-scope-toggle>span{display:grid;gap:2px}.promo-scope-toggle strong{font-size:11px}.promo-scope-toggle small{font-size:8px;line-height:1.45;color:var(--muted)}
.promo-client-scope{margin-top:10px;padding:12px;border:1px solid rgba(50,31,51,.07);border-radius:16px;background:rgba(248,243,247,.65)}

/* === V8.7.5 — fiche client : historique aligné + code promo + remise === */
.client-record-history-grid-head,
.client-record-appointment{
  grid-template-columns:150px minmax(260px,1.8fr) 120px 120px 120px 170px;
  column-gap:14px;
  align-items:center;
}
.client-record-history-grid-head{
  padding:0 16px 8px;
  border-bottom:1px solid rgba(50,31,51,.08);
}
.client-record-history-grid-head span{
  font-size:11px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.02em;
  color:#746873;
  text-transform:none;
}
.client-record-appointment{
  padding:16px;
  min-height:78px;
}
.client-record-col{
  display:grid;
  gap:4px;
  align-content:center;
  min-width:0;
}
.client-record-col small{
  display:none;
}
.client-record-col strong,
.client-record-col span,
.client-record-invoice .btn,
.client-record-invoice .invoice-state{
  font-family:inherit;
  font-size:11px!important;
  line-height:1.35;
}
.client-record-col strong{
  font-weight:700;
}
.client-record-col span{
  font-weight:500;
  color:#746873;
}
.client-record-date strong,
.client-record-service strong,
.client-record-code strong,
.client-record-discount strong,
.client-record-price strong{
  font-size:11px!important;
}
.client-record-code strong{
  color:#8f496a;
  overflow-wrap:anywhere;
}
.client-record-discount strong{
  color:#b54e78!important;
}
.client-record-price strong{
  color:#2f2930;
}
.client-record-invoice{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-width:0;
}
.client-record-invoice .btn,
.client-record-invoice .invoice-state{
  min-height:34px;
  padding:8px 11px!important;
  border-radius:999px!important;
  white-space:nowrap;
}

@media(max-width:1180px){
  .client-record-history-grid-head,
  .client-record-appointment{
    grid-template-columns:130px minmax(210px,1.6fr) 100px 100px 105px 145px;
    column-gap:10px;
  }
}
@media(max-width:800px){
  .client-record-history-grid-head{display:none}
  .client-record-appointment{grid-template-columns:1fr 1fr;gap:14px 16px;align-items:start}
  .client-record-col small{display:block;font-size:9px!important;line-height:1.2;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
  .client-record-invoice{justify-content:flex-start}
}
@media(max-width:520px){
  .client-record-appointment{grid-template-columns:1fr}
}
