:root {
    --bg: #f5f7f7;
    --panel: #ffffff;
    --text: #203036;
    --muted: #66757a;
    --line: #dfe6e8;
    --brand: #35515a;
    --brand-strong: #243d45;
    --accent: #4f7d7f;
    --danger: #a64040;
    --success: #2f725b;
    --warning: #8b692c;
    --radius: 18px;
    --shadow: 0 14px 38px rgba(32, 48, 54, .08);
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--bg); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, .button { -webkit-tap-highlight-color: transparent; }

.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 270px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 28px 22px; background: #233b43; color: #fff; overflow-y: auto; z-index: 20; }
.brand { text-decoration: none; font-size: 2rem; font-weight: 850; letter-spacing: -.055em; }
.brand span { color: #7fb0ad; }
.sidebar-label { margin-top: 4px; font-size: .78rem; color: rgba(255,255,255,.58); text-transform: uppercase; letter-spacing: .11em; }
.sidebar-nav { display: grid; gap: 7px; margin-top: 34px; }
.sidebar-nav a, .nav-disabled { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-radius: 12px; padding: 12px 14px; text-decoration: none; color: rgba(255,255,255,.78); }
.sidebar-nav a:hover, .sidebar-nav a.is-active { background: rgba(255,255,255,.1); color: #fff; }
.nav-disabled { opacity: .4; }
.nav-disabled small { font-size: .65rem; text-transform: uppercase; letter-spacing: .04em; }
.sidebar-footer { margin-top: auto; padding-top: 30px; }
.admin-identity { display: grid; gap: 2px; margin-bottom: 12px; }
.admin-identity span { font-size: .78rem; color: rgba(255,255,255,.58); overflow-wrap: anywhere; }
.logout-link { border: 0; background: transparent; color: #d7e5e6; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

.admin-main { min-width: 0; }
.topbar { min-height: 112px; display: flex; align-items: center; gap: 20px; padding: 24px clamp(22px, 4vw, 54px); background: rgba(255,255,255,.86); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.topbar h1 { margin: 2px 0 0; font-size: clamp(1.65rem, 3vw, 2.45rem); letter-spacing: -.035em; }
.eyebrow { color: var(--accent); text-transform: uppercase; font-weight: 750; font-size: .72rem; letter-spacing: .13em; }
.menu-toggle { display: none; border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: 9px 12px; }
.content-wrap { padding: clamp(22px, 4vw, 54px); }
.admin-footer { padding: 18px clamp(22px, 4vw, 54px) 34px; color: var(--muted); font-size: .82rem; }

.dashboard-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.metric-card, .panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.metric-card { padding: 24px; display: grid; gap: 14px; }
.metric-card span { color: var(--muted); font-size: .9rem; }
.metric-card strong { font-size: clamp(2rem, 4vw, 3rem); line-height: 1; letter-spacing: -.05em; }
.panel { overflow: hidden; }
.panel-spaced { margin-top: 22px; }
.panel-heading, .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px; }
.panel-heading h2, .section-heading h2 { margin: 4px 0 4px; font-size: 1.28rem; }
.panel-heading p, .section-heading p { margin: 0; color: var(--muted); line-height: 1.55; }
.panel-heading-wrap { flex-wrap: wrap; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 10px 16px; border: 1px solid transparent; border-radius: 11px; text-decoration: none; font-weight: 720; cursor: pointer; transition: transform .15s ease, background .15s ease, border-color .15s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--brand); color: #fff; }
.button-primary:hover { background: var(--brand-strong); }
.button-secondary { background: #fff; border-color: var(--line); color: var(--text); }
.button-full { width: 100%; }
.text-link { color: var(--brand); font-weight: 750; text-decoration: none; }
.text-link:hover { text-decoration: underline; }

.flash { margin: 22px clamp(22px, 4vw, 54px) 0; padding: 14px 17px; border-radius: 12px; border: 1px solid; line-height: 1.45; }
.content-wrap > .flash { margin: 0 0 20px; }
.flash p { margin: 4px 0 0; }
.flash-success { background: #edf8f3; border-color: #bfdccc; color: #225944; }
.flash-error { background: #fff2f2; border-color: #e8c3c3; color: #8a3232; }
.flash-info { background: #eef6f8; border-color: #c8dce0; color: #31535c; }

.filters { display: grid; grid-template-columns: minmax(240px, 1fr) 190px auto; gap: 14px; align-items: end; padding: 0 24px 22px; }
.filters label, .field { display: grid; gap: 7px; }
.filters label > span, .field > span { font-size: .86rem; font-weight: 700; color: #405158; }
input, select, textarea { width: 100%; border: 1px solid #cfdadd; border-radius: 10px; background: #fff; color: var(--text); padding: 11px 12px; outline: none; }
input:focus, select:focus, textarea:focus { border-color: #6d9696; box-shadow: 0 0 0 3px rgba(79,125,127,.12); }
textarea { resize: vertical; }
.field small { color: var(--muted); line-height: 1.4; }
.field.has-error input, .field.has-error select, .field.has-error textarea { border-color: #c97171; }
.field.has-error small { color: var(--danger); }
.full-width { grid-column: 1 / -1; }

.table-wrap { overflow-x: auto; border-top: 1px solid var(--line); }
.data-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.data-table th, .data-table td { padding: 15px 18px; border-bottom: 1px solid #edf1f2; text-align: left; vertical-align: middle; }
.data-table th { color: #627176; font-size: .77rem; text-transform: uppercase; letter-spacing: .06em; background: #fafbfb; }
.data-table td strong, .data-table td span { display: block; }
.data-table td span:not(.badge) { margin-top: 3px; color: var(--muted); font-size: .83rem; }
.data-table code { color: #35515a; background: #f1f5f5; padding: 4px 7px; border-radius: 7px; }
.table-actions { text-align: right !important; }
.badge { display: inline-flex !important; width: max-content; border-radius: 999px; padding: 5px 9px; font-size: .73rem !important; font-weight: 760; }
.badge-active { background: #e9f5ef; color: #276148 !important; }
.badge-suspended { background: #fff6df; color: #7b5a1e !important; }
.badge-closed { background: #f4eeee; color: #735151 !important; }
.badge-neutral { background: #eef2f3; color: #526267 !important; }
.empty-state { padding: 42px 24px; text-align: center; color: var(--muted); border-top: 1px solid var(--line); }
.empty-state strong { color: var(--text); font-size: 1.05rem; }
.empty-state p { margin: 7px 0 0; }

.client-form { display: grid; gap: 22px; }
.form-section { overflow: visible; }
.section-heading { border-bottom: 1px solid var(--line); }
.form-grid { display: grid; gap: 18px; padding: 24px; }
.two-columns { grid-template-columns: repeat(2, minmax(0,1fr)); }
.three-columns { grid-template-columns: repeat(3, minmax(0,1fr)); }
.four-columns { grid-template-columns: repeat(4, minmax(0,1fr)); }
.slug-field { display: flex; align-items: center; border: 1px solid #cfdadd; border-radius: 10px; overflow: hidden; background: #f7f9f9; }
.slug-field:focus-within { border-color: #6d9696; box-shadow: 0 0 0 3px rgba(79,125,127,.12); }
.slug-field span { padding-left: 11px; color: var(--muted); white-space: nowrap; font-size: .88rem; }
.slug-field input { border: 0; box-shadow: none !important; background: transparent; padding-left: 2px; }
.color-field > div { display: grid; grid-template-columns: 50px minmax(0,1fr); gap: 9px; }
.color-field input[type="color"] { min-height: 44px; padding: 4px; }
.upload-field input[type="file"] { padding: 9px; }
.image-preview { width: min(240px, 100%); aspect-ratio: 16 / 10; border-radius: 12px; background: #f4f6f6; border: 1px solid var(--line); overflow: hidden; }
.image-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.logo-preview { aspect-ratio: 3 / 1.4; }
.logo-preview img { object-fit: contain; padding: 10px; }
.check-line, .switch-line { display: flex; align-items: center; gap: 8px; font-size: .86rem; color: var(--muted); }
.check-line input, .switch-line input { width: auto; }
.switch-line { margin: 0 24px 24px; color: var(--text); font-weight: 680; }
.sticky-actions { position: sticky; bottom: 14px; z-index: 10; display: flex; justify-content: flex-end; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: 0 10px 30px rgba(32,48,54,.12); backdrop-filter: blur(12px); }
.client-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.client-summary > div { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.summary-url { color: var(--muted); font-size: .88rem; overflow-wrap: anywhere; }
.summary-url strong { color: var(--text); }

.login-body { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top left, #eaf1f1 0, #f6f8f8 42%, #eef3f3 100%); }
.login-card { width: min(440px, 100%); padding: clamp(28px, 6vw, 42px); border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 24px 60px rgba(32,48,54,.12); }
.brand-login { color: var(--text); display: inline-block; }
.login-kicker { margin: 8px 0 28px; color: var(--muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; }
.login-card h1 { margin: 0 0 7px; font-size: 2rem; letter-spacing: -.04em; }
.muted { color: var(--muted); }
.stack-form { display: grid; gap: 17px; margin-top: 26px; }
.stack-form label { display: grid; gap: 7px; font-weight: 680; font-size: .9rem; }
.password-field { display: grid; grid-template-columns: 1fr auto; border: 1px solid #cfdadd; border-radius: 10px; overflow: hidden; }
.password-field:focus-within { border-color: #6d9696; box-shadow: 0 0 0 3px rgba(79,125,127,.12); }
.password-field input { border: 0; box-shadow: none !important; }
.password-toggle { border: 0; border-left: 1px solid var(--line); padding: 0 12px; background: #f8fafa; color: var(--brand); cursor: pointer; }
.login-card .flash { margin: 18px 0 0; }

@media (max-width: 1100px) {
    .dashboard-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .four-columns { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .three-columns { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 820px) {
    .admin-shell { display: block; }
    .sidebar { position: fixed; inset: 0 auto 0 0; width: min(290px, 86vw); transform: translateX(-102%); transition: transform .2s ease; box-shadow: 18px 0 40px rgba(24,38,44,.18); }
    .sidebar.is-open { transform: translateX(0); }
    .menu-toggle { display: inline-flex; }
    .topbar { min-height: 90px; }
    .two-columns, .three-columns, .four-columns { grid-template-columns: 1fr; }
    .filters { grid-template-columns: 1fr; }
    .client-summary { align-items: stretch; flex-direction: column; }
    .sticky-actions { position: static; }
}

@media (max-width: 560px) {
    .dashboard-grid { grid-template-columns: 1fr; }
    .content-wrap { padding: 18px 14px 28px; }
    .topbar { padding: 18px 14px; }
    .panel-heading, .section-heading, .form-grid { padding: 18px; }
    .section-heading { align-items: flex-start; flex-direction: column; }
    .switch-line { margin-inline: 18px; }
    .flash { margin-inline: 14px; }
    .content-wrap > .flash { margin-inline: 0; }
    .slug-field { display: grid; grid-template-columns: auto 1fr; }
    .slug-field span { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
    .sticky-actions { flex-direction: column-reverse; }
    .sticky-actions .button { width: 100%; }
}

/* Étape 3 — prestations et disponibilités */
.client-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:-6px 0 20px; padding:8px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.client-tabs a, .client-tabs span { padding:9px 12px; border-radius:9px; text-decoration:none; font-size:.86rem; font-weight:720; color:var(--muted); }
.client-tabs a:hover { background:#f2f6f6; color:var(--text); }
.client-tabs a.is-active { background:var(--brand); color:#fff; }
.client-tabs span { opacity:.58; }
.client-tabs small { display:block; margin-top:2px; font-size:.68rem; font-weight:560; }
.service-form { grid-template-columns:2fr 1fr 1fr 1fr; }
.weekly-form { grid-template-columns:1.35fr 1fr 1fr 1fr; }
.exception-form { grid-template-columns:1.3fr 1fr 1fr 1fr; }
.switch-inline { display:flex; align-items:center; gap:8px; min-height:44px; color:var(--text); font-size:.88rem; font-weight:680; }
.switch-inline input { width:auto; }
.inline-actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; grid-column:1/-1; }
.inline-error { margin:18px 24px 0; padding:11px 13px; border-radius:10px; background:#fff0f0; color:var(--danger); font-size:.87rem; font-weight:680; }
.row-actions, .order-controls { display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.row-actions form, .order-controls form { margin:0; }
.button-small { padding:7px 10px; min-height:auto; font-size:.79rem; }
.button-danger { border-color:#e2c5c5; background:#fff7f7; color:var(--danger); }
.icon-button { width:32px; height:32px; display:inline-grid; place-items:center; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--brand); text-decoration:none; cursor:pointer; }
.icon-button:hover { background:#f2f6f6; }
.icon-button:disabled { opacity:.3; cursor:default; }
.icon-danger { color:var(--danger); }
.week-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:0 24px 24px; }
.day-card { min-height:130px; padding:15px; border:1px solid var(--line); border-radius:13px; background:#fbfcfc; }
.day-title { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:11px; }
.day-title > span { color:var(--muted); font-size:.72rem; }
.day-closed { margin:22px 0; color:#93a0a4; font-size:.84rem; text-align:center; }
.time-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; border-top:1px solid #e9eeee; }
.time-row:first-of-type { border-top:0; }
.time-row strong, .time-row span { display:block; }
.time-row strong { font-size:.88rem; }
.time-row span { margin-top:3px; color:var(--muted); font-size:.72rem; }
.exception-list { display:grid; gap:10px; padding:20px 24px 24px; }
.exception-card { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 16px; border:1px solid var(--line); border-left:4px solid #b67272; border-radius:12px; background:#fff; }
.exception-card.is-open { border-left-color:#4f8c69; }
.exception-card > div:first-child strong, .exception-card > div:first-child span { display:block; }
.exception-card > div:first-child strong { margin:3px 0; }
.exception-card > div:first-child > span:last-child { color:var(--muted); font-size:.82rem; }
.exception-type { color:var(--brand) !important; font-size:.7rem !important; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
[hidden] { display:none !important; }
@media(max-width:1200px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.service-form,.weekly-form,.exception-form{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){.client-tabs{display:grid;grid-template-columns:1fr 1fr}.week-grid{grid-template-columns:1fr;padding:0 18px 18px}.service-form,.weekly-form,.exception-form{grid-template-columns:1fr}.exception-card{align-items:flex-start;flex-direction:column}.row-actions{justify-content:flex-start}.services-table{min-width:760px}}

/* Étape 7 — rendez-vous et accès professionnel */
.appointment-filters{grid-template-columns:2fr 1.3fr 1fr 1fr 1fr 1fr auto}.appointment-table{min-width:850px}.badge-status-confirmed{background:#e9f5ef;color:#276148!important}.badge-status-cancelled{background:#f5ecec;color:#7d4f4f!important}.badge-status-completed{background:#edf2f7;color:#405b73!important}.badge-status-no_show{background:#fff3df;color:#7c5b22!important}.appointment-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#fff}.appointment-head>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:20px}.appointment-summary .detail-list,.detail-list{display:grid;grid-template-columns:120px 1fr;gap:10px 16px;padding:24px;margin:0}.detail-list dt{color:var(--muted);font-size:.82rem}.detail-list dd{margin:0;font-weight:650;overflow-wrap:anywhere}.detail-list a{color:var(--brand)}.timeline{display:grid;padding:12px 24px 24px}.timeline>div{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--line)}.timeline>div:first-child{border-top:0}.timeline span{color:var(--muted);font-size:.79rem}
@media(max-width:1180px){.appointment-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}}
@media(max-width:720px){.appointment-filters{grid-template-columns:1fr}.appointment-head{align-items:stretch;flex-direction:column}.appointment-summary .detail-list,.detail-list{grid-template-columns:1fr;gap:4px}.appointment-summary .detail-list dd,.detail-list dd{margin-bottom:10px}}

.badge-status-pending,.manage-status.is-pending{background:#fff3cd;color:#795c00;border-color:#f0d98a}.badge-status-declined,.manage-status.is-declined{background:#f7e4e4;color:#8c3333;border-color:#e5bcbc}

/* Étape 11 révisée — Brevo + maintenance sans SSH */
.mail-enable { grid-column:1/-1; margin:0; padding:0; }
.status-hint { align-self:center; color:var(--muted); font-size:.84rem; }
.status-hint.is-ready { color:var(--success); font-weight:720; }
.danger-inline { padding:0 24px 24px; }
.maintenance-block { padding:0 24px 24px; }
.maintenance-block p { color:var(--muted); line-height:1.6; }
.maintenance-block code { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.maintenance-ok { padding:15px 16px; border-radius:10px; background:#edf7f1; color:var(--success); font-weight:720; }
.check-list { display:grid; padding:4px 24px 24px; }
.check-row { display:grid; grid-template-columns:14px minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 0; border-top:1px solid var(--line); }
.check-row:first-child { border-top:0; }
.check-row strong, .check-row small { display:block; }
.check-row small { margin-top:3px; color:var(--muted); font-size:.78rem; }
.check-dot { width:10px; height:10px; border-radius:50%; background:#8b692c; }
.check-row.is-ok .check-dot { background:var(--success); }
.check-row.is-fail .check-dot { background:var(--danger); }
.check-state { font-size:.78rem; font-weight:800; color:var(--warning); }
.check-row.is-ok .check-state { color:var(--success); }
.check-row.is-fail .check-state { color:var(--danger); }
@media(max-width:680px){.check-row{grid-template-columns:14px 1fr}.check-state{grid-column:2}.mail-enable{padding-inline:0}.danger-inline,.maintenance-block,.check-list{padding-left:18px;padding-right:18px}}

/* Étape 13 — recette finale V1 */
.release-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.release-banner h2{margin:4px 0 5px;font-size:1.35rem}.release-banner p{margin:0;color:var(--muted);line-height:1.55}.release-banner>strong{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:10px 14px;border-radius:999px;background:#fff3df;color:var(--warning)}.release-banner.is-ready{border-color:#c9dfd3;background:#f7fbf9}.release-banner.is-ready>strong{background:#e9f5ef;color:var(--success)}
.recette-summary-list{display:grid;padding:4px 24px 24px}.recette-summary-list>div{display:grid;grid-template-columns:14px minmax(160px,.55fr) 1fr;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.recette-summary-list>div:first-child{border-top:0}.recette-summary-list small{color:var(--muted);line-height:1.45}.recette-dot{width:10px;height:10px;border-radius:50%;background:var(--warning)}.recette-dot.is-ok{background:var(--success)}.recette-dot.is-fail{background:var(--danger)}.recette-dot.is-warn{background:var(--warning)}
.readiness-table{min-width:1050px}.readiness-badge{display:inline-flex!important;width:max-content;padding:5px 9px;border-radius:999px;font-size:.72rem!important;font-weight:800}.readiness-badge.is-ready{background:#e9f5ef;color:var(--success)!important}.readiness-badge.is-attention{background:#fff3df;color:var(--warning)!important}.readiness-badge.is-blocked{background:#f7e4e4;color:var(--danger)!important}.readiness-detail{display:block!important;margin-top:5px!important;color:var(--warning)!important;font-size:.74rem!important}.readiness-detail.is-error{color:var(--danger)!important}.readiness-table .table-actions{display:table-cell}.readiness-table .table-actions .text-link{display:block;margin:4px 0}
.release-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:4px 24px 24px;list-style:none;counter-reset:release}.release-checklist li{counter-increment:release;display:grid;grid-template-columns:38px 1fr;column-gap:12px;padding:17px 0;border-top:1px solid var(--line)}.release-checklist li:nth-child(-n+2){border-top:0}.release-checklist li:before{content:counter(release);grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eef4f4;color:var(--brand);font-weight:850}.release-checklist strong,.release-checklist span{display:block}.release-checklist span{margin-top:3px;color:var(--muted);font-size:.83rem;line-height:1.45}
.recette-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}.compact-list{display:grid;padding:0 24px 20px}.compact-list>a,.compact-static{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none}.compact-list>a:first-child,.compact-static:first-child{border-top:0}.compact-list>a:hover strong{color:var(--brand)}.compact-list strong,.compact-list span,.compact-list small{display:block}.compact-list span,.compact-list small{margin-top:3px;color:var(--muted);font-size:.78rem}.compact-list>a>div:last-child,.compact-static>div:nth-child(2){text-align:right}.compact-static p{grid-column:1/-1;margin:0;color:var(--danger);font-size:.78rem}.email-state{display:inline-flex!important;width:max-content;margin-left:auto!important;padding:4px 7px;border-radius:999px;font-weight:800;text-transform:uppercase;font-size:.68rem!important}.email-state.is-sent{background:#e9f5ef;color:var(--success)!important}.email-state.is-failed{background:#f7e4e4;color:var(--danger)!important}.email-state.is-skipped,.email-state.is-queued{background:#fff3df;color:var(--warning)!important}
@media(max-width:1050px){.recette-two-cols{grid-template-columns:1fr}.release-checklist{grid-template-columns:1fr}.release-checklist li:nth-child(2){border-top:1px solid var(--line)}}
@media(max-width:680px){.release-banner{align-items:flex-start;flex-direction:column}.recette-summary-list{padding-left:18px;padding-right:18px}.recette-summary-list>div{grid-template-columns:14px 1fr}.recette-summary-list small{grid-column:2}.release-checklist{padding-left:18px;padding-right:18px}.compact-list{padding-left:18px;padding-right:18px}.compact-list>a,.compact-static{grid-template-columns:1fr}.compact-list>a>div:last-child,.compact-static>div:nth-child(2){text-align:left}.email-state{margin-left:0!important}}
/* Étape 14 — réglages du site public */
.form-grid .full-span{grid-column:1/-1}

/* Étape 15 — demandes commerciales */
.badge-request-new{background:#fff2c8;color:#7a5a00}.badge-request-contacted{background:#e9f4ff;color:#235a84}.badge-request-converted{background:#e8f7ef;color:#246a47}.badge-request-closed{background:#eef1f2;color:#59666a}.request-detail-grid a{color:inherit;text-underline-offset:3px}.request-message{margin-top:22px;padding:18px;border:1px solid var(--line,#dce6e6);border-radius:14px;background:#f7f9f9}.request-message>span{display:block;color:#718186;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.request-message p{margin:8px 0 0;line-height:1.65}

/* Étape 16 — mise en service / onboarding */
.onboarding-summary{margin-bottom:22px}.onboarding-filters{grid-template-columns:minmax(220px,320px) auto}.onboarding-table{min-width:850px}.progress-line{display:flex;align-items:center;gap:10px;min-width:180px}.progress-line>span{display:block;width:130px;height:8px;border-radius:999px;background:#e8eeee;overflow:hidden}.progress-line>span i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.progress-line>strong{font-size:.78rem}.onboarding-table small,.table-subline{display:block;margin-top:5px;color:var(--muted);font-size:.74rem}.onboarding-state{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800}.onboarding-state.is-in_progress{background:#fff3df;color:var(--warning)}.onboarding-state.is-ready{background:#e8f0f8;color:#315c79}.onboarding-state.is-live{background:#e9f5ef;color:var(--success)}.onboarding-state.is-live_attention{background:#f7e4e4;color:var(--danger)}.onboarding-progress .panel-heading>strong{font-size:1.5rem;color:var(--brand)}.onboarding-progressbar{height:10px;margin:0 24px 24px;border-radius:999px;background:#e8eeee;overflow:hidden}.onboarding-progressbar i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.onboarding-manual-grid{display:grid;gap:0;padding:0 24px 24px}.onboarding-task{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,240px);align-items:center;gap:20px;padding:17px 0;border-top:1px solid var(--line)}.onboarding-task:first-child{border-top:0}.onboarding-task strong,.onboarding-task small{display:block}.onboarding-task small{margin-top:4px;color:var(--muted);font-size:.8rem;line-height:1.45}.onboarding-task select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}.onboarding-auto-list{padding-top:0}.onboarding-launch .static-value{display:block;padding:12px 0;color:var(--text)}
@media(max-width:820px){.onboarding-task{grid-template-columns:1fr}.onboarding-filters{grid-template-columns:1fr}.onboarding-progress .panel-heading{align-items:flex-start;flex-direction:column}.onboarding-progressbar,.onboarding-manual-grid{margin-left:0;margin-right:0;padding-left:18px;padding-right:18px}}

/* Étape 17 — rappels automatiques */
.copy-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:8px 0 10px}.copy-field input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafa;color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.field-help{margin-top:7px!important;color:var(--muted);font-size:.8rem}.simple-list{display:grid;gap:9px;margin:0;padding:0 24px 24px 44px;color:var(--muted);line-height:1.55}.button-link{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;font:inherit}.button[disabled]{opacity:.5;cursor:not-allowed}
@media(max-width:680px){.copy-field{grid-template-columns:1fr}.copy-field .button{width:100%}.simple-list{padding-left:36px;padding-right:18px}}

/* Étape 18 — automatisation centralisée */
.automation-state{font-size:.98rem!important}.automation-state.is-ready{color:var(--success)}.automation-state.is-attention{color:var(--warning)}.automation-state.is-blocked{color:var(--danger)}
.automation-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.automation-steps>div{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fafcfc}.automation-steps strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf1f1;color:var(--brand);font-size:.8rem}.automation-steps span{color:var(--muted);font-size:.82rem;line-height:1.45}.automation-rotate{margin-top:12px}.automation-table{min-width:900px}.error-text{color:var(--danger)!important}
@media(max-width:760px){.automation-steps{grid-template-columns:1fr}.automation-table{min-width:760px}}

/* Étape 19 — sauvegardes visuelles */
.backup-metric{font-size:1.08rem!important;letter-spacing:-.02em!important;line-height:1.2!important}.backup-metric.is-ok{color:var(--success)}.backup-metric.is-warn{color:var(--warning)}
.backup-settings{display:grid;grid-template-columns:minmax(250px,1fr) minmax(220px,300px) auto;gap:18px;align-items:end;padding:0 24px 24px}.backup-settings .check-line{min-height:44px;color:var(--text);font-weight:680}.backup-table{min-width:920px}.backup-actions{min-width:210px}.backup-actions>.text-link,.backup-actions>.inline-delete{display:inline-block;margin-left:10px}.danger-text{color:var(--danger)!important}.restore-details{display:inline-block;position:relative;margin-left:10px;text-align:left}.restore-details>summary{list-style:none;cursor:pointer;color:var(--brand);font-weight:750}.restore-details>summary::-webkit-details-marker{display:none}.restore-details[open]>form{position:absolute;right:0;z-index:15;width:min(370px,80vw);margin-top:10px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(32,48,54,.18)}.restore-details p{margin:0 0 12px;color:var(--muted);font-size:.8rem;line-height:1.45}.restore-details .field{margin-bottom:12px}.inline-delete{margin:0}.inline-delete button{cursor:pointer}
@media(max-width:900px){.backup-settings{grid-template-columns:1fr}.backup-settings .button{width:100%}}@media(max-width:680px){.backup-settings{padding-left:18px;padding-right:18px}.restore-details[open]>form{right:auto;left:0}}

/* Étape 20 — Informations légales */
.legal-form-title{margin-top:8px;padding-top:18px;border-top:1px solid var(--line)}.legal-form-title:first-of-type{margin-top:0}.legal-form-title h3{margin:3px 0 0;font-size:1.18rem}.legal-settings-form textarea{resize:vertical}
.mail-note{margin:14px 0;padding:13px 15px;border:1px solid #d9e4e4;border-radius:11px;background:#f7faf9;color:#486166;font-size:.8rem;line-height:1.55}.mail-note-warn{border-color:#efd49c;background:#fff8e6;color:#745717}.mail-note-ok{border-color:#b9dfce;background:#edf8f3;color:#2b684d}

/* Étape 21 · abonnements */
.badge-subscription-active{background:#e9f5ef;color:#276148!important}.badge-subscription-cancel_pending{background:#fff3cd;color:#795c00!important}.badge-subscription-past_due{background:#fff0dc;color:#82510e!important}.badge-subscription-suspended{background:#f2ece7;color:#73513d!important}.badge-subscription-cancelled{background:#f2eeee;color:#755454!important}.subscription-table{min-width:850px}.subscription-detail-grid{align-items:start}.subscription-side .detail-list{grid-template-columns:125px 1fr}.subscription-help{margin:20px 0 0;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#f7f9f9}.subscription-help p{margin:7px 0 0;line-height:1.6;color:var(--muted)}.readonly-field{min-height:44px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f5f7f7;font-weight:650}.subscription-timeline p{margin:4px 0 0;line-height:1.5}.metric-card small{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;font-weight:600}@media(max-width:900px){.subscription-detail-grid{grid-template-columns:1fr}}

/* Étape 22 · facturation client */
.badge-paid{display:inline-flex;width:max-content;margin-top:5px;padding:4px 8px;border-radius:999px;background:#e9f5ef;color:var(--success)!important;font-size:.68rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.invoice-filters{grid-template-columns:minmax(240px,420px) auto}.invoice-table{min-width:920px}.invoice-table td>span,.invoice-table td>small{display:block}.invoice-table td>small{margin-top:4px;color:var(--muted);font-size:.74rem}.invoice-note-row td{padding-top:8px!important;padding-bottom:14px!important;background:#fafcfc;color:var(--muted);font-size:.8rem}.invoice-detail-grid{align-items:start}.invoice-side{position:sticky;top:20px}.invoice-security-note{margin:0 24px 24px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#f7f9f9}.invoice-security-note p{margin:7px 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}.invoice-card-list{display:grid;gap:12px;padding:0 24px 24px}.invoice-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.invoice-card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:#f1f5f5;color:var(--brand);font-size:.75rem;font-weight:900}.invoice-card-body h3{margin:5px 0 2px;font-size:1rem}.invoice-card-body p,.invoice-card-body small{margin:0;color:var(--muted);font-size:.8rem}.invoice-card-meta{display:grid;justify-items:end;gap:8px}.invoice-card-meta>strong{font-size:1rem}.invoice-upload-form input[type=file]{padding:10px;border:1px dashed var(--line);border-radius:10px;background:#fafcfc}
@media(max-width:900px){.invoice-detail-grid{grid-template-columns:1fr}.invoice-side{position:static}.invoice-card{grid-template-columns:48px minmax(0,1fr)}.invoice-card-meta{grid-column:1/-1;justify-items:stretch}.invoice-card-meta .button{width:100%;text-align:center}.invoice-filters{grid-template-columns:1fr}}

/* Étape 24 — exports */
.settings-grid{display:grid;gap:22px;padding:0 24px 24px}
.settings-card{display:grid;gap:14px;padding:0 24px 0}
.settings-card h3{margin:0;font-size:1.05rem}
.settings-card p{margin:0;color:var(--muted);line-height:1.6}
.settings-card .stacked-form{display:grid;gap:16px}
.info-box{margin:0 24px 24px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#f7f9f9}
.info-box strong{display:block;margin:0 0 4px}
.info-box p{margin:0;color:var(--muted);line-height:1.6}
.export-grid{align-items:start}.export-grid .settings-card{min-height:100%}.export-form{max-width:760px}
@media(max-width:680px){.settings-grid{padding-left:18px;padding-right:18px;padding-bottom:18px}.settings-card{padding-left:18px;padding-right:18px}.info-box{margin-left:18px;margin-right:18px;margin-bottom:18px}}

/* Étape 25 — journal d’activité */
.activity-retention-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.activity-retention-form label{display:grid;gap:5px}.activity-retention-form label>span{color:var(--muted);font-size:.72rem;font-weight:750}.activity-retention-form select{min-width:120px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}
.activity-filters{grid-template-columns:minmax(210px,1.6fr) 1fr 1.2fr 1.35fr 1fr 1fr auto}.activity-table{min-width:980px}.activity-table td>span,.activity-table td>small{display:block}.activity-table td>small{margin-top:5px;color:var(--muted);font-size:.74rem}.activity-actor{display:inline-flex!important;width:max-content;padding:4px 8px;border-radius:999px;font-size:.68rem!important;font-weight:800}.activity-actor-admin{background:#e9f0f6;color:#315c79}.activity-actor-professional{background:#e9f5ef;color:#276148}.activity-actor-system{background:#f2eeee;color:#755454}.activity-category{display:inline-flex!important;width:max-content;padding:5px 8px;border-radius:8px;background:#f2f6f6;color:#52686d;font-size:.72rem!important;font-weight:720}.activity-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;padding:18px 24px;border-top:1px solid var(--line)}.activity-pagination>a:last-child{justify-self:end}.activity-pagination strong{color:var(--muted);font-size:.78rem}.activity-privacy-list{padding-top:0}
@media(max-width:1180px){.activity-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.activity-filters{grid-template-columns:1fr}.activity-retention-form{width:100%;align-items:stretch}.activity-retention-form label,.activity-retention-form select,.activity-retention-form .button{width:100%}.activity-pagination{grid-template-columns:1fr;text-align:center}.activity-pagination>a,.activity-pagination>a:last-child{justify-self:stretch;text-align:center}.activity-pagination>span{display:none}}

/* Étape 26 — centre de notifications */
.nav-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d98855;color:#fff;font-size:.68rem;font-weight:850;line-height:1}.metric-card-link{text-decoration:none;transition:transform .15s ease,border-color .15s ease}.metric-card-link:hover{transform:translateY(-2px);border-color:#b8c9cc}.metric-card-link small{color:var(--muted);font-size:.72rem}.notification-filters{grid-template-columns:minmax(220px,1.6fr) 1fr 1fr 1.15fr auto}.notification-list{display:grid;border-top:1px solid var(--line)}.notification-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:16px;align-items:start;padding:20px 24px;border-bottom:1px solid #edf1f2;background:#fff}.notification-item.is-read{background:#fafbfb;opacity:.78}.notification-dot{width:10px;height:10px;margin-top:7px;border-radius:50%;background:#6e8a8f}.notification-item.severity-warning .notification-dot{background:#b17c2e}.notification-item.severity-error .notification-dot{background:#b44f4f}.notification-item.is-unread h3{font-weight:850}.notification-body h3{margin:5px 0 6px;font-size:1rem}.notification-body p{margin:0 0 5px;color:var(--muted);line-height:1.55}.notification-body small{color:var(--muted)}.notification-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.7rem}.notification-level{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef3f4;color:#50666b;font-weight:800}.severity-warning .notification-level{background:#fff4dd;color:#805d1c}.severity-error .notification-level{background:#fff0f0;color:#8e3c3c}.notification-actions{display:grid;justify-items:end;gap:10px;min-width:150px}.notification-actions form{margin:0}.notification-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.notification-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.notification-filters{grid-template-columns:1fr}.notification-item{grid-template-columns:10px 1fr;padding:18px}.notification-actions{grid-column:2;justify-items:stretch;min-width:0}.notification-actions .button{width:100%}.notification-metrics{grid-template-columns:1fr}}

/* Étape 27 — factures à réaliser */
.billing-metric strong{color:var(--brand)}.billing-dashboard .panel-heading{align-items:flex-start}.billing-due-list{display:grid;border-top:1px solid var(--line)}.billing-due-item{display:grid;grid-template-columns:minmax(0,1fr) 150px 120px;gap:18px;align-items:center;padding:16px 24px;border-bottom:1px solid #edf1f2;text-decoration:none;background:#fff;transition:background .15s ease}.billing-due-item:hover{background:#f8fafa}.billing-due-item>div:first-child strong,.billing-due-item>div:first-child span{display:block}.billing-due-item>div:first-child span{margin-top:3px;color:var(--muted);font-size:.8rem}.billing-due-date{display:grid;gap:3px}.billing-due-date span{font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--success)}.billing-due-item.is-overdue .billing-due-date span{color:var(--danger)}.billing-due-date strong{font-size:.88rem}.billing-due-amount{text-align:right;font-weight:850}.billing-row-overdue{background:#fffafa}.badge-billing-today{background:#e9f5ef;color:#276148!important}.badge-billing-overdue{background:#fff0f0;color:#963f3f!important}.billing-money-metric{font-size:clamp(1.35rem,2.5vw,2rem)!important;letter-spacing:-.035em!important}.billing-due-table{min-width:820px}.billing-enabled-field{align-self:end;min-height:68px;padding:10px 0}.billing-enabled-field>span,.billing-due-check>span{display:grid;gap:3px}.billing-enabled-field small,.billing-due-check small{color:var(--muted);font-weight:500;line-height:1.45}.billing-due-check{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#f8fafa}.billing-schedule-note{background:#f0f7f5;border-color:#c9ded7}
@media(max-width:900px){.billing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-due-item{grid-template-columns:1fr auto}.billing-due-amount{grid-column:2;grid-row:1/3;align-self:center}.billing-due-date{grid-column:1}.billing-dashboard .panel-heading{align-items:stretch;flex-direction:column}.billing-dashboard .panel-heading .button{width:100%}}
@media(max-width:600px){.billing-summary-grid{grid-template-columns:1fr}.billing-due-item{grid-template-columns:1fr;padding:15px 18px}.billing-due-amount{grid-column:1;grid-row:auto;text-align:left}.billing-empty{padding-left:18px;padding-right:18px}}

/* Étape 28 — récupération de mot de passe */
.login-links{margin:1rem 0 0;text-align:center;font-size:.92rem}.login-links a{color:var(--ink,#29444c);font-weight:700;text-decoration:none}.login-links a:hover{text-decoration:underline}

/* Étape 30 — réactivations */
.reactivation-list{display:grid;gap:18px}.reactivation-card{border:1px solid var(--border,#dfe9e8);border-radius:16px;padding:20px;background:#fff}.reactivation-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.reactivation-card-head>div{display:grid;gap:3px}.reactivation-card-head span,.reactivation-card-head small{color:#64777b}.reactivation-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0;color:#60757a;font-size:.92rem}.reactivation-message{padding:12px 14px;border-left:3px solid #79b8b3;background:#f6faf9;border-radius:8px}.reactivation-actions{margin-top:16px}.reactivation-actions .button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}@media(max-width:720px){.reactivation-card-head{flex-direction:column}.reactivation-actions .button-row{align-items:stretch}.reactivation-actions .button-row .button{width:100%}}

/* Étape 32 · Kit d’intégration au site existant */
.integration-intro .section-heading{margin-bottom:16px}.integration-url-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 24px 24px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f7fafa}.integration-url-card>div{display:grid;gap:5px;min-width:0}.integration-url-card span,.integration-info-card span{font-size:.78rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.integration-url-card strong{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem}.integration-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 24px 18px}.integration-info-card{display:grid;gap:7px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.integration-info-card strong{font-size:.92rem;overflow-wrap:anywhere}.integration-steps{padding-top:2px}.integration-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 24px 24px}.integration-code-grid-stack{grid-template-columns:1fr}.integration-code-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.integration-code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line);background:#f8fafa}.integration-code-card pre{margin:0;padding:16px;max-height:330px;overflow:auto;background:#1f2d31;color:#eaf3f3;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.77rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.integration-code-card>small{display:block;padding:12px 15px 0;color:var(--muted)}.integration-mini-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:10px 15px 15px;padding:12px;border-radius:10px;background:#f3f7f7}.integration-mini-copy code{overflow-wrap:anywhere;font-size:.75rem}.integration-preview{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 24px 18px;padding:22px;border:1px dashed #b9cecc;border-radius:14px;background:#fafcfc}.integration-preview>span{font-size:.78rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.integration-preview>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:10px;background:var(--integration-color,#35515a);color:#fff;text-decoration:none;font-weight:700}.integration-preview>small{color:var(--muted)}.integration-guidance .simple-list{padding-top:0}.integration-actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 24px 24px}.onboarding-task small a{color:var(--brand);font-weight:750}
@media(max-width:900px){.integration-quick-grid,.integration-code-grid{grid-template-columns:1fr}}
@media(max-width:680px){.integration-url-card{align-items:stretch;flex-direction:column;margin-left:18px;margin-right:18px}.integration-url-card .button{width:100%}.integration-quick-grid,.integration-code-grid{padding-left:18px;padding-right:18px}.integration-mini-copy{grid-template-columns:1fr}.integration-mini-copy .button{width:100%}.integration-preview{margin-left:18px;margin-right:18px}.integration-actions{padding-left:18px;padding-right:18px}.integration-actions .button{width:100%}}

.service-instruction-admin{display:inline-block;margin-top:5px;color:#5e7479;font-size:.76rem;font-weight:700}


/* Étape 34 — accès rapide au site public */
.topbar-site-link{margin-left:auto;white-space:nowrap}
@media(max-width:560px){.topbar{flex-wrap:wrap}.topbar-site-link{margin-left:auto;min-height:38px;padding:8px 12px;font-size:.84rem}}


/* Étape 35 — aperçu quotidien des rendez-vous */
.today-dashboard .panel-heading{align-items:flex-start}.today-summary{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 18px}.today-summary span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#f1f5f5;color:var(--muted);font-size:.78rem}.today-summary strong{color:var(--text)}.today-appointment-list{display:grid;border-top:1px solid var(--line)}.today-appointment-item{display:grid;grid-template-columns:86px minmax(170px,1.2fr) minmax(170px,1fr) 130px 110px auto;gap:16px;align-items:center;padding:15px 24px;border-bottom:1px solid #edf1f2;background:#fff}.today-appointment-item:hover{background:#fafcfc}.today-appointment-item.status-cancelled,.today-appointment-item.status-declined{background:#fbfbfb;opacity:.72}.today-appointment-time strong,.today-appointment-client strong,.today-appointment-professional strong{display:block}.today-appointment-time strong{font-size:1.1rem;letter-spacing:-.02em}.today-appointment-time span,.today-appointment-client span,.today-appointment-professional span{display:block;margin-top:3px;color:var(--muted);font-size:.76rem}.today-appointment-contact a{color:var(--brand);font-weight:750;text-decoration:none}.today-appointment-contact a:hover{text-decoration:underline}.today-appointment-state{display:flex;justify-content:flex-start}.today-appointment-action{text-align:right}.today-empty{border-top:1px solid var(--line)}
@media(max-width:1180px){.today-appointment-item{grid-template-columns:72px minmax(170px,1.2fr) minmax(160px,1fr) 110px auto}.today-appointment-contact{display:none}}
@media(max-width:840px){.today-dashboard .panel-heading{align-items:stretch;flex-direction:column}.today-dashboard .panel-heading .button{width:100%}.today-appointment-item{grid-template-columns:64px minmax(0,1fr) auto;gap:10px 14px;padding:15px 18px}.today-appointment-professional{grid-column:2}.today-appointment-state{grid-column:3;grid-row:1}.today-appointment-action{grid-column:3;grid-row:2}.today-summary{padding-left:18px;padding-right:18px}}
@media(max-width:560px){.today-appointment-item{grid-template-columns:58px minmax(0,1fr)}.today-appointment-state,.today-appointment-action{grid-column:2;grid-row:auto;justify-content:flex-start;text-align:left}.today-appointment-action .button{width:auto}.today-summary{gap:6px}.today-summary span{font-size:.73rem}}

/* Étape 36 — agenda visuel administrateur */
.panel-heading-actions,.calendar-admin-primary-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.calendar-admin-heading{align-items:flex-start}.calendar-admin-filters{display:grid;grid-template-columns:120px 160px minmax(190px,1fr) 190px auto;gap:14px;align-items:end;padding:0 24px 20px}.calendar-admin-filter-actions{display:flex;gap:8px;align-items:center}.calendar-admin-nav{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8fafa}.calendar-admin-nav>strong{text-align:center;font-size:.9rem}.calendar-admin-scroll{overflow-x:auto}.calendar-admin-grid{display:grid;min-width:1080px;background:#edf2f2;gap:1px}.calendar-admin-grid.is-week{grid-template-columns:repeat(7,minmax(150px,1fr))}.calendar-admin-grid.is-day{grid-template-columns:minmax(320px,720px);justify-content:center;min-width:0;padding:20px}.calendar-admin-day{min-width:0;background:#fff}.calendar-admin-day.is-today{background:#fbfdfc;box-shadow:inset 0 3px 0 var(--brand)}.calendar-admin-day-head{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:13px 12px;border-bottom:1px solid var(--line);background:rgba(248,250,250,.92);position:sticky;top:0;z-index:1}.calendar-admin-day.is-today .calendar-admin-day-head{background:#eef7f4}.calendar-admin-day-head strong{font-size:.86rem}.calendar-admin-day-head span{font-size:.68rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}.calendar-admin-day-body{display:grid;gap:9px;align-content:start;min-height:310px;padding:10px}.calendar-admin-grid.is-day .calendar-admin-day-body{min-height:220px}.calendar-admin-empty{padding:26px 8px;color:var(--muted);font-size:.78rem;text-align:center}.calendar-admin-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;padding:10px 9px 9px 12px;border:1px solid var(--line);border-left:4px solid var(--calendar-accent,#35515A);border-radius:10px;background:#fff;text-decoration:none;color:var(--text);box-shadow:0 2px 8px rgba(31,55,61,.04);transition:transform .12s ease,box-shadow .12s ease}.calendar-admin-card:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(31,55,61,.09)}.calendar-admin-card.status-cancelled,.calendar-admin-card.status-declined{opacity:.62;background:#fafafa}.calendar-admin-card-time{display:grid;align-content:start;gap:1px}.calendar-admin-card-time strong{font-size:.88rem}.calendar-admin-card-time span{color:var(--muted);font-size:.68rem}.calendar-admin-card-main{min-width:0;display:grid;gap:2px}.calendar-admin-card-main strong,.calendar-admin-card-main span,.calendar-admin-card-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-admin-card-main strong{font-size:.79rem}.calendar-admin-card-main span{font-size:.7rem;color:#536a70}.calendar-admin-card-main small{font-size:.66rem;color:var(--muted)}.calendar-admin-card>.badge{grid-column:1/-1;justify-self:start;margin-top:2px;font-size:.61rem;padding:4px 7px}.calendar-admin-grid.is-day .calendar-admin-card{grid-template-columns:70px minmax(0,1fr) auto;align-items:center;padding:12px 14px}.calendar-admin-grid.is-day .calendar-admin-card>.badge{grid-column:3;grid-row:1;align-self:start}.calendar-admin-grid.is-day .calendar-admin-card-main strong{font-size:.9rem}.calendar-admin-grid.is-day .calendar-admin-card-main span{font-size:.78rem}
@media(max-width:1100px){.calendar-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-admin-filter-actions{grid-column:1/-1}.calendar-admin-heading{flex-direction:column;align-items:stretch}.calendar-admin-primary-actions .button{flex:1}.panel-heading-actions{width:100%}.panel-heading-actions .button{flex:1}}
@media(max-width:680px){.calendar-admin-filters{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.calendar-admin-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.calendar-admin-nav{grid-template-columns:1fr 1fr;padding-left:18px;padding-right:18px}.calendar-admin-nav>strong{grid-column:1/-1;grid-row:1}.calendar-admin-nav .button{font-size:.77rem;padding-left:10px;padding-right:10px}.calendar-admin-grid.is-day{padding:12px}.calendar-admin-primary-actions,.panel-heading-actions{display:grid;grid-template-columns:1fr}.calendar-admin-primary-actions .button,.panel-heading-actions .button{width:100%}}

/* Étape 38 — calendrier externe privé */
.calendar-feed-panel .section-heading{align-items:flex-start}.calendar-feed-url-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 24px 16px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#f8fafa}.calendar-feed-url-card>div{min-width:0;display:grid;gap:5px}.calendar-feed-url-card span{color:var(--muted);font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.calendar-feed-url-card strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.79rem;overflow-wrap:anywhere}.calendar-feed-warning{display:flex;gap:12px;align-items:flex-start;margin:0 24px 18px;padding:14px 16px;border:1px solid #ead7a8;border-radius:12px;background:#fff9e9}.calendar-feed-warning strong{white-space:nowrap;color:#74591d}.calendar-feed-warning span{color:#6d6250;font-size:.82rem;line-height:1.5}.calendar-feed-settings{display:grid;gap:16px;padding:0 24px 24px}.calendar-feed-settings label{display:grid;gap:7px}.calendar-feed-settings label>span{font-size:.82rem;font-weight:760}.calendar-feed-settings label>small{color:var(--muted);line-height:1.5}.calendar-feed-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:720px){.calendar-feed-url-card{align-items:stretch;flex-direction:column;margin-left:18px;margin-right:18px}.calendar-feed-url-card .button{width:100%}.calendar-feed-warning{display:grid;margin-left:18px;margin-right:18px}.calendar-feed-settings{padding-left:18px;padding-right:18px}.calendar-feed-actions{display:grid;grid-template-columns:1fr}.calendar-feed-actions .button{width:100%}}

/* Étape 39 — demandes professionnelles */
.support-thread{display:grid;gap:14px;margin-top:18px}.support-message{max-width:82%;padding:16px 18px;border:1px solid var(--border,#dfe7e6);border-radius:16px;background:#f7faf9}.support-message.is-admin{margin-left:auto;background:#eef7f6;border-color:#cfe5e2}.support-message.is-professional{margin-right:auto;background:#fff}.support-message-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.support-message-head span{font-size:.82rem;color:var(--muted,#6b7d80)}.support-message p{margin:0;line-height:1.65;white-space:normal}.support-message small{display:block;margin-top:10px;color:var(--muted,#6b7d80)}.support-summary-grid{margin-bottom:22px}.support-intro-grid{align-items:start}
@media(max-width:760px){.support-message{max-width:100%}.support-message-head{align-items:flex-start;flex-direction:column;gap:3px}}

/* Étape 40 — Statistiques agrégées */
.statistics-intro{overflow:visible}.statistics-period-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.statistics-period-form label{display:grid;gap:6px;min-width:190px}.statistics-period-form label>span{font-size:.74rem;font-weight:800;color:var(--muted)}.statistics-period-form select{min-height:42px;padding:9px 34px 9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}.statistics-range{padding:0 24px 20px;color:var(--muted);font-size:.8rem}.statistics-metrics{margin-top:22px}.statistics-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.statistics-chart-panel,.statistics-ranking-panel{min-width:0}.statistics-month-chart,.statistics-ranking-list,.statistics-source-list{display:grid;padding:0 24px 24px}.statistics-month-row{display:grid;grid-template-columns:120px minmax(100px,1fr) minmax(190px,auto);gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.statistics-month-row:first-child,.statistics-ranking-row:first-child,.statistics-source-item:first-child{border-top:0}.statistics-month-label{display:grid;gap:2px}.statistics-month-label strong{font-size:.82rem}.statistics-month-label span,.statistics-ranking-row span,.statistics-source-item span{color:var(--muted);font-size:.72rem}.statistics-bar-track{height:9px;border-radius:999px;background:#edf2f2;overflow:hidden}.statistics-bar-track i{display:block;width:0;height:100%;border-radius:inherit;background:var(--statistics-accent,var(--accent));min-width:0}.statistics-month-detail{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:.68rem}.statistics-ranking-row{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(100px,1.1fr);gap:16px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.statistics-ranking-row>div:first-child{display:grid;gap:3px;min-width:0}.statistics-ranking-row strong{font-size:.82rem;overflow-wrap:anywhere}.statistics-ranking-link{text-decoration:none;color:inherit}.statistics-ranking-link:hover strong{color:var(--brand)}.statistics-source-item{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(120px,1fr) 65px;gap:14px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.statistics-source-item>div:first-child{display:grid;gap:3px}.statistics-source-item>strong{text-align:right;font-size:.82rem}.statistics-source-list-wide{grid-template-columns:1fr}.statistics-source-panel{max-width:none}.pro-statistics-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.statistics-grid-two{grid-template-columns:1fr}.pro-statistics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.statistics-period-form{width:100%;display:grid;grid-template-columns:1fr}.statistics-period-form label{min-width:0}.statistics-period-form .button{width:100%}.statistics-range,.statistics-month-chart,.statistics-ranking-list,.statistics-source-list{padding-left:18px;padding-right:18px}.statistics-month-row{grid-template-columns:100px 1fr}.statistics-month-detail{grid-column:1/-1;justify-content:flex-start}.statistics-source-item{grid-template-columns:1fr 55px}.statistics-source-item .statistics-bar-track{grid-column:1/-1;grid-row:2}.pro-statistics-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.pro-statistics-metrics{grid-template-columns:1fr}.statistics-month-row{grid-template-columns:1fr}.statistics-month-detail{grid-column:auto}.statistics-source-item{grid-template-columns:1fr auto}}

/* Étape 41 — jours fériés et fermetures communes */
.closure-table{min-width:760px}.row-muted{opacity:.58;background:#fafbfb}.closure-preview{display:flex;gap:10px;flex-wrap:wrap;padding:0 24px 18px}.closure-preview span{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#f7f9f9;color:var(--muted);font-size:.78rem}.closure-preview strong{color:var(--text)}
@media(max-width:720px){.closure-preview{padding-left:18px;padding-right:18px}.closure-preview span{width:100%;border-radius:10px}}

/* Étape 42 — Horaires temporaires */
.temporary-period-list{display:grid;gap:12px}.temporary-period-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--border,#dfe5e8);border-radius:14px;background:#fff}.temporary-period-card.is-selected{border-color:var(--primary,#176f78);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary,#176f78) 12%,transparent)}.temporary-period-card>div:first-child{display:grid;gap:4px}.temporary-period-card small{color:#64727a}.temporary-period-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.mini-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#eef2f3;font-size:.76rem;font-weight:700;color:#516068}.mini-status-active{background:#e6f5ee;color:#17633d}.mini-status-info{background:#eaf3fb;color:#265d86}.mini-status-muted{background:#f1f2f3;color:#6a7378}.temporary-week-grid{margin-top:18px}.temporary-period-form{align-items:end}
@media(max-width:760px){.temporary-period-card{align-items:flex-start;flex-direction:column}.temporary-period-card .row-actions{width:100%;flex-wrap:wrap}.temporary-period-card .row-actions form{display:inline-flex}.temporary-period-form .field{min-width:0}}

/* Étape 44 — finalisation ergonomique admin / pro */
.sidebar-nav-grouped{display:grid;gap:10px}.sidebar-nav-grouped>.nav-direct{margin-bottom:3px}.nav-group{border-top:1px solid rgba(255,255,255,.09);padding-top:8px}.nav-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:9px 10px;border-radius:10px;color:rgba(255,255,255,.62);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;list-style:none;user-select:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:hover,.nav-group>summary:focus-visible{background:rgba(255,255,255,.06);color:#fff;outline:none}.nav-group[open]>summary{color:#fff}.nav-group-chevron{font-size:1rem;line-height:1;transition:transform .18s ease}.nav-group[open] .nav-group-chevron{transform:rotate(180deg)}.nav-group-links{display:grid;gap:5px;padding:3px 0 3px 7px}.sidebar-nav-grouped .nav-group-links>a,.sidebar-nav-grouped .nav-group-links>.nav-disabled{min-height:42px;padding:10px 12px;font-size:.88rem}.sidebar-nav-grouped .nav-group-links>a{border-left:2px solid transparent}.sidebar-nav-grouped .nav-group-links>a.is-active{border-left-color:#9bc2bf;background:rgba(255,255,255,.11)}.sidebar-nav-grouped .nav-disabled{align-items:flex-start;flex-direction:column;gap:3px}.sidebar-nav-grouped .nav-disabled small{line-height:1.25}.nav-count{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#fff;color:var(--brand-strong);font-size:.7rem;font-weight:850}.sidebar-nav-grouped a:focus-visible{outline:2px solid rgba(255,255,255,.75);outline-offset:2px}.sidebar-nav-grouped .nav-direct{min-height:44px;font-weight:760}
@media(max-width:980px){.sidebar-nav-grouped{gap:8px}.nav-group>summary{min-height:46px}.sidebar-nav-grouped .nav-group-links>a,.sidebar-nav-grouped .nav-group-links>.nav-disabled{min-height:46px}.sidebar-nav-grouped .nav-direct{min-height:46px}}



/* Étape 46 — recette client pilote */
.pilot-heading{align-items:flex-start}.pilot-score{display:grid;min-width:100px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#f7f9f9;text-align:center}.pilot-score strong{font-size:1.35rem}.pilot-score span{margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.pilot-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:22px;align-items:start}.pilot-timer{display:grid;place-items:center;gap:5px;margin:0 24px 18px;padding:28px;border:1px solid var(--line);border-radius:16px;background:#f8fafa;text-align:center}.pilot-timer strong{font-size:2rem;line-height:1}.pilot-timer span{color:var(--muted);font-size:.8rem}.pilot-timer-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:0 24px 12px}.pilot-add-time{display:flex;align-items:end;gap:8px}.pilot-add-time label{display:grid;gap:5px}.pilot-add-time label>span{font-size:.72rem;font-weight:760;color:var(--muted)}.pilot-add-time input{width:90px;min-height:42px;padding:9px 10px;border:1px solid var(--line);border-radius:10px}.pilot-reset-form{padding:0 24px 24px}.pilot-method-list{display:grid;gap:12px;margin:0;padding:0 28px 24px 48px}.pilot-method-list li{padding-left:4px;line-height:1.55;color:var(--muted)}.pilot-checks .check-row small{line-height:1.45}.pilot-completed-note{display:grid;gap:4px}.pilot-completed-note span{color:var(--muted);font-size:.8rem}.pilot-reopen-form{margin-top:14px}.client-summary>.table-actions{margin-left:auto}.pilot-completion .button[disabled],.pilot-timer-actions .button[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:980px){.pilot-grid{grid-template-columns:1fr}.pilot-method-card{order:2}}
@media(max-width:720px){.pilot-heading{display:grid;gap:16px}.pilot-score{width:100%}.pilot-timer{margin-left:18px;margin-right:18px}.pilot-timer-actions{display:grid;grid-template-columns:1fr;padding-left:18px;padding-right:18px}.pilot-timer-actions form,.pilot-timer-actions .button{width:100%}.pilot-add-time{display:grid;grid-template-columns:1fr auto}.pilot-add-time label,.pilot-add-time input{width:100%}.pilot-reset-form{padding-left:18px;padding-right:18px}.client-summary>.table-actions{width:100%;margin-left:0}.client-summary>.table-actions .button{flex:1}}

/* Étape 47 — audit final de lancement */
.launch-hero{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:26px 28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.launch-hero h2{margin:4px 0 7px;font-size:1.45rem}.launch-hero p{max-width:850px;margin:0;color:var(--muted);line-height:1.6}.launch-hero.is-ready{border-color:#bcdac9;background:#f5fbf8}.launch-hero.is-blocked{border-color:#e3caca;background:#fffafa}
.launch-verdict{display:grid;min-width:120px;padding:16px 18px;border-radius:16px;background:#f4f6f6;text-align:center}.launch-verdict span{font-size:1.55rem;font-weight:900;letter-spacing:.08em}.launch-verdict strong{margin-top:3px;color:var(--muted);font-size:.72rem}.launch-hero.is-ready .launch-verdict{background:#e5f4ec;color:var(--success)}.launch-hero.is-blocked .launch-verdict{background:#f7e8e8;color:var(--danger)}
.launch-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 24px 24px}.launch-time-grid>div{display:grid;gap:4px;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fafcfc}.launch-time-grid span{color:var(--muted);font-size:.75rem;font-weight:720}.launch-time-grid strong{font-size:1.18rem}.launch-time-grid small{color:var(--muted);font-size:.73rem}
.launch-check-list{display:grid;padding:4px 24px 24px}.launch-check{display:grid;grid-template-columns:14px minmax(0,1fr) 90px auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.launch-check:first-child{border-top:0}.launch-check-dot{width:10px;height:10px;border-radius:50%;background:var(--warning)}.launch-check.is-ok .launch-check-dot{background:var(--success)}.launch-check.is-fail .launch-check-dot{background:var(--danger)}.launch-check-copy{display:grid;gap:3px}.launch-check-copy small{color:var(--muted);font-size:.78rem;line-height:1.45}.launch-check-state{font-size:.75rem;font-weight:850;color:var(--warning);text-align:right}.launch-check.is-ok .launch-check-state{color:var(--success)}.launch-check.is-fail .launch-check-state{color:var(--danger)}
@media(max-width:820px){.launch-hero{align-items:stretch;flex-direction:column}.launch-verdict{width:100%}.launch-time-grid{grid-template-columns:1fr}.launch-check{grid-template-columns:14px minmax(0,1fr);align-items:start}.launch-check-state{grid-column:2;text-align:left}.launch-check>.button{grid-column:2;justify-self:start}.launch-check-list,.launch-time-grid{padding-left:18px;padding-right:18px}}

/* Correctif V1 — accompagnement Google Business */
.form-subsection{padding:18px 0 2px;border-top:1px solid var(--line)}.form-subsection h3{margin:3px 0 7px;font-size:1.05rem}.form-help{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}.badge-google{background:#e8f5f3;color:#1f6f6b}.badge-google-status-to_confirm{background:#fff3cf;color:#785a00}.badge-google-status-accepted{background:#eaf3fb;color:#255f87}.badge-google-status-in_progress{background:#e8f5f3;color:#1f6f6b}.badge-google-status-completed{background:#e8f6ed;color:#246b43}.badge-google-status-declined,.badge-google-status-cancelled{background:#eef1f2;color:#59666a}.google-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.google-admin-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:22px;align-items:start}.google-business-side{position:sticky;top:20px}.google-timeline{display:grid;padding:0 24px 22px}.google-timeline>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid var(--line)}.google-timeline>div:first-child{border-top:0}.google-timeline span{color:var(--muted);font-size:.76rem}.google-timeline strong{text-align:right;font-size:.82rem}.google-scope-note{margin:0 24px 24px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#f8fafa}.google-scope-note>strong{display:block;margin-bottom:10px}.google-scope-note ul{display:grid;gap:6px;margin:0;padding-left:18px;color:var(--muted);font-size:.79rem;line-height:1.45}.google-scope-note p{margin:13px 0 0;color:var(--muted);font-size:.75rem;line-height:1.55}.google-business-table td>span:not(.badge),.google-billing-table td>span{display:block;margin-top:3px;color:var(--muted);font-size:.75rem}.billing-subheading{margin:24px 24px 12px;padding-top:22px;border-top:1px solid var(--line)}.billing-subheading h3{margin:3px 0 6px;font-size:1.05rem}.billing-subheading p:last-child{margin:0;color:var(--muted);font-size:.8rem;line-height:1.55}.google-billing-check{border-color:#b9dcd8;background:#f5fbfa}.google-billing-note{border-color:#c8e2df;background:#f6fbfa}
@media(max-width:980px){.google-admin-grid{grid-template-columns:1fr}.google-business-side{position:static}.google-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.google-metrics{grid-template-columns:1fr}.google-timeline{padding-left:18px;padding-right:18px}.google-scope-note{margin-left:18px;margin-right:18px}.billing-subheading{margin-left:18px;margin-right:18px}}

/* Correctif V1 — SEO & contenus */
.content-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 24px 22px}.content-tabs a{display:inline-flex;align-items:center;min-height:40px;padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:.82rem;font-weight:760;text-decoration:none}.content-tabs a.is-active{border-color:var(--brand);background:#eef7f6;color:var(--brand)}.content-table{min-width:850px}.content-table .row-actions{justify-content:flex-end}.robots-box{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#f8fafa}.robots-box>strong{margin-right:8px}.robots-box label{display:inline-flex;align-items:center;gap:7px;font-size:.84rem;font-weight:720}.robots-box small{flex-basis:100%;color:var(--muted);font-size:.75rem}.content-editor{min-height:420px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;line-height:1.55}.content-image-current{display:flex;align-items:flex-start;gap:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafa}.content-image-current img{display:block;width:min(320px,48vw);aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#e7eeee}.content-image-current label{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:720}.form-subsection{padding-top:12px;border-top:1px solid var(--line)}.form-subsection h3{margin:0}.form-help{margin:8px 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}@media(max-width:680px){.content-tabs{margin-left:18px;margin-right:18px}.content-image-current{display:grid}.content-image-current img{width:100%}.robots-box{align-items:flex-start}}

/* Contrat ClicResa V1.0 */
.contract-document{max-width:980px;margin-inline:auto;background:#fff}
.contract-document-head{padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--border,#dfe6e7)}
.contract-document-head h2{margin:.2rem 0 .35rem}
.contract-section{padding:6px 0 16px;border-bottom:1px solid rgba(53,81,90,.10)}
.contract-section:last-child{border-bottom:0}
.contract-section h3{margin:.25rem 0 .8rem;font-size:1.04rem;line-height:1.35}
.contract-section p{margin:.42rem 0;line-height:1.62;max-width:88ch}
.contract-spacer{height:.5rem}
.contract-document code,.detail-list code{font-size:.78rem;overflow-wrap:anywhere}
@media (max-width:720px){.contract-document{padding:18px}.contract-section p{line-height:1.55}.contract-document-head{margin-bottom:14px}}


/* Correctif UI — Mon compte administrateur & contrat ClicResa */
.admin-account-grid{
    grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
    align-items:start;
}
.admin-account-grid>.panel{min-width:0}
.admin-account-grid>.panel>.muted{
    margin:0;
    padding:0 24px 24px;
    line-height:1.6;
}
.admin-account-grid>.form-section>.muted:first-of-type{
    padding-top:20px;
    padding-bottom:0;
}
.admin-account-grid>.form-section .form-grid{
    grid-template-columns:1fr;
    gap:16px;
}
.admin-account-grid>.form-section .inline-actions{
    padding-top:2px;
}
.admin-account-grid>.form-section .button-primary{
    min-height:44px;
}

.admin-contract-page>.section-heading{
    padding-bottom:22px;
}
.admin-contract-page>.mail-note{
    margin:14px 24px 0;
}
.admin-contract-overview{
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
    align-items:start;
    padding:0 24px 24px;
    gap:18px;
}
.admin-contract-overview>.panel{
    min-width:0;
    box-shadow:none;
}
.admin-contract-overview>.panel .panel-heading{
    padding-bottom:18px;
}
.admin-contract-overview>.panel .detail-list{
    padding-top:18px;
}
.admin-contract-overview>aside>p{
    margin:0;
    padding:4px 24px 24px;
    color:var(--muted);
    line-height:1.65;
}
.admin-contract-overview .detail-list code{
    display:block;
    max-width:100%;
    padding:7px 9px;
    border-radius:8px;
    background:#f5f8f8;
    color:#536368;
    line-height:1.45;
    word-break:break-all;
}
.admin-contract-page+.panel.panel-spaced{
    margin-top:20px;
}

@media(max-width:1050px){
    .admin-account-grid,
    .admin-contract-overview{
        grid-template-columns:1fr;
    }
    .admin-contract-overview{
        padding-left:18px;
        padding-right:18px;
    }
}
@media(max-width:720px){
    .admin-account-grid>.panel>.muted{
        padding-left:18px;
        padding-right:18px;
    }
    .admin-contract-page>.mail-note{
        margin-left:18px;
        margin-right:18px;
    }
    .admin-contract-overview{
        padding-left:12px;
        padding-right:12px;
        padding-bottom:18px;
    }
    .admin-contract-overview>aside>p{
        padding-left:18px;
        padding-right:18px;
    }
}


/* Éditeur SEO riche — blog et pages métiers */
.content-editor-field>span{display:block;margin-bottom:8px;font-size:.82rem;font-weight:780;color:var(--ink)}
.rich-editor{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}
.content-seo-guidance{display:grid;gap:6px;margin:0 0 12px;padding:14px 16px;border:1px solid #d8e5e2;border-radius:12px;background:#f7fbfa;color:var(--ink)}
.content-seo-guidance strong{font-size:.82rem}.content-seo-guidance span{font-size:.76rem;line-height:1.55;color:var(--muted)}
.rich-editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:9px;border-bottom:1px solid var(--line);background:#f7faf9;position:sticky;top:0;z-index:2}
.rich-editor-toolbar button,.rich-editor-toolbar select{min-height:36px;border:1px solid #cbd9d8;border-radius:8px;background:#fff;color:var(--ink);padding:6px 10px;font:inherit;font-size:.76rem;font-weight:720;cursor:pointer}
.rich-editor-toolbar button:hover,.rich-editor-toolbar button:focus,.rich-editor-toolbar button.is-active{border-color:var(--brand);background:#edf7f6;color:var(--brand)}
.rich-editor-toolbar-spacer{flex:1 1 18px}.rich-editor-format{min-width:118px}
.rich-editor-canvas,.rich-editor-source{width:100%;min-height:480px;padding:24px;border:0!important;border-radius:0!important;outline:0;background:#fff;color:#283f45;font-size:.96rem;line-height:1.75;box-shadow:none!important}
.rich-editor-canvas h2{margin:34px 0 12px;font-size:1.65rem;line-height:1.25}.rich-editor-canvas h3{margin:26px 0 10px;font-size:1.25rem}.rich-editor-canvas p{margin:0 0 16px}.rich-editor-canvas blockquote{margin:24px 0;padding:16px 20px;border-left:4px solid var(--brand);background:#f4f8f7}.rich-editor-canvas img{display:block;max-width:100%;height:auto;margin:18px auto;border-radius:12px}.rich-editor-canvas iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#111}.rich-editor-canvas .content-cta{display:inline-flex;padding:10px 16px;border-radius:9px;background:var(--brand);color:#fff;text-decoration:none;font-weight:780}.rich-editor-source{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.55;resize:vertical}.rich-editor-status{min-height:0;padding:0 12px;color:#287a55;font-size:.76rem;font-weight:720}.rich-editor-status:not(:empty){padding-top:8px;padding-bottom:8px;border-top:1px solid var(--line);background:#f6fbf8}.rich-editor-status.is-error{color:#9a3b3b;background:#fff5f5}
.content-image-guidance{display:grid;gap:5px;padding:16px 18px;border:1px solid #b9dcd8;border-radius:12px;background:#f1f9f8}.content-image-guidance strong{color:var(--brand);font-size:.92rem}.content-image-guidance span{color:var(--muted);font-size:.78rem;line-height:1.5}
.seo-live-panel{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:28px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#f8fbfa}.seo-live-panel h3{margin:0}.seo-live-panel>div>p:last-child{margin:8px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.seo-live-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.seo-live-grid span{position:relative;padding:12px 12px 28px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.78rem;font-weight:760}.seo-live-grid span:before{content:'○';margin-right:7px;color:#b37b24}.seo-live-grid span:after{content:attr(data-detail);position:absolute;left:12px;bottom:9px;color:var(--muted);font-size:.68rem;font-weight:620}.seo-live-grid span.is-ok:before{content:'✓';color:#23855d}.seo-live-grid span.is-warn{border-color:#ead9ad;background:#fffcf4}
@media(max-width:900px){.seo-live-panel{grid-template-columns:1fr}.seo-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.rich-editor-toolbar{position:static}.rich-editor-toolbar button{flex:1 0 auto}.rich-editor-format{width:100%}.rich-editor-canvas,.rich-editor-source{min-height:400px;padding:18px}.seo-live-grid{grid-template-columns:1fr}}

/* Étape 39 — support professionnel */
.filters-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0 24px 24px;align-items:end}
.filter-actions{display:flex;gap:10px;align-items:center;align-self:end}
.filter-actions .button{white-space:nowrap}
@media(max-width:1100px){.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{grid-column:1/-1}}
@media(max-width:680px){.filters-grid{grid-template-columns:1fr;padding-left:18px;padding-right:18px;padding-bottom:18px}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.filter-actions .button{width:100%}}

/* V4.3 — lisibilité de la fiche demande commerciale */
.request-summary-panel .panel-heading{
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%);
}
.request-summary-panel .request-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding:20px 24px 24px;
}
.request-summary-panel .request-detail-grid>div{
    min-width:0;
    display:grid;
    grid-template-columns:minmax(120px,145px) minmax(0,1fr);
    gap:12px;
    align-items:start;
    padding:14px 16px;
    border:1px solid #e5ebed;
    border-radius:13px;
    background:#fafcfc;
}
.request-summary-panel .request-detail-grid>div>span{
    color:var(--muted);
    font-size:.73rem;
    font-weight:800;
    line-height:1.35;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.request-summary-panel .request-detail-grid>div>strong{
    min-width:0;
    color:var(--text);
    font-size:.91rem;
    line-height:1.45;
    overflow-wrap:anywhere;
}
.request-summary-panel .request-detail-grid a{
    color:var(--brand);
    text-decoration-color:#b5c6c9;
}
.request-summary-panel .request-message{
    margin:0 24px 24px;
}

/* V4.3 — parcours d'inscription */
.enrollment-panel .section-heading{
    background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%);
}
.enrollment-status-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    padding:22px 24px 8px;
}
.enrollment-status-card{
    position:relative;
    min-width:0;
    display:grid;
    gap:7px;
    padding:17px 18px 17px 20px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#f8fafa;
    overflow:hidden;
}
.enrollment-status-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#aab8bb;
}
.enrollment-status-card.is-success{
    border-color:#cae1d5;
    background:#f5fbf8;
}
.enrollment-status-card.is-success::before{background:var(--success)}
.enrollment-status-card.is-pending{
    border-color:#ead9ab;
    background:#fffaf0;
}
.enrollment-status-card.is-pending::before{background:#b48732}
.enrollment-status-card.is-error{
    border-color:#e6c7c7;
    background:#fff7f7;
}
.enrollment-status-card.is-error::before{background:var(--danger)}
.enrollment-status-card.is-neutral::before{background:#829398}
.enrollment-status-label{
    color:var(--muted);
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.enrollment-status-card strong{
    min-width:0;
    font-size:.94rem;
    line-height:1.45;
    overflow-wrap:anywhere;
}
.enrollment-actions{
    margin:16px 24px 0;
    padding:18px 0 20px;
    border-top:1px solid var(--line);
}
.enrollment-actions .button{
    min-height:44px;
}
.enrollment-hint{
    margin:0 24px 24px;
    padding:13px 15px;
    border:1px solid #dfe7e9;
    border-radius:11px;
    background:#f7f9f9;
    line-height:1.5;
}

@media(max-width:1050px){
    .request-summary-panel .request-detail-grid{grid-template-columns:1fr}
    .enrollment-status-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
    .request-summary-panel .request-detail-grid{padding:16px 18px 18px}
    .request-summary-panel .request-detail-grid>div{grid-template-columns:1fr;gap:5px;padding:13px 14px}
    .request-summary-panel .request-message{margin-left:18px;margin-right:18px}
    .enrollment-status-grid{grid-template-columns:1fr;padding:18px 18px 6px}
    .enrollment-actions{display:grid;grid-template-columns:1fr;margin-left:18px;margin-right:18px}
    .enrollment-actions .button{width:100%}
    .enrollment-hint{margin-left:18px;margin-right:18px}
}

/* V4.4 — Positionnement public */
.positioning-panel .section-heading{
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%);
}
.positioning-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    padding:22px 24px 24px;
}
.positioning-card{
    min-width:0;
    display:grid;
    gap:7px;
    padding:17px 18px;
    border:1px solid #e3eaec;
    border-radius:13px;
    background:#fafcfc;
}
.positioning-card span{
    color:var(--muted);
    font-size:.72rem;
    font-weight:800;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.055em;
}
.positioning-card strong{
    color:var(--text);
    font-size:.96rem;
    line-height:1.45;
    overflow-wrap:anywhere;
}
@media(max-width:760px){
    .positioning-grid{
        grid-template-columns:1fr;
        padding:18px;
    }
    .positioning-card{padding:15px 16px}
}

/* Suivi commercial : rappels et métiers à vérifier */
.lead-admin-list{display:grid;gap:16px}.lead-admin-card{padding:20px;border:1px solid #dce7e6;border-radius:16px;background:#fff}.lead-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.lead-admin-head>div{display:grid;gap:4px}.lead-admin-head strong{font-size:1rem}.lead-admin-head span:not(.badge){color:#6d7f83;font-size:.78rem}.lead-admin-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.lead-admin-details>div{padding:12px 13px;border-radius:11px;background:#f6f9f9}.lead-admin-details span{display:block;margin-bottom:4px;color:#75868a;font-size:.7rem;font-weight:760;text-transform:uppercase;letter-spacing:.04em}.lead-admin-details strong{font-size:.88rem}.lead-admin-details a{color:inherit;text-underline-offset:3px}.lead-admin-message{margin-top:14px;padding:14px;border-radius:11px;background:#f8fbfa}.lead-admin-message>span{display:block;color:#75868a;font-size:.7rem;font-weight:760;text-transform:uppercase;letter-spacing:.04em}.lead-admin-message p{margin:7px 0 0;line-height:1.55}.lead-admin-actions{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid #e3eceb}.lead-admin-actions label>span{display:block;margin-bottom:6px;color:#5e7175;font-size:.75rem;font-weight:740}.lead-admin-actions select,.lead-admin-actions input{width:100%;border:1px solid #ccd9d8;border-radius:9px;background:#fff;padding:10px 11px;font:inherit}.badge-request-processed{background:#e8f7ef;color:#246a47}@media(max-width:840px){.lead-admin-details{grid-template-columns:1fr}.lead-admin-actions{grid-template-columns:1fr}.lead-admin-head{flex-direction:column}.lead-admin-head .badge{align-self:flex-start}}


/* Site public — navigation rapide par onglets */
.site-public-tabs{
    position:sticky;
    top:0;
    z-index:40;
    display:flex;
    align-items:center;
    gap:7px;
    margin:0;
    padding:12px 24px;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.96);
    box-shadow:0 8px 20px rgba(25,45,52,.05);
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
}
.site-public-tabs a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 13px;
    border:1px solid #d9e3e5;
    border-radius:10px;
    background:#f8fafb;
    color:var(--text);
    font-size:.78rem;
    font-weight:760;
    line-height:1.15;
    text-decoration:none;
    white-space:nowrap;
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.site-public-tabs a:hover,
.site-public-tabs a:focus-visible{
    border-color:#9fb9bd;
    background:#eef5f5;
    color:#163f49;
    outline:none;
    transform:translateY(-1px);
}
.site-public-anchor,
#site-public-general{
    scroll-margin-top:82px;
}
@media(max-width:760px){
    .site-public-tabs{
        margin-left:0;
        margin-right:0;
        padding:10px 16px;
        gap:6px;
    }
    .site-public-tabs a{
        min-height:36px;
        padding:8px 11px;
        font-size:.75rem;
    }
    .site-public-anchor,
    #site-public-general{
        scroll-margin-top:74px;
    }
}

/* Site public — onglets de navigation, finition UI */
.site-public-tabs{
    position:sticky;
    top:0;
    z-index:45;
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    padding:13px 20px;
    border-top:1px solid #e1e8ea;
    border-bottom:1px solid #dce5e7;
    background:#f4f8f8;
    box-shadow:0 7px 18px rgba(31,55,62,.05);
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
}
.site-public-tabs a,
.site-public-tabs a:visited{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:9px 15px;
    border:1px solid #d6e1e3;
    border-radius:999px;
    background:#fff;
    color:#40545a;
    box-shadow:0 1px 2px rgba(30,52,59,.04);
    font-size:.79rem;
    font-weight:780;
    line-height:1;
    text-decoration:none !important;
    white-space:nowrap;
    transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.site-public-tabs a:hover,
.site-public-tabs a:focus-visible{
    border-color:#6e9b9b;
    background:#e9f4f2;
    color:#183f48;
    box-shadow:0 4px 12px rgba(42,95,96,.10);
    outline:none;
    transform:translateY(-1px);
}
.site-public-tabs a:active{
    transform:translateY(0);
    box-shadow:none;
}
.site-public-tabs a:first-child{
    border-color:#39535b;
    background:#39535b;
    color:#fff;
}
.site-public-tabs a:first-child:hover,
.site-public-tabs a:first-child:focus-visible{
    border-color:#2e474f;
    background:#2e474f;
    color:#fff;
}
.site-public-anchor,
#site-public-general{
    scroll-margin-top:86px;
}
@media(max-width:760px){
    .site-public-tabs{
        gap:7px;
        padding:10px 14px;
    }
    .site-public-tabs a,
    .site-public-tabs a:visited{
        min-height:38px;
        padding:8px 13px;
        font-size:.76rem;
    }
    .site-public-anchor,
    #site-public-general{
        scroll-margin-top:78px;
    }
}

/* Site public — enregistrement indépendant par section */
#site-public-general .form-subsection.site-public-anchor{
    margin-top:26px;
    padding:20px 22px;
    border:1px solid #dce7e8;
    border-radius:16px;
    background:linear-gradient(180deg,#f8fbfb 0%,#f3f8f8 100%);
}
#site-public-general .form-subsection.site-public-anchor h3{margin-bottom:4px}
.section-save-actions{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:14px;
    margin-top:8px;
    padding:16px 18px;
    border:1px solid #dce6e7;
    border-radius:14px;
    background:#f7faf9;
}
.section-save-actions small{
    color:#6f8084;
    font-size:.76rem;
    line-height:1.4;
}
.section-save-actions .button{min-width:190px}
@media(max-width:680px){
    .section-save-actions{align-items:stretch;flex-direction:column;gap:8px}
    .section-save-actions .button{width:100%;min-width:0}
}

/* Site public — éditeur du menu principal */
.public-menu-editor{overflow:hidden;border:1px solid #dce7e6;border-radius:16px;background:#fff}
.public-menu-editor-head,.public-menu-editor-row{display:grid;grid-template-columns:92px minmax(190px,1.2fr) minmax(210px,1fr) 88px;gap:14px;align-items:center;padding:12px 14px}
.public-menu-editor-head{background:#f3f7f6;color:#53676c;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.public-menu-editor-row{border-top:1px solid #e8efee}
.public-menu-editor-row:first-of-type{border-top:0}
.public-menu-editor-row .field{margin:0}
.public-menu-editor-row input[type="text"],.public-menu-editor-row input[type="number"]{width:100%;margin:0}
.public-menu-visible{display:flex;align-items:center;justify-content:center;min-height:42px}
.public-menu-visible input{width:18px;height:18px;margin:0;accent-color:#153f49}
.public-menu-target{display:grid;gap:2px;color:#324e54;font-size:.84rem;line-height:1.35}
.public-menu-target small{color:#7a8a8e;font-size:.7rem;font-weight:650}
.public-menu-order input{text-align:center}
.public-menu-editor-row-cta{background:#fbfdfc}
.public-menu-cta-badge{display:grid;place-items:center;min-height:38px;border-radius:9px;background:#e6f2f0;color:#1f6d68;font-size:.74rem;font-weight:850}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:820px){.public-menu-editor-head{display:none}.public-menu-editor-row{grid-template-columns:52px 1fr 76px;gap:10px;padding:14px}.public-menu-target{grid-column:2/-1;grid-row:2}.public-menu-visible{grid-row:1/3}.public-menu-editor-row-cta .public-menu-target{grid-column:2/4}.public-menu-cta-badge{grid-column:3;grid-row:1}}
