:root{--gold:#bd9130;--gold-dark:#8d691f;--ivory:#fbf7ef;--surface:#fffefa;--ink:#2f2923;--muted:#847a70;--line:#e7d7b8;--soft:#f5ecdd;--ok:#2f7658;--danger:#a14b4b;--shadow:0 18px 50px rgba(61,47,29,.08);--r:24px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--ivory)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sb-app{min-height:100vh;display:flex;flex-direction:column}.sb-top{height:92px;max-width:1180px;width:100%;margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--muted)}.sb-brand img{width:86px;height:58px;object-fit:contain}.sb-booking-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto 46px;flex:1}.sb-narrow{width:min(760px,calc(100% - 32px));margin:0 auto 46px;flex:1}.sb-intro{text-align:center;margin:18px auto 34px;max-width:720px}.sb-intro span{text-transform:uppercase;letter-spacing:.17em;font-size:11px;color:var(--gold-dark)}.sb-intro h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(36px,5vw,58px);margin:9px 0 10px}.sb-intro p{color:var(--muted);line-height:1.7}.sb-footer{text-align:center;color:var(--muted);font-size:12px;padding:24px}.sb-loading{padding:38px;text-align:center;color:var(--muted)}.sb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sb-service-card,.sb-panel,.sb-card,.sb-summary{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.sb-service-card{padding:26px;text-align:left;cursor:pointer;transition:.22s;min-height:210px;display:flex;flex-direction:column}.sb-service-card:hover{transform:translateY(-3px);border-color:var(--gold)}.sb-service-card .icon{font-size:24px;color:var(--gold)}.sb-service-card h3{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:18px 0 8px}.sb-service-card p{color:var(--muted);line-height:1.55;flex:1}.sb-service-card .meta{font-size:13px;color:var(--gold-dark);font-weight:650}.sb-wizard{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:24px}.sb-panel{padding:30px}.sb-summary{padding:26px;align-self:start;position:sticky;top:18px}.sb-back{background:none;border:0;color:var(--muted);padding:0;cursor:pointer;margin-bottom:18px}.sb-steps{display:flex;gap:8px;margin:0 0 26px}.sb-step{height:5px;border-radius:99px;background:#eadfcf;flex:1}.sb-step.active{background:var(--gold)}.sb-label{display:block;font-weight:700;font-size:13px;margin:22px 0 10px}.sb-options,.sb-slots,.sb-date-strip{display:flex;gap:10px;flex-wrap:wrap}.sb-option,.sb-slot,.sb-date{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 16px;cursor:pointer;transition:.18s}.sb-option.selected,.sb-slot.selected,.sb-date.selected{border-color:var(--gold);background:#fff9e8;box-shadow:0 0 0 2px rgba(189,145,48,.12)}.sb-slot[disabled],.sb-date[disabled]{opacity:.35;cursor:not-allowed}.sb-date{min-width:86px;text-align:center}.sb-date small{display:block;color:var(--muted);margin-bottom:5px}.sb-date strong{font-size:18px}.sb-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sb-field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.sb-field label{font-size:13px;font-weight:700}.sb-field input,.sb-field textarea,.sb-field select{border:1px solid var(--line);background:white;border-radius:14px;padding:14px 15px;outline:none}.sb-field input:focus,.sb-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(189,145,48,.12)}.sb-btn{border:0;background:linear-gradient(135deg,var(--gold),#aa7b1e);color:white;border-radius:999px;padding:14px 22px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.sb-btn:disabled{opacity:.4;cursor:not-allowed}.sb-btn-secondary{background:white;color:var(--ink);border:1px solid var(--line)}.sb-btn-small{padding:10px 16px;font-size:13px}.sb-summary h3{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:0 0 20px}.sb-summary-line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #f0e7d8;font-size:14px}.sb-summary-line span{color:var(--muted)}.sb-summary-total{font-weight:800;color:var(--gold-dark)}.sb-notice{border:1px solid var(--line);background:#fff9e9;border-radius:15px;padding:14px 16px;color:#705522;font-size:13px;line-height:1.5;margin:15px 0}.sb-success{text-align:center;padding:42px}.sb-success .check{width:62px;height:62px;border-radius:50%;background:#e8f5ee;color:var(--ok);display:grid;place-items:center;font-size:28px;margin:0 auto 18px}.sb-success h2{font-family:Georgia,serif;font-size:36px;font-weight:400}.sb-code{font-weight:800;letter-spacing:.08em;color:var(--gold-dark)}.sb-error{border:1px solid #eccaca;background:#fff4f4;color:var(--danger);padding:13px 15px;border-radius:14px;margin:12px 0}.sb-pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sb-pay{border:1px solid var(--line);background:white;border-radius:15px;padding:17px;cursor:pointer;font-weight:700}.sb-pay.selected{border-color:var(--gold);background:#fff9e8}.sb-manage-card{padding:28px}.sb-studio{min-height:100vh;background:#f7f3ec;display:flex}.sb-sidebar{width:246px;background:#fff;min-height:100vh;border-right:1px solid var(--line);padding:28px 20px;position:fixed;display:flex;flex-direction:column}.sb-sidebar img{width:100px;height:62px;object-fit:contain}.sb-sidebar strong{margin:10px 8px 24px;font-family:Georgia,serif;font-size:20px}.sb-sidebar nav{display:flex;flex-direction:column;gap:5px}.sb-sidebar button{border:0;background:transparent;text-align:left;padding:12px 13px;border-radius:12px;color:var(--muted);cursor:pointer}.sb-sidebar button.active{background:var(--soft);color:var(--gold-dark);font-weight:750}.sb-logout{margin-top:auto;padding:12px;color:var(--muted);font-size:13px}.sb-studio-main{margin-left:246px;padding:34px 38px;width:calc(100% - 246px)}.sb-studio-main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.sb-studio-main>header span{font-size:12px;color:var(--muted)}.sb-studio-main>header h1{font-family:Georgia,serif;font-weight:400;margin:4px 0;font-size:34px}.sb-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.sb-kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.sb-kpi small{color:var(--muted)}.sb-kpi strong{font-family:Georgia,serif;display:block;font-size:30px;margin-top:8px}.sb-table{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.sb-table table{width:100%;border-collapse:collapse}.sb-table th,.sb-table td{padding:14px 16px;border-bottom:1px solid #eee6da;text-align:left;font-size:13px}.sb-table th{color:var(--muted);font-weight:650;background:#fffdf9}.sb-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f5efe4;font-size:11px;font-weight:750}.sb-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;width:100%}.sb-login-card{background:white;border:1px solid var(--line);border-radius:24px;padding:34px;width:min(420px,100%);box-shadow:var(--shadow)}.sb-login-card>img{width:120px;height:80px;object-fit:contain;display:block;margin:auto}.sb-login-card h1{text-align:center;font-family:Georgia,serif;font-weight:400}.sb-login-card p{text-align:center;color:var(--muted)}.sb-login-card input[type=text],.sb-login-card input[type=password]{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px}.sb-login-card input[type=submit]{width:100%;border:0;background:var(--gold);color:white;border-radius:999px;padding:13px;font-weight:700}.sb-login-card label{font-size:13px}.sb-login-card .login-remember{display:none}@media(max-width:900px){.sb-grid{grid-template-columns:1fr}.sb-wizard{grid-template-columns:1fr}.sb-summary{position:static}.sb-sidebar{display:none}.sb-studio-main{margin:0;width:100%;padding:22px 16px}.sb-kpis{grid-template-columns:1fr 1fr}.sb-table{overflow:auto}.sb-top{height:78px}.sb-brand img{width:72px}.sb-row{grid-template-columns:1fr}.sb-booking-wrap{width:min(100% - 20px,700px)}.sb-panel,.sb-summary{padding:22px}.sb-pay-methods{grid-template-columns:1fr}.sb-date-strip{flex-wrap:nowrap;overflow:auto;padding-bottom:7px}.sb-date{flex:0 0 82px}}@media(max-width:520px){.sb-intro h1{font-size:39px}.sb-intro{margin-top:8px}.sb-top{padding:12px 16px}.sb-top>a:last-child{font-size:12px}.sb-kpis{grid-template-columns:1fr}.sb-service-card{min-height:180px}.sb-panel{border-radius:20px}.sb-success{padding:25px 8px}.sb-slots{display:grid;grid-template-columns:repeat(3,1fr)}.sb-slot{padding:12px 8px}.sb-footer{font-size:11px}}

/* ==========================================================================
   v0.3.0 — statuts colorés, barre de navigation basse, vues Studio
   ========================================================================== */

/* ---------- Statuts colorés (remplace le badge gris unique) ---------- */
.sb-badge-pending{background:#fbf0dc;color:#a15a17}
.sb-badge-confirmed{background:#e4f3ea;color:#2f7658}
.sb-badge-cancelled{background:#fbe7e4;color:#a14b4b}
.sb-badge-rescheduled{background:#e5f0f9;color:#2e6ea6}
.sb-badge-done{background:#efe9dc;color:#6b5b47}
.sb-badge-noshow{background:#f5e1e4;color:#7a2e3a}
.sb-badge-late{background:#fce9d6;color:#a15a17}

/* ---------- Barre de navigation fixe en bas (front public) ---------- */
.sb-bottombar{
  display:none;
}
@media(max-width:900px){
  .sb-bottombar{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:rgba(255,254,250,.96); backdrop-filter:blur(10px);
    border-top:1px solid var(--line);
    padding:8px 10px calc(8px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 24px rgba(61,47,29,.06);
  }
  .sb-bottombar a, .sb-bottombar button{
    flex:1; display:flex; flex-direction:column; align-items:center; gap:3px;
    border:0; background:none; color:var(--muted); font-size:11px; padding:6px 4px; border-radius:14px;
  }
  .sb-bottombar .ic{ font-size:18px; line-height:1; color:var(--muted); }
  .sb-bottombar a.active, .sb-bottombar button.active{ color:var(--gold-dark); background:var(--soft); }
  .sb-bottombar a.active .ic, .sb-bottombar button.active .ic{ color:var(--gold-dark); }
  .sb-app{ padding-bottom:74px; }
  .sb-footer{ padding-bottom:4px; }
}

/* ---------- Studio : navigation basse mobile ---------- */
.sb-bottombar-studio{ display:none; }
@media(max-width:900px){
  .sb-bottombar-studio{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:#fff; border-top:1px solid var(--line);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 24px rgba(61,47,29,.08);
  }
  .sb-bottombar-studio button{
    flex:1; display:flex; flex-direction:column; align-items:center; gap:2px;
    border:0; background:none; color:var(--muted); font-size:10px; padding:6px 2px; border-radius:12px;
  }
  .sb-bottombar-studio .ic{ font-size:17px; line-height:1; }
  .sb-bottombar-studio button.active{ color:var(--gold-dark); background:var(--soft); font-weight:700; }
  .sb-studio-main{ padding-bottom:80px; }
}
.sb-sidebar button .ic{ display:inline-block; width:18px; margin-right:8px; text-align:center; }

/* ---------- Rendez-vous : filtres + actions ---------- */
.sb-filter-tabs{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:16px; }
.sb-filter-tab{ border:1px solid var(--line); background:#fff; border-radius:999px; padding:7px 14px; font-size:12px; color:var(--muted); cursor:pointer; }
.sb-filter-tab.active{ background:var(--ink); border-color:var(--ink); color:#fff; }
.sb-row-actions{ display:flex; gap:6px; flex-wrap:wrap; }
.sb-row-actions button{ border:1px solid var(--line); background:#fff; border-radius:10px; padding:6px 10px; font-size:11px; color:var(--ink); cursor:pointer; }
.sb-row-actions button:hover{ border-color:var(--gold); color:var(--gold-dark); }
.sb-row-actions button:disabled{ opacity:.5; cursor:not-allowed; }

/* ---------- Planning ---------- */
.sb-planning-toolbar{ display:flex; align-items:center; gap:14px; margin-bottom:20px; flex-wrap:wrap; }
.sb-planning-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.sb-planning-service{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:18px; }
.sb-planning-service h4{ font-family:Georgia,serif; font-weight:400; font-size:19px; margin:0 0 12px; }
.sb-planning-resource{ margin-bottom:14px; }
.sb-planning-resource-name{ display:block; font-size:12px; font-weight:700; color:var(--muted); margin-bottom:6px; }
.sb-planning-slots{ display:flex; flex-wrap:wrap; gap:6px; }
.sb-planning-chip{ background:#fff9e8; border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:8px; padding:5px 9px; font-size:11px; font-weight:650; color:var(--gold-dark); }
.sb-planning-confirmed{ background:#e4f3ea; border-left-color:#2f7658; color:#2f7658; }
.sb-planning-pending_payment{ background:#fbf0dc; border-left-color:#a15a17; color:#a15a17; }
.sb-planning-late{ background:#fce9d6; border-left-color:#a15a17; color:#a15a17; }
.sb-planning-rescheduled{ background:#e5f0f9; border-left-color:#2e6ea6; color:#2e6ea6; }
.sb-planning-empty{ font-size:11px; color:#b8ab97; font-style:italic; }

/* ---------- Paramètres : services, formules, ressources ---------- */
.sb-settings-head{ display:flex; justify-content:flex-end; margin-bottom:16px; }
.sb-service-admin{ margin-bottom:20px; }
.sb-service-inactive{ opacity:.6; }
.sb-settings-row-head{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.sb-switch{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:650; color:var(--muted); cursor:pointer; }
.sb-switch-inline{ margin:0 10px; }
.sb-days{ display:flex; gap:6px; }
.sb-day{ position:relative; }
.sb-day input{ position:absolute; opacity:0; }
.sb-day span{ display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:10px; border:1px solid var(--line); font-size:12px; font-weight:700; color:var(--muted); cursor:pointer; }
.sb-day input:checked + span{ background:var(--gold); border-color:var(--gold); color:#fff; }
.sv-variants,.sv-resources{ display:flex; flex-direction:column; gap:8px; }
.sv-variant-row,.sv-resource-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; border:1px solid var(--line); border-radius:12px; padding:10px 12px; }
.sv-variant-row input[type=text],.sv-variant-row input:not([type]),.sv-resource-row input:not([type]){ flex:1; min-width:120px; }
.sv-variant-row input,.sv-resource-row input,.sv-resource-row select{ border:1px solid var(--line); border-radius:10px; padding:9px 11px; font-size:13px; }
.sv-variant-row .sv-var-duration,.sv-variant-row .sv-var-price{ width:100px; }
.sv-resource-row .sv-res-name{ flex:1; min-width:140px; }

/* ==========================================================================
   v0.4.0 — Studio métier complet + expérience mobile type application
   ========================================================================== */
body.sb-booking-experience,body.sb-studio-experience{padding-top:0!important}
body.sb-booking-experience #wpadminbar,body.sb-studio-experience #wpadminbar{display:none!important}
html{scroll-behavior:smooth}
.sb-eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:6px}
.sb-muted{color:var(--muted);font-size:13px;line-height:1.55}
.sb-view-title{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:4px 0 5px}
.sb-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px;flex-wrap:wrap}.sb-toolbar p{margin:3px 0;color:var(--muted);font-size:13px}
.sb-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 13px;min-width:320px}.sb-search input{border:0;outline:0;background:transparent;padding:12px 0;width:100%}.sb-toolbar select,.sb-toolbar input[type=date]{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 13px}
.sb-icon-btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:10px 13px;cursor:pointer;font-weight:800}.sb-icon-btn:hover{border-color:var(--gold)}
.sb-btn-danger{background:#fff;color:var(--danger);border:1px solid #e8c9c9}.sb-link-btn{border:0;background:transparent;color:var(--gold-dark);font-weight:750;cursor:pointer;padding:5px}
.sb-loading-card{display:flex;align-items:center;gap:10px;padding:28px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:18px}.sb-spinner{width:16px;height:16px;border:2px solid #eadfcf;border-top-color:var(--gold);border-radius:50%;animation:sbspin .7s linear infinite}@keyframes sbspin{to{transform:rotate(360deg)}}

/* Sidebar premium */
.sb-sidebar{width:272px;padding:24px 18px;z-index:30}.sb-studio-main{margin-left:272px;width:calc(100% - 272px);padding:30px 34px 60px}.sb-sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 8px 18px;border-bottom:1px solid #f0e7da;margin-bottom:13px}.sb-sidebar-brand img{width:58px;height:54px}.sb-sidebar-brand div{display:flex;flex-direction:column}.sb-sidebar-brand strong{margin:0;font-size:18px}.sb-sidebar-brand small{font-size:10px;color:var(--muted);margin-top:2px}.sb-sidebar nav{gap:2px;overflow:auto;padding-right:3px}.sb-nav-group{font-size:9px;letter-spacing:.15em;color:#9a8f82;font-weight:800;padding:15px 12px 5px}.sb-sidebar button{font-size:13px;padding:10px 12px}.sb-sidebar button:hover{background:#faf5ed}.sb-studio-header{position:sticky;top:0;z-index:15;background:rgba(247,243,236,.88);backdrop-filter:blur(14px);padding:8px 0 16px}.sb-studio-header-actions{display:flex;gap:8px;align-items:center}.sb-studio-header-actions #sb-mobile-more{display:none}

/* Dashboard */
.sb-hero-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff,#fffaf0);border:1px solid var(--line);border-radius:22px;padding:22px 24px;margin-bottom:16px}.sb-hero-card h2{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:2px 0 4px}.sb-hero-card p{margin:0;color:var(--muted);font-size:13px}.sb-kpi span{display:block;color:#a49789;font-size:11px;margin-top:7px}.sb-kpis-3{grid-template-columns:repeat(3,1fr)}.sb-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:16px}.sb-cardbox{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.sb-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.sb-section-head h3{font-family:Georgia,serif;font-weight:400;font-size:22px;margin:0}.sb-section-head span{font-size:11px;color:var(--muted)}.sb-appointment-list{display:flex;flex-direction:column}.sb-appointment{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;border:0;border-top:1px solid #f1e8da;background:transparent;padding:12px 2px;text-align:left;cursor:pointer}.sb-appointment:first-child{border-top:0}.sb-appointment time{font-family:Georgia,serif;font-size:20px}.sb-appointment div{display:flex;flex-direction:column;gap:2px}.sb-appointment div span{font-size:11px;color:var(--muted)}.sb-feed{display:flex;flex-direction:column}.sb-feed-item{display:grid;grid-template-columns:12px 1fr;gap:10px;padding:10px 0;border-top:1px solid #f2eadf}.sb-feed-item:first-child{border-top:0}.sb-feed-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);margin-top:5px}.sb-feed-item strong{display:block;font-size:12px}.sb-feed-item small{color:var(--muted);font-size:10px}

/* Tables */
.sb-table td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.sb-table-click tbody tr{cursor:pointer;transition:.15s}.sb-table-click tbody tr:hover{background:#fffaf2}.sb-table tr:last-child td{border-bottom:0}

/* Empty state */
.sb-empty{text-align:center;padding:34px 20px;color:var(--muted)}.sb-empty-icon{width:46px;height:46px;border-radius:15px;background:var(--soft);display:grid;place-items:center;margin:0 auto 10px;color:var(--gold-dark);font-size:20px}.sb-empty h3{font-family:Georgia,serif;font-weight:400;color:var(--ink);font-size:22px;margin:8px}.sb-empty p{font-size:12px;max-width:360px;margin:0 auto;line-height:1.6}

/* Drawers / modales / toasts */
.sb-modal,.sb-drawer{position:fixed;inset:0;z-index:500;display:flex}.sb-modal{align-items:center;justify-content:center;padding:18px}.sb-modal-backdrop,.sb-drawer-backdrop{position:absolute;inset:0;background:rgba(36,29,23,.36);backdrop-filter:blur(3px)}.sb-modal-card{position:relative;background:#fffefa;border:1px solid var(--line);border-radius:24px;width:min(620px,100%);max-height:90vh;overflow:auto;padding:28px;box-shadow:0 30px 100px rgba(49,38,27,.2)}.sb-modal-card h2,.sb-drawer-card h2{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:5px 0 8px}.sb-modal-close{position:absolute;right:15px;top:14px;border:1px solid var(--line);background:#fff;width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer;z-index:5}.sb-drawer{justify-content:flex-end}.sb-drawer-card{position:relative;background:#fffefa;border-left:1px solid var(--line);width:min(570px,100%);height:100%;overflow:auto;padding:30px;box-shadow:-20px 0 70px rgba(49,38,27,.12)}.sb-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-right:36px;margin-bottom:18px}.sb-drawer-head p{color:var(--muted);font-size:12px;margin:0}.sb-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.sb-detail-grid div{border:1px solid #eee3d2;border-radius:14px;padding:13px}.sb-detail-grid small,.sb-money-card span{display:block;color:var(--muted);font-size:10px}.sb-detail-grid strong{font-size:13px}.sb-money-card{border:1px solid var(--line);border-radius:17px;padding:8px 15px;margin-bottom:16px}.sb-money-card>div{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid #f1e8dc}.sb-money-card>div:first-child{border-top:0}.sb-money-card span{display:inline}.sb-money-card .total strong{color:var(--gold-dark);font-size:18px}.sb-drawer-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 22px}.sb-timeline{border-left:1px solid #e8dac3;margin-left:6px}.sb-timeline-item{position:relative;padding:0 0 17px 18px}.sb-timeline-item i{position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--gold)}.sb-timeline-item strong{display:block;font-size:12px}.sb-timeline-item small{color:var(--muted);font-size:10px}.sb-toast{position:fixed;right:24px;bottom:24px;background:#25211d;color:white;border-radius:999px;padding:12px 18px;font-size:12px;font-weight:700;z-index:1000;opacity:0;transform:translateY(14px);transition:.22s}.sb-toast.show{opacity:1;transform:none}.sb-toast.error{background:#9c4545}

/* Cliente / CRM */
.sb-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sb-client-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;text-align:left;cursor:pointer}.sb-client-card:hover{border-color:var(--gold)}.sb-avatar{width:42px;height:42px;border-radius:50%;background:var(--soft);color:var(--gold-dark);display:grid;place-items:center;font-weight:800}.sb-avatar.lg{width:58px;height:58px;font-size:17px}.sb-client-card div:nth-child(2){display:flex;flex-direction:column;gap:3px}.sb-client-card span,.sb-client-card small{color:var(--muted);font-size:11px}.sb-profile-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}.sb-profile-head h2{margin:2px 0}.sb-profile-head p{color:var(--muted);font-size:12px;margin:0}.sb-mini-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 24px}.sb-mini-kpis div{background:#faf5ed;border:1px solid #eee3d2;border-radius:14px;padding:12px;text-align:center}.sb-mini-kpis strong{display:block;font-family:Georgia,serif;font-size:19px}.sb-mini-kpis span{font-size:9px;color:var(--muted)}.sb-history-list{display:flex;flex-direction:column}.sb-history-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-top:1px solid #efe6d8;background:transparent;padding:12px 0;text-align:left;cursor:pointer}.sb-history-list button:first-child{border-top:0}.sb-history-list button div{display:flex;flex-direction:column}.sb-history-list button span{font-size:10px;color:var(--muted)}

/* Services */
.sb-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sb-service-admin-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.sb-service-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sb-service-admin-head>div:first-child{display:flex;gap:12px}.sb-service-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#fff8e8;color:var(--gold);font-size:20px}.sb-service-admin-head h3{font-family:Georgia,serif;font-weight:400;font-size:23px;margin:0 0 4px}.sb-service-admin-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.sb-service-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:16px 0}.sb-service-stats div{padding:10px;background:#fbf7f0;border-radius:12px}.sb-service-stats small{display:block;color:var(--muted);font-size:8px}.sb-service-stats strong{font-size:12px}.sb-service-actions{display:flex;justify-content:flex-end}.sb-inline-editor{display:grid;grid-template-columns:1.5fr 90px 120px auto 42px;gap:7px;align-items:center;margin-bottom:7px}.sb-inline-editor input{border:1px solid var(--line);border-radius:10px;padding:10px}.sb-week-editor{display:flex;flex-direction:column;gap:7px;margin:12px 0}.sb-week-row{display:grid;grid-template-columns:95px 1fr 20px 1fr 54px;gap:8px;align-items:center}.sb-week-row input{border:1px solid var(--line);border-radius:10px;padding:9px}.sb-week-row small{color:var(--muted);font-size:9px}.sb-chip-list{display:flex;gap:6px;flex-wrap:wrap}.sb-chip-list span{padding:6px 9px;background:#f7efe2;border-radius:999px;font-size:10px;color:var(--gold-dark)}

/* Ressources */
.sb-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sb-resource-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.sb-resource-card-head{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;margin-bottom:12px}.sb-resource-card-head h3{font-family:Georgia,serif;font-weight:400;font-size:18px;margin:0}.sb-resource-card-head span{font-size:10px;color:var(--muted)}.sb-resource-card>.sb-btn{margin-top:14px;width:100%}.sb-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sb-check-grid label{background:#faf5ed;border:1px solid #eee3d2;border-radius:11px;padding:10px;font-weight:600}

/* Planning */
.sb-resource-day{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:10px 0;border-top:1px solid #f0e7da}.sb-resource-day:first-of-type{border-top:0}.sb-resource-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f7efe2;color:var(--gold-dark);font-weight:800}.sb-resource-day-body>strong{font-size:12px}.sb-planning-slots{margin-top:7px}.sb-planning-chip{display:flex;align-items:center;gap:7px;cursor:pointer}.sb-planning-chip time{font-weight:800}.sb-planning-chip span{font-size:10px}

/* Stats / notifications / settings */
.sb-bars{display:flex;flex-direction:column;gap:13px}.sb-bar-row{display:grid;grid-template-columns:140px 1fr 100px;gap:10px;align-items:center}.sb-bar-row div:first-child{display:flex;flex-direction:column}.sb-bar-row span{font-size:9px;color:var(--muted)}.sb-bar{height:8px;background:#f0e7d8;border-radius:99px;overflow:hidden}.sb-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#d6b45c);border-radius:99px}.sb-bar-row b{text-align:right;font-size:10px}.sb-quality{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sb-quality div{background:#faf5ed;border-radius:14px;padding:14px}.sb-quality span{display:block;font-size:10px;color:var(--muted)}.sb-quality strong{font-family:Georgia,serif;font-size:24px}.sb-notification-list{display:flex;flex-direction:column;gap:8px}.sb-notification-list article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:38px 1fr;gap:11px}.sb-notification-icon{width:34px;height:34px;border-radius:12px;background:var(--soft);display:grid;place-items:center;color:var(--gold-dark);font-weight:800}.sb-notification-list strong{font-size:12px}.sb-notification-list p{font-size:11px;color:var(--muted);margin:3px 0}.sb-notification-list small{font-size:9px;color:#a49789}.sb-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sb-setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-top:1px solid #eee6d8}.sb-setting-toggle span{display:flex;flex-direction:column}.sb-setting-toggle small{color:var(--muted);font-weight:400;font-size:10px;margin-top:2px}

/* Bottom sheet mobile */
.sb-mobile-sheet[hidden]{display:none}.sb-mobile-sheet{position:fixed;inset:0;z-index:450}.sb-mobile-sheet-backdrop{position:absolute;inset:0;background:rgba(36,29,23,.3)}.sb-mobile-sheet-card{position:absolute;left:0;right:0;bottom:0;background:#fffefa;border-radius:24px 24px 0 0;padding:12px 18px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(40,31,22,.15)}.sb-sheet-handle{width:42px;height:4px;border-radius:99px;background:#ddd0be;margin:0 auto 12px}.sb-mobile-sheet-card h3{font-family:Georgia,serif;font-weight:400;font-size:24px;margin:0 0 12px}.sb-mobile-sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.sb-mobile-sheet-grid button{border:1px solid var(--line);background:#fff;border-radius:15px;min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--gold-dark);font-size:18px}.sb-mobile-sheet-grid span{font-size:10px;color:var(--ink);font-weight:700}

/* Public mobile : plus app, moins landing page */
@media(max-width:900px){
  .sb-summary{position:sticky;bottom:68px;top:auto;z-index:20;padding:13px 16px;border-radius:16px;box-shadow:0 -6px 24px rgba(61,47,29,.07)}
  .sb-summary h3{font-size:17px;margin-bottom:7px}.sb-summary-line{padding:6px 0;font-size:11px}.sb-summary-line:nth-of-type(n+4){display:none}.sb-top{position:sticky;top:0;z-index:30;background:rgba(251,247,239,.94);backdrop-filter:blur(12px)}
  .sb-service-card{min-height:140px;padding:19px 20px;border-radius:18px}.sb-service-card .icon{font-size:18px}.sb-service-card h3{font-size:23px;margin:9px 0 5px}.sb-service-card p{font-size:12px;margin:4px 0 10px}.sb-service-card .meta{font-size:11px}.sb-grid{gap:10px}
  .sb-intro{margin:8px auto 20px}.sb-intro h1{font-size:37px}.sb-intro p{font-size:13px;line-height:1.55}
  .sb-studio-header-actions>a{display:none}.sb-studio-header-actions #sb-mobile-more{display:inline-flex}.sb-studio-main{padding:14px 12px 88px;background:#f9f6f0}.sb-studio-main>header{margin-bottom:12px}.sb-studio-main>header h1{font-size:28px}.sb-studio-header{top:0;padding:6px 0 10px}.sb-hero-card{padding:17px;border-radius:18px}.sb-hero-card .sb-btn{display:none}.sb-hero-card h2{font-size:26px}.sb-kpis{grid-template-columns:1fr 1fr;gap:8px}.sb-kpi{padding:14px;border-radius:15px}.sb-kpi strong{font-size:22px}.sb-kpi span{font-size:9px}.sb-dashboard-grid{grid-template-columns:1fr}.sb-cardbox{padding:15px;border-radius:17px}.sb-appointment{grid-template-columns:48px 1fr auto}.sb-table table,.sb-table thead,.sb-table tbody,.sb-table tr,.sb-table td{display:block}.sb-table thead{display:none}.sb-table tr{padding:12px;border-bottom:1px solid #eee6da}.sb-table td{border:0;padding:4px 0}.sb-table td:last-child{position:absolute;right:16px;margin-top:-28px}.sb-table tr{position:relative}.sb-search{min-width:0;width:100%}.sb-toolbar{align-items:stretch}.sb-toolbar>.sb-btn{width:100%}.sb-client-grid,.sb-service-list,.sb-resource-grid,.sb-settings-grid{grid-template-columns:1fr}.sb-service-stats{grid-template-columns:1fr 1fr}.sb-mini-kpis{grid-template-columns:1fr 1fr}.sb-inline-editor{grid-template-columns:1fr 80px}.sb-inline-editor .v-price{grid-column:1}.sb-inline-editor .sb-switch{grid-column:2}.sb-week-row{grid-template-columns:74px 1fr 12px 1fr}.sb-week-row small{display:none}.sb-drawer-card{border-radius:24px 24px 0 0;height:min(92vh,780px);align-self:flex-end;border-left:0;border-top:1px solid var(--line);padding:23px 17px}.sb-drawer{align-items:flex-end}.sb-modal{align-items:flex-end;padding:0}.sb-modal-card{width:100%;max-height:92vh;border-radius:24px 24px 0 0;padding:23px 17px}.sb-detail-grid{grid-template-columns:1fr 1fr}.sb-bar-row{grid-template-columns:100px 1fr}.sb-bar-row>b{display:none}.sb-quality{grid-template-columns:1fr}.sb-check-grid{grid-template-columns:1fr}.sb-toast{left:14px;right:14px;bottom:82px;text-align:center}
}
@media(max-width:520px){
 .sb-top{height:70px}.sb-brand img{width:68px}.sb-top>a:last-child{font-size:11px}.sb-booking-wrap{width:calc(100% - 18px)}.sb-panel{padding:18px 15px}.sb-date{flex-basis:72px;min-width:72px}.sb-date strong{font-size:16px}.sb-slots{grid-template-columns:repeat(3,1fr)}.sb-bottombar{border-radius:18px 18px 0 0}.sb-bottombar-studio{border-radius:18px 18px 0 0}.sb-studio-main>header .sb-btn{font-size:0;width:40px;height:40px;padding:0;border-radius:12px}.sb-studio-main>header .sb-btn::before{content:'+';font-size:20px}.sb-studio-main>header .sb-btn.sb-btn-secondary{display:none}
}
.sb-exception-list{display:flex;flex-direction:column}.sb-exception-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eee6d8;padding:10px 0}.sb-exception-list>div:first-child{border-top:0}.sb-exception-list span{display:flex;flex-direction:column}.sb-exception-list small{color:var(--muted);font-size:10px;margin-top:2px}
.sb-health-summary{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.sb-health-summary>*{padding:6px 9px;border-radius:999px;background:#f7efe2;font-size:10px}.sb-health-list{display:flex;flex-direction:column;gap:6px}.sb-health-list>div{display:grid;grid-template-columns:54px 1fr;gap:8px;padding:8px 9px;border-radius:10px;background:#faf7f2;font-size:10px}.sb-health-list .pass b{color:#2f7658}.sb-health-list .warn b{color:#a15a17}.sb-health-list .fail b{color:#a14b4b}


/* ========================================================================== 
   v0.4.1 — Préparation non intrusive du futur module Fidélité
   ========================================================================== */
.sb-sidebar .sb-nav-future{position:relative}.sb-sidebar .sb-nav-future em{margin-left:auto;font-style:normal;font-size:8px;line-height:1;padding:5px 7px;border-radius:999px;background:#f5ead7;color:var(--gold-dark);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.sb-mobile-sheet-grid .sb-sheet-future span{display:flex;flex-direction:column;align-items:center;gap:2px}.sb-mobile-sheet-grid .sb-sheet-future small{font-size:8px;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.06em}.sb-future-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;margin-bottom:16px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fffdfa,#fbf4e7)}.sb-future-hero h2{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:4px 0 8px}.sb-future-hero p{max-width:760px;margin:0;color:var(--muted);line-height:1.65}.sb-future-badge{flex:0 0 auto;padding:9px 13px;border-radius:999px;background:#2d2822;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.sb-future-steps{display:flex;flex-direction:column;gap:10px}.sb-future-steps article{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:flex-start;padding:13px;border:1px solid #eee3d2;border-radius:15px;background:#fffdfa}.sb-future-steps article>b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--gold-dark)}.sb-future-steps strong{font-size:12px}.sb-future-steps p{margin:3px 0 0;font-size:10px;line-height:1.5;color:var(--muted)}.sb-readiness-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}.sb-readiness-list li{display:grid;grid-template-columns:22px 1fr;gap:6px;font-size:11px;line-height:1.5}.sb-readiness-list li>span{color:#2f7658;font-weight:900}.sb-readiness-list code{font-size:10px;background:#f7efe2;padding:2px 5px;border-radius:6px}.sb-future-note{margin-top:16px;padding:14px 15px;border-radius:14px;background:#fff3dd;border:1px solid #ead1a5}.sb-future-note strong{font-size:11px;color:var(--gold-dark)}.sb-future-note p{font-size:10px;line-height:1.55;color:#785e37;margin:4px 0 0}
@media(max-width:900px){.sb-future-hero{align-items:flex-start;flex-direction:column;padding:18px}.sb-future-hero h2{font-size:28px}.sb-future-badge{align-self:flex-start}.sb-mobile-sheet-grid{grid-template-columns:repeat(3,1fr)}}

/* ========================================================================== 
   v0.5.0 — Mobile App Experience / Fluidité
   ========================================================================== */
html{scroll-behavior:smooth}body{overflow-x:hidden}.sb-overlay-open{overflow:hidden;touch-action:none}
#sb-studio-root{transition:opacity .16s ease,transform .16s ease;will-change:opacity,transform}.sb-view-leave{opacity:.35;transform:translateY(4px)}.sb-view-enter{animation:sbViewIn .18s ease both}@keyframes sbViewIn{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}
.sb-brand-loader{min-height:150px;display:grid;place-items:center;align-content:center;gap:10px;color:var(--muted)}.sb-brand-loader img{width:78px;height:58px;object-fit:contain;animation:sbLogoPulse 1.4s ease-in-out infinite}.sb-brand-loader small{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.sb-loader-ring,.sb-brand-loader>span{width:24px;height:24px;border-radius:50%;border:2px solid #eadfcf;border-top-color:var(--gold);animation:sbSpin .75s linear infinite}@keyframes sbSpin{to{transform:rotate(360deg)}}@keyframes sbLogoPulse{50%{opacity:.66;transform:scale(.97)}}
.sb-sidebar-brand{justify-content:space-between}.sb-sidebar-brand .sb-studio-badge{font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--gold-dark);background:var(--soft);border-radius:999px;padding:6px 8px}.sb-sidebar-brand>div{display:none}
.sb-studio-header{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sb-modal-backdrop,.sb-drawer-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(36,29,23,.42)}
.sb-modal-card,.sb-drawer-card{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;transform:translateY(8px);opacity:.96;transition:transform .2s ease,opacity .2s ease}.sb-drawer-card{transform:translateX(12px)}.sb-modal-card.is-open,.sb-drawer-card.is-open{transform:none;opacity:1}
.sb-modal-card{max-height:min(90dvh,760px)}.sb-drawer-card{height:100dvh}
.sb-bottombar-studio .sb-bottom-create{position:relative;overflow:visible}.sb-bottombar-studio .sb-bottom-create .ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),#a9781c);color:white;font-size:25px;box-shadow:0 9px 22px rgba(157,113,26,.28);margin-top:-22px}.sb-bottombar-studio .sb-bottom-create small{margin-top:3px}
.sb-btn,.sb-icon-btn,.sb-service-card,.sb-option,.sb-slot,.sb-date,.sb-appointment,.sb-planning-chip{-webkit-tap-highlight-color:transparent}.sb-btn:active,.sb-icon-btn:active,.sb-service-card:active,.sb-appointment:active{transform:scale(.985)}

@media(max-width:900px){
 html,body{max-width:100%;overflow-x:hidden}.sb-studio{display:block;width:100%;min-width:0}.sb-sidebar{display:none!important}.sb-studio-main{margin-left:0!important;width:100%!important;max-width:100%!important;min-width:0;padding:12px 12px calc(92px + env(safe-area-inset-bottom))!important;overflow-x:hidden}.sb-studio-main>*{max-width:100%;min-width:0}.sb-studio-header{padding:8px 2px 12px;background:rgba(249,246,240,.96)}.sb-studio-main>header>div:first-child span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--gold-dark)}.sb-studio-main>header h1{font-size:29px;margin-top:2px}.sb-studio-header-actions #sb-new-booking{display:none}.sb-studio-header-actions #sb-mobile-more{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#fff;border:1px solid var(--line)}
 .sb-hero-card{padding:16px 15px}.sb-hero-card p{font-size:11px;line-height:1.45}.sb-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sb-kpi{min-width:0}.sb-kpi small{font-size:9px}.sb-kpi strong{font-size:21px;overflow-wrap:anywhere}.sb-cardbox{min-width:0}.sb-section-head{align-items:center}.sb-section-head h3{font-size:18px}.sb-appointment{min-width:0}.sb-appointment>div{min-width:0}.sb-appointment strong,.sb-appointment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
 .sb-toolbar{display:flex;flex-direction:column;gap:8px}.sb-toolbar select{width:100%;min-height:44px}.sb-toolbar>.sb-btn{display:none}.sb-table{border:0;background:transparent;overflow:visible}.sb-table tr{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:9px;padding:12px 14px;box-shadow:0 8px 22px rgba(61,47,29,.04)}.sb-table td{font-size:11px}.sb-table td strong{font-size:12px}.sb-table td small{font-size:9px}.sb-table td:last-child{right:13px}.sb-client-grid,.sb-service-list,.sb-resource-grid,.sb-settings-grid{gap:10px}.sb-mobile-sheet-card{max-height:82dvh;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sb-mobile-sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sb-mobile-sheet-grid button{min-width:0;padding:8px 4px}.sb-mobile-sheet-grid span{line-height:1.2;text-align:center}
 .sb-modal-card{max-height:94dvh;height:auto;min-height:0;padding:20px 15px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.sb-modal-card h2{font-size:27px;padding-right:42px}.sb-modal-card .sb-row{grid-template-columns:1fr}.sb-modal-card .sb-field input,.sb-modal-card .sb-field select,.sb-modal-card .sb-field textarea{min-height:48px;font-size:16px}.sb-modal-card>.sb-btn:last-child{position:sticky;bottom:0;width:100%;margin-top:8px;box-shadow:0 -10px 24px #fffefa;background:linear-gradient(135deg,var(--gold),#aa7b1e)}.sb-drawer-card{height:94dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.sb-drawer-actions .sb-btn{flex:1 1 calc(50% - 5px);min-height:44px}
 .sb-bottombar-studio{height:68px;padding:7px 8px calc(5px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);align-items:end;background:rgba(255,254,250,.98);box-shadow:0 -8px 30px rgba(54,40,24,.08)}.sb-bottombar-studio button{min-width:0;min-height:50px}.sb-bottombar-studio button:not(.sb-bottom-create) .ic{font-size:17px}.sb-bottombar-studio small{font-size:9px}
}
@media(max-width:520px){
 .sb-top{height:64px;padding:8px 12px}.sb-brand img{width:62px;height:46px}.sb-intro{margin-top:2px}.sb-intro span{font-size:9px}.sb-intro h1{font-size:34px;margin-top:6px}.sb-intro p{font-size:12px}.sb-service-card{min-height:126px;padding:16px 17px}.sb-service-card h3{font-size:22px}.sb-service-card p{font-size:11px}.sb-service-card .meta{font-size:10px}.sb-booking-wrap{width:calc(100% - 14px)}.sb-panel{padding:16px 13px}.sb-summary{bottom:70px}.sb-studio-main{padding-left:10px!important;padding-right:10px!important}.sb-kpis{gap:7px}.sb-kpi{padding:12px}.sb-kpi strong{font-size:19px}.sb-detail-grid{grid-template-columns:1fr 1fr;gap:7px}.sb-mobile-sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* v0.5.2 — Vue d'ensemble: hiérarchie plus légère, une seule action forte */
.sb-hero-card-lite{background:transparent;border-color:transparent;box-shadow:none;padding:10px 2px 14px;margin-bottom:8px}
.sb-hero-card-lite h2{font-size:29px;margin-top:1px}
.sb-hero-card-lite p{font-size:12px}
.sb-kpis-lite .sb-kpi{box-shadow:none;background:rgba(255,255,255,.58);border-color:rgba(231,215,184,.72)}
.sb-cardbox-lite{box-shadow:none}
.sb-link-subtle{font-size:12px;font-weight:700;color:var(--gold-dark);padding:6px 2px;gap:5px;white-space:nowrap}
.sb-link-subtle span{font-size:18px;line-height:1;font-weight:400}
.sb-dashboard-grid .sb-empty{padding:24px 16px 20px}
.sb-dashboard-grid .sb-empty-icon{width:40px;height:40px;border-radius:13px;font-size:17px}
.sb-dashboard-grid .sb-empty h3{font-size:20px;margin:7px 0 4px}
.sb-dashboard-grid .sb-empty p{font-size:11px}
@media(max-width:900px){
  .sb-hero-card-lite{padding:5px 2px 8px;margin-bottom:6px}
  .sb-hero-card-lite .sb-eyebrow{font-size:9px;letter-spacing:.13em}
  .sb-hero-card-lite h2{font-size:25px;margin:1px 0 2px}
  .sb-hero-card-lite p{font-size:10px;line-height:1.35}
  .sb-kpis-lite{margin-bottom:12px}
  .sb-kpis-lite .sb-kpi{padding:11px 12px;border-radius:14px}
  .sb-kpis-lite .sb-kpi small{font-size:9px;line-height:1.25}
  .sb-kpis-lite .sb-kpi strong{font-size:20px;margin-top:6px}
  .sb-kpis-lite .sb-kpi span{font-size:8px;margin-top:4px}
  .sb-dashboard-grid{gap:10px}
  .sb-cardbox-lite{padding:13px 14px}
  .sb-cardbox-lite .sb-section-head{margin-bottom:4px}
  .sb-cardbox-lite .sb-section-head h3{font-size:17px;line-height:1.08}
  .sb-cardbox-lite .sb-section-head .sb-eyebrow{font-size:9px}
  .sb-link-subtle{font-size:10px;padding:3px 0}
  .sb-dashboard-grid .sb-empty{padding:18px 10px 15px}
  .sb-dashboard-grid .sb-empty-icon{width:34px;height:34px;border-radius:11px;font-size:15px;margin-bottom:6px}
  .sb-dashboard-grid .sb-empty h3{font-size:18px;line-height:1.08;margin:5px auto 3px;max-width:260px}
  .sb-dashboard-grid .sb-empty p{font-size:10px;line-height:1.4}
}
@media(max-width:420px){
  .sb-studio-main>header h1{font-size:27px}
  .sb-cardbox-lite .sb-section-head h3{max-width:170px}
}

.sb-header-link{display:inline-flex;align-items:center;color:var(--muted);font-size:12px;font-weight:650;padding:9px 4px;border:0;background:transparent}.sb-header-link:hover{color:var(--gold-dark)}
@media(max-width:900px){.sb-header-link{display:none}}


/* v0.5.3 — Dashboard final: moins d'actions, moins de contours, lisibilité mobile */
.sb-hero-card-lite .sb-btn{display:none!important}
.sb-kpis-lite .sb-kpi{border-color:rgba(189,145,48,.18);background:rgba(255,255,255,.50)}
.sb-kpis-lite .sb-kpi:hover{border-color:rgba(189,145,48,.28)}
.sb-link-subtle{min-height:34px;min-width:44px;display:inline-flex;align-items:center;justify-content:flex-end}
@media(max-width:900px){
  .sb-kpis-lite .sb-kpi small{font-size:10px}
  .sb-kpis-lite .sb-kpi strong{font-size:21px}
  .sb-kpis-lite .sb-kpi span{font-size:9px}
  .sb-link-subtle{font-size:11px;min-height:38px;padding:7px 2px}
  .sb-cardbox-lite .sb-section-head h3{font-size:18px}
  .sb-dashboard-grid .sb-empty p{font-size:10px;line-height:1.35}
}

/* v0.5.4 — Vue d'ensemble: fermeture visuelle, densité et hiérarchie mobile */
/* Desktop: réduire encore la présence du bloc de bienvenue et des KPI. */
.sb-hero-card-lite{padding:6px 2px 10px;margin-bottom:6px}
.sb-hero-card-lite h2{font-size:28px;margin:0 0 2px}
.sb-hero-card-lite p{margin-top:0}
.sb-kpis-lite{gap:12px;margin-bottom:16px}
.sb-kpis-lite .sb-kpi{padding:17px 18px;border-color:rgba(189,145,48,.13);background:rgba(255,255,255,.46)}
.sb-kpis-lite .sb-kpi:hover{border-color:rgba(189,145,48,.20)}

@media(max-width:900px){
  /* Le titre reste élégant mais laisse les données arriver plus vite. */
  .sb-studio-main>header{margin-bottom:7px}
  .sb-studio-main>header>div:first-child span{font-size:8px;letter-spacing:.14em;opacity:.82}
  .sb-studio-main>header h1{font-size:25px;line-height:1.04;margin:1px 0 0}
  .sb-hero-card-lite{padding:3px 2px 7px;margin-bottom:4px}
  .sb-hero-card-lite .sb-eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:3px}
  .sb-hero-card-lite h2{font-size:23px;line-height:1.04;margin:0 0 2px}
  .sb-hero-card-lite p{font-size:10px;line-height:1.25}
  .sb-kpis-lite{gap:7px;margin-bottom:10px}
  .sb-kpis-lite .sb-kpi{padding:10px 11px;min-height:0}
  .sb-kpis-lite .sb-kpi small{font-size:9px;line-height:1.18}
  .sb-kpis-lite .sb-kpi strong{font-size:19px;line-height:1.05;margin-top:5px}
  .sb-kpis-lite .sb-kpi span{font-size:8.5px;line-height:1.15;margin-top:3px}
}

/* v0.6.0 — Planning métier + wizard de rendez-vous */
.sb-planning-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.sb-view-toggle{display:inline-flex;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.sb-view-toggle button{border:0;background:transparent;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:750;color:var(--muted)}
.sb-view-toggle button.active{background:var(--soft);color:var(--gold-dark)}
.sb-date-nav{display:flex;align-items:center;gap:7px}
.sb-date-current{border:0;background:transparent;font-weight:750;font-size:13px;min-width:128px;text-align:center;padding:8px 3px}
.sb-planning-filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:1px 0 10px}.sb-planning-filters::-webkit-scrollbar{display:none}
.sb-filter-chip{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:11.5px;font-weight:750;color:var(--muted)}
.sb-filter-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}
.sb-planning-legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:10.5px;margin-bottom:10px}
.sb-planning-legend span{display:inline-flex;align-items:center;gap:5px}.sb-planning-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.sb-planning-legend .free{border:1px dashed var(--line);background:#fff}.sb-planning-legend .busy{background:var(--gold)}.sb-planning-legend .absent{background:#b65b5b}.sb-planning-legend .blocked{background:#c9c2b8}
.sb-agenda-desktop{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:auto;box-shadow:0 14px 38px rgba(61,47,29,.05)}
.sb-agenda-grid{display:grid;grid-template-columns:64px repeat(var(--cols),minmax(128px,1fr));min-width:max(760px,calc(64px + var(--cols)*128px));align-items:stretch}
.sb-agenda-corner,.sb-agenda-head{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line);min-height:52px}
.sb-agenda-corner{left:0;z-index:6}.sb-agenda-head{padding:9px 10px;border-left:1px solid #f2eadf}.sb-agenda-head small{display:block;color:var(--gold-dark);font-size:8.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.sb-agenda-head strong{display:block;font-size:11.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-agenda-time{position:sticky;left:0;z-index:3;background:#fff;border-top:1px solid #f2eadf;padding:4px 8px;text-align:right;color:var(--muted);font-size:9.5px;min-height:34px}
.sb-agenda-cell{position:relative;border:0;border-top:1px solid #f2eadf;border-left:1px solid #f2eadf;background:#fff;min-height:34px;padding:0;text-align:left;overflow:visible}
.sb-agenda-cell.free:hover{background:#fbf6eb;cursor:pointer}.sb-agenda-cell.blocked{background:repeating-linear-gradient(45deg,#f2eee7,#f2eee7 6px,#ebe5dc 6px,#ebe5dc 12px);cursor:default}.sb-agenda-cell.absent{background:#fff4f3}.sb-agenda-cell.busy{background:#fffaf0}
.sb-agenda-booking{position:absolute;inset:2px 3px auto 3px;z-index:2;border:1px solid #e8c976;background:#fff2cf;border-radius:8px;padding:5px 6px;min-height:30px;box-shadow:0 4px 10px rgba(80,59,19,.05);pointer-events:none}.sb-agenda-cell.absent .sb-agenda-booking{border-color:#e6b9b9;background:#fae8e6;color:#7f3d3d}.sb-agenda-booking strong,.sb-agenda-booking small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-agenda-booking strong{font-size:9.5px}.sb-agenda-booking small{font-size:8.5px;margin-top:1px;color:inherit;opacity:.8}
.sb-agenda-mobile{display:none}.sb-mobile-slot{width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px;text-align:left}.sb-mobile-slot time{font-size:12px;font-weight:800}.sb-mobile-slot div{min-width:0}.sb-mobile-slot div small{display:block;color:var(--gold-dark);font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.sb-mobile-slot div strong{display:block;font-size:12px;margin-top:1px}.sb-mobile-slot div span{display:block;color:var(--muted);font-size:9.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-mobile-slot em{font-style:normal;font-size:8.5px;font-weight:800;padding:5px 7px;border-radius:999px;background:var(--soft);color:var(--gold-dark)}.sb-mobile-slot.busy em{background:#fff0c9}.sb-mobile-slot.absent em{background:#f8e5e3;color:#8d4444}.sb-mobile-slot.blocked em{background:#ece8e1;color:#6d655c}

.sb-booking-wizard-modal{z-index:9999}.sb-booking-wizard{width:min(650px,calc(100vw - 32px));max-height:min(88dvh,800px);display:flex;flex-direction:column;padding:0!important;overflow:hidden!important}.sb-wizard-grab{display:none}.sb-wizard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:21px 24px 8px}.sb-wizard-head h2{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:3px 0 0}.sb-wizard-progress{display:flex;gap:5px;padding:6px 24px 0}.sb-wizard-progress i{height:3px;flex:1;background:#e8ddcd;border-radius:99px}.sb-wizard-progress i.active,.sb-wizard-progress i.done{background:var(--gold)}.sb-wizard-body{padding:18px 24px 12px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1}.sb-wizard-body h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:0 0 4px}.sb-wizard-body h4{font-size:11px;margin:18px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.sb-wizard-body h4 small{text-transform:none;letter-spacing:0;font-weight:500}.sb-wizard-copy{font-size:11.5px;color:var(--muted);margin:0 0 15px}.sb-wizard-foot{display:flex;gap:9px;padding:13px 24px 20px;border-top:1px solid #f1e8db;background:rgba(255,254,250,.97)}.sb-wizard-foot .sb-btn:last-child{margin-left:auto;min-width:150px;justify-content:center}
.sb-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sb-choice-grid.compact{grid-template-columns:repeat(2,1fr)}.sb-choice{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;text-align:left}.sb-choice.selected{border-color:var(--gold);background:#fff9e9;box-shadow:0 0 0 2px rgba(189,145,48,.08)}.sb-choice strong{display:block;font-size:12px}.sb-choice span{display:block;font-size:9.5px;color:var(--muted);margin-top:3px;line-height:1.35}
.sb-date-strip{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:1px 0 5px}.sb-date-strip::-webkit-scrollbar{display:none}.sb-date-chip{flex:0 0 62px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:8px 3px;text-align:center}.sb-date-chip.selected{border-color:var(--gold);background:#fff9e9}.sb-date-chip small,.sb-date-chip span{display:block;color:var(--muted);font-size:8px}.sb-date-chip strong{display:block;font-size:15px;margin:2px 0}
.sb-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.sb-time-chip{border:1px solid var(--line);background:#fff;border-radius:11px;padding:8px 3px}.sb-time-chip.selected{border-color:var(--gold);background:#fff9e9}.sb-time-chip:disabled{opacity:.42}.sb-time-chip strong,.sb-time-chip span{display:block}.sb-time-chip strong{font-size:11px}.sb-time-chip span{font-size:8px;color:var(--muted);margin-top:2px}.sb-resource-pills,.sb-payment-pills{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.sb-mini-choice{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:700}.sb-mini-choice.selected{border-color:var(--gold);background:#fff9e9;color:var(--gold-dark)}
.sb-client-picker{position:relative;margin-bottom:12px}.sb-input{width:100%;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:#fff}.sb-client-results{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:10;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 12px 30px rgba(61,47,29,.12);overflow:hidden}.sb-client-results:empty{display:none}.sb-client-results button{width:100%;border:0;border-top:1px solid #f2eadf;background:#fff;padding:9px 11px;text-align:left}.sb-client-results button:first-child{border-top:0}.sb-client-results strong,.sb-client-results span{display:block}.sb-client-results strong{font-size:11px}.sb-client-results span{font-size:9px;color:var(--muted);margin-top:2px}
.sb-recap-card{border:1px solid var(--line);border-radius:15px;padding:5px 14px}.sb-recap-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #f2eadf}.sb-recap-card>div:last-child{border:0}.sb-recap-card span{font-size:10px;color:var(--muted)}.sb-recap-card strong{font-size:11.5px;text-align:right}.sb-recap-card small{display:block;font-size:8.5px;color:var(--muted);text-align:right}.sb-recap-card .total strong{color:var(--gold-dark);font-size:14px}.sb-inline-empty{grid-column:1/-1;padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:11px;text-align:center}

@media(max-width:900px){
 .sb-planning-top{align-items:flex-start;margin-bottom:9px}.sb-planning-top .sb-view-toggle{order:2}.sb-date-nav{width:100%;order:1;justify-content:space-between}.sb-date-current{min-width:0;flex:1}.sb-date-nav .sb-planning-add{display:none}.sb-date-nav [data-today]{font-size:10px;padding:5px}.sb-planning-filters{margin:0 -2px;padding-bottom:8px}.sb-planning-legend{gap:10px;font-size:8.5px;margin-bottom:8px}.sb-agenda-desktop{display:none}.sb-agenda-mobile{display:flex;flex-direction:column;gap:7px}.sb-mobile-slot{min-height:58px}
 .sb-booking-wizard-modal{align-items:flex-end;padding:0}.sb-booking-wizard{width:100%;max-width:none;height:94dvh;max-height:94dvh;border-radius:22px 22px 0 0!important;border-bottom:0}.sb-wizard-grab{display:block;width:38px;height:4px;border-radius:99px;background:var(--line);margin:9px auto 0}.sb-wizard-head{padding:11px 16px 6px}.sb-wizard-head h2{font-size:23px}.sb-wizard-progress{padding:5px 16px 0}.sb-wizard-body{padding:14px 16px 9px}.sb-wizard-foot{padding:10px 16px calc(12px + env(safe-area-inset-bottom))}.sb-choice-grid,.sb-choice-grid.compact{grid-template-columns:1fr}.sb-time-grid{grid-template-columns:repeat(3,1fr)}.sb-wizard-foot .sb-btn{min-height:44px}.sb-wizard-foot .sb-btn:last-child{min-width:0;flex:1}.sb-booking-wizard-modal .sb-modal-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
.sb-agenda-booking{height:calc(var(--span,1) * 34px - 4px);justify-content:center;display:flex;flex-direction:column}

/* v0.6.1 — Planning polish / wizard solidification */
.sb-filter-short{display:none}
.sb-agenda-grid{position:relative}
.sb-agenda-head strong{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;max-width:150px}
.sb-now-line{position:absolute;left:64px;right:0;height:1px;background:#c76b55;z-index:8;pointer-events:none;box-shadow:0 0 0 1px rgba(199,107,85,.08)}
.sb-now-line:before{content:"";position:absolute;left:-4px;top:-3px;width:7px;height:7px;border-radius:50%;background:#c76b55}
.sb-now-line span{position:absolute;left:5px;top:-14px;background:#fff7f2;color:#a9503e;border:1px solid #efd2c8;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:800}

.sb-booking-wizard-modal>.sb-modal-backdrop{background:rgba(36,29,23,.48)!important}
.sb-booking-wizard{background:var(--surface)!important;opacity:1!important;isolation:isolate}
.sb-wizard-head,.sb-wizard-progress,.sb-wizard-body,.sb-wizard-foot{background:var(--surface)!important}
.sb-wizard-head{position:relative;z-index:4;flex:0 0 auto}
.sb-wizard-progress{position:relative;z-index:4;flex:0 0 auto}
.sb-wizard-body{position:relative;z-index:2}
.sb-wizard-foot{position:relative;z-index:5;flex:0 0 auto}
.sb-modal-x{width:36px;height:36px;border-radius:50%!important;border:1px solid var(--line)!important;background:#fff!important;display:grid;place-items:center;font-size:20px;line-height:1;color:var(--ink);box-shadow:0 4px 14px rgba(61,47,29,.05)}
.sb-modal-x:hover{border-color:var(--gold)!important;color:var(--gold-dark)}
.sb-modal-open .sb-bottombar-studio{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(100%)}
.sb-bottombar-studio{transition:opacity .16s ease,transform .18s ease,visibility .18s}

.sb-choice,.sb-time-chip,.sb-date-chip,.sb-mini-choice{position:relative}
.sb-selected-check,.sb-slot-check{position:absolute;right:8px;top:7px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#fff;font-style:normal;font-size:11px;font-weight:900}
.sb-time-chip.selected{border-color:var(--gold-dark);background:#fff4d6;box-shadow:0 0 0 2px rgba(189,145,48,.13)}
.sb-time-chip:disabled{opacity:1;background:#f8f5ef;color:#c1b8aa;border-color:#ece3d6;cursor:not-allowed}
.sb-time-chip:disabled strong,.sb-time-chip:disabled span{color:#c1b8aa;text-decoration:none}
.sb-date-chip.selected{border-color:var(--gold-dark);box-shadow:0 0 0 2px rgba(189,145,48,.1)}
.sb-payment-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}
.sb-payment-summary>div{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 12px}
.sb-payment-summary span{display:block;color:var(--muted);font-size:9px;margin-bottom:3px}
.sb-payment-summary strong{font-family:Georgia,serif;font-size:17px;font-weight:600}
.sb-client-results button{position:relative;padding-right:34px}
.sb-client-results button b{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--gold-dark);font-size:16px}

/* accessible focus style matching Studio */
.sb-booking-wizard-modal button:focus-visible,.sb-planning-top button:focus-visible,.sb-planning-filters button:focus-visible,.sb-agenda-cell:focus-visible,.sb-mobile-slot:focus-visible,.sb-bottombar-studio button:focus-visible{outline:2px solid rgba(189,145,48,.65)!important;outline-offset:2px!important;box-shadow:0 0 0 4px rgba(189,145,48,.10)!important}

@media(max-width:900px){
  .sb-filter-full{display:none}.sb-filter-short{display:inline}
  .sb-planning-filters{position:relative;padding-right:18px;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%)}
  .sb-mobile-slot.grouped{min-height:64px}.sb-mobile-slot.grouped strong{font-size:12.5px}
  .sb-booking-wizard{height:94dvh!important;max-height:94dvh!important;background:var(--surface)!important}
  .sb-wizard-head{position:sticky;top:0;padding-top:9px;background:var(--surface)!important}
  .sb-wizard-progress{position:sticky;top:73px;background:var(--surface)!important;padding-bottom:6px}
  .sb-wizard-body{background:var(--surface)!important;padding-bottom:18px}
  .sb-wizard-foot{position:sticky;bottom:0;background:var(--surface)!important;box-shadow:0 -12px 24px rgba(255,254,250,.98)}
  .sb-wizard-head .sb-modal-x{flex:0 0 36px}
  .sb-payment-summary{grid-template-columns:1fr 1fr}
  .sb-choice-grid{gap:9px}.sb-choice{padding:13px 14px}
}

/* v0.6.2 — planning color system + customer autocomplete selection */
.sb-agenda-booking{border-left-width:4px!important}
.sb-agenda-booking.sb-tone-0{background:#fff0cc;border-color:#d6a43b;color:#6d4c0f}
.sb-agenda-booking.sb-tone-1{background:#eaf5f4;border-color:#5da7a2;color:#285e5b}
.sb-agenda-booking.sb-tone-2{background:#f1eafa;border-color:#9b78c8;color:#5e3f82}
.sb-agenda-booking.sb-tone-3{background:#eaf1fb;border-color:#6f98cf;color:#355d8d}
.sb-agenda-booking.sb-tone-4{background:#fbecef;border-color:#c87586;color:#8a4050}
.sb-agenda-booking.sb-tone-5{background:#edf6e9;border-color:#79a96b;color:#456f3a}
.sb-agenda-cell.busy.sb-tone-0{background:#fffaf0}.sb-agenda-cell.busy.sb-tone-1{background:#f7fbfb}.sb-agenda-cell.busy.sb-tone-2{background:#fbf8fe}.sb-agenda-cell.busy.sb-tone-3{background:#f7faff}.sb-agenda-cell.busy.sb-tone-4{background:#fff9fa}.sb-agenda-cell.busy.sb-tone-5{background:#f9fcf7}
.sb-agenda-cell.absent .sb-agenda-booking{background:#fae8e6!important;border-color:#c76565!important;color:#7f3d3d!important}
.sb-mobile-slot.sb-tone-0{border-left:4px solid #d6a43b}.sb-mobile-slot.sb-tone-1{border-left:4px solid #5da7a2}.sb-mobile-slot.sb-tone-2{border-left:4px solid #9b78c8}.sb-mobile-slot.sb-tone-3{border-left:4px solid #6f98cf}.sb-mobile-slot.sb-tone-4{border-left:4px solid #c87586}.sb-mobile-slot.sb-tone-5{border-left:4px solid #79a96b}
.sb-mobile-slot.busy.sb-tone-0{background:#fffaf0}.sb-mobile-slot.busy.sb-tone-1{background:#f7fbfb}.sb-mobile-slot.busy.sb-tone-2{background:#fbf8fe}.sb-mobile-slot.busy.sb-tone-3{background:#f7faff}.sb-mobile-slot.busy.sb-tone-4{background:#fff9fa}.sb-mobile-slot.busy.sb-tone-5{background:#f9fcf7}
.sb-selected-client{display:flex;align-items:center;gap:10px;border:1px solid #d7b76b;background:#fff8e7;border-radius:14px;padding:10px 12px;margin:-2px 0 13px}
.sb-selected-client-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#fff;font-weight:800;flex:0 0 28px}
.sb-selected-client>div{min-width:0;flex:1}.sb-selected-client strong,.sb-selected-client small{display:block}.sb-selected-client strong{font-size:12.5px}.sb-selected-client small{font-size:9.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-selected-client button{border:0;background:transparent;color:var(--gold-dark);font-size:10.5px;font-weight:800;padding:6px 4px}
.sb-client-results button:hover,.sb-client-results button:focus-visible{background:#fff9ea}
@media(max-width:900px){.sb-selected-client{padding:9px 10px}.sb-selected-client small{white-space:normal}}


/* ==========================================================================\n   v0.7.0 — Rendez-vous / fiche opérationnelle\n   ========================================================================== */
.sb-rdv-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.sb-rdv-search{flex:1;min-width:260px}
.sb-filter-select{border:1px solid var(--sb-line,#e7d7b8);background:#fff;border-radius:999px;padding:10px 14px;min-height:42px;color:#3d352d}
.sb-rdv-filter-row{display:flex;gap:7px;overflow:auto;padding:2px 0 7px;scrollbar-width:none}
.sb-rdv-filter-row::-webkit-scrollbar{display:none}
.sb-rdv-filter-row button{flex:0 0 auto;border:1px solid #e7d7b8;background:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;color:#847a70}
.sb-rdv-filter-row button.active{background:#302a24;border-color:#302a24;color:#fff}
.sb-rdv-status-row{margin-bottom:8px}
.sb-rdv-table small,.sb-rdv-client small{display:block;color:#8a8177;font-size:11px;margin-top:2px}
.sb-rdv-client strong{display:block}
.sb-due{color:#a14b4b}.sb-paid{color:#6f675f;font-weight:500}
.sb-rdv-cards{display:none}
.sb-rdv-card{width:100%;text-align:left;background:#fff;border:1px solid #e7d7b8;border-radius:16px;padding:14px;color:inherit}
.sb-rdv-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:9px}
.sb-rdv-card-head strong{display:block;font-size:14px}.sb-rdv-card-head small{display:block;color:#8a8177;font-size:11px;margin-top:2px}
.sb-rdv-card-line{display:flex;justify-content:space-between;gap:14px;padding:3px 0;font-size:12px;color:#8a8177}
.sb-rdv-card-line b{text-align:right;color:#302a24;font-weight:650}
.sb-rdv-card-due{border-top:1px dashed #e7d7b8;margin-top:8px;padding-top:9px;color:#a14b4b;font-size:12px;font-weight:800}
.sb-rdv-drawer-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.sb-rdv-drawer-head h2{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:5px 0 3px}.sb-rdv-drawer-head p{margin:0;color:#847a70}
.sb-rdv-drawer-side{display:flex;align-items:center;gap:8px}.sb-drawer-x{width:34px;height:34px;border-radius:50%;border:1px solid #e7d7b8;background:#fff;font-size:20px;line-height:1}
.sb-rdv-detail-grid div{background:#fffdf9}
.sb-rdv-money{margin-top:14px}
.sb-btn-full{width:100%;justify-content:center}
.sb-rdv-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.sb-rdv-actions .sb-btn{justify-content:center}
.sb-rdv-history-title{margin-top:20px}
.sb-rdv-reschedule-dates{margin:10px 0 16px}

@media(max-width:900px){
 .sb-rdv-toolbar{gap:8px}.sb-rdv-search{min-width:100%;order:1}.sb-filter-select{flex:1;min-width:0;max-width:50%;order:2}.sb-rdv-new{display:none}
 .sb-rdv-table{display:none!important}.sb-rdv-cards{display:flex;flex-direction:column;gap:9px}
 .sb-rdv-status-row{padding-bottom:9px}
 .sb-rdv-card{border-radius:15px;padding:13px}
 .sb-rdv-card-line{font-size:11.5px}
 .sb-rdv-actions{grid-template-columns:1fr}
 .sb-rdv-drawer-head h2{font-size:23px}
 .sb-rdv-drawer-side .sb-status-badge{max-width:115px;white-space:normal;text-align:center}
}

/* ==========================================================================\n   v0.7.1 — Rendez-vous : filtres allégés et hiérarchie plus nette\n   ========================================================================== */
.sb-rdv-toolbar{margin-bottom:9px}
.sb-rdv-filter-panel{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.sb-rdv-filter-toggle{display:none;border:1px solid #e7d7b8;background:#fff;border-radius:999px;padding:10px 14px;min-height:42px;font-size:12.5px;font-weight:800;color:#6f675f;align-items:center;gap:7px}
.sb-rdv-filter-toggle span{font-size:14px;transition:transform .16s ease}.sb-rdv-filter-toggle.active span{transform:rotate(180deg)}
.sb-rdv-datebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.sb-rdv-datebar .sb-rdv-filter-row{margin:0;padding-bottom:0}
.sb-rdv-result-count{flex:0 0 auto;font-size:11.5px;color:#8a8177;font-weight:700;white-space:nowrap}
.sb-rdv-table{box-shadow:0 10px 28px rgba(61,47,29,.045)}
.sb-rdv-table tbody tr{transition:background .14s ease,transform .14s ease}
.sb-rdv-table tbody tr:hover{background:#fffaf2}
.sb-rdv-card{box-shadow:0 7px 20px rgba(61,47,29,.035)}

@media(max-width:900px){
 .sb-rdv-toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:8px}
 .sb-rdv-search{min-width:0!important;order:initial;grid-column:1/2}
 .sb-rdv-filter-toggle{display:inline-flex;grid-column:2/3;justify-content:center}
 .sb-rdv-filter-panel{display:none;grid-column:1/-1;grid-template-columns:1fr;gap:8px;padding:10px;border:1px solid #eadfcf;background:#fffdf9;border-radius:16px;box-shadow:0 10px 28px rgba(61,47,29,.05)}
 .sb-rdv-filter-panel.open{display:grid}
 .sb-rdv-filter-panel .sb-filter-select{max-width:none!important;width:100%;order:initial}
 .sb-rdv-datebar{align-items:flex-start;margin-bottom:9px}
 .sb-rdv-datebar .sb-rdv-filter-row{max-width:calc(100vw - 112px)}
 .sb-rdv-result-count{padding-top:9px;font-size:10.5px}
 .sb-rdv-card-line:nth-of-type(3){display:none}
}

/* ==========================================================================\n   v0.7.2 — Notifications multicanal : email principal + SMS HTTP optionnel\n   ========================================================================== */
.sb-notify-settings{grid-column:span 1}.sb-channel-table{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:14px}.sb-channel-table>div{display:grid;grid-template-columns:minmax(0,1fr) 58px 58px;align-items:center;gap:8px;padding:11px 13px;border-top:1px solid #eee6d8}.sb-channel-table>div:first-child{border-top:0}.sb-channel-table .head{background:#fbf7f0;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.sb-channel-table .head b{text-align:center;font-size:9px}.sb-channel-table>div>span{display:flex;flex-direction:column;min-width:0}.sb-channel-table strong{font-size:11px}.sb-channel-table small{font-size:9px;color:var(--muted);margin-top:2px}.sb-channel-table input[type=checkbox]{width:18px;height:18px;justify-self:center;accent-color:var(--gold)}.sb-sms-master{margin-top:12px}.sb-sms-provider{grid-column:span 1}.sb-configured{display:inline-flex;margin-left:6px;padding:2px 7px;border-radius:999px;background:#e6f1ea;color:#2f7658;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.sb-advanced{border-top:1px solid #eee6d8;margin-top:10px;padding-top:10px}.sb-advanced summary{cursor:pointer;font-size:10px;font-weight:800;color:var(--gold-dark);margin-bottom:10px}.sb-sms-test{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:12px}.sb-sms-test .sb-field{margin-bottom:0}.sb-inline-actions{display:flex;gap:8px;flex-wrap:wrap}.sb-settings-savebar{position:sticky;bottom:12px;z-index:8;display:flex;justify-content:flex-end;margin-top:16px;pointer-events:none}.sb-settings-savebar .sb-btn{pointer-events:auto;box-shadow:0 12px 32px rgba(135,95,25,.22)}.sb-delivery-list{display:flex;flex-direction:column;gap:7px;margin-top:12px}.sb-delivery-list>div{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:10px 0;border-top:1px solid #eee6d8}.sb-delivery-list>div:first-child{border-top:0}.sb-delivery-list div>div{display:flex;flex-direction:column;min-width:0}.sb-delivery-list strong{font-size:10px}.sb-delivery-list small{font-size:8px;color:var(--muted);word-break:break-word}.sb-delivery-list em{font-style:normal;color:#a14b4b;font-size:8px;margin-top:3px}.sb-delivery-status{font-size:8px;font-weight:800;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:#eee}.sb-delivery-status.sent{background:#e7f2ec;color:#2f7658}.sb-delivery-status.failed{background:#f7e9e8;color:#a14b4b}.sb-delivery-status.skipped{background:#f5ecdd;color:#8d691f}
@media(max-width:900px){.sb-channel-table>div{grid-template-columns:minmax(0,1fr) 50px 50px}.sb-sms-test{grid-template-columns:1fr}.sb-sms-test .sb-btn{width:100%;justify-content:center}.sb-settings-savebar{bottom:82px}.sb-inline-actions{flex-direction:column}.sb-inline-actions .sb-btn{width:100%;justify-content:center}}

/* ==========================================================================\n   v0.7.3 — Test SMS rendu immédiatement visible dans Paramètres > Notifications\n   ========================================================================== */
.sb-sms-quicktest{margin-top:14px;padding:14px;border:1px solid rgba(189,145,48,.32);border-radius:16px;background:linear-gradient(135deg,#fffaf0,#fffdf9)}
.sb-sms-quicktest-copy{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.sb-sms-quicktest-copy strong{font-size:13px;color:var(--ink)}
.sb-sms-quicktest-copy small{font-size:10px;line-height:1.45;color:var(--muted)}
.sb-sms-quicktest .sb-sms-test{margin-top:0}
.sb-sms-quicktest .sb-btn{white-space:nowrap;min-height:42px}
.sb-sms-provider-help{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid #eee6d8}
.sb-sms-provider-help span{font-size:9px;font-weight:750;color:var(--muted);background:#fbf7f0;border:1px solid #eee3d2;border-radius:999px;padding:6px 9px}
@media(max-width:900px){
 .sb-sms-quicktest{padding:12px}
 .sb-sms-quicktest .sb-sms-test{grid-template-columns:1fr}
 .sb-sms-quicktest .sb-btn{width:100%;justify-content:center}
 .sb-sms-provider-help{flex-direction:column;align-items:stretch}
 .sb-sms-provider-help span{border-radius:10px}
}


/* ==========================================================================
   v0.7.4 — Test email visible dans Paramètres > Email & SMS
   ========================================================================== */
.sb-email-quicktest,.sb-sms-quicktest{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,254,250,.74)}
.sb-email-quicktest{background:linear-gradient(135deg,rgba(255,254,250,.94),rgba(248,242,230,.72))}
.sb-email-quicktest code{font-size:.9em;background:var(--soft);padding:2px 5px;border-radius:6px}
@media(max-width:900px){.sb-email-quicktest,.sb-sms-quicktest{padding:14px}.sb-email-quicktest .sb-sms-test,.sb-sms-quicktest .sb-sms-test{display:grid;grid-template-columns:1fr;gap:10px}.sb-email-quicktest .sb-btn,.sb-sms-quicktest .sb-btn{width:100%;justify-content:center}}

/* ========================================================================== 
   v0.7.5 — Notifications premium : cliente + salon, tests de templates
   ========================================================================== */
.sb-email-tests{grid-column:span 1}.sb-test-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.sb-template-test{border:1px solid var(--line);background:linear-gradient(145deg,#fffefa,#fbf5ea);border-radius:16px;padding:14px;text-align:left;display:grid;grid-template-columns:40px 1fr;gap:11px;align-items:center;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.sb-template-test:hover{transform:translateY(-1px);border-color:rgba(189,145,48,.58);box-shadow:0 10px 26px rgba(91,64,27,.08)}.sb-template-test:disabled{opacity:.65;cursor:wait;transform:none}.sb-template-test .sb-template-icon{width:38px;height:38px;border-radius:12px;background:var(--soft);color:var(--gold-dark);display:grid;place-items:center;font-size:17px;font-weight:800}.sb-template-test span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.sb-template-test strong{font-size:12px}.sb-template-test small{font-size:9px;color:var(--muted);line-height:1.45}.sb-email-preview-note{margin-top:11px;padding:9px 11px;border-radius:11px;background:#f8f2e8;color:var(--muted);font-size:9px;line-height:1.45}.sb-notify-settings .sb-field:first-of-type{margin-top:12px}.sb-channel-table input[type=checkbox]{cursor:pointer}
@media(max-width:900px){.sb-test-template-grid{grid-template-columns:1fr}.sb-template-test{min-height:70px}.sb-settings-grid{grid-template-columns:1fr}}

/* ===== CRM clientes v0.8.0 ===== */
.sb-crm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.sb-crm-head .sb-view-title{margin:3px 0 2px}.sb-crm-head p{margin:0;color:var(--muted);font-size:12px}.sb-crm-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.sb-crm-toolbar .sb-search{flex:1}.sb-crm-segments{display:flex;gap:6px;padding:3px;background:#f3ecdf;border:1px solid var(--line);border-radius:999px}.sb-crm-segments button{border:0;background:transparent;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:750;color:var(--muted);white-space:nowrap}.sb-crm-segments button.active{background:#2f2923;color:#fff;box-shadow:0 3px 10px rgba(47,41,35,.08)}
.sb-crm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sb-crm-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px;text-align:left;cursor:pointer;transition:.16s ease;box-shadow:0 8px 24px rgba(61,47,29,.035)}.sb-crm-card:hover{transform:translateY(-1px);border-color:#d5b66e;box-shadow:0 13px 30px rgba(61,47,29,.07)}.sb-crm-card-top{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center}.sb-crm-card-top>b{font-size:18px;color:var(--gold-dark)}.sb-crm-id{min-width:0}.sb-crm-id strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-crm-id span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.sb-crm-card-kpis{display:grid;grid-template-columns:72px 1fr 1fr;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid #f0e7da}.sb-crm-card-kpis div{min-width:0}.sb-crm-card-kpis small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}.sb-crm-card-kpis strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-crm-next{margin-top:10px;background:#fbf6ec;border-radius:11px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sb-crm-next span{font-size:9px;color:var(--muted)}.sb-crm-next strong{font-size:10px;text-align:right}.sb-crm-alert{margin-top:8px;padding:7px 9px;border-radius:10px;background:#fff1ed;color:#974b3e;font-size:9px;font-weight:750}
.sb-crm-profile-head{display:grid;grid-template-columns:58px 1fr auto;gap:13px;align-items:center;margin-bottom:14px}.sb-crm-profile-id{min-width:0}.sb-crm-profile-id h2{margin:2px 0 3px;font-size:25px}.sb-crm-profile-id p{margin:0;color:var(--muted);font-size:11px;white-space:normal;overflow-wrap:anywhere}.sb-crm-actions{display:flex;gap:8px;margin:12px 0 14px}.sb-crm-actions .sb-btn{flex:1;justify-content:center}.sb-crm-next-card{width:100%;border:1px solid #dbc08a;background:linear-gradient(135deg,#fffaf0,#fbf4e5);border-radius:16px;padding:13px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;text-align:left;margin-bottom:12px}.sb-crm-next-card>span{display:flex;flex-direction:column;gap:2px}.sb-crm-next-card small{font-size:8px;letter-spacing:.08em;color:var(--gold-dark);font-weight:800}.sb-crm-next-card strong{font-size:13px}.sb-crm-next-card em{font-style:normal;font-size:10px;color:var(--muted)}.sb-crm-next-card>b{font-size:18px;color:var(--gold-dark)}.sb-crm-no-next{border:1px dashed var(--line);background:#fffdf9;border-radius:14px;padding:13px;margin-bottom:12px;display:flex;flex-direction:column;gap:3px}.sb-crm-no-next strong{font-size:12px}.sb-crm-no-next span{font-size:10px;color:var(--muted)}.sb-crm-kpis{margin:10px 0 12px}.sb-crm-kpis div{padding:10px}.sb-crm-kpis strong{font-size:16px}.sb-crm-insights{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.sb-crm-insights>div{border:1px solid #eee4d5;background:#fff;border-radius:13px;padding:10px 11px}.sb-crm-insights>div.warn{grid-column:1/-1;background:#fff5f1;border-color:#efd6cc}.sb-crm-insights small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:3px}.sb-crm-insights strong{font-size:11px}.sb-crm-insights .warn strong{color:#994a3d}.sb-crm-history-head{margin:10px 0 4px}.sb-crm-history-head h3{margin:2px 0}.sb-crm-history-head>span{font-size:9px;color:var(--muted)}.sb-crm-history button{align-items:flex-start}.sb-crm-history button div small{font-size:9px;color:var(--gold-dark);margin-top:2px}

@media(max-width:900px){.sb-crm-head{align-items:flex-start}.sb-crm-head>.sb-btn{display:none}.sb-crm-toolbar{display:block}.sb-crm-toolbar .sb-search{margin-bottom:9px}.sb-crm-segments{overflow-x:auto;width:100%;justify-content:flex-start;background:transparent;border:0;padding:0;scrollbar-width:none}.sb-crm-segments::-webkit-scrollbar{display:none}.sb-crm-segments button{border:1px solid var(--line);background:#fff;padding:8px 12px}.sb-crm-segments button.active{border-color:#2f2923}.sb-crm-grid{grid-template-columns:1fr;gap:9px}.sb-crm-card{padding:13px;border-radius:16px}.sb-crm-card-kpis{grid-template-columns:64px 1fr 1fr}.sb-crm-profile-head{grid-template-columns:52px 1fr auto}.sb-crm-profile-head .sb-avatar.lg{width:52px;height:52px}.sb-crm-profile-id h2{font-size:22px}.sb-crm-actions{display:grid;grid-template-columns:1fr}.sb-crm-next-card{grid-template-columns:1fr auto}.sb-crm-next-card>b{display:none}.sb-crm-kpis{grid-template-columns:1fr 1fr}.sb-crm-insights{grid-template-columns:1fr}.sb-crm-insights>div.warn{grid-column:auto}.sb-crm-history button{padding:11px 0}.sb-crm-history .sb-badge{font-size:8px;padding:4px 7px}}

/* ========================================================================== 
   v0.8.1 — Exports Excel / CSV
   ========================================================================== */
.sb-view-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.sb-view-toolbar .sb-view-title{margin:2px 0 0}.sb-crm-head-actions,.sb-rdv-date-actions{display:flex;align-items:center;gap:9px}.sb-export-menu{position:relative;z-index:8}.sb-export-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;min-height:40px;font-size:11.5px;font-weight:800;color:var(--gold-dark);display:flex;align-items:center;gap:7px;user-select:none}.sb-export-menu summary::-webkit-details-marker{display:none}.sb-export-menu summary span{font-size:12px;transition:transform .15s ease}.sb-export-menu[open] summary span{transform:rotate(180deg)}.sb-export-menu>div{position:absolute;right:0;top:calc(100% + 7px);min-width:160px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 16px 38px rgba(61,47,29,.13)}.sb-export-menu button{width:100%;border:0;background:transparent;border-radius:10px;padding:9px 10px;text-align:left;font-size:11px;font-weight:700;color:var(--ink)}.sb-export-menu button:hover,.sb-export-menu button:focus-visible{background:var(--soft);color:var(--gold-dark)}
@media(max-width:900px){.sb-crm-head{display:block}.sb-crm-head-actions{margin-top:10px;justify-content:space-between}.sb-crm-head-actions>.sb-btn{display:none}.sb-view-toolbar{align-items:center}.sb-rdv-date-actions{flex:0 0 auto}.sb-rdv-date-actions .sb-rdv-result-count{display:none}.sb-export-menu summary{padding:9px 12px}.sb-export-menu>div{position:fixed;left:14px;right:14px;bottom:88px;top:auto;min-width:0;padding:8px;border-radius:16px}.sb-export-menu button{padding:12px}}

/* v0.8.2 — Rappels intelligents + contrôle CDC Phase 1 */
.sb-reminder-options{align-items:stretch;margin-top:14px}
.sb-reminder-options>.sb-field{min-width:190px}
.sb-reminder-prefer-sms{flex:1;min-height:58px;border:1px solid rgba(158,126,72,.18);background:#fffaf1;border-radius:14px;padding:10px 12px}
.sb-reminder-prefer-sms small{display:block;margin-top:3px;color:var(--sb-muted,#7c7468);font-weight:400}
.sb-reminder-note{margin:12px 0 0;padding:11px 13px;border-radius:12px;background:#f9f5ec;color:#675f53;font-size:12px;line-height:1.55}
.sb-reminder-note strong{color:#6f5730}
@media(max-width:700px){.sb-reminder-options{display:block}.sb-reminder-options>.sb-field{margin-bottom:10px}.sb-reminder-prefer-sms{display:flex}}

/* Settings IA v0.8.3 — sections nettes et une seule famille de réglages à la fois */
.sb-settings-shell{display:flex;flex-direction:column;gap:14px}.sb-settings-tabs{display:flex;gap:7px;padding:6px;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:18px;position:sticky;top:86px;z-index:7;backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(70,53,31,.045)}.sb-settings-tabs button{appearance:none;border:0;background:transparent;color:var(--muted);border-radius:13px;padding:10px 15px;min-height:42px;font:inherit;font-size:11px;font-weight:750;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:.16s ease;white-space:nowrap}.sb-settings-tabs button span{font-size:12px;color:#a98a51}.sb-settings-tabs button:hover{background:#fbf6ed;color:var(--ink)}.sb-settings-tabs button.is-active{background:#f4ead8;color:var(--gold-dark);box-shadow:inset 0 0 0 1px rgba(184,136,42,.14)}.sb-settings-intro{display:flex;align-items:center;justify-content:space-between;padding:4px 3px}.sb-settings-intro>div{display:flex;flex-direction:column;gap:3px}.sb-settings-intro strong{font-family:Georgia,serif;font-size:22px;font-weight:500;color:var(--ink)}.sb-settings-intro small{font-size:10px;color:var(--muted);line-height:1.5}.sb-settings-panel[hidden]{display:none!important}.sb-settings-grid{align-items:start}.sb-settings-panel{animation:sbSettingsIn .18s ease both}.sb-settings-panel[data-settings-panel="general"],.sb-settings-panel[data-settings-panel="sms"],.sb-settings-panel[data-settings-panel="diagnostic"]{grid-column:1/-1;max-width:900px;width:100%;justify-self:center}.sb-settings-panel[data-settings-panel="notifications"]{min-height:auto}.sb-diagnostic-panel #health-result,.sb-diagnostic-panel #delivery-result{max-width:none}.sb-settings-savebar{margin-top:2px}.sb-settings-savebar .sb-btn{min-width:220px}@keyframes sbSettingsIn{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:900px){.sb-settings-tabs{top:68px;overflow-x:auto;scrollbar-width:none;margin:0 -2px;padding:5px}.sb-settings-tabs::-webkit-scrollbar{display:none}.sb-settings-tabs button{padding:9px 12px;font-size:10px}.sb-settings-intro{padding:0 2px}.sb-settings-intro strong{font-size:19px}.sb-settings-intro small{font-size:9px}.sb-settings-panel[data-settings-panel="general"],.sb-settings-panel[data-settings-panel="sms"],.sb-settings-panel[data-settings-panel="diagnostic"]{max-width:none}.sb-settings-savebar .sb-btn{width:100%;min-width:0}}

/* v0.8.4 — Diagnostic simplifié pour usage salon */
.sb-settings-savebar[hidden]{display:none!important}
.sb-diagnostic-panel{padding:22px!important}
.sb-diagnostic-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}
.sb-diagnostic-head h3{margin:5px 0 6px;font-size:24px}
.sb-diagnostic-head p{max-width:650px;margin:0}
.sb-diagnostic-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.sb-diagnostic-actions .sb-btn{white-space:nowrap}
.sb-health-placeholder{display:flex;align-items:center;gap:12px;padding:18px;border:1px dashed var(--line);border-radius:16px;background:#fffdf9;color:var(--muted)}
.sb-health-placeholder>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf7ef;color:#2d7b52;font-weight:900}
.sb-health-placeholder strong,.sb-health-placeholder small{display:block}.sb-health-placeholder strong{color:var(--ink);font-size:12px;margin-bottom:2px}.sb-health-placeholder small{font-size:10px}
.sb-health-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 18px}
.sb-health-overview article{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}
.sb-health-overview article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-weight:900;font-size:14px}
.sb-health-overview article strong{display:block;font-size:20px;line-height:1}.sb-health-overview article small{display:block;margin-top:4px;font-size:9px;color:var(--muted)}
.sb-health-overview .ok>span{background:#edf7ef;color:#2d7b52}.sb-health-overview .warn>span{background:#fff3dc;color:#a26808}.sb-health-overview .fail>span{background:#fff0ed;color:#a14b3e}
.sb-section-mini{margin:0 0 9px}.sb-section-mini h4{font-size:15px;margin:3px 0 0}
.sb-health-priority{margin-bottom:14px}
.sb-health-alert{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:flex-start;padding:14px 15px;border-radius:15px;margin:8px 0;border:1px solid #edd9b4;background:#fff9ef}
.sb-health-alert.fail{border-color:#efcfc8;background:#fff4f1}.sb-health-alert-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f5e5bf;color:#8b5a05;font-weight:900}.sb-health-alert.fail .sb-health-alert-icon{background:#f4d9d3;color:#984437}
.sb-health-alert strong{display:block;font-size:12px;margin-bottom:4px}.sb-health-alert p{margin:0;color:#665d51;font-size:10.5px;line-height:1.55}
.sb-health-allgood{display:flex;align-items:center;gap:11px;padding:14px;border-radius:15px;background:#f3f8f3;border:1px solid #dceadd}.sb-health-allgood>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#dff0e3;color:#277349;font-weight:900}.sb-health-allgood strong,.sb-health-allgood small{display:block}.sb-health-allgood strong{font-size:12px}.sb-health-allgood small{font-size:10px;color:var(--muted);margin-top:2px}
.sb-health-details{margin-top:14px;border-top:1px solid #eee4d6;padding-top:12px}.sb-health-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--gold-dark);font-size:11px;font-weight:800;padding:8px 2px}.sb-health-details summary::-webkit-details-marker{display:none}.sb-health-details summary:after{content:'+';font-size:17px;font-weight:500}.sb-health-details[open] summary:after{content:'−'}.sb-health-details summary span{margin-left:auto;margin-right:10px;color:var(--muted);font-size:9px;font-weight:600}.sb-health-details .sb-health-list{margin-top:6px;max-height:420px;overflow:auto;padding-right:3px}
.sb-diagnostic-panel #delivery-result:not(:empty){margin-top:14px;padding-top:14px;border-top:1px solid #eee4d6}
@media(max-width:900px){.sb-diagnostic-panel{padding:16px!important}.sb-diagnostic-head{display:block}.sb-diagnostic-actions{display:grid;grid-template-columns:1fr;margin-top:14px}.sb-diagnostic-actions .sb-btn{width:100%;justify-content:center}.sb-health-overview{grid-template-columns:1fr}.sb-health-overview article{padding:12px}.sb-health-alert{grid-template-columns:32px 1fr;padding:12px}.sb-health-details summary span{display:none}}

/* Services UX v0.8.5 */
.sb-service-titleline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sb-setup-badge{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:#fff2d5;color:#8d6514;font-size:9px;font-weight:800;letter-spacing:.02em}.sb-service-needs-setup{border-color:#ead3a8}.sb-service-setup-note,.sb-service-inline-warning{margin:11px 0 0;padding:9px 11px;border-radius:11px;background:#fff8e9;color:#81601b;font-size:10px;line-height:1.4}.sb-service-editor{height:100%;display:flex;flex-direction:column;min-height:0}.sb-service-editor-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:0 0 15px;background:#fffefa;border-bottom:1px solid #f0e5d4}.sb-service-editor-head h2{margin:4px 0 4px}.sb-service-editor-head p{margin:0;color:var(--muted);font-size:11px}.sb-service-editor-status{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.sb-service-editor-scroll{flex:1;min-height:0;overflow:auto;padding:13px 2px 20px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sb-service-section{border:1px solid #eadcc6;border-radius:16px;background:#fff;margin-bottom:10px;overflow:hidden}.sb-service-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px}.sb-service-section>summary::-webkit-details-marker{display:none}.sb-service-section>summary span{display:flex;flex-direction:column;gap:2px}.sb-service-section>summary strong{font-size:13px}.sb-service-section>summary small{font-size:9px;color:var(--muted)}.sb-service-section>summary b{font-size:16px;color:var(--gold-dark);transition:transform .18s ease}.sb-service-section[open]>summary b{transform:rotate(180deg)}.sb-service-section-body{padding:2px 15px 16px;border-top:1px solid #f3eadf}.sb-service-editor-footer{position:sticky;bottom:0;z-index:4;padding:12px 0 calc(2px + env(safe-area-inset-bottom));background:linear-gradient(to top,#fffefa 78%,rgba(255,254,250,.92));border-top:1px solid #eee1cd}.sb-service-editor .sb-inline-editor{grid-template-columns:minmax(0,1.5fr) 82px 110px auto}.sb-service-editor .sb-week-editor{margin-bottom:12px}
@media(max-width:700px){.sb-service-admin-head{gap:8px}.sb-service-titleline{gap:6px}.sb-service-titleline h3{font-size:21px}.sb-setup-badge{font-size:8px}.sb-service-editor-head{padding:0 0 12px}.sb-service-editor-head h2{font-size:26px}.sb-service-editor-status .sb-badge{display:none}.sb-service-editor-scroll{padding-top:10px}.sb-service-section>summary{padding:13px}.sb-service-section-body{padding:2px 12px 14px}.sb-service-editor .sb-inline-editor{grid-template-columns:1fr 78px}.sb-service-editor .sb-inline-editor .v-price{grid-column:1}.sb-service-editor .sb-inline-editor .sb-switch{grid-column:2}.sb-service-editor-footer{padding-top:10px}.sb-drawer-card:has(.sb-service-editor){padding-top:16px;padding-bottom:0;overflow:hidden}.sb-service-editor .sb-week-row{grid-template-columns:68px 1fr 10px 1fr}.sb-service-editor .sb-week-row label{font-size:11px}.sb-service-editor .sb-week-row input{min-width:0;padding:8px 5px;font-size:13px}}

/* v0.8.6 — densité Studio + paiement WooCommerce invisible */
.sb-studio-main #sb-studio-root .sb-view-title{display:none}
.sb-services-toolbar{align-items:center;margin-bottom:14px}.sb-services-toolbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.sb-services-toolbar .sb-eyebrow{margin-bottom:0}
.sb-payment-launch-summary{border:1px solid var(--line);border-radius:16px;background:#fffdfa;margin:18px 0;overflow:hidden}.sb-payment-launch-summary>div{display:flex;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid #efe4d4}.sb-payment-launch-summary>div:last-child{border-bottom:0}.sb-payment-launch-summary span{font-size:11px;color:var(--muted)}.sb-payment-launch-summary strong{font-size:12px}.sb-payment-launch-summary .is-due{background:#fbf1dd}.sb-secure-note{font-size:10.5px}
.sb-payment-experience{background:#f7f1e8}.sb-payment-experience header,.sb-payment-experience footer{display:none}.sb-secure-payment-page{min-height:100dvh;padding:28px 18px 60px;background:#f7f1e8;color:var(--ink)}.sb-payment-brand{display:flex;flex-direction:column;align-items:center;margin:0 auto 24px}.sb-payment-brand img{width:128px;height:90px;object-fit:contain}.sb-payment-brand span{font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark)}.sb-payment-back{display:block;max-width:920px;margin:0 auto 12px;color:var(--muted);font-size:11px;text-decoration:none}.sb-payment-shell{max-width:920px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;background:#fffefa;border:1px solid #ead8b7;border-radius:26px;overflow:hidden;box-shadow:0 22px 70px rgba(66,49,28,.08)}.sb-payment-order-summary{padding:34px;background:#fbf6ed}.sb-payment-order-summary h1,.sb-payment-state-card h1{font-family:Georgia,serif;font-weight:400;font-size:34px;line-height:1.05;margin:8px 0 12px}.sb-payment-order-summary>p{color:var(--muted);font-size:12px;line-height:1.65}.sb-payment-amount-card{margin:24px 0 12px;padding:18px;border-radius:18px;background:#fff;border:1px solid #ead8b7}.sb-payment-amount-card span,.sb-payment-reference span{display:block;color:var(--muted);font-size:10px}.sb-payment-amount-card strong{display:block;font-family:Georgia,serif;font-size:30px;font-weight:400;margin-top:4px}.sb-payment-reference{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #eadfce;border-bottom:1px solid #eadfce}.sb-payment-reference span{display:inline}.sb-payment-reference strong{font-size:11px}.sb-payment-reassurance{margin-top:16px;font-size:10.5px;line-height:1.5;color:#705f47}.sb-payment-gateways{padding:34px}.sb-payment-gateways h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 16px}.sb-gateway-list{display:flex;flex-direction:column;gap:9px}.sb-gateway-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:15px;padding:13px 14px;background:#fff;cursor:pointer;transition:.15s ease}.sb-gateway-card:hover,.sb-gateway-card.selected{border-color:#d2ad5d;background:#fffaf1;box-shadow:0 7px 22px rgba(80,57,24,.05)}.sb-gateway-card input{position:absolute;opacity:0;pointer-events:none}.sb-gateway-dot{width:18px;height:18px;border:1.5px solid #c9b793;border-radius:50%;display:block;position:relative;flex:0 0 auto}.sb-gateway-card.selected .sb-gateway-dot:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--gold)}.sb-gateway-copy{min-width:0}.sb-gateway-copy strong{display:block;font-size:12px}.sb-gateway-copy small{display:block;margin-top:3px;font-size:9.5px;color:var(--muted);line-height:1.45}.sb-gateway-fields{padding:10px 14px 2px;font-size:11px}.sb-gateway-fields[hidden]{display:none!important}.sb-payment-submit{margin-top:18px}.sb-payment-state-card{max-width:620px;margin:30px auto 0;padding:38px;text-align:center;background:#fffefa;border:1px solid #ead8b7;border-radius:26px;box-shadow:0 22px 70px rgba(66,49,28,.08)}.sb-payment-state-icon{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#f5ead4;color:var(--gold-dark);font-weight:900;font-size:24px}.sb-payment-success-card .sb-payment-state-icon{background:#e5f2e9;color:#347255}.sb-payment-state-card>p{color:var(--muted);font-size:12px;line-height:1.6}.sb-payment-state-card .sb-payment-reference{max-width:360px;margin:20px auto}.sb-payment-success-actions{display:flex;justify-content:center;gap:9px;margin-top:20px}
@media(max-width:700px){.sb-studio-main #sb-studio-root .sb-view-title{display:none}.sb-services-toolbar{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.sb-services-toolbar>div{min-width:0}.sb-services-toolbar p{font-size:10px;line-height:1.35}.sb-toolbar.sb-services-toolbar>.sb-mobile-inline-action{display:inline-flex!important;width:auto!important;min-height:36px;padding:8px 11px;white-space:nowrap;font-size:10px;border-radius:999px}.sb-secure-payment-page{padding:16px 10px 34px}.sb-payment-brand{margin-bottom:14px}.sb-payment-brand img{width:105px;height:70px}.sb-payment-back{padding:0 3px}.sb-payment-shell{grid-template-columns:1fr;border-radius:20px}.sb-payment-order-summary,.sb-payment-gateways{padding:20px 16px}.sb-payment-order-summary h1,.sb-payment-state-card h1{font-size:29px}.sb-payment-order-summary>p{font-size:11px}.sb-payment-amount-card{margin:18px 0 10px;padding:14px}.sb-payment-amount-card strong{font-size:26px}.sb-payment-gateways h2{font-size:22px}.sb-gateway-card{padding:12px}.sb-payment-state-card{padding:26px 17px;margin-top:18px;border-radius:20px}.sb-payment-success-actions{flex-direction:column}.sb-payment-success-actions .sb-btn{width:100%}}

/* v0.8.7 — interface plus sobre : un titre principal par écran. */
.sb-page-lead{margin:0;color:#7f7469;font-size:14px;line-height:1.55;max-width:620px}
.sb-view-toolbar-actions{align-items:center}
.sb-payment-setup-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin:0 0 18px;border:1px solid #ead9b7;border-radius:20px;background:#fffdf9}
.sb-payment-setup-card strong{display:block;font-size:16px;margin-bottom:4px;color:#2f2923}
.sb-payment-setup-card p{margin:0;color:#7f7469;font-size:13px;line-height:1.5}
.sb-payment-setup-card.is-ready{border-color:#d9e8db;background:#fbfdfb}
.sb-payment-setup-card.needs-setup{border-color:#ead9b7;background:#fffaf0}
.sb-payment-setup-card .sb-chip-list{margin-top:10px}
.sb-services-toolbar>p{flex:1}
@media(max-width:700px){
  .sb-page-lead{font-size:12.5px;line-height:1.45}
  .sb-toolbar.sb-services-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}
  .sb-toolbar.sb-services-toolbar .sb-mobile-inline-action{display:inline-flex!important;white-space:nowrap;padding:10px 13px;font-size:12px}
  .sb-payment-setup-card{align-items:flex-start;flex-direction:column;padding:15px;border-radius:16px}
  .sb-payment-setup-card .sb-btn{width:100%;justify-content:center}
}

/* v0.8.8 — sobriété + états de chargement */
.sb-loyalty-simple{max-width:680px;margin:56px auto;padding:56px 36px;text-align:center;background:#fffdf9;border:1px solid #ead7b2;border-radius:28px;box-shadow:0 18px 50px rgba(75,57,35,.06)}
.sb-loyalty-simple .sb-loyalty-icon{width:54px;height:54px;margin:0 auto 18px;border-radius:18px;display:grid;place-items:center;background:#f8efdf;color:#b88319;font-size:28px}
.sb-loyalty-simple h2{margin:0 0 10px;font-family:Georgia,serif;font-weight:400;font-size:38px;color:#2d2823}
.sb-loyalty-simple p{margin:0 auto 22px;max-width:460px;color:#786f66;font-size:16px;line-height:1.65}
.sb-loyalty-simple span{display:inline-flex;padding:9px 14px;border-radius:999px;background:#2d2823;color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.sb-view-error{max-width:520px;margin:50px auto;padding:30px;text-align:center;background:#fff;border:1px solid #ead7b2;border-radius:22px}
.sb-view-error strong{display:block;font-size:20px;margin-bottom:8px}.sb-view-error p{color:#7d746b;margin:0 0 18px}
@media(max-width:700px){.sb-loyalty-simple{margin:28px 14px;padding:42px 24px;border-radius:22px}.sb-loyalty-simple h2{font-size:32px}.sb-loyalty-simple p{font-size:14px}}

/* v0.8.9 — consolidation UX / sécurité avant livraison */
.sb-booking-policy{margin:14px 0 0;padding-top:12px;border-top:1px solid #eadfce;color:#786f66;font-size:10.5px;line-height:1.55}
.sb-rdv-more-actions{margin-top:10px;border:1px solid #eadfce;border-radius:14px;background:#fff}
.sb-rdv-more-actions>summary{cursor:pointer;list-style:none;padding:11px 14px;color:#6f645a;font-size:11px;font-weight:700}
.sb-rdv-more-actions>summary::-webkit-details-marker{display:none}.sb-rdv-more-actions>summary:after{content:'⌄';float:right;color:#a77b29}
.sb-rdv-more-actions[open]>summary:after{transform:rotate(180deg)}
.sb-rdv-more-actions>div{display:grid;gap:8px;padding:0 10px 10px}.sb-rdv-more-actions .sb-btn{width:100%;justify-content:center}
.sb-modal>.sb-modal-card>.sb-modal-close,.sb-drawer>.sb-drawer-card>.sb-modal-close{position:sticky;top:8px;z-index:30;float:right;margin:0 0 -36px auto;background:#fffdf9;box-shadow:0 4px 16px rgba(44,35,25,.08)}
@media(max-width:700px){.sb-booking-policy{font-size:10px}.sb-modal>.sb-modal-card>.sb-modal-close,.sb-drawer>.sb-drawer-card>.sb-modal-close{top:6px}.sb-rdv-more-actions{margin-bottom:6px}}

/* v0.9.0 — simplification formulaire Services */
.sb-global-shortcut{appearance:none;cursor:pointer;font:inherit}
.sb-service-section-title{display:inline-flex;align-items:center;gap:7px}
.sb-help-dot{width:20px;height:20px;border-radius:50%;border:1px solid #dec89d;background:#fff;color:var(--gold-dark);display:inline-grid;place-items:center;font-size:11px;font-weight:800;padding:0;cursor:pointer;flex:0 0 auto}
.sb-help-dot:hover,.sb-help-dot:focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px rgba(189,145,48,.12);outline:0}
.sb-service-section summary{position:relative}
.sb-help-popover{position:absolute;z-index:5;left:18px;right:44px;top:calc(100% - 4px);padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fffdf9;box-shadow:0 12px 32px rgba(61,47,29,.12);font-size:12px;line-height:1.45;color:var(--ink);font-weight:500}
.sb-field-hint{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.5}
.sb-week-row{position:relative}
.sb-week-row .w-state{min-width:72px;text-align:right;font-style:normal;transition:.18s}
.sb-week-row.is-open .w-state{color:var(--ok);font-weight:750}
.sb-week-row.is-closed .w-state{color:var(--muted)}
.sb-week-row.is-incomplete .w-state{color:var(--danger);font-weight:750}
.sb-week-row.is-incomplete input{border-color:#d79d9d;background:#fff9f9}
.sb-week-row .w-error{grid-column:2 / -1;color:var(--danger);font-size:11px;font-style:normal;margin-top:-4px}
@media(max-width:900px){.sb-week-row .w-state{display:none}.sb-week-row .w-error{display:block}.sb-help-popover{left:0;right:0}.sb-global-shortcut{display:none!important}}
.sb-week-row .w-error[hidden]{display:none!important}

/* v0.9.1 — éditeur Services guidé : disponibilités, ressources et exceptions */
.sb-service-editor-guide{margin:5px 0 0;color:#8a6b2d;font-size:11px;line-height:1.4}
.sb-setup-badge.is-ready{background:#e8f4ea;color:#347255;border-color:#d6e9da}
.sb-schedule-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.sb-schedule-intro>p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.sb-schedule-presets{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.sb-schedule-presets>span{font-size:9px;color:var(--muted);font-weight:700}.sb-schedule-presets button,.sb-quick-reasons button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font:inherit;font-size:9px;font-weight:750;color:var(--gold-dark);cursor:pointer}.sb-schedule-presets button:hover,.sb-quick-reasons button:hover,.sb-quick-reasons button.active{background:var(--soft);border-color:#d8b96f}
.sb-week-editor{display:flex;flex-direction:column;gap:7px}.sb-week-row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f1e7d8}.sb-week-row:last-child{border-bottom:0}.sb-week-day{display:flex;align-items:center;justify-content:space-between;gap:8px}.sb-week-day>strong{font-size:12px}.sb-day-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.sb-day-toggle input{width:16px;height:16px;accent-color:var(--gold)}.sb-day-toggle span{font-size:9px;font-weight:800;color:var(--muted)}.sb-week-row.is-open .sb-day-toggle span{color:#347255}.sb-week-row.is-incomplete .sb-day-toggle span{color:var(--danger)}.sb-week-times{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.sb-week-times[hidden]{display:none!important}.sb-week-times input{min-width:0}.sb-week-row .w-error{grid-column:2 / -1;margin:0;color:var(--danger);font-size:10px;font-style:normal}.sb-exceptions-link{margin-top:12px}
.sb-resource-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.sb-resource-option{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px 11px;cursor:pointer}.sb-resource-option:has(input:checked){border-color:#d6b25f;background:#fffaf0}.sb-resource-option input{width:17px;height:17px;accent-color:var(--gold);flex:0 0 auto}.sb-resource-option span{min-width:0}.sb-resource-option strong{display:block;font-size:11px}.sb-resource-option small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.sb-resource-option.is-inactive{opacity:.62}.sb-resource-selector .sb-inline-empty{grid-column:1/-1}
.sb-choice-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:4px 0 14px}.sb-choice-cards button{border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px;text-align:left;cursor:pointer}.sb-choice-cards button strong{display:block;font-size:12px}.sb-choice-cards button small{display:block;margin-top:4px;color:var(--muted);font-size:9.5px;line-height:1.4}.sb-choice-cards button.selected{border-color:#d2ad5d;background:#fffaf1}.sb-choice-cards button.selected.danger{border-color:#e3b7ad;background:#fff7f5}.sb-choice-cards button[data-kind="open"].selected{border-color:#b9dcc2;background:#f7fcf8}.sb-segmented{display:flex;gap:5px;padding:4px;margin:0 0 13px;border:1px solid var(--line);background:#f8f2e8;border-radius:13px}.sb-segmented button{flex:1;border:0;background:transparent;border-radius:10px;padding:8px 10px;font:inherit;font-size:10px;font-weight:750;color:var(--muted);cursor:pointer}.sb-segmented button.active{background:#fff;color:var(--ink);box-shadow:0 3px 12px rgba(50,38,24,.06)}.sb-label-optional{font-weight:500;color:var(--muted);font-size:9px}.sb-quick-reasons{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}
@media(max-width:700px){.sb-schedule-intro{align-items:flex-start;flex-direction:column}.sb-week-row{grid-template-columns:1fr;gap:8px;padding:10px 0}.sb-week-times{grid-template-columns:1fr auto 1fr}.sb-week-row .w-error{grid-column:1/-1}.sb-resource-selector{grid-template-columns:1fr}.sb-choice-cards{grid-template-columns:1fr}.sb-schedule-presets{width:100%}.sb-schedule-presets button{flex:1}.sb-service-editor-guide{max-width:220px}}

/* v0.9.2 — Planning v3 + ressources intelligentes */
.sb-planning-v3-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.sb-planning-dateblock{display:flex;align-items:center;gap:8px}.sb-planning-dateblock>div{display:flex;flex-direction:column;min-width:190px}.sb-planning-dateblock small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.sb-date-current{border:0;background:transparent;padding:2px 0;text-align:left;font-family:var(--serif);font-size:24px;font-weight:700;color:var(--ink);cursor:pointer}.sb-view-toggle-quiet{background:transparent;border:1px solid var(--line);padding:3px}.sb-view-toggle-quiet button{min-height:32px}
.sb-agenda-v3{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:auto;box-shadow:0 12px 34px rgba(61,47,29,.045)}.sb-agenda-grid-v3{display:grid;grid-template-columns:66px repeat(var(--cols),minmax(150px,1fr));min-width:max(820px,calc(66px + var(--cols)*150px));position:relative}.sb-agenda-grid-v3 .sb-agenda-corner,.sb-agenda-grid-v3 .sb-agenda-head{min-height:58px}.sb-agenda-head-v3{display:flex;align-items:center;gap:9px;padding:9px 10px}.sb-agenda-head-v3>div{min-width:0}.sb-agenda-head-v3 strong{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-agenda-head-v3 small{font-size:8.5px;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:600;margin-top:3px}.sb-resource-mini-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--gold-dark);font-weight:800;font-size:11px;flex:0 0 auto}.sb-agenda-grid-v3 .sb-agenda-time,.sb-agenda-grid-v3 .sb-agenda-cell{min-height:42px}.sb-agenda-grid-v3 .sb-agenda-time{padding-top:7px;font-size:10px}.sb-agenda-grid-v3 .sb-agenda-cell.blocked{background:#f7f4ef}.sb-agenda-grid-v3 .sb-agenda-cell.free:hover{background:#fcf7ed}.sb-free-hint{position:absolute;inset:5px auto auto 6px;font-size:8px;color:#b3aa9f}.sb-agenda-grid-v3 .sb-agenda-booking{inset:3px 4px auto 4px;min-height:34px;padding:6px 7px;border-radius:10px;height:calc(var(--span,1) * 42px - 6px)}.sb-agenda-grid-v3 .sb-agenda-booking strong{font-size:10.5px}.sb-agenda-grid-v3 .sb-agenda-booking small{font-size:8.5px}.sb-agenda-grid-v3 .sb-agenda-booking em{display:block;font-style:normal;font-size:8px;margin-top:3px;font-weight:800;opacity:.85}
.sb-agenda-mobile-v3{display:none}.sb-mobile-appointment,.sb-mobile-free{width:100%;display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px;text-align:left}.sb-mobile-appointment time,.sb-mobile-free time{font-size:11px;font-weight:800}.sb-mobile-appointment div,.sb-mobile-free div{min-width:0}.sb-mobile-appointment strong,.sb-mobile-free strong{display:block;font-size:12px}.sb-mobile-appointment span,.sb-mobile-free span{display:block;color:var(--muted);font-size:9.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-mobile-appointment em,.sb-mobile-free em{font-style:normal;font-size:8.5px;font-weight:800;padding:5px 7px;border-radius:999px;background:var(--soft);color:var(--gold-dark)}.sb-mobile-free{background:#fbfaf7}.sb-mobile-free em{background:#edf6e9;color:#456f3a}
.sb-team-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sb-team-day-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.sb-team-day-head{display:flex;align-items:center;gap:10px}.sb-team-day-head h3{margin:0;font-size:16px}.sb-team-day-head small{display:block;color:var(--muted);font-size:9.5px;margin-top:2px}.sb-team-day-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.sb-team-day-list button{display:grid;grid-template-columns:48px 1fr;gap:8px;text-align:left;border:0;background:var(--soft);border-radius:10px;padding:8px 10px}.sb-team-day-list time{font-weight:800;font-size:10px}.sb-team-day-list strong{display:block;font-size:11px}.sb-team-day-list small{display:block;color:var(--muted);font-size:9px;margin-top:1px}.sb-team-day-empty{margin-top:12px;color:var(--muted);font-size:10px;padding:12px;background:#faf8f4;border-radius:10px}
.sb-resource-requirement{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 12px;background:#faf8f4;border-radius:12px}.sb-resource-requirement label{font-size:10px;font-weight:800}.sb-resource-requirement select{min-width:190px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 10px}.sb-field-help{display:block;color:var(--muted);font-size:9px;margin-top:5px}
@media(max-width:900px){.sb-planning-v3-top{align-items:flex-start;flex-direction:column}.sb-planning-dateblock{width:100%}.sb-planning-dateblock>div{flex:1;min-width:0}.sb-date-current{font-size:20px}.sb-agenda-v3{display:none}.sb-agenda-mobile-v3{display:flex;flex-direction:column;gap:7px}.sb-team-day-grid{grid-template-columns:1fr}.sb-resource-requirement{align-items:flex-start;flex-direction:column}.sb-resource-requirement select{width:100%;min-width:0}}
.rr-service-row{display:flex!important;align-items:center;gap:7px}.rr-service-row span{flex:1}.rr-service-row small{font-size:8px;color:var(--muted)}.rr-service-row.is-incompatible{opacity:.45}.rr-service-row.is-incompatible small{color:#a45c55}

/* v0.9.3 — Espace cliente “Mon rendez-vous” */
.sb-manage-search-card{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow);text-align:center}.sb-manage-search-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--gold-dark);font-size:20px}.sb-manage-search-card h2{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0 0 8px}.sb-manage-search-card>p{color:var(--muted);font-size:13px;line-height:1.6;max-width:470px;margin:0 auto 20px}.sb-manage-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left}.sb-manage-help{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:10px}.sb-btn-full{width:100%}
.sb-customer-space{max-width:920px;margin:0 auto}.sb-customer-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:2px 2px 0}.sb-customer-hero h2{font-family:Georgia,serif;font-size:38px;font-weight:400;margin:6px 0}.sb-customer-hero p{margin:0;color:var(--muted);font-size:13px}.sb-customer-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.7fr);gap:16px;align-items:start}.sb-customer-main{display:flex;flex-direction:column;gap:14px}.sb-customer-actions{position:sticky;top:18px}.sb-customer-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 10px 28px rgba(61,47,29,.045)}.sb-customer-card h3{font-family:Georgia,serif;font-size:21px;font-weight:400;margin:0 0 13px}.sb-customer-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.sb-customer-card-head h3{margin:0}.sb-customer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #f0e7d8;font-size:13px}.sb-customer-row:last-child{border-bottom:0}.sb-customer-row span{color:var(--muted)}.sb-customer-row strong{text-align:right}.sb-customer-total{padding-top:13px;font-size:14px}.sb-customer-total strong{color:var(--gold-dark)}.sb-payment-progress{height:7px;background:#f1eadf;border-radius:99px;overflow:hidden;margin:14px 0 5px}.sb-payment-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#d5b566);border-radius:inherit}.sb-customer-actions .sb-btn{margin-bottom:8px}.sb-text-action{width:100%;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--gold-dark);font-size:12px;font-weight:750;padding:10px 8px;cursor:pointer;text-decoration:none}.sb-danger-link{color:var(--danger)}.sb-customer-locked{margin:4px 0 8px;padding:11px 12px;background:#f7f4ef;border-radius:12px;color:var(--muted);font-size:11px;line-height:1.5}.sb-customer-policy{margin:10px 2px 0;color:var(--muted);font-size:10px;line-height:1.55}.sb-customer-history{padding-bottom:12px}.sb-customer-history-row{display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:start;padding:7px 0}.sb-customer-history-row i{width:8px;height:8px;border-radius:50%;background:var(--gold);margin-top:5px;box-shadow:0 0 0 4px #f8f1e3}.sb-customer-history-row strong{display:block;font-size:12px}.sb-customer-history-row small{display:block;color:var(--muted);font-size:9.5px;margin-top:2px}.sb-reschedule-card{margin-top:16px}.sb-reschedule-card .sb-customer-card-head{margin-bottom:14px}.sb-error small{display:block;margin-top:5px;color:inherit;opacity:.8}
@media(max-width:760px){.sb-narrow{width:min(100% - 20px,760px)}.sb-intro{margin:6px auto 22px}.sb-intro span{font-size:9px}.sb-intro h1{font-size:36px;margin:5px 0 7px}.sb-intro p{font-size:12px;line-height:1.55;padding:0 8px}.sb-manage-search-card{padding:22px 17px;border-radius:20px}.sb-manage-fields{grid-template-columns:1fr;gap:0}.sb-customer-hero{align-items:flex-start;flex-direction:column;gap:10px}.sb-customer-hero h2{font-size:31px}.sb-customer-grid{grid-template-columns:1fr}.sb-customer-actions{position:static}.sb-customer-card{padding:17px;border-radius:17px}.sb-customer-row{font-size:12px}.sb-customer-actions .sb-btn{min-height:46px}.sb-customer-policy{padding:0 6px}.sb-reschedule-card .sb-date-strip{margin-inline:-4px;padding-inline:4px}.sb-customer-history-row{padding:8px 0}}

/* v0.9.4 — service lifecycle */
.sb-service-danger{margin:18px 0 6px;padding-top:16px;border-top:1px solid rgba(151,94,79,.16);display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.sb-service-danger small{color:#8a7f74;max-width:520px;line-height:1.45}.sb-danger-link{color:#a94f46!important}.sb-btn-danger{background:#a94f46!important;border-color:#a94f46!important;color:#fff!important}.sb-warning-box{padding:12px 14px;border-radius:14px;background:#fff6e8;border:1px solid #edd6a2;color:#7d5c20;margin:14px 0}.sb-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}@media(max-width:640px){.sb-modal-actions{flex-direction:column-reverse}.sb-modal-actions .sb-btn{width:100%}.sb-service-danger{display:block}.sb-service-danger small{display:block;margin-top:8px}}

/* v0.9.5 — Espace cliente connecté */
.sb-known-customer{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:12px 0 18px;border:1px solid #ead9bc;border-radius:16px;background:#fbf7ef}.sb-known-customer>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e5f3ea;color:#28754c;font-weight:800}.sb-known-customer div{min-width:0;flex:1}.sb-known-customer strong,.sb-known-customer small{display:block}.sb-known-customer small{margin-top:3px;color:#847a70;white-space:normal}.sb-known-customer a{font-weight:700;color:#8f681b;text-decoration:none;font-size:13px}.sb-slot-hint{display:block;margin-top:3px;font-size:9px;color:#847a70;font-weight:600}
.sb-account-wrap{max-width:1040px}.sb-account-login-card{max-width:620px;margin:0 auto;padding:28px;background:#fffefa;border:1px solid #e7d7b8;border-radius:24px;box-shadow:0 18px 45px rgba(61,47,29,.06)}.sb-account-login-card p{margin:0 0 16px}.sb-account-login-card label{display:block;font-weight:700;margin-bottom:6px}.sb-account-login-card input[type=text],.sb-account-login-card input[type=password]{width:100%;box-sizing:border-box;border:1px solid #e3cfaa;border-radius:14px;padding:14px 16px;background:#fff;font-size:16px}.sb-account-login-card input[type=submit]{border:0;border-radius:999px;background:#bd8a1c;color:white;font-weight:800;padding:14px 24px;cursor:pointer}.sb-account-login-card .login-remember label{font-weight:500}.sb-account-login-links{display:flex;justify-content:space-between;gap:16px;margin-top:20px;font-size:13px}.sb-account-login-links a{color:#7c6f62}
.sb-account-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:20px 0 34px}.sb-account-hero span{display:block;color:#a17822;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800}.sb-account-hero h1{font-family:Georgia,serif;font-size:46px;font-weight:400;margin:6px 0 8px}.sb-account-hero p{margin:0;color:#847a70}.sb-account-section{margin:0 0 30px}.sb-account-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sb-account-section-head h2{font-family:Georgia,serif;font-weight:400;font-size:28px;margin:0}.sb-account-section-head span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#f3eadb;color:#8f681b;font-weight:800;font-size:12px}.sb-account-list{display:grid;gap:12px}.sb-account-booking{display:flex;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid #e7d7b8;border-radius:18px;background:#fffefa}.sb-account-booking h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:7px 0 3px}.sb-account-booking p{margin:0 0 6px;color:#847a70}.sb-account-booking strong,.sb-account-booking small{display:block}.sb-account-booking small{margin-top:4px;color:#847a70}.sb-account-booking-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:9px;min-width:170px}.sb-btn-small{padding:9px 16px!important;font-size:12px!important}.sb-account-empty{padding:24px;border:1px dashed #dfcfb3;border-radius:18px;text-align:center;color:#847a70}.sb-account-empty strong{color:#3b332b}.sb-account-footer-actions{display:flex;gap:18px;justify-content:center;margin:24px 0 10px;font-size:13px}.sb-account-footer-actions a{color:#7c6f62}
@media(max-width:720px){.sb-account-hero{align-items:flex-start;flex-direction:column}.sb-account-hero h1{font-size:36px}.sb-account-booking{padding:17px;flex-direction:column}.sb-account-booking-side{align-items:flex-start;min-width:0}.sb-account-login-card{padding:20px 16px}.sb-account-login-links{flex-direction:column}.sb-known-customer{align-items:flex-start}.sb-known-customer a{white-space:nowrap}.sb-account-footer-actions{flex-direction:column;align-items:center}}


/* v0.9.7 - polish final + Assistante */
.sb-assistant-shell{max-width:920px;margin:0 auto;background:#fffdf9;border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 60px rgba(70,52,33,.07);overflow:hidden}
.sb-assistant-head{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1px solid var(--line)}.sb-assistant-head>div{display:flex;gap:14px;align-items:center}.sb-assistant-head h2{margin:0}.sb-assistant-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.sb-assistant-dot{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#f9efd9;color:var(--gold)}.sb-assistant-beta{font-size:11px;font-weight:800;background:#f6efe3;padding:7px 10px;border-radius:999px}
.sb-assistant-chat{min-height:350px;max-height:55vh;overflow:auto;padding:24px;background:linear-gradient(#fffdf9,#fcf7ef)}.sb-assistant-message{max-width:78%;margin:0 0 14px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line)}.sb-assistant-message.is-user{margin-left:auto;background:#2e2923;color:#fff;border-color:#2e2923}.sb-assistant-message p{margin:0;line-height:1.5}.sb-assistant-message small{display:block;margin-top:9px;color:var(--muted)}
.sb-assistant-cards{display:grid;gap:8px;margin-top:12px}.sb-assistant-card{text-align:left;border:1px solid var(--line);background:#fffaf1;border-radius:14px;padding:11px 12px;display:grid;gap:2px}.sb-assistant-card span{font-size:12px;color:var(--muted)}.sb-assistant-card em{font-size:12px;color:#9a6d0b;font-style:normal;font-weight:700}.sb-assistant-examples{display:flex;gap:8px;flex-wrap:wrap;padding:0 24px 14px}.sb-assistant-examples button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px}.sb-assistant-compose{display:flex;gap:10px;padding:16px 24px 10px;border-top:1px solid var(--line)}.sb-assistant-compose input{flex:1;min-width:0;border:1px solid var(--line);border-radius:16px;padding:13px 15px}.sb-assistant-note{display:block;padding:0 24px 20px;color:var(--muted)}
.sb-agenda-head-v3 strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.sb-agenda-cell.blocked{background:#f7f4ee!important;background-image:none!important}
@media(max-width:780px){
 body.sb-booking-experience .sb-top{padding:14px 18px 8px}body.sb-booking-experience .sb-brand img{width:92px}body.sb-booking-experience .sb-intro{padding:10px 18px 18px;text-align:left}body.sb-booking-experience .sb-intro h1{font-size:36px;line-height:1.04;margin:7px 0 8px}body.sb-booking-experience .sb-intro p{font-size:15px;line-height:1.5}
 body.sb-booking-experience .sb-service-grid{grid-template-columns:1fr!important;gap:12px!important;padding:0 14px}body.sb-booking-experience .sb-service-card{min-height:150px!important;padding:20px!important;border-radius:22px!important}body.sb-booking-experience .sb-service-card h2,body.sb-booking-experience .sb-service-card h3{font-size:24px!important}body.sb-booking-experience .sb-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
 .sb-account-wrap{padding:14px 14px 100px!important}.sb-account-hero{padding:20px!important;border-radius:22px!important;display:grid!important;gap:14px!important}.sb-account-booking{grid-template-columns:1fr!important;gap:14px!important}.sb-account-booking-side{align-items:flex-start!important;display:flex!important;flex-wrap:wrap!important}
 .sb-assistant-shell{border-radius:20px}.sb-assistant-head{padding:18px}.sb-assistant-chat{padding:16px;min-height:320px;max-height:52vh}.sb-assistant-message{max-width:92%}.sb-assistant-examples{padding:0 16px 12px;overflow-x:auto;flex-wrap:nowrap}.sb-assistant-examples button{white-space:nowrap}.sb-assistant-compose{padding:12px 16px}
 .sb-planning-v3-top{gap:10px!important}.sb-planning-dateblock{width:100%;justify-content:space-between}.sb-view-toggle{width:100%}.sb-view-toggle button{flex:1}.sb-agenda-mobile-v3{display:grid!important;gap:10px!important}.sb-mobile-appointment,.sb-mobile-free{border-radius:16px!important;padding:13px 14px!important}
}

/* v0.9.8 final coherence polish */
.sb-agenda-grid-v3{grid-template-columns:66px repeat(var(--cols),minmax(178px,1fr));min-width:max(900px,calc(66px + var(--cols)*178px))}.sb-agenda-head-v3 strong{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15}.sb-free-hint{font-size:8.5px;color:#9a9187}.sb-warning-box strong{display:inline-block;margin-bottom:2px}.sb-warning-box span{font-size:12px;line-height:1.45}.sb-assistant-compose button{flex:0 0 auto}.sb-assistant-message.is-loading{opacity:.7}
@media(max-width:780px){.sb-assistant-shell{min-height:calc(100dvh - 150px);display:flex;flex-direction:column}.sb-assistant-head{padding:14px 14px 12px}.sb-assistant-head h2{font-size:19px}.sb-assistant-head p{font-size:10px}.sb-assistant-dot{width:34px;height:34px;border-radius:11px}.sb-assistant-chat{flex:1;min-height:0;max-height:none;padding:12px}.sb-assistant-message{max-width:88%;padding:11px 12px;font-size:13px}.sb-assistant-examples{padding:8px 12px;gap:6px;border-top:1px solid var(--line)}.sb-assistant-examples button{font-size:10px;padding:7px 9px}.sb-assistant-compose{padding:10px 12px 6px;display:grid;grid-template-columns:1fr 42px;gap:7px}.sb-assistant-compose input{padding:11px 12px;font-size:13px}.sb-assistant-compose .sb-btn{width:42px;height:42px;min-height:42px;padding:0;font-size:0;border-radius:50%}.sb-assistant-compose .sb-btn:after{content:'➜';font-size:16px}.sb-assistant-note{padding:0 12px 12px;font-size:9px}.sb-notification-list article{padding:12px}.sb-notification-list strong{font-size:11px}.sb-notification-list p,.sb-notification-list small{font-size:9px}}
/* Auth propriétaire - aucun composant WordPress natif visible */
.sb-auth-form{display:grid;gap:10px}.sb-auth-form label{font-size:13px;font-weight:750;color:var(--ink)}.sb-auth-form input[type=text],.sb-auth-form input[type=password]{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 15px;outline:none;font-size:16px}.sb-auth-form input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(189,145,48,.12)}.sb-auth-form .sb-btn{margin-top:6px;width:100%}.sb-auth-remember{display:flex!important;align-items:center;gap:8px;font-weight:500!important;color:var(--muted)!important}.sb-auth-remember input{width:auto!important}.sb-account-login-card .sb-notice,.sb-account-login-card .sb-error,.sb-login-card .sb-error{margin:0 0 16px}
/* Catalogue officiel v0.10.1 */
.sb-prestation-options{display:grid;gap:12px}.sb-prestation-option{text-align:left;display:grid!important;gap:5px;padding:16px!important}.sb-prestation-option strong{font-size:15px}.sb-prestation-option span{font-size:13px;line-height:1.45;color:#766d65;font-weight:400}.sb-prestation-option small{font-size:12px;color:#9b742b}.sb-toolbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sb-prestation-editor{display:block!important;padding:16px!important;border:1px solid rgba(70,54,37,.11)!important;border-radius:14px;margin-bottom:12px;background:#fff}.sb-prestation-description{margin-top:10px}.sb-prestation-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-top:10px}.sb-prestation-editor textarea{width:100%;resize:vertical}
@media(max-width:720px){.sb-toolbar-actions{width:100%}.sb-toolbar-actions .sb-btn{flex:1 1 auto}.sb-prestation-numbers{grid-template-columns:1fr 1fr}.sb-prestation-numbers .sb-switch{grid-column:1/-1}}


/* v0.10.3 — Catalogue public visuel */
.sb-category-grid{align-items:stretch}
.sb-service-card-photo{padding:0!important;overflow:hidden;display:flex!important;flex-direction:column!important;min-height:330px!important;text-align:left!important;background:#fffefa!important;box-shadow:0 18px 45px rgba(66,49,25,.07)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}
.sb-service-card-photo:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(66,49,25,.13)!important;border-color:#c99a34!important}
.sb-service-photo{position:relative;display:block;width:100%;height:190px;overflow:hidden;background:#eee4d5}
.sb-service-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.sb-service-card-photo:hover .sb-service-photo img{transform:scale(1.035)}
.sb-service-photo i{position:absolute;inset:0;background:linear-gradient(to top,rgba(45,35,24,.26),transparent 58%);pointer-events:none}
.sb-service-card-copy{display:flex;flex:1;flex-direction:column;padding:22px 26px 24px}
.sb-service-card-copy .icon{margin:0 0 12px!important}
.sb-service-card-copy h3{margin:0 0 9px!important;font-size:27px!important;line-height:1.08}
.sb-service-card-copy p{margin:0 0 20px!important;color:#847a70!important}
.sb-service-card-copy .meta{margin-top:auto!important}
.sb-selected-service-photo{height:180px;margin:-1px -1px 22px;overflow:hidden;border-radius:20px 20px 14px 14px;position:relative;background:#eee4d5}
.sb-selected-service-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sb-selected-service-photo span{position:absolute;inset:0;background:linear-gradient(to top,rgba(40,31,22,.18),transparent 65%)}
@media(max-width:760px){
 .sb-category-grid{grid-template-columns:1fr!important;gap:14px!important}
 .sb-service-card-photo{min-height:0!important}
 .sb-service-photo{height:168px}
 .sb-service-card-copy{padding:18px 19px 20px}
 .sb-service-card-copy h3{font-size:24px!important}
 .sb-selected-service-photo{height:150px;margin-bottom:17px}
}

/* Auth cliente intégré au tunnel */
.sb-public-auth-links{display:flex;align-items:center;gap:14px}.sb-public-auth-links a{font-weight:650}.sb-public-auth-links .sb-auth-create{border:1px solid var(--line);padding:9px 14px;border-radius:999px;background:#fffefa;color:var(--gold-dark)}
.sb-booking-account-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.sb-booking-account-head p{color:var(--muted);font-size:13px;margin:6px 0}.sb-booking-account-head>a{font-size:12px;font-weight:800;color:var(--gold-dark);white-space:nowrap}.sb-mini-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark);font-size:9px;font-weight:800}.sb-password-input{position:relative}.sb-password-input input{padding-right:82px!important}.sb-password-input button{position:absolute;right:7px;top:7px;bottom:7px;border:0;background:var(--soft);border-radius:9px;color:var(--gold-dark);font-size:11px;font-weight:800;padding:0 10px;cursor:pointer}.sb-password-rules{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.sb-password-rules small{border:1px solid #eadfd0;border-radius:999px;padding:4px 7px;color:#9b8e80;font-size:9px}.sb-password-rules small.ok{background:#edf8f1;color:#26704a;border-color:#cce8d8}
@media(max-width:620px){.sb-public-auth-links{gap:8px}.sb-public-auth-links .sb-auth-create{display:none}.sb-booking-account-head{display:block}.sb-booking-account-head>a{display:inline-block;margin-top:8px}.sb-password-rules{gap:4px}}

/* Studio simplification v0.10.6 */
.sb-service-actions,.sb-resource-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sb-service-actions .sb-btn{min-width:140px}.sb-setup-badge.is-online{background:#e7f5ec;color:#247548}.sb-resource-card.is-disabled{opacity:.72}.sb-resource-actions .sb-danger-link{margin-left:auto}.sb-btn-primary{background:#bd8d23;color:#fff;border-color:#bd8d23}.sb-services-toolbar>div:first-child,.sb-toolbar>div:first-child{max-width:650px}@media(max-width:700px){.sb-service-actions,.sb-resource-actions{display:grid;grid-template-columns:1fr 1fr}.sb-resource-actions .sb-danger-link{grid-column:1/-1;margin-left:0}.sb-service-actions .sb-btn{min-width:0}}
/* v0.10.7 — ressources officielles */
.sb-resource-days{margin:10px 0 2px;padding:8px 10px;border-radius:10px;background:#fbf6ed;color:#7b6c57;font-size:10px;line-height:1.4}
.sb-weekday-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.sb-weekday-pills label{position:relative}.sb-weekday-pills input{position:absolute;opacity:0;pointer-events:none}.sb-weekday-pills span{display:inline-flex;min-width:38px;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 9px;font-size:10px;font-weight:700;cursor:pointer}.sb-weekday-pills input:checked+span{border-color:var(--gold);background:#fff7e8;color:var(--gold-dark)}


/* v0.10.13 — espace cliente : navigation et actions alignées */
.sb-top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.sb-top-actions .sb-top-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  color:var(--muted);
  font-size:13px;
  line-height:1;
  white-space:nowrap;
}
.sb-top-actions .sb-top-link:hover{background:#f6efe3;color:var(--gold-dark)}
.sb-top-actions .sb-logout-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fffefa;
  color:var(--gold-dark);
  font-size:13px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 5px 14px rgba(61,47,29,.035);
}
.sb-top-actions .sb-logout-link:hover{border-color:var(--gold);background:#fff9e8}
.sb-logout-ic{font-size:14px;line-height:1;transform:rotate(180deg)}

.sb-customer-actions .sb-customer-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.sb-customer-actions .sb-customer-card h3{margin-bottom:14px}
.sb-customer-actions .sb-customer-locked{width:100%;margin:0 0 10px}
.sb-customer-actions .sb-text-action{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  padding:10px 12px;
  margin:0;
  border-top:1px solid #f0e7d8;
  border-radius:0;
  font-size:12.5px;
  line-height:1.35;
}
.sb-customer-actions .sb-text-action:first-of-type{border-top:0}
.sb-customer-actions a.sb-text-action{box-sizing:border-box}
.sb-customer-actions .sb-text-action:hover{background:#fbf7ef;color:var(--gold-dark)}
.sb-customer-actions .sb-danger-link{color:var(--danger)}
.sb-customer-actions .sb-btn.sb-btn-full{width:100%;min-height:44px;margin:0 0 10px}
.sb-customer-policy{margin-top:12px!important;padding-top:10px;border-top:1px solid #eee3d2}

@media(max-width:760px){
  .sb-top{height:auto;min-height:72px}
  .sb-top-actions{gap:6px;flex-wrap:nowrap}
  .sb-top-actions .sb-top-link{display:none}
  .sb-top-actions .sb-logout-link{min-height:36px;padding:8px 12px;font-size:12px}
  .sb-customer-actions .sb-text-action{min-height:44px;padding:11px 10px}
}

/* ========================================================================
   v0.10.14 — Administration & fiabilité
   ======================================================================== */
.sb-sidebar{display:flex;flex-direction:column;min-height:100vh}
.sb-sidebar>nav{flex:1;overflow:auto;padding-bottom:12px}
.sb-sidebar [data-view="settings"]{position:sticky;bottom:0;background:#fffaf3;z-index:3;border-top:1px solid rgba(185,138,40,.18);margin-top:8px;box-shadow:0 -8px 18px rgba(80,60,30,.04)}
.sb-inline-more{position:relative;margin-left:auto}
.sb-inline-more>summary{list-style:none;cursor:pointer;width:42px;height:42px;border:1px solid var(--sb-border,#e7d7b7);border-radius:14px;display:grid;place-items:center;font-weight:800;background:#fff;letter-spacing:2px}
.sb-inline-more>summary::-webkit-details-marker{display:none}
.sb-inline-more[open]>button{position:absolute;right:0;top:48px;z-index:5;min-width:180px;background:#fff;border:1px solid var(--sb-border,#e7d7b7);border-radius:12px;padding:11px 14px;box-shadow:0 14px 28px rgba(60,40,20,.12);text-align:left}
.sb-rdv-more-actions .sb-danger-link{margin-top:6px;padding:9px 2px;text-align:left}
.sb-notification-list article{position:relative;display:flex;align-items:flex-start;gap:14px}
.sb-notification-copy{flex:1;min-width:0}
.sb-notification-more{margin-left:auto;flex:0 0 auto}
.sb-audience-card{margin:20px 0}
.sb-audience-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}
.sb-audience-kpis>div{background:#fbf7f0;border:1px solid rgba(185,138,40,.15);border-radius:16px;padding:15px}
.sb-audience-kpis small{display:block;color:#8c8175;font-size:12px;margin-bottom:8px}
.sb-audience-kpis strong{font-family:Georgia,serif;font-size:25px;color:#2d2924}
.sb-live-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#eef8ef;color:#3f7147;font-size:12px;font-weight:700}
.sb-live-pill i{width:7px;height:7px;border-radius:50%;background:#5fa56a;box-shadow:0 0 0 4px rgba(95,165,106,.12)}
.sb-traffic-chart{height:180px;display:grid;grid-template-columns:repeat(7,1fr);gap:12px;align-items:end;margin:22px 0 6px;padding:10px 6px 0;border-bottom:1px solid rgba(185,138,40,.18)}
.sb-traffic-day{text-align:center;display:grid;grid-template-rows:120px 20px 20px;gap:3px;align-items:end}
.sb-traffic-bar{height:120px;display:flex;align-items:flex-end;justify-content:center}
.sb-traffic-bar i{display:block;width:55%;min-height:5px;border-radius:9px 9px 2px 2px;background:linear-gradient(180deg,#c99526,#e6c271)}
.sb-traffic-day strong{font-size:12px}.sb-traffic-day small{font-size:11px;color:#8a8075;text-transform:capitalize}
.sb-privacy-note{font-size:12px;margin-top:12px}
.sb-team-access-list,.sb-backup-list,.sb-trash-list{display:grid;gap:10px;margin-top:16px}
.sb-team-access-card,.sb-backup-list>div,.sb-trash-list>div{border:1px solid rgba(185,138,40,.2);border-radius:16px;background:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.sb-team-access-card>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}.sb-team-access-card strong{display:block}.sb-team-access-card small{display:block;color:#8b8176;margin-top:3px}.sb-team-access-actions{display:flex;align-items:center;gap:10px}.sb-team-access-actions>span,.sb-team-access-actions>em{font-size:12px;color:#8b8176;font-style:normal}
.sb-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 18px}.sb-permission-grid label{display:flex;align-items:center;gap:9px;border:1px solid rgba(185,138,40,.18);border-radius:12px;padding:10px 12px;background:#fff;cursor:pointer}.sb-permission-grid input{accent-color:#c28f1b}
.sb-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.sb-data-block+.sb-data-block{margin-top:28px;padding-top:24px;border-top:1px solid rgba(185,138,40,.18)}
.sb-backup-list>div span,.sb-trash-list>div>span{min-width:0}.sb-backup-list strong,.sb-trash-list strong{display:block}.sb-backup-list small,.sb-trash-list small{display:block;color:#8b8176;margin-top:3px}.sb-backup-list em{font-style:normal;color:#8b8176;font-size:12px}.sb-trash-list>div>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sb-settings-tabs{align-items:stretch}.sb-settings-tabs button{white-space:nowrap}

@media(max-width:900px){
 .sb-audience-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-audience-kpis>div:last-child{grid-column:1/-1}
 .sb-traffic-chart{gap:6px}.sb-traffic-bar i{width:70%}
 .sb-permission-grid{grid-template-columns:1fr}.sb-team-access-card,.sb-trash-list>div{align-items:flex-start;flex-direction:column}.sb-team-access-actions{width:100%;justify-content:space-between}
 .sb-settings-tabs{overflow-x:auto;display:flex;scrollbar-width:none}.sb-settings-tabs::-webkit-scrollbar{display:none}
}


/* v0.10.17 — réservation rapide, sans compte obligatoire. Sélecteurs volontairement scopés au public. */
#sb-booking-app .sb-public-auth-links{display:flex;align-items:center;gap:10px}
#sb-booking-app .sb-public-login,#sb-booking-app .sb-public-portal{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 15px;border:1px solid rgba(189,145,48,.34);border-radius:999px;background:rgba(255,255,255,.75);color:var(--gold-dark);font-weight:700;white-space:nowrap;transition:.18s ease}#sb-booking-app .sb-public-portal:hover{background:#fff8e9;border-color:rgba(189,145,48,.55)}#sb-booking-app .sb-public-portal-admin,#sb-booking-app .sb-public-portal-studio{color:var(--ink);border-color:rgba(47,41,35,.16);background:rgba(255,255,255,.82)}
#sb-booking-app .sb-booking-fast-head{margin-bottom:18px}
#sb-booking-app .sb-required-star{color:var(--danger)}
#sb-booking-app .sb-booking-note{margin:2px 0 16px;border:1px solid #eee3d3;border-radius:14px;background:#fffdf9;overflow:hidden}
#sb-booking-app .sb-booking-note summary{cursor:pointer;padding:13px 15px;font-size:13px;font-weight:700;color:#675d53;list-style:none}
#sb-booking-app .sb-booking-note summary::-webkit-details-marker{display:none}
#sb-booking-app .sb-booking-note summary span{font-weight:400;color:var(--muted)}
#sb-booking-app .sb-booking-note[open] summary{border-bottom:1px solid #f0e7da}
#sb-booking-app .sb-booking-note .sb-field{padding:12px 14px 0;margin:0}
@media(max-width:720px){#sb-booking-app .sb-booking-account-head{align-items:flex-start;gap:8px}#sb-booking-app .sb-booking-account-head>a{font-size:12px;white-space:nowrap}}


/* v0.10.18 — sidebar desktop fiable : Paramètres toujours visible, sans toucher au layout global */
@media (min-width:901px){
  .sb-studio .sb-sidebar{
    top:0;
    bottom:0;
    height:100vh;
    min-height:0;
    overflow:hidden;
    padding-bottom:0;
  }
  .sb-studio .sb-sidebar>nav{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    padding:4px 0 16px;
    scrollbar-width:thin;
  }
  .sb-studio .sb-sidebar>nav [data-view="settings"]{position:static}
  .sb-studio .sb-sidebar-fixed{
    flex:0 0 auto;
    margin:0 -20px;
    padding:14px 20px 18px;
    background:#fff;
    border-top:1px solid rgba(185,138,40,.20);
    box-shadow:0 -10px 24px rgba(61,47,29,.035);
  }
  .sb-studio .sb-sidebar-fixed .sb-nav-group{
    display:block;
    margin:0 10px 8px;
  }
  .sb-studio .sb-sidebar-fixed .sb-sidebar-settings{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 13px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:var(--muted);
    text-align:left;
    cursor:pointer;
  }
  .sb-studio .sb-sidebar-fixed .sb-sidebar-settings:hover{background:#fbf6ed;color:var(--gold-dark)}
  .sb-studio .sb-sidebar-fixed .sb-sidebar-settings.active{background:var(--soft);color:var(--gold-dark);font-weight:750}
  .sb-studio .sb-sidebar-fixed .sb-logout{
    display:block;
    width:100%;
    margin:8px 0 0;
    padding:11px 13px 0;
    border-top:1px solid rgba(185,138,40,.14);
    color:var(--muted);
    font-size:13px;
  }
}


/* ==========================================================================\n   v0.11.0 — Consolidation visuelle production\n   Objectif : une seule grammaire UI, desktop + mobile, sans fuite CSS.\n   ========================================================================== */

/* --- Design tokens complémentaires --- */
:root{
  --sb-radius-sm:12px;
  --sb-radius-md:16px;
  --sb-radius-lg:20px;
  --sb-shadow-sm:0 5px 16px rgba(61,47,29,.045);
  --sb-shadow-md:0 12px 32px rgba(61,47,29,.065);
  --sb-focus:0 0 0 3px rgba(189,145,48,.14);
}

/* --- Studio : cadre global fiable --- */
@media (min-width:901px){
  .sb-studio .sb-sidebar{width:272px;padding:22px 18px 0}
  .sb-studio .sb-studio-main{margin-left:272px;width:calc(100% - 272px);padding:30px 34px 56px;min-width:0}
  .sb-studio .sb-studio-header,
  .sb-studio #sb-studio-root{width:min(1240px,100%);margin-left:auto;margin-right:auto}
}
.sb-studio #sb-studio-root{min-width:0}
.sb-studio .sb-studio-header{align-items:flex-start;gap:18px}
.sb-studio .sb-studio-header h1{letter-spacing:-.025em}
.sb-studio .sb-studio-header-actions{padding-top:8px;flex-wrap:wrap;justify-content:flex-end}
.sb-studio .sb-header-link{min-height:36px;padding:8px 10px;border-radius:10px;transition:.15s ease}
.sb-studio .sb-header-link:hover{background:rgba(255,255,255,.62)}

/* --- Sidebar : densité, hiérarchie, footer stable --- */
.sb-studio .sb-sidebar-brand{padding:0 8px 16px;margin-bottom:9px}
.sb-studio .sb-sidebar-brand img{width:66px;height:52px}
.sb-studio .sb-sidebar>nav{gap:1px}
.sb-studio .sb-nav-group{padding:14px 12px 5px;font-size:8.5px;letter-spacing:.16em}
.sb-studio .sb-sidebar button{min-height:40px;padding:9px 12px;border-radius:11px;display:flex;align-items:center;gap:1px;transition:background .14s ease,color .14s ease}
.sb-studio .sb-sidebar button .ic{flex:0 0 18px;margin-right:7px;opacity:.72}
.sb-studio .sb-sidebar button.active{box-shadow:inset 0 0 0 1px rgba(189,145,48,.08)}
.sb-studio .sb-sidebar .sb-nav-future em{margin-left:auto}
.sb-studio .sb-sidebar-fixed{border-top-color:rgba(189,145,48,.16)!important}
.sb-studio .sb-sidebar-fixed .sb-sidebar-settings{min-height:44px;border-radius:12px!important}
.sb-studio .sb-sidebar-fixed .sb-logout{min-height:40px;display:flex!important;align-items:center;padding:10px 13px!important;margin-top:8px!important}

/* --- Cartes, tableaux, panneaux : même langage partout --- */
.sb-studio .sb-cardbox,
.sb-studio .sb-kpi,
.sb-studio .sb-table,
.sb-studio .sb-crm-card,
.sb-studio .sb-resource-card,
.sb-studio .sb-service-row,
.sb-studio .sb-team-day-card,
.sb-studio .sb-team-access-card,
.sb-studio .sb-settings-panel,
.sb-studio .sb-notification-list article{
  border-color:rgba(189,145,48,.24);
  box-shadow:var(--sb-shadow-sm);
}
.sb-studio .sb-cardbox{border-radius:var(--sb-radius-lg);padding:20px 21px}
.sb-studio .sb-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.sb-studio .sb-section-head>div{min-width:0}
.sb-studio .sb-section-head h3{margin:2px 0 5px;font-size:23px;line-height:1.12}
.sb-studio .sb-section-head p{max-width:610px;margin:4px 0 0;line-height:1.55}
.sb-studio .sb-eyebrow{font-size:9px;letter-spacing:.14em}
.sb-studio .sb-muted{color:var(--muted);line-height:1.55}

/* --- Boutons Studio : hiérarchie nette, pas de gros boutons ronds --- */
.sb-studio .sb-btn{
  border-radius:13px;
  min-height:42px;
  padding:10px 16px;
  font-size:12px;
  font-weight:780;
  box-shadow:0 6px 14px rgba(157,113,26,.10);
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;
}
.sb-studio .sb-btn:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(157,113,26,.15)}
.sb-studio .sb-btn:active{transform:translateY(0)}
.sb-studio .sb-btn-secondary,
.sb-studio .sb-btn-quiet{
  background:#fff;
  color:var(--gold-dark);
  border:1px solid rgba(189,145,48,.52);
  box-shadow:none;
}
.sb-studio .sb-btn-quiet:hover,.sb-studio .sb-btn-secondary:hover{background:#fffaf0;border-color:var(--gold)}
.sb-studio .sb-btn-danger{background:#a64c47;color:#fff;box-shadow:none}
.sb-studio .sb-link-btn{border-radius:10px}
.sb-studio .sb-icon-btn{border-radius:12px}
.sb-studio .sb-team-add-btn{white-space:nowrap;align-self:center;padding-inline:15px}
.sb-studio .sb-team-add-btn span{font-size:15px;line-height:1}

/* --- Inputs / selects --- */
.sb-studio .sb-field{gap:7px;margin-bottom:15px}
.sb-studio .sb-field label{font-size:12px}
.sb-studio .sb-field input,.sb-studio .sb-field select,.sb-studio .sb-field textarea,
.sb-studio .sb-search,.sb-studio .sb-filter-select{
  border-color:rgba(189,145,48,.34);
  border-radius:13px;
}
.sb-studio .sb-field input,.sb-studio .sb-field select,.sb-studio .sb-field textarea{min-height:46px;background:#fffefa}
.sb-studio .sb-field textarea{line-height:1.5;resize:vertical}
.sb-studio .sb-field input:focus,.sb-studio .sb-field select:focus,.sb-studio .sb-field textarea:focus{outline:none;border-color:var(--gold);box-shadow:var(--sb-focus)}
.sb-studio .sb-field-help{font-size:10px;line-height:1.45}

/* --- Dashboard --- */
.sb-studio .sb-kpis{gap:12px}
.sb-studio .sb-kpi{border-radius:16px;padding:17px 18px;background:rgba(255,255,255,.72)}
.sb-studio .sb-kpi small{font-size:11px;line-height:1.3}
.sb-studio .sb-kpi strong{font-size:28px;line-height:1.05}
.sb-studio .sb-dashboard-grid{gap:14px}
.sb-studio .sb-feed-item{padding:9px 0}

/* --- Rendez-vous --- */
.sb-studio .sb-rdv-toolbar{gap:9px}
.sb-studio .sb-rdv-search{min-height:46px}
.sb-studio .sb-rdv-filter-toggle,.sb-studio .sb-filter-select{min-height:44px;background:#fff}
.sb-studio .sb-rdv-datebar{margin:8px 0 14px}
.sb-studio .sb-rdv-filter-row{gap:6px}
.sb-studio .sb-rdv-filter-row button{min-height:38px;padding:8px 13px;border-radius:999px}
.sb-studio .sb-table{border-radius:18px;overflow:hidden}
.sb-studio .sb-table th{font-size:11px;padding:13px 15px}
.sb-studio .sb-table td{padding:14px 15px;vertical-align:middle}
.sb-studio .sb-table tbody tr{transition:background .12s ease}
.sb-studio .sb-table tbody tr:hover{background:#fffaf2}
.sb-studio .sb-badge{font-size:10px;padding:6px 9px}

/* --- CRM Clientes --- */
.sb-studio .sb-crm-head{margin-bottom:14px}
.sb-studio .sb-crm-toolbar{align-items:stretch}
.sb-studio .sb-crm-card{border-radius:17px;padding:16px}
.sb-studio .sb-crm-card-top{grid-template-columns:44px 1fr 24px}
.sb-studio .sb-crm-card-kpis{margin-top:12px;padding-top:11px}
.sb-studio .sb-crm-segments{align-self:center}

/* --- Services / ressources --- */
.sb-studio .sb-services-toolbar,.sb-studio .sb-view-toolbar{align-items:center}
.sb-studio .sb-service-list,.sb-studio .sb-resource-grid{gap:13px}
.sb-studio .sb-service-row,.sb-studio .sb-resource-card{border-radius:18px}
.sb-studio .sb-resource-card .sb-btn,.sb-studio .sb-service-row .sb-btn{min-height:38px;padding:8px 13px}
.sb-studio .sb-weekday-pills{gap:6px}
.sb-studio .sb-weekday-pills span{min-width:38px;border-radius:10px}

/* --- Paiements / stats / notifications --- */
.sb-studio .sb-payment-kpis,.sb-studio .sb-stat-kpis{gap:12px}
.sb-studio .sb-notification-list{display:grid;gap:10px}
.sb-studio .sb-notification-list article{border-radius:16px;padding:14px 15px;background:#fff}
.sb-studio .sb-notification-copy strong{font-size:12.5px;line-height:1.35}
.sb-studio .sb-notification-copy small{line-height:1.45}
.sb-studio .sb-audience-card{border-radius:18px}
.sb-studio .sb-audience-kpis{gap:9px}
.sb-studio .sb-audience-kpis>div{border-radius:14px;padding:13px 14px}

/* --- Paramètres : totalement scopé à la page Paramètres --- */
.sb-studio .sb-settings-page{gap:16px}
.sb-studio .sb-settings-page .sb-settings-tabs{
  position:sticky;top:84px;z-index:7;
  display:flex;align-items:center;gap:5px;
  padding:6px;border-radius:17px;background:rgba(255,255,255,.90);
  border-color:rgba(189,145,48,.25);box-shadow:var(--sb-shadow-sm);
}
.sb-studio .sb-settings-page .sb-settings-tabs button{
  flex:0 0 auto;min-height:42px;padding:9px 13px;border-radius:12px;font-size:10.5px;
}
.sb-studio .sb-settings-page .sb-settings-tabs button.is-active{background:#f5ead9;box-shadow:inset 0 0 0 1px rgba(189,145,48,.14)}
.sb-studio .sb-settings-page .sb-settings-intro{padding:2px 2px 0}
.sb-studio .sb-settings-page .sb-settings-intro strong{font-size:25px}
.sb-studio .sb-settings-page .sb-settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%}
.sb-studio .sb-settings-page .sb-settings-panel{grid-column:auto!important;max-width:none!important;width:100%;justify-self:stretch}
.sb-studio .sb-settings-page [data-settings-panel="team"]{max-width:920px!important}
.sb-studio .sb-settings-page [data-settings-panel="team"] .sb-section-head{align-items:center}
.sb-studio .sb-settings-page [data-settings-panel="team"] .sb-section-head>div{max-width:650px}
.sb-studio .sb-team-access-list{gap:9px;margin-top:15px}
.sb-studio .sb-team-access-card{border-radius:15px;padding:13px 14px;min-height:72px}
.sb-studio .sb-team-access-card .sb-avatar{flex:0 0 auto}
.sb-studio .sb-team-access-actions>em{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:#edf7ef;color:#39704a;font-weight:750}
.sb-studio .sb-settings-savebar{position:sticky;bottom:0;z-index:6;display:flex;justify-content:flex-end;padding:10px 0 2px;background:linear-gradient(180deg,rgba(247,243,236,0),#f7f3ec 34%)}
.sb-studio .sb-settings-savebar .sb-btn{min-width:190px}

/* --- Modales / drawers : actions cohérentes --- */
.sb-studio .sb-modal-card,.sb-studio .sb-drawer-card{border-radius:20px;box-shadow:0 24px 70px rgba(39,30,20,.18)}
.sb-studio .sb-modal-card h2,.sb-studio .sb-drawer-card h2{letter-spacing:-.02em}
.sb-studio .sb-modal-actions{align-items:center;justify-content:flex-end;gap:9px}
.sb-studio .sb-modal-actions .sb-btn{min-width:120px}
.sb-studio .sb-inline-more>summary{width:38px;height:38px;border-radius:11px;letter-spacing:1px}
.sb-studio .sb-inline-more[open]>button{border-radius:12px}

/* --- Public : catalogue et tunnel --- */
#sb-booking-app .sb-top{max-width:1220px;padding-inline:22px}
#sb-booking-app .sb-booking-wrap{width:min(1220px,calc(100% - 32px))}
#sb-booking-app .sb-intro{margin-bottom:28px}
#sb-booking-app .sb-service-card{border-radius:20px;overflow:hidden;box-shadow:var(--sb-shadow-md);padding:0;background:#fff}
#sb-booking-app .sb-service-card:hover{transform:translateY(-2px)}
#sb-booking-app .sb-service-card>img,.sb-category-image{width:100%;aspect-ratio:16/8.6;object-fit:cover;display:block}
#sb-booking-app .sb-service-card .sb-service-card-body{padding:20px 21px 22px}
#sb-booking-app .sb-panel,#sb-booking-app .sb-summary{border-radius:20px;box-shadow:var(--sb-shadow-sm)}
#sb-booking-app .sb-option,#sb-booking-app .sb-slot,#sb-booking-app .sb-date{border-radius:12px}
#sb-booking-app .sb-btn{box-shadow:0 8px 18px rgba(157,113,26,.15)}

/* --- Espace cliente / gestion RDV --- */
#sb-manage-app .sb-top,.sb-account-app .sb-top{max-width:1180px}
#sb-manage-app .sb-top-actions,.sb-account-app .sb-top-actions{gap:8px}
#sb-manage-app .sb-top-actions .sb-top-link,.sb-account-app .sb-top-actions .sb-top-link{padding:9px 11px}
#sb-manage-app .sb-logout-link,.sb-account-app .sb-logout-link{box-shadow:none}
#sb-manage-app .sb-customer-card,.sb-account-app .sb-account-login-card{box-shadow:var(--sb-shadow-sm)}
#sb-manage-app .sb-customer-actions .sb-text-action{border-radius:9px;border-top:0;margin:2px 0;padding:10px 11px}
#sb-manage-app .sb-customer-actions .sb-text-action:hover{background:#f8f1e6}

/* --- Mobile : lisibilité et touch targets --- */
@media(max-width:900px){
  .sb-studio .sb-studio-main{padding:12px 12px calc(88px + env(safe-area-inset-bottom))!important}
  .sb-studio .sb-studio-header{margin-bottom:8px!important;padding-bottom:10px}
  .sb-studio .sb-studio-header h1{font-size:27px!important}
  .sb-studio .sb-cardbox{padding:15px;border-radius:17px}
  .sb-studio .sb-section-head{gap:10px;margin-bottom:11px}
  .sb-studio .sb-section-head h3{font-size:19px}
  .sb-studio .sb-btn{min-height:44px}
  .sb-studio .sb-crm-grid{gap:9px}
  .sb-studio .sb-rdv-card{border-radius:16px;padding:13px}
  .sb-studio .sb-settings-page .sb-settings-tabs{top:64px;margin:0 -2px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
  .sb-studio .sb-settings-page .sb-settings-tabs::-webkit-scrollbar{display:none}
  .sb-studio .sb-settings-page .sb-settings-tabs button{min-height:40px;padding:8px 11px}
  .sb-studio .sb-settings-page .sb-settings-intro strong{font-size:21px}
  .sb-studio .sb-settings-page [data-settings-panel="team"]{max-width:none!important}
  .sb-studio .sb-settings-page [data-settings-panel="team"] .sb-section-head{align-items:flex-start;flex-direction:column}
  .sb-studio .sb-team-add-btn{width:auto!important;min-height:40px;padding:8px 13px}
  .sb-studio .sb-team-access-card{width:100%;gap:10px}
  .sb-studio .sb-team-access-actions{align-items:center}
  .sb-studio .sb-modal-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .sb-studio .sb-modal-actions .sb-btn{width:100%;min-width:0}
  #sb-booking-app .sb-booking-wrap{width:calc(100% - 18px)}
  #sb-booking-app .sb-service-card{border-radius:17px}
  #sb-booking-app .sb-service-card .sb-service-card-body{padding:16px}
}
@media(max-width:560px){
  .sb-studio .sb-cardbox{padding:14px 13px}
  .sb-studio .sb-kpis{gap:7px}
  .sb-studio .sb-kpi{padding:12px;border-radius:14px}
  .sb-studio .sb-kpi strong{font-size:20px}
  .sb-studio .sb-settings-page .sb-settings-savebar .sb-btn{width:100%;min-width:0}
  .sb-studio .sb-team-access-card>div:first-child{width:100%}
  .sb-studio .sb-team-access-actions{width:100%;justify-content:space-between}
  .sb-studio .sb-mobile-sheet-card{border-radius:22px 22px 0 0}
  #sb-manage-app .sb-top-actions .sb-top-link,.sb-account-app .sb-top-actions .sb-top-link{display:none}
}

/* ==========================================================================
   v0.11.1 — Préférence de technicienne (facultative)
   Le parcours rapide reste le défaut ; le choix nominatif est secondaire.
   ========================================================================== */
#sb-booking-app .sb-resource-preference{margin:22px 0 24px;padding:16px;border:1px solid #ead8b7;border-radius:16px;background:#fffdfa}
#sb-booking-app .sb-pref-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:11px}
#sb-booking-app .sb-pref-head .sb-label{margin:0}
#sb-booking-app .sb-pref-head small{color:#8a7d70;font-size:12px;line-height:1.4;text-align:right;max-width:330px}
#sb-booking-app .sb-pref-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#sb-booking-app .sb-pref-choice{appearance:none;-webkit-appearance:none;width:100%;min-height:76px;padding:13px 14px;border:1px solid #e7d7bc;border-radius:13px;background:#fff;text-align:left;color:#302a24;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
#sb-booking-app .sb-pref-choice:hover{border-color:#c99a36;transform:translateY(-1px)}
#sb-booking-app .sb-pref-choice.selected{border-color:#be8c25;background:#fbf3e4;box-shadow:0 0 0 2px rgba(190,140,37,.08)}
#sb-booking-app .sb-pref-choice strong{display:block;font-size:14px;margin-bottom:4px}
#sb-booking-app .sb-pref-choice span{display:block;color:#81766c;font-size:12px;line-height:1.4}
#sb-booking-app .sb-technician-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
#sb-booking-app .sb-technician{appearance:none;-webkit-appearance:none;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:11px;border:1px solid #eadcc4;border-radius:13px;background:#fff;text-align:left;cursor:pointer;color:#312b25;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
#sb-booking-app .sb-technician:hover{border-color:#c99a36}
#sb-booking-app .sb-technician.selected{border-color:#be8c25;background:#fbf3e4;box-shadow:0 0 0 2px rgba(190,140,37,.08)}
#sb-booking-app .sb-tech-avatar{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f6ead2;color:#9e721a;font-weight:800}
#sb-booking-app .sb-technician strong{font-size:14px;line-height:1.25}
#sb-booking-app .sb-technician small{font-size:11px;color:#8a7d70;margin-top:2px}
@media(max-width:760px){
  #sb-booking-app .sb-pref-head{align-items:flex-start;flex-direction:column}
  #sb-booking-app .sb-pref-head small{text-align:left}
  #sb-booking-app .sb-pref-toggle{grid-template-columns:1fr}
  #sb-booking-app .sb-technician-list{grid-template-columns:1fr 1fr}
}
@media(max-width:460px){
  #sb-booking-app .sb-resource-preference{padding:13px;margin:18px 0 20px}
  #sb-booking-app .sb-technician-list{grid-template-columns:1fr}
}

/* v0.11.2 — choix technicienne clairement visible dans le tunnel public */
#sb-booking-app .sb-resource-preference-prominent{margin:24px 0 26px;padding:20px;border:1px solid #e5cfaa;border-radius:20px;background:linear-gradient(180deg,#fffefa 0%,#fbf5ea 100%);box-shadow:0 10px 28px rgba(96,70,31,.05)}
#sb-booking-app .sb-resource-preference-prominent .sb-pref-head{margin-bottom:14px}
#sb-booking-app .sb-resource-preference-prominent .sb-pref-head h3{margin:3px 0 6px;font-family:Georgia,serif;font-size:22px;font-weight:400;line-height:1.2;color:#312a23}
#sb-booking-app .sb-resource-preference-prominent .sb-pref-head small{display:block;max-width:680px;color:#7c7064;line-height:1.45}
#sb-booking-app .sb-pref-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#sb-booking-app .sb-pref-choice{display:flex;align-items:flex-start;gap:10px;width:100%;min-height:82px;padding:14px 15px;border:1px solid #e7d8c0;border-radius:15px;background:#fff;text-align:left;cursor:pointer;color:#342d27;transition:.18s ease}
#sb-booking-app .sb-pref-choice:hover{border-color:#c99a36;transform:translateY(-1px)}
#sb-booking-app .sb-pref-choice.selected{border-color:#b98a28;background:#fbf1df;box-shadow:0 0 0 2px rgba(185,138,40,.08)}
#sb-booking-app .sb-pref-choice>div{display:grid;gap:4px}
#sb-booking-app .sb-pref-choice strong{font-size:14px;line-height:1.25}
#sb-booking-app .sb-pref-choice span{font-size:12px;line-height:1.4;color:#817367}
#sb-booking-app .sb-pref-radio{flex:0 0 18px;width:18px;height:18px;margin-top:1px;border:1.5px solid #b8a58c;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 4px #fff}
#sb-booking-app .sb-pref-choice.selected .sb-pref-radio{border-color:#b98a28;background:#b98a28}
#sb-booking-app .sb-technician-panel{margin-top:14px;padding-top:14px;border-top:1px solid #eadcc5}
#sb-booking-app .sb-technician-panel-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}
#sb-booking-app .sb-technician-panel-head strong{font-size:13px;color:#3d342c}
#sb-booking-app .sb-technician-panel-head small{font-size:11px;color:#8a7d70}
@media (max-width:720px){
 #sb-booking-app .sb-resource-preference-prominent{padding:15px;margin:18px 0 20px;border-radius:16px}
 #sb-booking-app .sb-resource-preference-prominent .sb-pref-head h3{font-size:20px}
 #sb-booking-app .sb-pref-toggle{grid-template-columns:1fr}
 #sb-booking-app .sb-pref-choice{min-height:auto;padding:13px}
 #sb-booking-app .sb-technician-panel-head{align-items:flex-start;flex-direction:column;gap:2px}
}

/* v0.11.3 — wizard spécialiste obligatoire avant date/paiement */
#sb-booking-app .sb-steps-five{gap:7px}
#sb-booking-app .sb-wizard-stage-head{margin:20px 0 18px}
#sb-booking-app .sb-wizard-stage-head h3{margin:4px 0 7px;font-family:Georgia,serif;font-size:28px;line-height:1.18;font-weight:400;color:#312a23}
#sb-booking-app .sb-wizard-stage-head p{margin:0;color:#7e7368;line-height:1.55;max-width:680px}
#sb-booking-app .sb-single-choice{border:1px solid #e5d4b7;border-radius:16px;background:#fffdfa;padding:16px 18px;display:flex;justify-content:space-between;gap:14px;align-items:center}
#sb-booking-app .sb-single-choice strong{font-size:15px}
#sb-booking-app .sb-single-choice small{color:#83776c}
#sb-booking-app .sb-specialist-step{margin-top:0}
#sb-booking-app .sb-pref-choice strong em{display:inline-flex;margin-left:8px;padding:4px 7px;border-radius:999px;background:#e7f5ea;color:#2f7658;font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}
#sb-booking-app .sb-technician{position:relative;grid-template-columns:40px minmax(0,1fr) 24px;grid-template-rows:auto;padding:13px 14px;min-height:68px}
#sb-booking-app .sb-tech-copy{display:grid;gap:3px;min-width:0}
#sb-booking-app .sb-tech-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sb-booking-app .sb-tech-check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1px solid #e2d2b7;color:transparent;font-size:12px}
#sb-booking-app .sb-technician.selected .sb-tech-check{background:#b98a28;border-color:#b98a28;color:#fff}
#sb-booking-app .sb-wizard-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #efe4d2}
#sb-booking-app .sb-wizard-actions-split{justify-content:space-between;align-items:center}
#sb-booking-app .sb-wizard-actions .sb-btn{min-height:48px;padding-inline:24px}
#sb-booking-app .sb-prestation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#sb-booking-app .sb-prestation-option{display:grid;text-align:left;align-content:start;gap:6px;min-height:116px}
#sb-booking-app .sb-prestation-option>span{color:#7e7368;line-height:1.45;font-size:12px}
#sb-booking-app .sb-prestation-option>small{margin-top:auto;color:#8b6a29;font-weight:650}
@media(max-width:760px){
 #sb-booking-app .sb-prestation-options{grid-template-columns:1fr}
 #sb-booking-app .sb-wizard-stage-head h3{font-size:25px}
 #sb-booking-app .sb-wizard-actions-split{display:grid;grid-template-columns:1fr;gap:9px}
 #sb-booking-app .sb-wizard-actions-split .sb-btn{width:100%}
 #sb-booking-app .sb-wizard-actions-split .sb-btn-secondary{order:2}
}

/* v0.11.4 — consentements de prestation avant paiement */
#sb-booking-app .sb-steps-six{gap:7px}
#sb-booking-app .sb-consent-card{border:1px solid #e5d3b5;border-radius:18px;background:#fffdf9;padding:18px;box-shadow:0 10px 28px rgba(91,64,25,.04)}
#sb-booking-app .sb-consent-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid #efe3d2}
#sb-booking-app .sb-consent-card-head>div{display:grid;gap:4px;min-width:0}
#sb-booking-app .sb-consent-card-head strong{font-size:15px;color:#332c25}
#sb-booking-app .sb-consent-card-head span{font-size:12px;color:#817367}
#sb-booking-app .sb-consent-status{margin:14px 0;padding:10px 12px;border-radius:11px;background:#faf4e9;color:#846f4e;font-size:12px;border:1px solid #eee0c8}
#sb-booking-app .sb-consent-status.is-read{background:#eef8f1;border-color:#d8eadc;color:#2d6d4d}
#sb-booking-app .sb-consent-checks{display:grid;gap:10px}
#sb-booking-app .sb-consent-check{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 13px;border:1px solid #ecdfca;border-radius:13px;background:#fff;cursor:pointer}
#sb-booking-app .sb-consent-check:hover{border-color:#d2b574}
#sb-booking-app .sb-consent-check input{width:18px;height:18px;margin:1px 0 0;accent-color:#b98a28}
#sb-booking-app .sb-consent-check span{font-size:13px;line-height:1.45;color:#3c342d}
#sb-booking-app .sb-consent-check em{font-size:10px;font-style:normal;padding:4px 7px;border-radius:999px;background:#fcebea;color:#a9483f;white-space:nowrap}
#sb-booking-app .sb-consent-check.is-optional em{background:#f4f1ec;color:#7c7064}
.sb-consent-modal-wrap{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:24px}
.sb-consent-backdrop{position:absolute;inset:0;background:rgba(37,30,24,.48);backdrop-filter:blur(4px)}
.sb-consent-modal{position:relative;width:min(760px,96vw);max-height:min(760px,92vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fffdf9;border:1px solid #dfc89f;border-radius:22px;box-shadow:0 28px 80px rgba(42,31,19,.22);overflow:hidden}
.sb-consent-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #eee0cb;background:#fffaf2}
.sb-consent-modal>header small{display:block;color:#a57418;font-size:10px;font-weight:800;letter-spacing:.14em;margin-bottom:5px}
.sb-consent-modal>header h3{margin:0;font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.25;color:#312a23}
.sb-consent-close{appearance:none;border:0;background:#f6ecdd;color:#6c5d4c;width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;flex:0 0 auto}
.sb-consent-scroll{overflow:auto;padding:20px 22px 8px;overscroll-behavior:contain}
.sb-consent-intro{margin:0 0 18px;color:#72675c;line-height:1.55}
.sb-consent-scroll article{margin:0 0 18px}
.sb-consent-scroll h4{margin:0 0 6px;font-size:14px;color:#302922}
.sb-consent-scroll p{margin:0;color:#4e463f;font-size:13px;line-height:1.62}
.sb-consent-modal>footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 22px;border-top:1px solid #eee0cb;background:#fffaf2}
@media(max-width:640px){
 .sb-consent-modal-wrap{padding:0;align-items:end}
 .sb-consent-modal{width:100%;max-height:92vh;border-radius:22px 22px 0 0;border-left:0;border-right:0;border-bottom:0}
 .sb-consent-modal>header{padding:17px 16px}
 .sb-consent-modal>header h3{font-size:20px}
 .sb-consent-scroll{padding:17px 16px 6px}
 .sb-consent-modal>footer{padding:12px 16px;display:grid;grid-template-columns:1fr}
 .sb-consent-modal>footer .sb-btn{width:100%}
 #sb-booking-app .sb-consent-card-head{align-items:flex-start;flex-direction:column}
 #sb-booking-app .sb-consent-card-head .sb-btn{width:100%}
 #sb-booking-app .sb-consent-check{grid-template-columns:20px minmax(0,1fr)}
 #sb-booking-app .sb-consent-check em{grid-column:2;justify-self:start}
}

/* v0.11.5 — cache-safe consent + Sourcils */
#sb-booking-app .sb-service-card[data-service="sourcils"] .sb-service-photo img{object-position:center 28%}
#sb-booking-app .sb-consent-card{display:block!important;visibility:visible!important;opacity:1!important}
#sb-booking-app .sb-consent-open{display:inline-flex!important}

/* v0.11.6 — Services CRUD + image persistée */
.sb-service-image-editor{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid rgba(185,138,40,.18);border-radius:18px;background:rgba(255,255,255,.72)}
.sb-service-image-editor img,.sb-image-placeholder{width:150px;height:110px;object-fit:cover;border-radius:14px;border:1px solid rgba(185,138,40,.16);background:#f5efe5;display:flex;align-items:center;justify-content:center;color:#8b8177;font-size:13px}
.sb-service-image-editor input[type=file]{display:block;max-width:100%;font-size:13px}
.sb-service-danger{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.sb-service-danger small{flex-basis:100%}
.sb-archive-list{display:grid;gap:10px;margin-top:14px}
.sb-archive-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid rgba(185,138,40,.16);border-radius:14px;background:#fff}
.sb-archive-row span{display:grid;gap:3px}.sb-archive-row small{color:#81786f}
@media(max-width:680px){.sb-service-image-editor{grid-template-columns:1fr}.sb-service-image-editor img,.sb-image-placeholder{width:100%;height:160px}.sb-archive-row{align-items:flex-start;flex-direction:column}.sb-archive-row .sb-btn{width:100%}}

/* v0.11.7 — correction éditeur Services: portée du parseur horaire + erreurs visibles */

/* v0.12.0 — réservation multi-soins / panier rendez-vous */
.sb-cart-inline-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;padding:14px 16px;border:1px solid rgba(190,145,48,.28);border-radius:18px;background:linear-gradient(135deg,#fffaf0,#fff);box-shadow:0 8px 30px rgba(80,58,24,.05)}
.sb-cart-inline-banner>div{display:flex;flex-direction:column;gap:2px}.sb-cart-inline-banner strong{font-size:15px}.sb-cart-inline-banner span{font-size:13px;color:#7b7168}.sb-cart-inline-banner.compact{margin-bottom:14px;padding:10px 14px}.sb-cart-inline-banner.compact .sb-text-action{margin:0}
.sb-cart-box{border:1px solid rgba(190,145,48,.28);border-radius:22px;background:#fffdfa;overflow:hidden}.sb-cart-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px}.sb-cart-head h3{margin:3px 0 0;font-family:Georgia,serif;font-size:25px;font-weight:400}.sb-cart-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:#bf8d1d;color:#fff;font-weight:800}.sb-cart-items{padding:0 14px}.sb-cart-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 6px;border-top:1px solid rgba(130,105,70,.12)}.sb-cart-item:first-child{border-top:0}.sb-cart-item-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.sb-cart-index{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#f6ead1;color:#8a651a;font-weight:800;font-size:12px}.sb-cart-item-main>div{display:flex;flex-direction:column;gap:3px;min-width:0}.sb-cart-item-main strong{font-size:15px}.sb-cart-item-main small{font-size:12px;color:#7e746a}.sb-cart-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}.sb-cart-item-side strong{font-size:14px}.sb-cart-item-side small{font-size:11px;color:#8a8178}.sb-cart-remove{border:0;background:transparent;color:#9b654f;text-decoration:underline;text-underline-offset:2px;font-size:11px;cursor:pointer;padding:2px 0}.sb-cart-totals{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(190,145,48,.2);background:#fbf6ec}.sb-cart-totals>div{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sb-cart-totals>div+div{border-left:1px solid rgba(190,145,48,.18)}.sb-cart-totals span{font-size:12px;color:#756c64}.sb-cart-totals strong{font-size:15px}.sb-cart-totals .is-due strong{color:#9a6d0b}
.sb-add-another-wrap{display:flex;justify-content:center;margin:18px 0 4px}.sb-add-another{min-width:250px}.sb-soft-separator{border:0;border-top:1px solid rgba(190,145,48,.18);margin:24px 0}.sb-multi-checkout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.sb-multi-summary{position:sticky;top:24px}.sb-multi-consents{display:flex;flex-direction:column;gap:18px}.sb-consent-needed{display:block;padding:0 18px 14px;color:#9a654d}.sb-steps-three{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:900px){.sb-multi-checkout{grid-template-columns:1fr}.sb-multi-summary{position:static}.sb-cart-inline-banner{align-items:stretch;flex-direction:column}.sb-cart-inline-banner .sb-btn{width:100%}.sb-cart-item{align-items:flex-start}.sb-cart-item-side{align-items:flex-end}.sb-cart-totals{grid-template-columns:1fr}.sb-cart-totals>div+div{border-left:0;border-top:1px solid rgba(190,145,48,.18)}}
@media(max-width:560px){.sb-cart-head{padding:15px 14px 10px}.sb-cart-items{padding:0 10px}.sb-cart-item{gap:9px}.sb-cart-item-main{gap:8px}.sb-cart-item-side strong{font-size:13px}.sb-cart-index{width:24px;height:24px;flex-basis:24px}.sb-add-another{width:100%;min-width:0}.sb-cart-totals>div{padding:12px 14px}}


/* 0.12.3 — saisie simplifiée catégories / prestations */
.sb-prestation-help{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#fbf7ef;border:1px solid #eee0c8}.sb-prestation-help strong{font-size:14px}.sb-prestation-help span{font-size:12px;color:#817466}.sb-prestation-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.sb-prestation-row-head strong{font-size:14px;color:#342c25}.v-save-state{font-size:11px;color:#8a8075;white-space:nowrap}.v-save-state.is-saved{color:#52765b}.v-save-state.is-error{color:#a94442}.sb-quick-prestation{margin:14px 0;padding:16px;border:1px solid #dcc9a5;border-radius:18px;background:#fffdf8;box-shadow:0 12px 30px rgba(60,45,28,.06)}.sb-quick-prestation-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sb-quick-prestation-head strong{font-size:16px}.sb-service-section[open] .sb-service-section-body{animation:sbSoftOpen .16s ease-out}@keyframes sbSoftOpen{from{opacity:.5;transform:translateY(-3px)}to{opacity:1;transform:none}}@media(max-width:720px){.sb-prestation-row-head{align-items:flex-start}.sb-quick-prestation{padding:13px}.sb-prestation-numbers{grid-template-columns:1fr 1fr}.sb-prestation-numbers .sb-switch{grid-column:1/-1}}


/* v0.13.1 — validation intelligente & identité cliente persistante */
.sb-field-help{display:block;margin-top:6px;font-size:10px;line-height:1.4;color:#8a8076;transition:.18s ease}
.sb-field input.is-invalid{border-color:#c36b62!important;box-shadow:0 0 0 3px rgba(195,107,98,.08)!important}
.sb-field input.is-invalid+.sb-field-help{color:#a24f49}
.sb-field input.is-valid{border-color:#a9cbb5!important}
.sb-field input.is-valid+.sb-field-help{color:#377659}
.sb-forget-customer{width:auto!important;min-height:38px!important;padding:8px 12px!important;border:1px solid #ead9bc!important;border-radius:999px!important;background:#fff!important;white-space:nowrap}
.sb-admin-test-gateway{display:inline-flex;align-items:center;gap:6px;margin-top:5px;padding:4px 8px;border-radius:999px;background:#fff3cd;color:#805d0b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}

.sb-admin-test-payment-form{margin-bottom:14px}.sb-admin-test-payment-card{width:100%;text-align:left;cursor:pointer;font:inherit}.sb-admin-test-payment-card:hover{border-color:#c69a39;background:#fffaf0}.sb-admin-test-payment-card .sb-gateway-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px}

/* 0.13.2 — cliente reconnue + réservations persistantes */
.sb-recognized-customer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:18px 20px;border:1px solid rgba(190,142,38,.24);border-radius:22px;background:linear-gradient(135deg,#fffdf8,#f8f0df)}
.sb-recognized-customer h3{margin:3px 0 4px;font:400 26px/1.1 Georgia,serif}.sb-recognized-customer p{margin:0;color:#7c7368}.sb-known-bookings{margin:0 0 26px;padding:20px;border:1px solid rgba(190,142,38,.2);border-radius:24px;background:#fff}.sb-known-bookings-head h3{margin:4px 0 14px;font:400 25px/1.1 Georgia,serif}.sb-known-bookings-list{display:grid;gap:10px}.sb-known-bookings-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid #eee4d4;border-radius:16px;background:#fffdf9}.sb-known-bookings-list article>div:first-child{display:grid;gap:4px}.sb-known-bookings-list article small{color:#80766b}.sb-known-bookings-list article>div:last-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.sb-known-bookings-list .sb-btn{padding:9px 12px;min-height:auto;font-size:13px}
@media(max-width:700px){.sb-recognized-customer,.sb-known-bookings-list article{align-items:flex-start;flex-direction:column}.sb-known-bookings-list article>div:last-child{justify-content:flex-start;width:100%}.sb-recognized-customer .sb-text-action{padding-left:0}}

/* 0.13.3 */
.sb-consent-card + .sb-consent-card{margin-top:4px}.sb-recognized-customer{scroll-margin-top:20px}

/* v0.15.0 — hero signature : présence forte, fond latéral doux et hauteur maîtrisée */
#sb-booking-app .sb-booking-wrap{padding-top:18px}
#sb-booking-app .sb-home-signature-hero{
  width:min(1320px,100%);
  margin:0 auto 30px;
  border:1px solid rgba(189,145,48,.32);
  border-radius:30px;
  overflow:hidden;
  background:#eee5d9;
  box-shadow:0 20px 58px rgba(68,45,20,.11);
}
#sb-booking-app .sb-home-signature-hero .sb-home-signature-media{
  position:relative;
  width:100%;
  height:clamp(360px,30vw,450px);
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(90deg,#efe5d8 0%,#e9ded0 50%,#efe5d8 100%);
}
#sb-booking-app .sb-home-signature-hero .sb-home-signature-media::before{
  content:"";
  position:absolute;
  inset:-18px;
  z-index:0;
  background-image:url('../img/portrait-secrets-beaute.webp');
  background-position:center 40%;
  background-size:cover;
  filter:blur(18px) saturate(.78) brightness(1.06);
  transform:scale(1.035);
  opacity:.34;
}
#sb-booking-app .sb-home-signature-hero .sb-home-signature-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(247,241,232,.63) 0%,rgba(247,241,232,.18) 24%,rgba(247,241,232,.05) 40%,rgba(247,241,232,.05) 60%,rgba(247,241,232,.18) 76%,rgba(247,241,232,.63) 100%);
  pointer-events:none;
}
#sb-booking-app .sb-home-signature-hero img{
  position:relative;
  z-index:2;
  display:block;
  height:100%!important;
  width:auto!important;
  max-width:94%!important;
  margin:0 auto;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0;
  box-shadow:0 0 44px rgba(25,18,11,.10);
}
#sb-booking-app .sb-intro-after-hero{margin-top:0;margin-bottom:30px}
@media(max-width:760px){
  #sb-booking-app .sb-booking-wrap{padding-top:8px}
  #sb-booking-app .sb-home-signature-hero{
    width:100%;
    margin:0 auto 22px;
    border-radius:22px;
    box-shadow:0 14px 36px rgba(68,45,20,.10);
  }
  #sb-booking-app .sb-home-signature-hero .sb-home-signature-media{
    height:auto;
    min-height:0;
    background:#f5efe6;
  }
  #sb-booking-app .sb-home-signature-hero .sb-home-signature-media::before,
  #sb-booking-app .sb-home-signature-hero .sb-home-signature-media::after{display:none}
  #sb-booking-app .sb-home-signature-hero img{
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    object-fit:contain!important;
    box-shadow:none;
  }
  #sb-booking-app .sb-intro-after-hero{margin-bottom:22px}
}


/* 0.15.1 — mobile native-control color normalization
   Prevent iOS/Safari/Firefox mobile from applying the browser accent blue to
   prestation buttons and other booking choices. Desktop visual hierarchy is
   preserved while mobile controls explicitly inherit the Secrets de Beauté palette. */
#sb-booking-app button,
#sb-booking-app [role="button"],
#sb-booking-app .sb-option,
#sb-booking-app .sb-slot,
#sb-booking-app .sb-date{
  -webkit-appearance:none;
  appearance:none;
  color:var(--ink);
  -webkit-text-fill-color:currentColor;
}
#sb-booking-app .sb-prestation-option,
#sb-booking-app .sb-prestation-option strong{
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
}
#sb-booking-app .sb-prestation-option>span{
  color:#7e7368!important;
  -webkit-text-fill-color:#7e7368!important;
}
#sb-booking-app .sb-prestation-option>small{
  color:#8b6a29!important;
  -webkit-text-fill-color:#8b6a29!important;
}
#sb-booking-app button:link,
#sb-booking-app button:visited,
#sb-booking-app .sb-option:link,
#sb-booking-app .sb-option:visited{
  color:var(--ink);
}
@media(max-width:900px){
  #sb-booking-app button,
  #sb-booking-app .sb-option,
  #sb-booking-app .sb-slot,
  #sb-booking-app .sb-date{
    color:var(--ink)!important;
    -webkit-text-fill-color:var(--ink)!important;
  }
  #sb-booking-app .sb-btn{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  #sb-booking-app .sb-btn-secondary{
    color:var(--ink)!important;
    -webkit-text-fill-color:var(--ink)!important;
  }
  #sb-booking-app .sb-prestation-option strong{
    color:var(--ink)!important;
    -webkit-text-fill-color:var(--ink)!important;
  }
  #sb-booking-app .sb-prestation-option>span{
    color:#7e7368!important;
    -webkit-text-fill-color:#7e7368!important;
  }
  #sb-booking-app .sb-prestation-option>small{
    color:#8b6a29!important;
    -webkit-text-fill-color:#8b6a29!important;
  }
}


/* 0.15.2 — mobile public text color parity with desktop
   Lock only the public category/prestation labels. This intentionally avoids
   recoloring prices, descriptions, CTA buttons or Studio/admin UI. */
@media (max-width: 900px){
  #sb-booking-app .sb-category-grid .sb-service-card h3,
  #sb-booking-app .sb-category-grid .sb-service-card h3 *,
  #sb-booking-app .sb-prestation-options .sb-prestation-option strong,
  #sb-booking-app .sb-prestation-options .sb-prestation-option strong *,
  #sb-booking-app .sb-single-choice > strong{
    color:#2f2923 !important;
    -webkit-text-fill-color:#2f2923 !important;
    text-decoration:none !important;
  }

  #sb-booking-app .sb-category-grid .sb-service-card,
  #sb-booking-app .sb-prestation-options .sb-prestation-option{
    -webkit-appearance:none !important;
    appearance:none !important;
    -webkit-tap-highlight-color:rgba(0,0,0,0) !important;
  }

  /* Keep the desktop hierarchy exactly: muted description + gold price/meta. */
  #sb-booking-app .sb-category-grid .sb-service-card p,
  #sb-booking-app .sb-prestation-options .sb-prestation-option > span{
    color:#847a70 !important;
    -webkit-text-fill-color:#847a70 !important;
  }
  #sb-booking-app .sb-category-grid .sb-service-card .meta,
  #sb-booking-app .sb-prestation-options .sb-prestation-option > small{
    color:#8d691f !important;
    -webkit-text-fill-color:#8d691f !important;
  }
}


/* v0.15.9 — Team Access Guard */
.sb-permission-grid label.is-locked{opacity:.48;cursor:not-allowed;background:rgba(246,242,233,.72)}
.sb-permission-grid label.is-locked span:after{content:' · verrouillé par le rôle';font-size:11px;color:#9a8d7b;font-weight:500}
.sb-team-role-note{margin:10px 0 18px;padding:11px 13px;border:1px solid rgba(185,138,40,.22);border-radius:12px;background:#fffaf0;color:#746a5e;font-size:13px;line-height:1.45}
.sb-field-error{display:block;margin-top:7px;color:#9e3a2f;font-size:12px;font-weight:700}

/* v0.15.10 — Team account visibility hardening */


/* v0.15.15 — Personal account password security */
.sb-account-security-panel{max-width:920px}
.sb-personal-security-actions{display:flex;justify-content:flex-end;margin-top:18px}
.sb-password-rules{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px}
.sb-password-rules small{font-size:11px;color:#9b8f82}
.sb-password-rules small:before{content:'○';margin-right:4px}
.sb-password-rules small.ok{color:#5f7a52;font-weight:700}
.sb-password-rules small.ok:before{content:'✓'}
.sb-settings-personal-only .sb-settings-grid{grid-template-columns:minmax(0,920px)}
@media(max-width:720px){.sb-personal-security-actions .sb-btn{width:100%}.sb-account-security-panel .sb-row{grid-template-columns:1fr}}

/* v0.15.18 — spécialiste/horaires: aucune fausse grille grisée sans explication */
.sb-resource-config-error{display:flex;flex-direction:column;gap:5px;margin:18px 0}.sb-resource-config-error span{font-size:14px;opacity:.82}.sb-pref-choice:disabled{opacity:.48;cursor:not-allowed}.sb-slot.selected{outline:2px solid currentColor;outline-offset:2px}

/* 0.15.19 — slot loading states */
#slots .sb-inline-empty strong,#slots .sb-error strong{display:block;margin-bottom:6px}#slots .sb-inline-empty span,#slots .sb-error span{display:block;margin-bottom:12px}


/* 0.15.20 — Dashboard & Assistant Hardening */
.sb-dashboard-hero{align-items:flex-start}.sb-dashboard-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.sb-dashboard-sync{font-size:11px;color:var(--muted)}
.sb-kpi-action{appearance:none;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.sb-kpi-action:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(63,48,31,.06);border-color:#dcc28a}.sb-kpi-action:focus-visible{outline:2px solid #b98922;outline-offset:2px}
.sb-dashboard-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:14px 16px;background:#fff8e8;border:1px solid #ecd49b;border-radius:16px}.sb-dashboard-alert div{display:grid;gap:3px}.sb-dashboard-alert strong{font-size:13px}.sb-dashboard-alert span{font-size:11px;color:var(--muted);line-height:1.45}
.sb-dashboard-refresh:disabled{opacity:.55;cursor:wait}.sb-assistant-message.is-error{border-color:#e9b8b0;background:#fff7f5}.sb-assistant-card{cursor:default}.sb-assistant-card[data-code]{cursor:pointer}.sb-assistant-compose input:disabled{opacity:.65}.sb-assistant-compose button:disabled{opacity:.6;cursor:wait}
@media(max-width:780px){.sb-dashboard-hero{display:grid}.sb-dashboard-actions{justify-content:flex-start}.sb-dashboard-sync{order:2;width:100%}.sb-dashboard-refresh{min-height:38px;padding:8px 11px;font-size:11px}.sb-dashboard-alert{align-items:flex-start;flex-direction:column;gap:9px}.sb-dashboard-alert .sb-link-btn{padding-left:0}.sb-kpi-action:hover{transform:none}}


/* v0.15.24 — Client feedback: price readability + immediate floating next action */
#sb-booking-app .sb-service-card .meta{font-size:14.5px;line-height:1.35;font-weight:750}
#sb-booking-app .sb-prestation-option strong{font-size:16px;line-height:1.3}
#sb-booking-app .sb-prestation-option>span{font-size:13.5px;line-height:1.5}
#sb-booking-app .sb-prestation-option>small{display:flex;align-items:center;gap:7px 10px;flex-wrap:wrap;margin-top:8px;font-size:14px;line-height:1.4;font-weight:700}
#sb-booking-app .sb-prestation-option>small b{font-size:14px;color:#7b5a16}
#sb-booking-app .sb-prestation-option>small em{font-size:13px;font-style:normal;color:#8b6a29;font-weight:700}
#sb-booking-app .sb-floating-next{position:fixed;left:50%;bottom:24px;z-index:58;transform:translateX(-50%);width:min(680px,calc(100% - 36px));display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 13px 12px 18px;border:1px solid rgba(189,145,48,.4);border-radius:22px;background:rgba(255,254,250,.96);backdrop-filter:blur(14px);box-shadow:0 18px 55px rgba(64,46,21,.18)}
#sb-booking-app .sb-floating-next>div{display:grid;gap:2px;min-width:0}
#sb-booking-app .sb-floating-next>div small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8d691f;font-weight:800}
#sb-booking-app .sb-floating-next>div strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sb-booking-app .sb-floating-next .sb-btn{flex:0 0 auto;min-height:44px;padding:11px 22px}
#sb-booking-app .sb-recognition-status{min-height:0;margin:-2px 0 14px}
#sb-booking-app .sb-recognition-status:empty{display:none}
#sb-booking-app .sb-recognition-status>span{display:block;padding:11px 13px;border-radius:13px;font-size:12.5px;line-height:1.45}
#sb-booking-app .sb-recognition-loading{background:#f7f4ed;color:#7d746a;border:1px solid #ece4d7}
#sb-booking-app .sb-recognition-known{background:#fff8e8;color:#75561c;border:1px solid #ead4a5}
#sb-booking-app .sb-recognition-ok{background:#edf7f0;color:#2f6f50;border:1px solid #cde6d5;font-weight:700}
@media(max-width:900px){
 #sb-booking-app .sb-floating-next{bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100% - 22px);padding:10px 10px 10px 14px;border-radius:18px;gap:10px}
 #sb-booking-app .sb-floating-next>div strong{font-size:13px}
 #sb-booking-app .sb-floating-next .sb-btn{min-height:42px;padding:10px 16px}
 #sb-booking-app .sb-prestation-option>small,#sb-booking-app .sb-prestation-option>small b{font-size:14px}
 #sb-booking-app .sb-prestation-option>small em{font-size:13px}
}
@media(max-width:520px){
 #sb-booking-app .sb-floating-next>div small{display:none}
 #sb-booking-app .sb-floating-next>div strong{max-width:150px}
 #sb-booking-app .sb-floating-next .sb-btn{padding-inline:14px}
}

#sb-booking-app .sb-public-manage-guest .sb-public-portal{gap:7px}
@media(max-width:900px){#sb-booking-app .sb-public-manage-guest{display:none}}

/* ========================================================================== 
   v0.15.25 — Mobile App Polish
   Public/customer mobile only: stronger horizontal gutters, compact app shell,
   floating native-style bottom navigation, safe-area handling and removal of
   redundant footer/bottom whitespace. Desktop remains unchanged.
   ========================================================================== */
@media (max-width:900px){
  :root{--sb-mobile-gutter:20px;--sb-mobile-nav-h:66px}

  /* App shell: dynamic viewport avoids the iOS/Android 100vh blank strip. */
  #sb-booking-app,
  #sb-manage-app,
  .sb-account-app{
    min-height:100dvh;
    min-height:-webkit-fill-available;
  }

  /* Public header behaves like a lightweight native app bar. */
  #sb-booking-app .sb-top{
    position:sticky;
    top:0;
    z-index:54;
    width:100%;
    height:68px;
    min-height:68px;
    padding:8px var(--sb-mobile-gutter);
    margin:0;
    background:rgba(251,247,239,.94);
    -webkit-backdrop-filter:blur(14px) saturate(1.08);
    backdrop-filter:blur(14px) saturate(1.08);
    border-bottom:1px solid rgba(231,215,184,.62);
  }
  #sb-booking-app .sb-brand img{width:64px;height:48px}

  /* Consistent 20px tablet/mobile gutters instead of the old 9px edges. */
  #sb-booking-app .sb-booking-wrap,
  #sb-booking-app .sb-narrow{
    width:auto!important;
    max-width:720px;
    margin-left:var(--sb-mobile-gutter)!important;
    margin-right:var(--sb-mobile-gutter)!important;
    margin-bottom:0!important;
    padding-top:10px;
    padding-bottom:calc(var(--sb-mobile-nav-h) + 28px + env(safe-area-inset-bottom));
    flex:0 0 auto;
  }

  /* The fixed app navigation replaces the textual footer on mobile. */
  #sb-booking-app .sb-footer,
  #sb-manage-app .sb-footer,
  .sb-account-app .sb-footer{display:none!important}

  #sb-booking-app .sb-intro{margin:10px auto 24px;padding-inline:2px}
  #sb-booking-app .sb-intro h1{font-size:clamp(32px,8.5vw,40px);line-height:1.06;margin:7px 0 9px}
  #sb-booking-app .sb-intro p{font-size:14px;line-height:1.55;margin-inline:auto;max-width:520px}

  /* Catalogue / cards: mobile density close to a polished native app. */
  #sb-booking-app .sb-grid,
  #sb-booking-app .sb-category-grid{gap:16px!important}
  #sb-booking-app .sb-service-card{border-radius:21px;min-height:0;box-shadow:0 10px 30px rgba(61,47,29,.065)}
  #sb-booking-app .sb-service-card .sb-service-card-body{padding:18px 18px 20px}
  #sb-booking-app .sb-service-card h3{font-size:25px;line-height:1.12;margin:12px 0 7px}
  #sb-booking-app .sb-service-card p{font-size:13px;line-height:1.5;margin-top:0}
  #sb-booking-app .sb-service-card .meta{font-size:14px;line-height:1.4}

  /* Wizard: no edge-to-edge card, cleaner radius and comfortable controls. */
  #sb-booking-app .sb-wizard,
  #sb-booking-app .sb-multi-checkout{gap:14px}
  #sb-booking-app .sb-panel,
  #sb-booking-app .sb-summary{
    padding:19px 17px;
    border-radius:21px;
    box-shadow:0 8px 26px rgba(61,47,29,.055);
  }
  #sb-booking-app .sb-selected-service-photo{height:150px;margin:-1px -1px 17px;border-radius:20px 20px 15px 15px}
  #sb-booking-app .sb-back{margin-bottom:15px;min-height:38px;display:inline-flex;align-items:center}
  #sb-booking-app .sb-steps{margin-bottom:21px}
  #sb-booking-app .sb-wizard-stage-head{margin:17px 0 16px}
  #sb-booking-app .sb-wizard-stage-head h3{font-size:25px;line-height:1.15}
  #sb-booking-app .sb-wizard-stage-head p{font-size:13.5px;line-height:1.5}
  #sb-booking-app .sb-prestation-options{gap:11px}
  #sb-booking-app .sb-prestation-option{min-height:0;padding:15px 14px!important;border-radius:15px}
  #sb-booking-app .sb-prestation-option strong{font-size:16.5px;line-height:1.28}
  #sb-booking-app .sb-prestation-option>span{font-size:13.5px;line-height:1.48}
  #sb-booking-app .sb-prestation-option>small,
  #sb-booking-app .sb-prestation-option>small b{font-size:14px;line-height:1.38}
  #sb-booking-app .sb-prestation-option>small em{font-size:13.5px}

  /* Bottom navigation becomes an inset app dock instead of a full-width strip. */
  #sb-booking-app .sb-bottombar,
  #sb-manage-app .sb-bottombar,
  .sb-account-app .sb-bottombar{
    left:12px;
    right:12px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    min-height:var(--sb-mobile-nav-h);
    padding:7px 8px;
    border:1px solid rgba(222,201,165,.85);
    border-radius:22px;
    background:rgba(255,254,250,.97);
    -webkit-backdrop-filter:blur(18px) saturate(1.12);
    backdrop-filter:blur(18px) saturate(1.12);
    box-shadow:0 12px 34px rgba(54,40,24,.16);
  }
  #sb-booking-app .sb-bottombar a,
  #sb-booking-app .sb-bottombar button,
  #sb-manage-app .sb-bottombar a,
  #sb-manage-app .sb-bottombar button,
  .sb-account-app .sb-bottombar a,
  .sb-account-app .sb-bottombar button{
    min-height:50px;
    border-radius:15px;
    justify-content:center;
    padding:5px 8px;
  }

  /* Floating Continue aligns exactly with the page gutters and app dock. */
  #sb-booking-app .sb-floating-next{
    width:auto;
    left:var(--sb-mobile-gutter);
    right:var(--sb-mobile-gutter);
    transform:none;
    bottom:calc(var(--sb-mobile-nav-h) + 20px + env(safe-area-inset-bottom));
    min-height:60px;
    padding:9px 10px 9px 14px;
    border-radius:19px;
    box-shadow:0 14px 42px rgba(64,46,21,.19);
  }
  #sb-booking-app .sb-floating-next .sb-btn{min-height:44px;padding:10px 16px;white-space:nowrap}

  /* Home visual follows the same gutter geometry. */
  #sb-booking-app .sb-home-signature-hero{margin-bottom:20px;border-radius:21px}

  /* Customer/manage screens get the same app-like horizontal rhythm. */
  #sb-manage-app .sb-narrow,
  .sb-account-app .sb-narrow,
  #sb-manage-app .sb-booking-wrap,
  .sb-account-app .sb-booking-wrap{
    width:auto!important;
    margin-left:var(--sb-mobile-gutter)!important;
    margin-right:var(--sb-mobile-gutter)!important;
    margin-bottom:0!important;
    padding-bottom:calc(var(--sb-mobile-nav-h) + 28px + env(safe-area-inset-bottom));
  }
  #sb-manage-app .sb-customer-card,
  .sb-account-app .sb-customer-card,
  .sb-account-app .sb-account-login-card{border-radius:20px}
}

@media (max-width:600px){
  :root{--sb-mobile-gutter:16px;--sb-mobile-nav-h:64px}
  #sb-booking-app .sb-top{height:64px;min-height:64px;padding-inline:16px}
  #sb-booking-app .sb-brand img{width:60px;height:44px}
  #sb-booking-app .sb-booking-wrap,
  #sb-booking-app .sb-narrow,
  #sb-manage-app .sb-narrow,
  .sb-account-app .sb-narrow,
  #sb-manage-app .sb-booking-wrap,
  .sb-account-app .sb-booking-wrap{
    margin-left:16px!important;
    margin-right:16px!important;
  }
  #sb-booking-app .sb-panel,#sb-booking-app .sb-summary{padding:17px 15px}
  #sb-booking-app .sb-service-card .sb-service-card-body{padding:17px 16px 19px}
  #sb-booking-app .sb-service-card h3{font-size:24px}
  #sb-booking-app .sb-floating-next{left:16px;right:16px}
  #sb-booking-app .sb-floating-next>div strong{max-width:min(44vw,180px);font-size:13.5px}
  #sb-booking-app .sb-bottombar,
  #sb-manage-app .sb-bottombar,
  .sb-account-app .sb-bottombar{left:10px;right:10px;border-radius:20px}
}

@media (max-width:380px){
  :root{--sb-mobile-gutter:14px}
  #sb-booking-app .sb-booking-wrap,
  #sb-booking-app .sb-narrow,
  #sb-manage-app .sb-narrow,
  .sb-account-app .sb-narrow,
  #sb-manage-app .sb-booking-wrap,
  .sb-account-app .sb-booking-wrap{margin-left:14px!important;margin-right:14px!important}
  #sb-booking-app .sb-floating-next{left:14px;right:14px}
  #sb-booking-app .sb-floating-next>div strong{max-width:128px}
  #sb-booking-app .sb-floating-next .sb-btn{padding-inline:13px;font-size:13px}
}

/* ========================================================================== 
   v0.15.26 — Production Mobile Geometry + Payment Truth UI
   Corrects horizontal body overflow observed on real iPhone/Android browsers,
   removes the redundant mobile summary/blank area, keeps the fixed dock from
   masking actions, and makes paid/active vs unpaid/non-active unmistakable.
   ========================================================================== */

/* Payment activation state — Studio + customer area */
.sb-payment-state{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:6px 10px;border-radius:999px;font-size:10.5px;line-height:1.25;font-weight:850;letter-spacing:.015em;white-space:normal;text-align:center}
.sb-payment-active{background:#e9f5ed;color:#286647;border:1px solid #c8e4d1}
.sb-payment-pending{background:#fff3d7;color:#805b08;border:1px solid #ead39a}
.sb-payment-warning{background:#fff0ef;color:#9a403b;border:1px solid #edc4c1}
.sb-payment-neutral{background:#f4f0e9;color:#776d63;border:1px solid #e5ddd1}
.sb-booking-activation-alert{display:grid;gap:4px;margin:14px 0 16px;padding:13px 15px;border-radius:15px;font-size:12px;line-height:1.45}
.sb-booking-activation-alert strong{font-size:12px;letter-spacing:.025em}
.sb-booking-activation-alert span{opacity:.9}
.sb-booking-activation-alert.is-active{background:#edf7f0;border:1px solid #cae4d2;color:#2d6849}
.sb-booking-activation-alert.is-pending{background:#fff7e6;border:1px solid #e9d09a;color:#76530d}
.sb-booking-activation-alert.is-warning{background:#fff1f0;border:1px solid #e9c0bd;color:#913d38}
.sb-dashboard-alert-danger{border-color:#e5b5b1!important;background:#fff3f2!important;color:#873b36!important}
.sb-appointment.is-pending-booking,.sb-rdv-card.is-pending-booking,.sb-rdv-table tr.is-pending-booking{background:#fffaf0}
.sb-appointment.is-pending-booking{border-left:3px solid #d49c27}
.sb-appointment.is-active-booking{border-left:3px solid #5b9a74}
.sb-rdv-card.is-payment-warning,.sb-rdv-table tr.is-payment-warning{background:#fff5f4}
.sb-appointment>div small{display:block;margin-top:4px;font-size:10.5px;font-weight:750;color:#8a6b2b}
.sb-appointment.is-active-booking>div small{color:#397356}
.sb-rdv-card-payment{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0;padding:9px 10px;border-radius:12px;background:#faf6ef}
.sb-rdv-card-payment>span:last-child{font-size:11px;font-weight:750;color:#756a60}
.sb-agenda-booking.is-pending-payment{background:#fff2d4!important;border-color:#d59b25!important;color:#6f500f!important;box-shadow:inset 3px 0 0 #d59b25}
.sb-agenda-booking.is-pending-payment em,.sb-plan-pending{color:#8b5f06!important;font-weight:900!important}

@media (max-width:900px){
  :root{--sb-mobile-gutter:22px;--sb-mobile-nav-h:58px;--sb-mobile-dock-bottom:8px}

  /* The page itself must never become wider than the visual viewport. */
  html,body{width:100%;max-width:100%;overflow-x:hidden!important;overscroll-behavior-x:none}
  @supports (overflow:clip){html,body{overflow-x:clip!important}}
  #sb-booking-app,#sb-manage-app,.sb-account-app{width:100%;max-width:100%;min-width:0;overflow-x:hidden!important;scroll-padding-bottom:calc(var(--sb-mobile-nav-h) + 34px + env(safe-area-inset-bottom))}
  @supports (overflow:clip){#sb-booking-app,#sb-manage-app,.sb-account-app{overflow-x:clip!important}}
  #sb-booking-app * ,#sb-manage-app *,.sb-account-app *{max-width:100%}
  #sb-booking-app img,#sb-manage-app img,.sb-account-app img{max-width:100%;height:auto}

  /* One symmetric geometry for the whole public booking funnel. */
  #sb-booking-app .sb-booking-wrap,
  #sb-booking-app .sb-narrow,
  #sb-manage-app .sb-booking-wrap,
  #sb-manage-app .sb-narrow,
  .sb-account-app .sb-booking-wrap,
  .sb-account-app .sb-narrow{
    width:calc(100% - (var(--sb-mobile-gutter) * 2))!important;
    max-width:720px!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    margin-bottom:0!important;
    padding-left:0!important;
    padding-right:0!important;
    padding-bottom:calc(var(--sb-mobile-nav-h) + 26px + env(safe-area-inset-bottom))!important;
  }

  /* Never let a grid/flex child force body overflow. */
  #sb-booking-app .sb-wizard,
  #sb-booking-app .sb-multi-checkout,
  #sb-booking-app .sb-panel,
  #sb-booking-app #sb-stage,
  #sb-booking-app .sb-wizard-stage-head,
  #sb-booking-app .sb-resource-preference,
  #sb-booking-app .sb-resource-preference-prominent,
  #sb-booking-app .sb-pref-toggle,
  #sb-booking-app .sb-pref-choice,
  #sb-booking-app .sb-pref-choice>div,
  #sb-booking-app .sb-technician-panel,
  #sb-booking-app .sb-row,
  #sb-booking-app .sb-field,
  #sb-booking-app .sb-prestation-options,
  #sb-booking-app .sb-cart-box,
  #sb-booking-app .sb-cart-item,
  #sb-booking-app .sb-cart-item-main{
    width:100%;max-width:100%;min-width:0!important;
  }
  #sb-booking-app .sb-panel{overflow:hidden}
  #sb-booking-app .sb-wizard-stage-head h2,
  #sb-booking-app .sb-wizard-stage-head h3,
  #sb-booking-app .sb-wizard-stage-head p,
  #sb-booking-app .sb-pref-choice strong,
  #sb-booking-app .sb-pref-choice span,
  #sb-booking-app .sb-cart-item-main strong,
  #sb-booking-app .sb-cart-item-main small{overflow-wrap:anywhere;word-break:normal}

  /* On phone the desktop aside recap adds no value and created a large empty gap. */
  #sb-booking-app .sb-wizard>.sb-summary,
  #sb-booking-app .sb-multi-checkout>.sb-summary{display:none!important}

  /* Date rail is the only horizontal scroller; it stays inside the panel. */
  #sb-booking-app .sb-date-strip{
    display:flex!important;flex-wrap:nowrap!important;width:100%!important;max-width:100%!important;min-width:0!important;
    gap:9px!important;margin:0!important;padding:2px 1px 10px!important;overflow-x:auto!important;overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none
  }
  #sb-booking-app .sb-date-strip::-webkit-scrollbar{display:none}
  #sb-booking-app .sb-date{flex:0 0 76px!important;min-width:76px!important;width:76px!important;scroll-snap-align:start;padding:12px 8px!important}

  /* Slots become compact app tiles instead of huge edge-to-edge rows. */
  #sb-booking-app #slots{display:block;width:100%;max-width:100%;min-width:0;margin-top:12px;min-height:0!important}
  #sb-booking-app #slots:empty{display:none!important}
  #sb-booking-app .sb-slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%;max-width:100%;min-width:0}
  #sb-booking-app .sb-slot{width:100%!important;min-width:0!important;min-height:52px!important;padding:11px 8px!important;font-size:16px!important;text-align:center!important;justify-content:center!important}
  #sb-booking-app .sb-slot small{display:block;font-size:10px;margin-top:3px}

  /* Choice cards and forms keep proper breathing room on both sides. */
  #sb-booking-app .sb-resource-preference-prominent{padding:15px!important;margin:18px 0 20px!important}
  #sb-booking-app .sb-pref-toggle{grid-template-columns:1fr!important}
  #sb-booking-app .sb-pref-choice{min-height:0!important;padding:14px!important}
  #sb-booking-app .sb-field input,
  #sb-booking-app .sb-field textarea,
  #sb-booking-app .sb-field select{width:100%;max-width:100%;min-width:0;font-size:16px}
  #sb-booking-app .sb-wizard-actions{width:100%;max-width:100%;scroll-margin-bottom:calc(var(--sb-mobile-nav-h) + 28px);margin-bottom:2px}
  #sb-booking-app .sb-wizard-actions .sb-btn{max-width:100%;white-space:normal;text-align:center}

  /* Smaller inset dock: enough tap target, much less visual obstruction. */
  #sb-booking-app .sb-bottombar,
  #sb-manage-app .sb-bottombar,
  .sb-account-app .sb-bottombar{
    left:var(--sb-mobile-gutter)!important;
    right:var(--sb-mobile-gutter)!important;
    bottom:calc(var(--sb-mobile-dock-bottom) + env(safe-area-inset-bottom))!important;
    min-height:var(--sb-mobile-nav-h)!important;
    height:auto!important;
    padding:5px 6px!important;
    border-radius:19px!important;
  }
  #sb-booking-app .sb-bottombar a,#sb-booking-app .sb-bottombar button,
  #sb-manage-app .sb-bottombar a,#sb-manage-app .sb-bottombar button,
  .sb-account-app .sb-bottombar a,.sb-account-app .sb-bottombar button{
    min-height:46px!important;padding:4px 7px!important;border-radius:14px!important;font-size:11.5px!important
  }
  #sb-booking-app .sb-bottombar .ic,#sb-manage-app .sb-bottombar .ic,.sb-account-app .sb-bottombar .ic{font-size:15px!important}

  /* Floating next button follows the exact same gutters and never covers the dock. */
  #sb-booking-app .sb-floating-next{
    left:var(--sb-mobile-gutter)!important;right:var(--sb-mobile-gutter)!important;width:auto!important;max-width:none!important;
    transform:none!important;bottom:calc(var(--sb-mobile-nav-h) + 18px + env(safe-area-inset-bottom))!important;
    min-height:54px!important;padding:8px 9px 8px 13px!important;border-radius:18px!important
  }

  /* The old global .sb-app padding-bottom was for a full-width nav and caused extra space. */
  #sb-booking-app.sb-app,#sb-manage-app.sb-app,.sb-account-app.sb-app{padding-bottom:0!important}

  /* Public cards use the wrapper width, not nested accidental gutters. */
  #sb-booking-app .sb-grid,#sb-booking-app .sb-category-grid{width:100%;max-width:100%;min-width:0}
  #sb-booking-app .sb-service-card{width:100%;max-width:100%;min-width:0}

  /* Studio mobile: payment status must stay readable without widening cards/tables. */
  .sb-studio .sb-payment-state{font-size:10px;padding:5px 8px}
  .sb-studio .sb-rdv-card-payment{align-items:flex-start;flex-direction:column}
}

@media (max-width:600px){
  :root{--sb-mobile-gutter:18px;--sb-mobile-nav-h:58px}
  #sb-booking-app .sb-top{padding-left:var(--sb-mobile-gutter)!important;padding-right:var(--sb-mobile-gutter)!important}
  #sb-booking-app .sb-panel{padding:18px 16px!important;border-radius:20px!important}
  #sb-booking-app .sb-selected-service-photo{margin-left:0!important;margin-right:0!important;width:100%!important;border-radius:17px!important}
  #sb-booking-app .sb-wizard-stage-head h3{font-size:24px!important;line-height:1.15!important}
  #sb-booking-app .sb-wizard-stage-head p{font-size:13.5px!important;line-height:1.48!important}
  #sb-booking-app .sb-service-card .sb-service-card-body{padding:18px!important}
  #sb-booking-app .sb-service-card h3{font-size:25px!important}
  #sb-booking-app .sb-floating-next>div strong{max-width:42vw!important}
}

@media (max-width:380px){
  :root{--sb-mobile-gutter:14px;--sb-mobile-nav-h:56px}
  #sb-booking-app .sb-slots{grid-template-columns:1fr 1fr!important;gap:8px!important}
  #sb-booking-app .sb-date{flex-basis:72px!important;min-width:72px!important;width:72px!important}
}
.sb-plan-warning{color:#9a403b!important;font-weight:900!important}

/* ========================================================================== 
   v0.15.27 — Premium mobile geometry + owner/manager slot lock
   Final overrides intentionally sit last so legacy responsive rules cannot
   re-expand the public funnel on iPhone/Android.
   ========================================================================== */
@media (max-width:900px){
  :root{--sb-mobile-gutter:16px;--sb-mobile-nav-h:54px;--sb-mobile-dock-bottom:7px}
  #sb-booking-app{background:#fbf7ef}
  #sb-booking-app .sb-booking-wrap,#sb-booking-app .sb-narrow{
    width:100%!important;max-width:720px!important;margin:0 auto!important;
    padding:8px var(--sb-mobile-gutter) calc(var(--sb-mobile-nav-h) + 22px + env(safe-area-inset-bottom))!important;
  }
  #sb-booking-app .sb-wizard{display:block!important;width:100%!important;min-height:0!important;height:auto!important;align-items:start!important}
  #sb-booking-app .sb-panel{width:100%!important;min-height:0!important;height:auto!important;padding:16px!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 8px 24px rgba(61,47,29,.045)!important}
  #sb-booking-app #sb-stage{width:100%!important;min-height:0!important;height:auto!important}
  #sb-booking-app .sb-selected-service-photo{height:132px!important;margin:0 0 14px!important;border-radius:15px!important}
  #sb-booking-app .sb-back{font-size:14px!important;min-height:34px!important;margin:0 0 12px!important}
  #sb-booking-app .sb-steps{gap:6px!important;margin:0 0 18px!important}
  #sb-booking-app .sb-step{height:4px!important}
  #sb-booking-app .sb-wizard-stage-head{margin:12px 0 14px!important}
  #sb-booking-app .sb-wizard-stage-head .sb-mini-kicker{font-size:10px!important;letter-spacing:.14em!important}
  #sb-booking-app .sb-wizard-stage-head h3{font-size:clamp(23px,6.5vw,28px)!important;line-height:1.08!important;margin:5px 0 7px!important;letter-spacing:-.015em}
  #sb-booking-app .sb-wizard-stage-head p{font-size:13px!important;line-height:1.42!important;margin:0!important;color:#81766c!important}
  #sb-booking-app .sb-date-strip{gap:8px!important;padding:2px 0 8px!important;margin:0!important;scroll-padding-inline:1px}
  #sb-booking-app .sb-date{flex:0 0 68px!important;width:68px!important;min-width:68px!important;padding:9px 5px!important;border-radius:14px!important;min-height:78px!important}
  #sb-booking-app .sb-date small{font-size:10px!important;line-height:1.15!important;margin-bottom:2px!important}
  #sb-booking-app .sb-date strong{font-size:18px!important;line-height:1.05!important;margin:3px 0!important}
  #sb-booking-app #slots{margin-top:8px!important;padding:0!important;min-height:0!important;height:auto!important}
  #sb-booking-app #slots .sb-label{font-size:13px!important;margin:11px 0 8px!important}
  #sb-booking-app .sb-slots{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  #sb-booking-app .sb-slot{min-height:46px!important;padding:8px 5px!important;border-radius:12px!important;font-size:15px!important;font-weight:760!important}
  #sb-booking-app .sb-slot .sb-slot-hint{font-size:8px!important;line-height:1.1!important}
  #sb-booking-app .sb-resource-preference-prominent{padding:12px!important;margin:14px 0 14px!important;border-radius:16px!important}
  #sb-booking-app .sb-resource-preference-prominent .sb-pref-head{margin-bottom:10px!important}
  #sb-booking-app .sb-resource-preference-prominent .sb-pref-head h3{font-size:20px!important;line-height:1.12!important;margin:2px 0 5px!important}
  #sb-booking-app .sb-resource-preference-prominent .sb-pref-head small{font-size:12px!important;line-height:1.38!important}
  #sb-booking-app .sb-pref-toggle{gap:8px!important}
  #sb-booking-app .sb-pref-choice{min-height:64px!important;padding:11px 12px!important;border-radius:13px!important;gap:9px!important}
  #sb-booking-app .sb-pref-choice strong{font-size:14px!important;line-height:1.2!important;margin:0!important}
  #sb-booking-app .sb-pref-choice span{font-size:11.5px!important;line-height:1.35!important}
  #sb-booking-app .sb-pref-radio{width:19px!important;height:19px!important;flex-basis:19px!important;margin-top:1px!important}
  #sb-booking-app .sb-prestation-options{gap:8px!important}
  #sb-booking-app .sb-prestation-option{padding:12px!important;border-radius:13px!important}
  #sb-booking-app .sb-prestation-option strong{font-size:15px!important;line-height:1.22!important}
  #sb-booking-app .sb-prestation-option>span{font-size:12.5px!important;line-height:1.38!important}
  #sb-booking-app .sb-prestation-option>small,#sb-booking-app .sb-prestation-option>small b{font-size:12.5px!important;line-height:1.3!important}
  #sb-booking-app .sb-prestation-option>small em{font-size:12px!important}
  #sb-booking-app .sb-field{gap:5px!important;margin-bottom:11px!important}
  #sb-booking-app .sb-field label{font-size:13px!important}
  #sb-booking-app .sb-field input,#sb-booking-app .sb-field select,#sb-booking-app .sb-field textarea{min-height:50px!important;padding:11px 13px!important;border-radius:13px!important;font-size:16px!important;line-height:1.3!important}
  #sb-booking-app .sb-field textarea{min-height:86px!important}
  #sb-booking-app .sb-field-help,#sb-booking-app .sb-help,#sb-booking-app .sb-muted{font-size:11.5px!important;line-height:1.4!important}
  #sb-booking-app .sb-wizard-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:14px!important;padding-bottom:2px!important}
  #sb-booking-app .sb-wizard-actions .sb-btn{width:100%!important;min-height:48px!important;padding:11px 15px!important;font-size:14px!important}
  #sb-booking-app .sb-service-card-photo{border-radius:18px!important;box-shadow:0 7px 22px rgba(61,47,29,.05)!important}
  #sb-booking-app .sb-service-photo{height:154px!important}
  #sb-booking-app .sb-service-card-copy{padding:15px 16px 17px!important}
  #sb-booking-app .sb-service-card-copy .icon{margin:0 0 8px!important;font-size:18px!important}
  #sb-booking-app .sb-service-card-copy h3{font-size:23px!important;margin:0 0 5px!important}
  #sb-booking-app .sb-service-card-copy p{font-size:12px!important;margin:0 0 12px!important}
  #sb-booking-app .sb-service-card-copy .meta{font-size:13px!important}
  #sb-booking-app .sb-category-grid{gap:12px!important}
  #sb-booking-app .sb-bottombar,#sb-manage-app .sb-bottombar,.sb-account-app .sb-bottombar{
    left:var(--sb-mobile-gutter)!important;right:var(--sb-mobile-gutter)!important;
    bottom:calc(var(--sb-mobile-dock-bottom) + env(safe-area-inset-bottom))!important;
    min-height:var(--sb-mobile-nav-h)!important;padding:4px!important;border-radius:17px!important;
    box-shadow:0 9px 26px rgba(54,40,24,.14)!important
  }
  #sb-booking-app .sb-bottombar a,#sb-booking-app .sb-bottombar button,#sb-manage-app .sb-bottombar a,#sb-manage-app .sb-bottombar button,.sb-account-app .sb-bottombar a,.sb-account-app .sb-bottombar button{
    min-height:44px!important;padding:3px 6px!important;border-radius:13px!important;font-size:10.5px!important;gap:2px!important
  }
  #sb-booking-app .sb-bottombar .ic,#sb-manage-app .sb-bottombar .ic,.sb-account-app .sb-bottombar .ic{font-size:14px!important;line-height:1!important}
  #sb-booking-app .sb-floating-next{left:var(--sb-mobile-gutter)!important;right:var(--sb-mobile-gutter)!important;bottom:calc(var(--sb-mobile-nav-h) + 15px + env(safe-area-inset-bottom))!important;min-height:50px!important;padding:7px 8px 7px 12px!important;border-radius:16px!important}
  #sb-booking-app .sb-floating-next>div strong{font-size:12.5px!important;max-width:42vw!important}
  #sb-booking-app .sb-floating-next .sb-btn{min-height:40px!important;padding:9px 13px!important;font-size:13px!important}
}
@media (max-width:380px){
  :root{--sb-mobile-gutter:14px;--sb-mobile-nav-h:52px}
  #sb-booking-app .sb-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #sb-booking-app .sb-date{flex-basis:64px!important;width:64px!important;min-width:64px!important}
  #sb-booking-app .sb-panel{padding:14px!important}
  #sb-booking-app .sb-service-photo{height:142px!important}
}

/* Planning slot lock — visible only to authorised owner/manager via JS. */
.sb-planning-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.sb-planning-block-btn{min-height:38px;padding:8px 12px;font-size:11px;white-space:nowrap}
.sb-planning-tip{margin:-2px 0 10px;padding:9px 11px;border:1px solid #eadfcf;border-radius:12px;background:#fffaf1;color:#77654c;font-size:10.5px;line-height:1.45}
.sb-blocked-hint{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#857a6e}
.sb-agenda-cell[data-block-ids],.sb-mobile-free.is-blocked{cursor:pointer!important}
.sb-mobile-free.is-blocked{background:repeating-linear-gradient(45deg,#f5f1ea,#f5f1ea 7px,#eee8de 7px,#eee8de 14px);border-color:#d9d0c4;color:#71685e}
.sb-mobile-free.is-blocked em{background:#e9e3da!important;color:#6d655c!important}
.sb-slot-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.sb-slot-action{appearance:none;border:1px solid var(--line);background:#fff;border-radius:17px;padding:16px 14px;text-align:left;color:var(--ink);cursor:pointer;min-height:122px}
.sb-slot-action.primary{background:#fff8e7;border-color:#d7b96f}
.sb-slot-action>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--soft);color:var(--gold-dark);font-size:18px;margin-bottom:12px}
.sb-slot-action strong,.sb-slot-action small{display:block}.sb-slot-action strong{font-size:13.5px}.sb-slot-action small{font-size:10.5px;color:var(--muted);line-height:1.35;margin-top:4px}
.sb-block-service-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.sb-block-service-list label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:#fff;font-size:11px;font-weight:700}
.sb-block-service-list input{accent-color:var(--gold)}
.sb-block-warning{margin:10px 0 14px;padding:10px 12px;border-radius:12px;background:#fff6e7;border:1px solid #ead09a;color:#79591e;font-size:10.5px;line-height:1.4}
@media(max-width:720px){
  .sb-planning-v3-top{gap:9px}.sb-planning-actions{width:100%;justify-content:space-between}.sb-planning-block-btn{flex:1}.sb-slot-action-grid{grid-template-columns:1fr}.sb-slot-action{min-height:92px;padding:13px}.sb-block-service-list{grid-template-columns:1fr}.sb-planning-tip{font-size:10px}
}


/* v0.15.28 — Slot blocking discoverability hotfix. */
.sb-services-toolbar .sb-toolbar-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.sb-slot-manager-shortcut{border-color:rgba(189,145,48,.55)!important;background:#fffaf0!important;color:#805f1d!important}
.sb-slot-manager-shortcut:hover{background:#fff4d6!important;border-color:#bd9130!important}
.sb-service-actions .sv-availability{border-color:rgba(189,145,48,.45);color:#805f1d;background:#fffaf0}
@media(max-width:700px){
 .sb-services-toolbar .sb-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
 .sb-services-toolbar #services-block-slot{grid-column:1/-1;width:100%}
 .sb-service-actions{grid-template-columns:1fr 1fr}
 .sb-service-actions .sv-availability{grid-column:1/-1}
}


/* v0.15.29 — Bulk availability blocking: one day / date range / whole salon / resource. */
.sb-bulk-block{display:block}
.sb-bulk-presets{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 14px}
.sb-bulk-presets button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font:inherit;font-size:10px;font-weight:800;color:var(--gold-dark);cursor:pointer}
.sb-bulk-presets button:hover,.sb-bulk-presets button.active{background:#fff6df;border-color:#d3ae5b}
.sb-bulk-dates{margin-bottom:2px}
.sb-bulk-scope{margin-top:5px}
.sb-bulk-summary{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:14px 0;padding:13px 14px;border-radius:14px;background:#f8f1e5;border:1px solid #ead9b7}
.sb-bulk-summary small{grid-row:1/3;align-self:center;font-size:8px;letter-spacing:.16em;font-weight:900;color:#9a792e}
.sb-bulk-summary strong{font-size:12px;color:var(--ink)}
.sb-bulk-summary span{font-size:10.5px;color:var(--muted)}
.sb-block-warning{display:grid;gap:3px}
.sb-block-warning strong{font-size:11px;color:#684c17}
.sb-block-warning span{font-size:10px;color:#80692f}
.sb-planning-tip strong{color:#7f5e19}
@media(max-width:700px){
 .sb-bulk-block .sb-row{grid-template-columns:1fr 1fr!important;gap:9px}
 .sb-bulk-block .sb-field input,.sb-bulk-block .sb-field select{min-height:46px}
 .sb-bulk-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
 .sb-bulk-presets button{padding:8px 4px;font-size:9px}
 .sb-bulk-summary{grid-template-columns:1fr;gap:3px}.sb-bulk-summary small{grid-row:auto}
 .sb-planning-block-btn{white-space:normal;line-height:1.15;text-align:center}
}
@media(max-width:430px){
 .sb-bulk-block .sb-row{grid-template-columns:1fr!important}
 .sb-bulk-presets{grid-template-columns:repeat(2,1fr)}
}


/* v0.15.30 — fermeture de dates simplifiée, pensée comme un calendrier. */
.sb-close-dates{max-width:620px}
.sb-close-dates>h2{margin-bottom:6px}
.sb-close-date-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;margin:18px 0 10px;padding:16px;border:1px solid #e7d4ae;border-radius:18px;background:#fffaf1}
.sb-close-date-range label{display:grid;gap:7px}
.sb-close-date-range label>span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#8b6c2a}
.sb-close-date-range input{width:100%;min-height:52px;border:1px solid #ddc797;border-radius:13px;background:#fff;padding:0 13px;font:inherit;font-size:14px;font-weight:800;color:var(--ink);box-sizing:border-box}
.sb-close-date-arrow{align-self:center;margin-top:21px;font-size:18px;font-weight:900;color:#b38a30}
.sb-close-presets{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}
.sb-close-presets button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font:inherit;font-size:10px;font-weight:850;color:var(--gold-dark);cursor:pointer}
.sb-close-presets button.active,.sb-close-presets button:hover{background:#fff3d6;border-color:#c99b35}
.sb-close-default{display:flex;gap:11px;align-items:center;padding:13px 14px;border:1px solid #d8c28f;border-radius:14px;background:#fbf4e5;margin:10px 0}
.sb-close-default>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#b88922;color:#fff;font-weight:900;flex:0 0 auto}
.sb-close-default div{display:grid;gap:2px}
.sb-close-default strong{font-size:12px;color:var(--ink)}
.sb-close-default small{font-size:10px;color:var(--muted)}
.sb-close-advanced{border:1px solid #eadfc9;border-radius:14px;background:#fff;margin:10px 0 12px;overflow:hidden}
.sb-close-advanced summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;font-size:11px;font-weight:850;color:var(--ink)}
.sb-close-advanced summary::-webkit-details-marker{display:none}
.sb-close-advanced summary:after{content:'＋';font-size:15px;color:#9b7423}
.sb-close-advanced[open] summary:after{content:'−'}
.sb-close-advanced summary small{margin-left:auto;font-size:9.5px;font-weight:600;color:var(--muted)}
.sb-close-advanced-body{padding:0 14px 14px;border-top:1px solid #f0e7d5}
.sb-close-hours-toggle{display:flex;gap:10px;align-items:flex-start;padding:12px 0;cursor:pointer}
.sb-close-hours-toggle input{margin-top:3px}
.sb-close-hours-toggle span{display:grid;gap:2px}
.sb-close-hours-toggle strong{font-size:11px}
.sb-close-hours-toggle small{font-size:9.5px;color:var(--muted)}
.sb-close-dates-save{margin-top:12px;min-height:50px}
@media(max-width:640px){
 .sb-close-date-range{grid-template-columns:1fr;gap:9px;padding:13px}
 .sb-close-date-arrow{display:none}
 .sb-close-date-range input{min-height:48px;font-size:13px}
 .sb-close-presets{display:grid;grid-template-columns:repeat(2,1fr)}
 .sb-close-presets button{padding:9px 6px}
 .sb-close-advanced summary{align-items:flex-start;flex-direction:column;gap:2px}
 .sb-close-advanced summary small{margin-left:0}
 .sb-close-dates .sb-row{grid-template-columns:1fr!important}
}


/* v0.15.31 — dérogation salon pour création manuelle sans acompte. */
.sb-deposit-waiver{display:flex;gap:12px;align-items:flex-start;margin:16px 0;padding:15px 16px;border:1px solid #e6d6b7;border-radius:16px;background:#fffaf0;cursor:pointer}.sb-deposit-waiver input{margin-top:4px;inline-size:18px;block-size:18px;accent-color:#9a7117}.sb-deposit-waiver span{display:grid;gap:3px}.sb-deposit-waiver strong{font-size:15px;color:#2c2823}.sb-deposit-waiver small{font-size:12px;line-height:1.45;color:#776f64}.sb-deposit-waiver.is-active{border-color:#bd9130;background:#fff6df;box-shadow:0 0 0 2px rgba(189,145,48,.08)}.sb-booking-activation-alert.is-waived{border-color:#d8b66d;background:#fff8e8;color:#5a461d}


/* ==========================================================================
   v0.15.32 — Caisse / POS / exports / fermeture planning
   ========================================================================== */
.sb-payment-state.sb-payment-waived{background:#eef5e8;color:#49683b;border-color:#cbdcbd}
.sb-pos-card{margin:18px 0;padding:18px;border:1px solid #e7d4ae;border-radius:20px;background:linear-gradient(180deg,#fffdf8 0%,#fbf5e9 100%);box-shadow:0 10px 28px rgba(72,54,30,.06)}
.sb-pos-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.sb-pos-head h3{margin:2px 0 0;font-size:20px}.sb-pos-state{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.sb-pos-state.is-due{background:#fff2dd;color:#8c5c08}.sb-pos-state.is-paid{background:#eaf6ec;color:#2d6c3a}
.sb-pos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sb-pos-grid>div{padding:12px;border:1px solid #eadcc4;border-radius:14px;background:#fff}.sb-pos-grid small{display:block;color:#8a7c6c;font-size:11px;margin-bottom:4px}.sb-pos-grid strong{font-size:17px;color:#2e2924}.sb-pos-note{margin:10px 0 0;font-size:12px;color:#756a5e}.sb-pos-actions{display:flex;gap:10px;margin-top:14px}.sb-pos-actions>.sb-btn{flex:1}
.sb-pos-grid-modal{margin:14px 0}.sb-payment-quick{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.sb-payment-quick button{border:1px solid #dfc997;background:#fffaf0;border-radius:999px;padding:9px 12px;font-weight:700;color:#7e5b17;cursor:pointer}
.sb-export-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sb-export-actions .sb-btn{min-height:38px;padding:8px 13px;white-space:nowrap}.sb-export-xlsx{background:#f5fbf4!important;border-color:#bcd8bd!important;color:#376b3b!important}
.sb-cash-table td small{display:block;color:#8b8074;margin-top:3px}.sb-print-payment{width:auto!important;min-width:74px;padding:7px 10px!important;border-radius:10px!important}
.sb-kpis-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sb-kpi>span{display:block;margin-top:4px;color:#8a7c6c;font-size:11px}
#bulk-block-error .sb-error{margin:12px 0;text-align:left}.sb-close-dates-save{position:sticky;bottom:8px;z-index:2}
@media(max-width:920px){.sb-kpis-4{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-pos-grid{grid-template-columns:1fr}.sb-pos-actions{flex-direction:column}.sb-export-actions{width:100%}.sb-export-actions .sb-btn{flex:1}.sb-cash-table{overflow-x:auto}}
@media(max-width:560px){.sb-kpis-4{grid-template-columns:1fr 1fr}.sb-pos-card{padding:14px;border-radius:16px}.sb-pos-head h3{font-size:18px}.sb-pos-grid>div{padding:10px}.sb-pos-actions{gap:8px}.sb-export-actions{display:grid;grid-template-columns:1fr 1fr}.sb-view-toolbar-actions{align-items:stretch}.sb-payment-quick{display:grid;grid-template-columns:1fr}.sb-payment-quick button{width:100%}}

/* v0.15.37 — contrôle admin + vérité reçus/caisse */
.sb-edit-booking-assignment{margin:12px 0 4px}
.sb-booking-edit-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:12px 0 16px;border:1px solid var(--sb-line,#e8dfcf);border-radius:14px;background:#fbf7ee}
.sb-booking-edit-note strong{white-space:nowrap;color:#8e6617}
.sb-booking-edit-note span{color:#6f685e;line-height:1.45}
.sb-booking-edit-finance{margin:14px 0}
.sb-cash-toolbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.sb-cash-daybar{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(150px,190px) auto auto;gap:10px;align-items:center;margin:0 0 16px;padding:12px 14px;border:1px solid var(--sb-line,#e8dfcf);border-radius:18px;background:#fff}
.sb-cash-daybar>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.sb-cash-daybar>div strong{font-family:Georgia,serif;font-size:20px;line-height:1.15;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-cash-daybar input[type=date]{min-height:44px;border:1px solid var(--sb-line,#e8dfcf);border-radius:12px;background:#fff;padding:0 12px;font:inherit;color:inherit}
.sb-cash-methods{margin:16px 0}
.sb-cash-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sb-cash-method-grid article{padding:14px;border:1px solid var(--sb-line,#e8dfcf);border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:4px}
.sb-cash-method-grid small,.sb-cash-method-grid span{color:#756e65}
.sb-cash-method-grid strong{font-size:18px}

@media(max-width:900px){
 .sb-cash-daybar{grid-template-columns:auto 1fr auto}
 .sb-cash-daybar input[type=date]{grid-column:1/-1;grid-row:2;width:100%}
 .sb-cash-daybar #cash-today{grid-column:2;grid-row:3;justify-self:start}
 .sb-cash-daybar #cash-prev-day{grid-column:1;grid-row:1}
 .sb-cash-daybar #cash-next-day{grid-column:3;grid-row:1}
 .sb-cash-daybar>div{grid-column:2;grid-row:1;text-align:center}
 .sb-cash-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
 .sb-booking-edit-note{flex-direction:column;gap:4px}
 .sb-cash-toolbar-actions{width:100%;justify-content:stretch}
 .sb-cash-toolbar-actions>.sb-btn,.sb-cash-toolbar-actions>.sb-export-actions{flex:1}
 .sb-cash-daybar{padding:10px;border-radius:15px}
 .sb-cash-daybar>div strong{font-size:17px}
 .sb-cash-method-grid{grid-template-columns:1fr 1fr;gap:8px}
 .sb-cash-method-grid article{padding:12px}
}

/* v0.15.39 — discreet global 3Vision Group attribution */
/* v0.15.40 — cashier resource-only reassignment */
.sb-3vision-credit{width:100%;padding:12px 18px 14px;text-align:center;font-size:10.5px;line-height:1.45;letter-spacing:.015em;color:rgba(91,81,70,.62);background:transparent}
.sb-3vision-credit span{font-weight:450}
.sb-3vision-credit a{display:inline-block;margin-left:3px;color:rgba(141,105,31,.82);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(189,145,48,.22);transition:color .16s ease,border-color .16s ease}
.sb-3vision-credit a:hover,.sb-3vision-credit a:focus-visible{color:#8d691f;border-bottom-color:rgba(141,105,31,.55)}
.sb-3vision-credit a:focus-visible{outline:2px solid rgba(189,145,48,.4);outline-offset:3px;border-radius:3px}
@media(max-width:900px){.sb-3vision-credit{padding:10px 14px calc(82px + env(safe-area-inset-bottom));font-size:9.5px}}
body.sb-studio-experience .sb-3vision-credit{padding-top:8px;padding-bottom:10px;background:#f7f3ec}
@media(max-width:900px){body.sb-studio-experience .sb-3vision-credit{padding-bottom:calc(78px + env(safe-area-inset-bottom))}}

/* v0.15.43 — public booking mobile: wider, more immersive layout */
@media(max-width:600px){
  #sb-booking-app .sb-top{padding-inline:10px}
  #sb-booking-app .sb-booking-wrap{
    width:100%;
    max-width:none;
    padding-left:10px;
    padding-right:10px;
    box-sizing:border-box;
  }
  #sb-booking-app .sb-home-signature-hero,
  #sb-booking-app .sb-category-grid,
  #sb-booking-app .sb-multi-checkout,
  #sb-booking-app .sb-wizard{width:100%;max-width:none}
  #sb-booking-app .sb-category-grid{gap:11px!important}
  #sb-booking-app .sb-service-card-photo{border-radius:18px!important}
  #sb-booking-app .sb-service-photo{height:184px}
  #sb-booking-app .sb-service-card-copy{padding:17px 16px 19px}
  #sb-booking-app .sb-wizard,
  #sb-booking-app .sb-multi-checkout{gap:10px}
  #sb-booking-app .sb-wizard>.sb-panel,
  #sb-booking-app .sb-multi-checkout>.sb-panel{
    padding:14px 9px 18px;
    border-radius:19px;
  }
  #sb-booking-app .sb-selected-service-photo{
    height:178px;
    margin:-14px -9px 17px;
    border-radius:19px 19px 13px 13px;
  }
  #sb-booking-app .sb-prestation-options{gap:9px}
  #sb-booking-app .sb-prestation-option{padding:14px 12px!important;border-radius:14px}
  #sb-booking-app .sb-prestation-option strong{font-size:15px}
  #sb-booking-app .sb-prestation-option>span{font-size:12px;line-height:1.42}
  #sb-booking-app .sb-prestation-option>small{display:flex;gap:8px 12px;flex-wrap:wrap;font-size:11px}
  #sb-booking-app .sb-wizard-stage-head{padding-inline:3px}
  #sb-booking-app .sb-resource-preference,
  #sb-booking-app .sb-date-strip,
  #sb-booking-app #slots,
  #sb-booking-app .sb-cart-box,
  #sb-booking-app .sb-known-customer,
  #sb-booking-app .sb-recognition-first,
  #sb-booking-app .sb-row,
  #sb-booking-app .sb-booking-note{width:100%;max-width:none}
  #sb-booking-app .sb-summary{margin-left:0;margin-right:0}
}

/* v0.15.44 — mobile booking visual overhaul
   Scope strict: public booking experience on phones only. */
@media(max-width:600px){
  body.sb-booking-experience{overflow-x:hidden;background:#fbf7ef}
  #sb-booking-app{width:100%;max-width:100%}

  #sb-booking-app .sb-top{
    position:relative;height:78px;min-height:78px;padding:7px 10px!important;
    justify-content:center!important
  }
  #sb-booking-app .sb-brand{
    display:flex;align-items:center;justify-content:center;margin:0 auto!important
  }
  #sb-booking-app .sb-brand img{
    width:108px!important;height:66px!important;max-width:108px!important;object-fit:contain
  }
  #sb-booking-app .sb-public-auth-links,
  #sb-booking-app .sb-public-manage-guest{display:none!important}

  #sb-booking-app .sb-booking-wrap{
    width:100%!important;max-width:none!important;margin:0 auto 16px!important;
    padding-left:7px!important;padding-right:7px!important
  }
  #sb-booking-app .sb-home-signature-hero,
  #sb-booking-app .sb-category-grid,
  #sb-booking-app .sb-multi-checkout,
  #sb-booking-app .sb-wizard{width:100%!important;max-width:none!important}

  #sb-booking-app .sb-home-signature-hero{
    margin:0 0 14px!important;border-radius:17px!important;
    box-shadow:0 10px 26px rgba(68,45,20,.08)!important
  }
  #sb-booking-app .sb-home-signature-hero .sb-home-signature-media{max-height:370px}

  #sb-booking-app .sb-intro,
  #sb-booking-app .sb-intro-after-hero{
    max-width:none!important;margin:8px 5px 17px!important;text-align:left!important
  }
  #sb-booking-app .sb-intro span{font-size:9px!important;letter-spacing:.15em}
  #sb-booking-app .sb-intro h1{
    font-size:31px!important;line-height:1.04!important;margin:6px 0 7px!important
  }
  #sb-booking-app .sb-intro p{
    font-size:12px!important;line-height:1.45!important;margin:0!important
  }

  #sb-booking-app .sb-category-grid{gap:9px!important}
  #sb-booking-app .sb-service-card-photo,
  #sb-booking-app .sb-service-card{min-height:0!important;border-radius:16px!important}
  #sb-booking-app .sb-service-photo{height:166px!important}
  #sb-booking-app .sb-service-card-copy{padding:14px 13px 16px!important}
  #sb-booking-app .sb-service-card h3{margin:8px 0 5px!important;font-size:22px!important}
  #sb-booking-app .sb-service-card p{
    margin:0 0 9px!important;font-size:11.5px!important;line-height:1.4!important
  }
  #sb-booking-app .sb-service-card .meta{font-size:12.5px!important}

  #sb-booking-app .sb-wizard,
  #sb-booking-app .sb-multi-checkout{display:block!important;gap:0!important}
  #sb-booking-app .sb-wizard>.sb-panel,
  #sb-booking-app .sb-multi-checkout>.sb-panel,
  #sb-booking-app .sb-panel{
    width:100%!important;max-width:none!important;padding:12px 8px 14px!important;
    border-radius:17px!important;box-shadow:0 7px 20px rgba(61,47,29,.045)!important
  }
  #sb-booking-app .sb-selected-service-photo{
    height:154px!important;margin:-12px -8px 13px!important;
    border-radius:17px 17px 11px 11px!important
  }
  #sb-booking-app .sb-back{margin-bottom:9px!important;font-size:11.5px!important}
  #sb-booking-app .sb-steps{margin:0 0 12px!important;gap:5px!important}
  #sb-booking-app .sb-step{height:4px!important}
  #sb-booking-app .sb-wizard-stage-head{padding-inline:2px!important;margin-bottom:9px!important}
  #sb-booking-app .sb-wizard-stage-head h2,
  #sb-booking-app .sb-wizard-stage-head h3{
    line-height:1.08!important;margin-top:0!important;margin-bottom:6px!important
  }
  #sb-booking-app .sb-wizard-stage-head p{
    font-size:11.25px!important;line-height:1.4!important;margin:0!important
  }

  #sb-booking-app .sb-prestation-options{gap:7px!important}
  #sb-booking-app .sb-prestation-option{
    width:100%!important;max-width:none!important;padding:11px 10px!important;border-radius:12px!important
  }
  #sb-booking-app .sb-prestation-option strong{font-size:14px!important;line-height:1.26!important}
  #sb-booking-app .sb-prestation-option>span{font-size:11px!important;line-height:1.36!important}
  #sb-booking-app .sb-prestation-option>small{
    margin-top:6px!important;gap:5px 8px!important;font-size:10.5px!important;line-height:1.28!important
  }
  #sb-booking-app .sb-prestation-option>small b,
  #sb-booking-app .sb-prestation-option>small em{font-size:10.5px!important}

  #sb-booking-app .sb-resource-preference,
  #sb-booking-app .sb-date-strip,
  #sb-booking-app #slots,
  #sb-booking-app .sb-cart-box,
  #sb-booking-app .sb-known-customer,
  #sb-booking-app .sb-recognition-first,
  #sb-booking-app .sb-row,
  #sb-booking-app .sb-booking-note{width:100%!important;max-width:none!important}

  #sb-booking-app .sb-option{width:100%!important;padding:11px!important;border-radius:12px!important}
  #sb-booking-app .sb-label{margin:13px 0 7px!important}

  #sb-booking-app .sb-date-strip{
    flex-wrap:nowrap!important;overflow-x:auto!important;gap:6px!important;
    padding:2px 1px 7px!important;scrollbar-width:none
  }
  #sb-booking-app .sb-date-strip::-webkit-scrollbar{display:none}
  #sb-booking-app .sb-date{
    flex:0 0 62px!important;min-width:62px!important;padding:8px 5px!important;border-radius:11px!important
  }
  #sb-booking-app .sb-date strong{font-size:15px!important}
  #sb-booking-app .sb-date small{font-size:8.5px!important;margin-bottom:2px!important}

  #sb-booking-app .sb-slots{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important
  }
  #sb-booking-app .sb-slot{
    width:100%!important;min-width:0!important;padding:10px 5px!important;
    border-radius:11px!important;font-size:11.5px!important
  }

  #sb-booking-app .sb-cart-box{border-radius:14px!important}
  #sb-booking-app .sb-cart-head{padding:11px 10px!important}
  #sb-booking-app .sb-cart-item{padding:10px 9px!important}
  #sb-booking-app .sb-cart-totals{padding:9px 10px!important}
  #sb-booking-app .sb-known-customer{padding:11px!important;border-radius:13px!important}
  #sb-booking-app .sb-field{margin-bottom:9px!important}
  #sb-booking-app .sb-field input,
  #sb-booking-app .sb-field textarea,
  #sb-booking-app .sb-field select{
    width:100%!important;min-height:45px!important;padding:11px 12px!important;
    border-radius:11px!important;font-size:16px!important
  }

  #sb-booking-app .sb-summary{
    position:static!important;width:100%!important;max-width:none!important;
    margin:9px 0 0!important;padding:12px 11px!important;border-radius:15px!important;box-shadow:none!important
  }
  #sb-booking-app .sb-summary h3{font-size:19px!important;margin-bottom:8px!important}
  #sb-booking-app .sb-summary-line{padding:6px 0!important;font-size:11.5px!important}
  #sb-booking-app .sb-payment-launch-summary{margin-top:9px!important}
  #sb-booking-app .sb-notice{
    margin:9px 0!important;padding:10px 11px!important;border-radius:12px!important;font-size:10.5px!important
  }

  #sb-booking-app .sb-wizard-actions{margin-top:12px!important;gap:7px!important}
  #sb-booking-app .sb-wizard-actions .sb-btn,
  #sb-booking-app .sb-btn-full{width:100%!important;min-height:45px!important}
  #sb-booking-app .sb-wizard-actions-split{
    display:grid!important;grid-template-columns:1fr 1.35fr!important
  }

  #sb-booking-app .sb-footer{
    padding:7px 10px 3px!important;font-size:9px!important;line-height:1.35!important
  }
  #sb-booking-app .sb-bottombar{
    min-height:62px!important;padding:5px 8px calc(5px + env(safe-area-inset-bottom))!important;
    box-shadow:0 -5px 18px rgba(61,47,29,.055)!important
  }
  #sb-booking-app .sb-bottombar a{
    min-height:43px!important;padding:4px!important;border-radius:11px!important
  }
  #sb-booking-app .sb-bottombar .ic{font-size:15px!important}
  #sb-booking-app .sb-bottombar small{font-size:8.5px!important}
  .sb-3vision-credit{
    padding:4px 10px calc(70px + env(safe-area-inset-bottom))!important;font-size:8.4px!important
  }
}

@media(max-width:380px){
  #sb-booking-app .sb-booking-wrap{padding-left:5px!important;padding-right:5px!important}
  #sb-booking-app .sb-brand img{width:100px!important}
  #sb-booking-app .sb-wizard-actions-split{grid-template-columns:1fr!important}
}
