/* Shared workspace presentation for store administration and customer accounts. */
.store-page{max-width:1400px;margin:32px auto}.store-page .store-shell{padding:0;overflow:hidden}.store-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px 36px;border-bottom:1px solid var(--line,#dce8e8);background:linear-gradient(115deg,var(--soft,#f4fbfb),transparent)}.store-heading h1{margin:8px 0 12px;font-size:clamp(26px,3vw,36px);line-height:1.2}.store-intro{color:var(--muted,#6d7a80);margin:0;max-width:620px}.store-account{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line,#dce8e8);padding:10px 14px;border-radius:24px;font-size:12px;white-space:nowrap;color:var(--bb9-green,#009898);background:var(--surface,#fff)}.store-workspace{display:grid;grid-template-columns:255px minmax(0,1fr)}.store-sidebar{padding:28px 18px;border-right:1px solid var(--line,#dce8e8);background:var(--soft,#f4fbfb)}.store-nav-title{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted,#6d7a80);padding:0 12px;font-weight:700}.store-page .store-tabs{display:flex;flex-direction:column;gap:8px;margin:18px 0 28px}.store-page .store-tabs button{display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:14px;background:transparent;text-align:left;padding:13px 12px;font-size:13px;line-height:1.4;min-height:48px;transition:background .18s,color .18s,box-shadow .18s}.store-tabs button>i:first-child{width:19px;text-align:center;flex-shrink:0;font-size:16px;color:var(--bb9-green,#009898)}.store-page .store-tabs button.active{background:var(--bb9-green,#009898);color:#fff;box-shadow:0 6px 16px rgba(0,100,100,.12)}.store-tabs button.active>i:first-child{color:inherit}.store-nav-arrow{margin-left:auto;font-size:9px;opacity:.6}.store-tabs button:hover:not(.active){background:var(--surface,#fff);border-color:var(--line,#dce8e8)}.store-logout{border:0;background:none;color:var(--muted,#6d7a80);padding:12px;font:inherit;font-size:12px;cursor:pointer;display:flex;gap:10px;align-items:center}.store-content{min-width:0;padding:30px}.store-panel{animation:store-panel-in .2s ease-out}.store-page .store-panel-heading{display:flex;align-items:center;gap:16px;margin:0 0 24px}.store-panel-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:var(--soft,#f4fbfb);color:var(--bb9-green,#009898);font-size:21px;flex-shrink:0}.store-page .store-panel-heading h2{margin:0 0 7px;font-size:23px;line-height:1.2}.store-panel-heading p{margin:0;font-size:13px;color:var(--muted,#6d7a80)}.store-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.store-field{padding:18px;border:1px solid var(--line,#dce8e8);border-radius:18px;background:var(--soft,#f4fbfb);align-content:start;min-width:0}.store-field-title{display:flex;align-items:start;justify-content:space-between;gap:12px;line-height:1.5;min-height:40px;font-size:13px;font-weight:600}.store-field-title i{color:var(--muted,#6d7a80);font-size:12px;margin-top:4px}.store-page .store-field input,.store-page .store-field select{background:var(--surface,#fff);border-radius:11px;min-height:46px;font-size:14px;font-weight:400;padding:10px 12px;min-width:0}.store-field small{font-size:11px;line-height:1.5;color:var(--muted,#6d7a80)}.store-field-locked input:disabled{opacity:1;color:var(--muted,#6d7a80);background:transparent;border-style:dashed}.store-savebar{border-top:1px solid var(--line,#dce8e8);margin-top:24px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.store-savebar>span{font-size:12px;color:var(--muted,#6d7a80);max-width:280px}.store-page .store-savebar .maquette-btn{width:auto;margin:0;min-width:220px;display:inline-flex;justify-content:center;gap:10px;align-items:center}.store-notice{margin:20px 30px;padding:16px 20px;border:1px solid var(--line,#dce8e8);border-left:4px solid var(--bb9-green,#009898);border-radius:12px;display:flex;gap:12px;align-items:flex-start;background:var(--soft,#f4fbfb);font-size:14px}.store-signin{max-width:560px;margin:32px auto;padding:0 24px 24px}.store-page .store-signin h2{margin-top:0}.store-page .store-signin .maquette-btn{margin:0}.store-access{margin:0}.store-page input:focus-visible,.store-page select:focus-visible,.store-page textarea:focus-visible,.store-page button:focus-visible{outline:3px solid var(--bb9-green,#009898);outline-offset:3px}.store-legal-panel>p{font-size:13px;color:var(--muted,#6d7a80)}
@keyframes store-panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.store-workspace{grid-template-columns:220px minmax(0,1fr)}.store-content{padding:24px}.store-fields{grid-template-columns:1fr}.store-savebar{align-items:stretch;flex-direction:column}.store-page .store-savebar .maquette-btn{width:100%}}
@media(max-width:700px){.store-page{margin:16px auto;padding:0 10px}.store-heading{padding:24px 20px;align-items:flex-start;flex-direction:column;gap:16px}.store-heading h1{font-size:27px}.store-intro{font-size:13px}.store-workspace{display:block}.store-sidebar{padding:16px;border-right:0;border-bottom:1px solid var(--line,#dce8e8)}.store-nav-title{display:none}.store-page .store-tabs{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;margin:0;gap:8px;padding-bottom:8px}.store-page .store-tabs button{flex:0 0 auto;max-width:220px;min-height:44px;font-size:12px;padding:10px 14px;border-color:var(--line,#dce8e8)}.store-nav-arrow{display:none}.store-logout{margin-left:auto;padding-bottom:0}.store-content{padding:22px 16px}.store-page .store-panel-heading h2{font-size:21px}.store-panel-icon{width:42px;height:42px}.store-field-title{min-height:0}.store-notice{margin:16px}.store-signin{margin-top:24px}.store-savebar>span{max-width:none}}
@media(prefers-reduced-motion:reduce){.store-panel{animation:none}.store-page .store-tabs button{transition:none}}

/* Sliding mobile navigation; desktop keeps its sidebar. */
.store-drawer-heading { display: none; }
.store-sidebar.mobile-account-nav .account-nav-panel,
.store-sidebar.mobile-account-nav .account-nav-items { display: contents; opacity: 1; visibility: visible; }
@media (max-width: 700px) {
 .store-sidebar.mobile-account-nav .account-nav-trigger {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 54px;
  padding: 12px 14px; border: 1px solid var(--line,#dce8e8); border-radius: 16px;
  background: var(--surface,var(--white,#fff)); color: var(--bb9-green,#009898);
  font: inherit; font-size: 14px; font-weight: 600; text-align: left; cursor: pointer;
 }
 .store-sidebar .account-nav-trigger > span { min-width: 0; flex: 1; }
 .store-sidebar .account-nav-trigger .account-nav-chevron { flex: 0 0 auto; }
 .store-sidebar.mobile-account-nav .account-nav-panel {
  display: block; position: fixed; inset: 0 auto 0 0; margin: 0;
  width: min(340px, calc(100vw - 40px)); max-width: none; height: 100%; height: 100dvh;
  max-height: none; padding: 0; border: 0; border-radius: 0 24px 24px 0;
  color: var(--text,#263238); background: var(--soft,#f4fbfb);
  box-shadow: 12px 0 40px rgba(20,50,55,.18); overflow: auto; overscroll-behavior: contain;
  transform: translateX(-105%); opacity: 1; visibility: hidden;
  transition: transform .26s ease, visibility 0s linear .26s;
 }
 .store-sidebar.mobile-account-nav.is-expanded .account-nav-panel {
  transform: translateX(0); visibility: visible;
  transition: transform .26s ease, visibility 0s;
 }
 .store-sidebar .account-nav-panel::backdrop {
  background: rgba(20,40,45,0); transition: background .26s ease;
 }
 .store-sidebar.is-expanded .account-nav-panel::backdrop { background: rgba(20,40,45,.42); }
 .store-sidebar.mobile-account-nav .account-nav-items { display: block; padding: max(20px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom)); overflow: visible; }
 .store-sidebar .store-drawer-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; font-size: 21px; }
 .store-drawer-close { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line,#dce8e8); border-radius: 50%; background: var(--surface,#fff); color: var(--bb9-green,#009898); cursor: pointer; font-size: 20px; }
 .store-sidebar.is-expanded .account-nav-chevron { transform: none; }
 .store-page .store-sidebar .store-tabs { flex-direction: column; overflow: visible; gap: 6px; margin: 10px 0 0; padding: 0; }
 .store-page .store-sidebar .store-tabs button { width: 100%; max-width: none; min-height: 48px; flex: initial; font-size: 13px; }
 .store-sidebar .store-logout { width: 100%; margin: 12px 0 0; padding: 16px 14px 8px; border-top: 1px solid var(--line,#dce8e8); font-size: 13px; }
 .store-sidebar .account-nav-trigger:focus-visible,
 .store-sidebar .store-nav-item:focus-visible { outline: 2px solid var(--bb9-green,#009898); outline-offset: 2px; }
}
@media (prefers-reduced-motion: reduce) {
 .store-sidebar.mobile-account-nav .account-nav-panel,
 .store-sidebar .account-nav-chevron,
 .store-sidebar .account-nav-panel::backdrop { transition: none; }
}

/* The mobile menu button shares the section title row. */
.store-title-row { display: contents; }
@media (max-width: 700px) {
 .store-sidebar.mobile-account-nav { padding: 0; border: 0; }
 .store-sidebar.mobile-account-nav > .account-nav-trigger { display: none; }
 .store-page .store-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; min-width: 0; }
 .store-page .store-title-row h2 { flex: 1; min-width: 0; margin-top: 0; }
 .store-page .store-panel-heading > div { flex: 1; min-width: 0; }
 .store-title-row .account-nav-trigger { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line,#dce8e8); border-radius: 14px; background: var(--soft,#f4fbfb); color: var(--bb9-green,#009898); cursor: pointer; }
 .store-title-row .account-nav-trigger > i:first-child,
 .store-title-row .account-nav-trigger > span { display: none; }
 .store-title-row .account-nav-trigger .account-nav-chevron { margin: 0; font-size: 18px; transform: none; }
}

/* Shared customer workspace. */
body.maquette-app .account-reference.client-workspace { max-width: 1400px; }
body.maquette-app .account-reference.client-workspace .account-dashboard.store-workspace { display: grid; grid-template-columns: 255px minmax(0,1fr); gap: 0; align-items: stretch; border: 1px solid var(--line,#dce8e8); border-radius: 24px; background: var(--surface,var(--white,#fff)); overflow: hidden; }
body.maquette-app .account-reference.client-workspace .tab-content { min-width: 0; padding: 30px !important; }
body.maquette-app .account-reference.client-workspace :is(.tab-pane,.sale-detail-content) > .section { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.maquette-app .account-reference.client-workspace .section-header > div:first-child { flex: 1; min-width: 0; }
@media (max-width: 1000px) {
 body.maquette-app .account-reference.client-workspace .account-dashboard.store-workspace { grid-template-columns: 220px minmax(0,1fr); }
 body.maquette-app .account-reference.client-workspace .tab-content { padding: 24px !important; }
}
@media (max-width: 700px) {
 body.maquette-app .account-reference.client-workspace .account-dashboard.store-workspace { display: block; }
 body.maquette-app .account-reference.client-workspace .tab-content { padding: 22px 16px !important; }
 body.maquette-app .account-reference.client-workspace .section-header > .client-account-muted-icon { display: none; }
}
@media (max-width: 700px) {
 body.maquette-app .account-reference.client-workspace .section-header { flex-wrap: wrap; }
 body.maquette-app .account-reference.client-workspace .section-header > div:first-child { flex-basis: 100%; }
}
/* Common heading scale in both workspaces. */
body.maquette-app .store-page :is(.store-panel-heading,.section-header) .store-title-row h2 { font-size: 23px; line-height: 1.2; }
@media (max-width: 700px) {
 body.maquette-app .store-page :is(.store-panel-heading,.section-header) .store-title-row h2 { font-size: 21px; }
}

@media (max-width: 700px) {
 body.maquette-app .account-reference.client-workspace .section-header > div:first-child { width: 100%; max-width: none; }
}

/* Keep sidebar backgrounds full-height; only navigation content follows scrolling.
   clip preserves rounded corners without becoming a sticky scroll container. */
@media (min-width: 701px) {
 .store-page .store-shell,
 body.maquette-app .account-reference.client-workspace .account-dashboard.store-workspace { overflow: clip; }
 .store-workspace > .store-sidebar { align-self: stretch; }
 .store-sidebar-content {
  position: sticky;
  top: 116px;
  max-height: calc(100vh - 132px);
  max-height: calc(100dvh - 132px);
  overflow-y: auto;
  scrollbar-width: thin;
  overscroll-behavior: contain;
 }
}

@media (max-width: 700px) {
 .store-sidebar-content { display: contents; }
}

/* Discrete action outside the price card; the hit area stays touch-friendly. */
body.maquette-app .sale-detail-page .article-remove-button {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 grid-column: 2;
 grid-row: 1;
 justify-self: end;
 align-self: start;
 width: 44px;
 height: 44px;
 padding: 0;
 margin: 0;
 border: 1px solid var(--line);
 border-radius: 12px;
 background: transparent;
 color: var(--muted);
 font-size: 17px;
 cursor: pointer;
 transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}
body.maquette-app .sale-detail-page .article-remove-button:hover:not(:disabled) {
 color: var(--bb9-pink, #d60074);
 border-color: currentColor;
 background: var(--white);
}
body.maquette-app .sale-detail-page .article-remove-button:focus-visible {
 outline: 2px solid var(--bb9-green);
 outline-offset: 3px;
}
body.maquette-app .sale-detail-page .article-remove-button:disabled { opacity: .45; cursor: wait; }
@media (max-width: 700px) {
 body.maquette-app .sale-detail-page .article-remove-button { display: none; }
}
@media (min-width: 760px) {
 /* Identical tracks on every row, including articles without a remove action. */
 body.maquette-app .sale-detail-page .detail-article {
  grid-template-columns: 92px minmax(0, 1fr) 104px 168px 44px;
 }
 body.maquette-app .sale-detail-page .detail-article .article-main { min-width: 0; overflow-wrap: anywhere; }
 body.maquette-app .sale-detail-page .detail-article .article-meta,
 body.maquette-app .sale-detail-page .detail-article .article-price {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 88px;
 }
 body.maquette-app .sale-detail-page .detail-article .article-price .amount,
 body.maquette-app .sale-detail-page .detail-article .article-price del { font-variant-numeric: tabular-nums; }
 body.maquette-app .sale-detail-page .detail-article .article-price-values .price-line .amount,
 body.maquette-app .sale-detail-page .detail-article .article-price-values .price-line del {
  white-space: normal;
  overflow-wrap: anywhere;
 }
 body.maquette-app .sale-detail-page .article-remove-button { grid-column: 5; align-self: center; }
}
@media (prefers-reduced-motion: reduce) {
 body.maquette-app .sale-detail-page .article-remove-button { transition: none; }
}
body.maquette-app .sale-detail-page .article-removal-confirmation { grid-column: 1 / -1; padding: 18px; border-top: 1px solid var(--line); cursor: default; }
body.maquette-app .sale-detail-page .article-removal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }

/* Parent catalogue uses the same theme tokens as the account workspace. */
.parent-catalogue { margin: 18px 0; }
.parent-catalogue-panel { margin-top: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: var(--white); }
.parent-catalogue-search { margin: 18px 0; }
.parent-catalogue-search label { display: block; margin-bottom: 8px; color: var(--muted); }
.parent-catalogue-search > div, .parent-catalogue-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.parent-catalogue-search input { flex: 1; min-width: 160px; }
.parent-catalogue input { padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); color: var(--text); min-height: 44px; }
.parent-catalogue input:focus-visible { outline: 2px solid var(--bb9-green); outline-offset: 2px; }
.parent-catalogue-results { display: grid; gap: 12px; }
.parent-catalogue-item { display: grid; grid-template-columns: 64px minmax(0,1fr) auto auto; gap: 12px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 16px; }
.parent-catalogue-item img, .parent-catalogue-photo { width: 64px; height: 64px; object-fit: contain; border-radius: 12px; }
.parent-catalogue-photo { display: grid; place-items: center; background: var(--white); color: var(--bb9-green); }
.parent-catalogue-item h4 { margin: 0 0 6px; overflow-wrap: anywhere; }
.parent-catalogue-item p { color: var(--muted); margin: 4px 0; overflow-wrap: anywhere; }
.parent-catalogue-item > strong { color: var(--bb9-pink); white-space: nowrap; }
.parent-catalogue-confirm { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 16px; }
.parent-catalogue-confirm input { width: 88px; margin-left: 8px; }
.parent-catalogue-pagination { justify-content: center; margin-top: 16px; }
@media (max-width: 759px) {
 .parent-catalogue-panel { padding: 14px; }
 .parent-catalogue-item { grid-template-columns: 64px minmax(0,1fr); }
 .parent-catalogue-item > strong { grid-column: 1 / -1; }
 .parent-catalogue-item > button { grid-column: 1 / -1; }
 .parent-catalogue-search button { width: 100%; }
}

/* Catalogue: compact introduction and real product cards, shared with both themes. */
body.maquette-app .parent-catalogue-panel { background: var(--bg, #f4fafb); padding: clamp(16px, 2vw, 28px); }
.catalogue-heading { display: flex; gap: 14px; align-items: center; margin-bottom: 12px; }
.catalogue-heading > span { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 16px; color: var(--bb9-green); background: var(--white); font-size: 20px; }
body.maquette-app .catalogue-heading h3 { margin: 0 0 5px; font-size: 22px; }
.catalogue-heading p { margin: 0; color: var(--muted); }
body.maquette-app .parent-catalogue-panel > p { font-size: 13px; color: var(--muted); }
.parent-catalogue-results { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); align-items: start; }
.parent-catalogue-item { grid-template-columns: 88px minmax(0,1fr); background: var(--white); border-radius: 22px; gap: 16px; padding: 20px; }
.parent-catalogue-item img, .parent-catalogue-photo { width: 88px; height: 88px; background: var(--bg, #f4fafb); font-size: 26px; }
body.maquette-app .parent-catalogue-item h4 { font-size: 16px; line-height: 1.4; font-weight: 600; }
.parent-catalogue-item article-prices, .parent-catalogue-item > button { grid-column: 1 / -1; width: 100%; }
.parent-catalogue-item article-prices { padding-top: 14px; border-top: 1px solid var(--line); }
.parent-catalogue-item > button { min-height: 44px; }
.parent-catalogue-confirm label { display: flex; align-items: center; gap: 12px; }
.parent-catalogue-confirm article-prices { margin-top: 14px; }
.parent-catalogue .product-prices .product-price-final { font-size: 23px; }

.parent-catalogue-results { align-items: stretch; }
.parent-catalogue-item { align-content: start; grid-template-rows: minmax(140px, 1fr) auto auto; }
.parent-catalogue-item > img, .parent-catalogue-item > .parent-catalogue-photo { grid-column: 1; grid-row: 1; align-self: start; }
.parent-catalogue-item > div { grid-column: 2; grid-row: 1; align-self: start; min-height: 140px; }
.parent-catalogue-item > article-prices { grid-row: 2; align-self: stretch; }
.parent-catalogue-item > button { grid-row: 3; align-self: end; }
.parent-catalogue-item > .parent-catalogue-confirm { grid-row: 4; }
/* Share the header, prices and action tracks across each row without cutting off names. */
@supports (grid-template-rows: subgrid) {
 .parent-catalogue-item { grid-row: span 3; grid-template-rows: subgrid; }
}
/* Keep the final price in the same position even without a catalogue price or discount. */
body.maquette-app .parent-catalogue-item > article-prices .product-prices { display: grid; grid-template-rows: minmax(18px, auto) minmax(28px, auto); gap:2px; }
.parent-catalogue-item > article-prices .product-price-reference { grid-row: 1; }
.parent-catalogue-item > article-prices .product-price-base { grid-row: 1; }
.parent-catalogue-item > article-prices .product-price-final { grid-row: 2; }

body.maquette-app .parent-catalogue-dialog { width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); box-sizing: border-box; margin: auto; padding: 24px; border: 1px solid var(--line); border-radius: 24px; background: var(--white); color: var(--text); overflow-y: auto; box-shadow: 0 24px 80px #183a4340; }
.parent-catalogue-dialog::backdrop { background: #183a4370; }
.pickup-entry { margin: 16px 0; }
body.maquette-app .pickup-dialog { width: min(680px, calc(100vw - 32px)); }
.pickup-dialog form > p, .pickup-history { font-size: 13px; line-height: 1.6; color: var(--muted); }
.pickup-items { display: grid; gap: 8px; margin: 18px 0; }
.pickup-item { display: flex; align-items: start; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.pickup-item input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--bb9-green); }
.pickup-item strong { font-size: 14px; display: block; }
.pickup-item small { display: block; font-size: 12px; color: var(--muted); font-weight: 400; }
.pickup-item.is-disabled { opacity: .65; cursor: default; }
.pickup-slot { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pickup-slot label { display: grid; gap: 8px; font-size: 13px; min-width: 0; }
.pickup-slot input { box-sizing: border-box; width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--text); }
.pickup-history { margin-top: 20px; }
.pickup-month { display: flex; align-items: center; justify-content: space-between; margin: 18px 0 12px; text-transform: capitalize; }
.pickup-icon-button { display: inline-grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--bb9-green); cursor: pointer; flex-shrink: 0; }
.pickup-icon-button:disabled { opacity: .4; cursor: default; }
.pickup-dates, .pickup-times { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.pickup-dates button, .pickup-times button { min-height: 42px; padding: 8px; border: 1px solid var(--line); background: var(--white); color: var(--text); border-radius: 12px; font-size: 12px; cursor: pointer; }
.pickup-dates button:disabled { opacity: .35; cursor: default; }
.pickup-dates button.is-selected, .pickup-times button.is-selected { background: var(--bb9-green); border-color: var(--bb9-green); color: var(--white); }
.pickup-calendar .pickup-notice { font-size: 12px; color: var(--muted); margin-top: 16px; }
@media(max-width:480px) { .pickup-dates { grid-template-columns: repeat(3,minmax(0,1fr)); } }
/* Keep the gift tracking dialog inside the viewport, including short landscape screens. */
body.maquette-app .maquette-tracking-modal-window .modal-dialog {
 width: calc(100% - 24px);
 max-width: 960px;
 margin: 12px auto;
}
body.maquette-app .maquette-tracking-modal {
 display: flex;
 flex-direction: column;
 box-sizing: border-box;
 max-height: calc(100vh - 24px);
 max-height: calc(100dvh - 24px);
 overflow: hidden;
 padding: 24px 20px 20px;
}
body.maquette-app .maquette-tracking-scroll {
 min-height: 0;
 overflow-y: auto;
 overflow-x: hidden;
 overscroll-behavior: contain;
 scrollbar-gutter: stable;
}
body.maquette-app .maquette-tracking-modal .maquette-modal-close { top: 10px; right: 14px; }
body.maquette-app .tracking-dialog-heading { flex: 0 0 auto; padding-right: 48px; margin-bottom: 20px; }
body.maquette-app .tracking-dialog-heading h2 { margin: 0; font-size: 24px; line-height: 1.25; text-align: left; }
body.maquette-app .tracking-product-summary { text-align: left; }
body.maquette-app .tracking-product-summary > div { min-width: 0; }
body.maquette-app .tracking-product-summary h3 { margin: 0 0 6px; font-size: 16px; line-height: 1.45; overflow-wrap: anywhere; }
body.maquette-app .tracking-product-summary p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--muted); overflow-wrap: anywhere; }
.tracking-product-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 12px; background: var(--white); color: var(--bb9-green); font-size: 20px; }
body.maquette-app .tracking-summary-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; margin-bottom: 18px; }
body.maquette-app .tracking-summary-row .tracking-product-summary { margin: 0; padding: 12px 0; background: transparent; }
body.maquette-app .tracking-summary-row > article-prices { max-width: 340px; }
body.maquette-app .maquette-tracking-modal .maquette-tracking-panel { border: 0; background: var(--bg); padding: 20px; gap: 20px; align-self: start; }
body.maquette-app .maquette-tracking-modal .maquette-tracking-timeline { gap: 0; }
body.maquette-app .maquette-tracking-modal .maquette-tracking-timeline:before { left: 18px; top: 22px; bottom: 30px; width: 2px; background: var(--line); }
body.maquette-app .maquette-tracking-modal .maquette-tracking-step { grid-template-columns: 38px minmax(0, 1fr); padding: 12px 0; gap: 14px; border: 0; border-radius: 0; background: transparent; }
body.maquette-app .maquette-tracking-modal .tracking-dot { width: 38px; height: 38px; border: 1px solid var(--line); box-shadow: none; background: var(--white); color: var(--muted); font-size: 15px; }
body.maquette-app .maquette-tracking-modal .maquette-tracking-step strong { color: var(--muted); font-size: 16px; line-height: 1.4; }
body.maquette-app .maquette-tracking-modal .maquette-tracking-step span:not(.tracking-dot) { font-size: 12px; }
body.maquette-app .maquette-tracking-modal .maquette-tracking-step.is-complete .tracking-dot { background: var(--bb9-green); border-color: var(--bb9-green); color: var(--white); }
body.maquette-app .maquette-tracking-modal .maquette-tracking-step.is-complete strong { color: var(--text); }
body.maquette-app .maquette-tracking-modal .maquette-tracking-step.is-heart .tracking-dot,
body.maquette-app .maquette-tracking-modal .maquette-tracking-step.is-danger .tracking-dot { background: var(--bb9-pink); border-color: var(--bb9-pink); color: var(--white); }
@media (max-width: 700px) {
 body.maquette-app .tracking-summary-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
 body.maquette-app .tracking-summary-row > article-prices { justify-self: end; }
}
body.maquette-app .maquette-tracking-modal .maquette-modal-head { padding-inline: 0; }
body.maquette-app .maquette-tracking-modal .maquette-modal-head h2 { font-size: 22px; overflow-wrap: anywhere; }
body.maquette-app .maquette-tracking-media-card { min-height: 0; padding: 12px; }
body.maquette-app .maquette-tracking-gallery,
body.maquette-app .maquette-tracking-gallery .carousel,
body.maquette-app .maquette-tracking-gallery .carousel-inner,
body.maquette-app .maquette-tracking-gallery .item { min-height: 0; }
body.maquette-app .maquette-tracking-gallery img {
 width: 100%;
 height: min(480px, 58vh);
 height: min(480px, 58dvh);
 object-fit: contain;
 padding: 12px;
}
@media (max-width: 700px) {
 body.maquette-app .maquette-tracking-layout { grid-template-columns: minmax(0, 1fr); }
 body.maquette-app .maquette-tracking-modal { padding-inline: 14px; }
}
.catalogue-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
body.maquette-app .catalogue-dialog-header h3 { margin: 0; }
.catalogue-dialog-close { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--bg); color: var(--bb9-green); cursor: pointer; }
.catalogue-dialog-product { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 16px; margin-bottom: 20px; align-items: center; overflow-wrap: anywhere; }
.catalogue-dialog-product img { width: 88px; height: 88px; object-fit: contain; }
body.maquette-app .catalogue-dialog-product h4 { margin: 0 0 8px; font-size: 17px; }
.catalogue-dialog-product p { margin: 0; color: var(--muted); }
body.maquette-app .parent-catalogue-dialog .catalogue-dialog-product { padding: 16px; border-radius: 16px; background: var(--bg); grid-template-columns: 72px minmax(0, 1fr); }
body.maquette-app .parent-catalogue-dialog .catalogue-dialog-product img,
body.maquette-app .parent-catalogue-dialog .catalogue-dialog-product .parent-catalogue-photo { width: 72px; height: 72px; border-radius: 12px; background: var(--white); }
body.maquette-app .parent-catalogue-dialog .catalogue-dialog-product h4 { font-size: 16px; line-height: 1.45; }
body.maquette-app .parent-catalogue-dialog .catalogue-dialog-product p { font-size: 13px; line-height: 1.5; }
body.maquette-app .parent-catalogue-dialog .parent-catalogue-confirm { border: 0; padding: 0; }
body.maquette-app .parent-catalogue-dialog .parent-catalogue-confirm > label { justify-content: space-between; margin: 0 0 18px; font-size: 14px; }
body.maquette-app .parent-catalogue-dialog .parent-catalogue-confirm input { width: 88px; box-sizing: border-box; min-height: 44px; padding: 10px 12px; font-size: 16px; text-align: center; }
body.maquette-app .parent-catalogue-dialog .parent-catalogue-confirm input:focus { outline: none; box-shadow: none; }
body.maquette-app .parent-catalogue-dialog .parent-catalogue-confirm input:focus-visible { outline: 2px solid var(--muted); outline-offset: 3px; }
body.maquette-app .parent-catalogue-dialog .parent-catalogue-confirm > article-prices { margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 16px; }
body.maquette-app .parent-catalogue-dialog .product-prices { gap: 8px; }
body.maquette-app .parent-catalogue-dialog .product-prices .product-price-final { padding-top: 10px; border-top: 1px solid var(--line); font-size: 22px; }
body.maquette-app .parent-catalogue-dialog .product-prices .product-price-final > span { font-size: 12px; }
.parent-catalogue-dialog .article-removal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.parent-catalogue-dialog .article-removal-actions > button { flex: 1 1 180px; }
body.maquette-app .parent-catalogue-dialog .catalogue-dialog-header h3 { font-size: 24px; line-height: 1.25; }
body.maquette-app .parent-catalogue-dialog h3[tabindex="-1"]:focus { outline: none; box-shadow: none; }
.catalogue-removal-product { display: flex; align-items: center; gap: 12px; padding: 16px; margin-bottom: 18px; border-radius: 16px; background: var(--bg); }
.catalogue-removal-icon { color: var(--bb9-pink); font-size: 22px; flex: 0 0 28px; text-align: center; }
body.maquette-app .catalogue-removal-product h4 { margin: 0; font-size: 16px; line-height: 1.45; overflow-wrap: anywhere; }
body.maquette-app .parent-catalogue-dialog > p { font-size: 14px; line-height: 1.65; color: var(--muted); margin: 0 0 16px; }
body.maquette-app .parent-catalogue-dialog .article-removal-actions { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 12px; padding-top: 20px; border-top: 1px solid var(--line); }
body.maquette-app .parent-catalogue-dialog .article-removal-actions > button.btn { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-height: 48px; margin: 0; padding: 12px 16px; font-size: 14px; line-height: 1.4; }
body.maquette-app .parent-catalogue-dialog button:focus { outline: none; box-shadow: none; }
body.maquette-app .parent-catalogue-dialog button:focus-visible { outline: 2px solid var(--muted); outline-offset: 3px; }
@media (max-width: 480px) {
 body.maquette-app .parent-catalogue-dialog { padding: 20px; }
 body.maquette-app .parent-catalogue-dialog .article-removal-actions { grid-template-columns: 1fr; }
}

/* Compact actions shared by lists and order documents. */
body.maquette-app .sale-detail-page .document-list-tools { display: flex; align-items: center; justify-content: flex-end; gap: 16px; flex: 0 0 auto; }
.document-article-count { color: var(--muted); font-size: 13px; white-space: nowrap; }
body.maquette-app .document-refresh { display: inline-flex; align-items: center; gap: 8px; padding: 8px 0 8px 16px; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--muted); font-size: 13px; font-weight: 600; }
body.maquette-app .document-refresh:hover { color: var(--bb9-green); }
.document-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 24px; }
body.maquette-app .document-action { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 12px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--white, #fff); color: var(--text, #26343a); font-size: 14px; font-weight: 600; line-height: 1.4; transition: background .15s, border-color .15s; }
body.maquette-app .document-action > i { color: var(--bb9-green); }
body.maquette-app .document-action:hover { background: var(--bg); border-color: var(--bb9-green); }
body.maquette-app .document-action-primary { background: var(--bb9-green); border-color: var(--bb9-green); color: #fff; }
body.maquette-app .document-action-primary > i { color: inherit; }
body.maquette-app .document-action-primary:hover { background: color-mix(in srgb,var(--bb9-green) 88%,black); border-color: color-mix(in srgb,var(--bb9-green) 88%,black); }
.document-action-arrow { margin-left: 8px; }
body.maquette-app :is(.document-action,.document-refresh):disabled { opacity: .5; cursor: wait; }
body.maquette-app :is(.document-action,.document-refresh):focus-visible { outline: 2px solid var(--muted); outline-offset: 3px; }
@media (max-width: 600px) {
 body.maquette-app .sale-detail-page .document-list-tools { width: 100%; justify-content: space-between; }
 .document-actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 16px; }
 body.maquette-app .document-action { justify-content: flex-start; width: 100%; }
 .document-action-arrow { margin-left: auto; }
}

.contribution-balance { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 18px; margin-bottom: 18px; background: var(--bg); border-radius: 14px; }
.contribution-balance strong { color: var(--bb9-green); font-size: 24px; }
.contribution-help { font-size: 14px; line-height: 1.6; }
.contribution-help a { color: var(--bb9-green); text-decoration: underline; }
.contribution-item > span { flex: 1; min-width: 0; }
.contribution-item > b { white-space: nowrap; color: var(--bb9-pink); }
.contribution-summary { display: grid; gap: 10px; padding: 16px 0; border-top: 1px solid var(--line); }
.contribution-summary > span { display: flex; justify-content: space-between; gap: 16px; }
.contribution-summary strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
.contribution-summary-deduction { color: var(--muted); }
.contribution-summary .contribution-summary-due { border-top: 1px solid var(--line); margin-top: 4px; padding-top: 14px; align-items: baseline; font-weight: 600; }
.contribution-summary-due strong { color: var(--bb9-pink); font-size: 22px; }

@media(max-width: 500px) { .contribution-item { flex-wrap: wrap; } .contribution-item > b { margin-left: 30px; } }
body.maquette-app .contribution-dialog { width: min(720px, calc(100vw - 32px)); }
body.maquette-app .contribution-dialog .contribution-help a { color: var(--bb9-green); text-decoration: underline; }
body.maquette-app .catalogue-search-dialog { width: min(1120px, calc(100vw - 32px)); }
body.maquette-app .parent-catalogue-dialog.is-action-panel { position: static; width: 100%; max-width: none; max-height: none; margin: 20px 0; box-shadow: none; overflow: visible; }

.contribution-terms { display: flex; align-items: baseline; gap: 6px; font-size: 14px; line-height: 1.5; }
.contribution-terms input { flex: 0 0 auto; }
.contribution-terms a { color: var(--bb9-green); text-decoration: underline; }

/* Responsive action menu: desktop dialogs, mobile exclusive inline panels. */
body.maquette-app .document-actions-trigger, body.maquette-app .document-actions .mobile-document-action { display: none; }
@media(max-width:700px) {
 body.maquette-app .document-actions-trigger { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); color: var(--bb9-green); font: inherit; font-weight: 600; }
 .document-actions-trigger > i:last-child { margin-left: auto; transition: transform .18s; }
 .document-actions-trigger[aria-expanded="true"] > i:last-child { transform: rotate(180deg); }
 .document-action-menu { margin: 16px 0; }
 .document-action-menu .document-actions { display: none; margin: 8px 0 0; padding: 8px; background: var(--soft); border: 1px solid var(--line); border-radius: 16px; }
 .document-action-menu .document-actions.is-open { display: grid; animation: store-panel-in .18s ease-out; }
 body.maquette-app .document-actions .mobile-document-action { display: flex; }
 body.maquette-app .sale-detail-page .desktop-document-action { display: none; }
 body.maquette-app .sale-detail-page .article-filter-panel:not(.is-open) { visibility: hidden; }
 body.maquette-app .parent-catalogue-dialog.is-action-panel { scroll-margin-top: 100px; padding: 18px; border-radius: 18px; animation: store-panel-in .18s ease-out; }
}
@media(prefers-reduced-motion:reduce) {
 .document-action-menu .document-actions.is-open, body.maquette-app .parent-catalogue-dialog.is-action-panel { animation: none; }
 .document-actions-trigger > i:last-child { transition: none; }
}

.removal-choices { display: grid; gap: 10px; }
.removal-choices .document-action { width: 100%; text-align: left; justify-content: space-between; }

/* Tablet cards need two rows: the sidebar leaves too little room for five columns. */
@media (min-width: 701px) and (max-width: 1199px) {
 body.maquette-app .sale-detail-page .detail-article {
  grid-template-columns: 72px minmax(0, 1fr) 44px;
  align-items: start;
  gap: 12px;
 }
 body.maquette-app .sale-detail-page .detail-article > img,
 body.maquette-app .sale-detail-page .detail-article > .detail-article-no-image {
  grid-column: 1;
  grid-row: 1;
  width: 72px;
  height: 72px;
 }
 body.maquette-app .sale-detail-page .detail-article .article-main {
  grid-column: 2 / -1;
  grid-row: 1;
  min-width: 0;
  overflow-wrap: break-word;
 }
 body.maquette-app .sale-detail-page .detail-article h3 { font-size: 16px; line-height: 1.4; }
 body.maquette-app .sale-detail-page .detail-article .article-meta {
  grid-column: 1;
  grid-row: 2;
 }
 body.maquette-app .sale-detail-page .detail-article .article-price {
  grid-column: 2;
  grid-row: 2;
 }
 body.maquette-app .sale-detail-page .detail-article .article-meta,
 body.maquette-app .sale-detail-page .detail-article .article-price {
  min-width: 0;
  min-height: 0;
  align-self: center;
 }
 body.maquette-app .sale-detail-page .article-remove-button {
  grid-column: 3;
  grid-row: 2;
  align-self: center;
 }
}

/* Les actions et états restent lisibles dans tous les thèmes sombres. */
body.maquette-app.theme-dark .document-action {
 background: var(--white);
 color: var(--text);
}
body.maquette-app.theme-dark .document-action > i { color: var(--bb9-green); }
body.maquette-app.theme-dark .document-action:hover {
 background: var(--soft);
 border-color: var(--bb9-green);
}
body.maquette-app.theme-dark .document-action-primary {
 background: var(--bb9-green);
 border-color: var(--bb9-green);
 color: #102326;
}
body.maquette-app.theme-dark .document-action-primary > i { color: inherit; }
body.maquette-app.theme-dark .store-page .store-logout { color: var(--muted); }
body.maquette-app.theme-dark .store-page .store-logout:hover { color: var(--text); }
body.maquette-app.theme-dark .sale-detail-page .article-badges :is(.article-status,.payment-status) {
 background: var(--soft);
 color: var(--bb9-green);
}
body.maquette-app.theme-dark .sale-detail-page .article-badges .is-heart {
 color: var(--bb9-pink);
}

/* Les bons ouverts ont trois cartes, sans emplacement de règlement vide. */
@media (min-width: 1024px) {
 body.maquette-app .sale-detail-page .detail-info.is-order:not(.is-short):not(.is-closed) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
 }
}

/* Présentation commune du compte et des documents, sans en-tête flottant. */
body.maquette-app .client-workspace.is-compact-workspace > .hero {
 position: static; margin: 0; padding: 22px 28px 16px; min-height: 0;
 border: 1px solid var(--line); border-bottom: 0; border-radius: 24px 24px 0 0;
 background: var(--white); box-shadow: none; gap: 16px;
}
body.maquette-app .client-workspace.is-compact-workspace > .hero::after { display: none; }
body.maquette-app .client-workspace.is-compact-workspace > .hero h1 { font-size: clamp(22px, 2.3vw, 30px); margin: 0; line-height: 1.3; }
body.maquette-app .client-workspace.is-compact-workspace > .hero .eyebrow,
body.maquette-app .client-workspace.is-compact-workspace > .hero .hero-main > p:not(.eyebrow) { display: none; }
body.maquette-app .client-workspace.is-compact-workspace > .account-dashboard {
 margin-top: 0; border-radius: 0 0 24px 24px; box-shadow: none;
}
body.maquette-app .client-workspace.is-compact-workspace .client-account-hero { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
body.maquette-app .client-workspace.is-compact-workspace .client-account-hero-summary { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; padding: 0; width: auto; }
body.maquette-app .client-workspace.is-compact-workspace .client-account-hero-summary .hero-stat {
 display: flex; align-items: baseline; gap: 6px; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
body.maquette-app .client-workspace.is-compact-workspace .client-account-hero-summary .hero-stat strong { font-size: 18px; }
body.maquette-app .client-workspace.is-compact-workspace .client-account-hero-summary .hero-stat :is(i,small) { display: none; }
body.maquette-app .client-workspace.is-compact-workspace .client-account-hero-summary .hero-stat span { font-size: 12px; }
body.maquette-app .client-workspace.is-compact-workspace > .detail-summary {
 position: static; margin: 0; padding: 0 28px 22px; border: 1px solid var(--line); border-top: 0; border-bottom: 0;
 border-radius: 0; background: var(--white); box-shadow: none;
}
body.maquette-app .client-workspace.is-compact-workspace .detail-summary > .section-header { display: none; }
body.maquette-app .client-workspace.is-compact-workspace .detail-info,
body.maquette-app .client-workspace.is-compact-workspace .detail-info.is-short { width: 100%; margin: 0; gap: 16px; }
body.maquette-app .client-workspace.is-compact-workspace .detail-info .info-card {
 min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: left;
}
body.maquette-app .client-workspace.is-compact-workspace .detail-info .info-card > h3 { display: none; }
body.maquette-app .client-workspace.is-compact-workspace .detail-info .info-field {
 margin: 0; padding: 7px 0; border: 0; background: transparent; text-align: left;
}
body.maquette-app .client-workspace.is-compact-workspace .detail-info .info-field > span { font-size: 10px; }
body.maquette-app .client-workspace.is-compact-workspace .detail-info .info-field > strong { font-size: 15px; line-height: 1.4; }
body.maquette-app .client-workspace.is-compact-workspace .detail-info .share-actions { gap: 6px; }
body.maquette-app .client-workspace.is-compact-workspace .detail-info .btn { min-height: 32px; padding: 7px 10px; font-size: 11px; white-space: normal; }
@media (max-width: 700px) {
 body.maquette-app .client-workspace.is-compact-workspace > .hero { padding: 18px 18px 12px; }
 body.maquette-app .client-workspace.is-compact-workspace > .detail-summary { padding: 0 18px 16px; }
 body.maquette-app .client-workspace.is-compact-workspace .detail-info { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
 body.maquette-app .client-workspace.is-compact-workspace .client-account-hero-summary { gap: 12px; }
}
body.maquette-app .client-workspace.is-compact-workspace > .hero .hero-main { flex: 1 1 300px; min-width: 0; }
body.maquette-app .client-workspace.is-compact-workspace > .hero h1 { display: block; max-width: none; width: auto; }
body.maquette-app .client-workspace.is-compact-workspace > .hero h1 span { display: inline; }
body.maquette-app .client-workspace.is-compact-workspace > .account-dashboard { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
body.maquette-app .client-workspace.is-compact-workspace .sale-detail-content > .section {
 border: 0; border-radius: 0; box-shadow: none;
}

/* L’identité occupe toute la largeur ; les compteurs appartiennent aux vues. */
body.maquette-app .account-reference .client-account-hero-content { width: 100%; min-width: 0; }
body.maquette-app .account-reference .client-account-hero-content h1 {
 display: block; width: 100%; max-width: none; margin-right: 0; overflow-wrap: break-word;
}
body.maquette-app .account-reference .client-account-hero-content h1 span { display: inline; }
body.maquette-app .account-view-count {
 display: inline-flex; align-items: center; justify-content: center; min-width: 22px;
 margin-left: 6px; padding: 1px 6px; border-radius: 20px; background: var(--soft); color: var(--bb9-green); font-size: .85em;
}
body.maquette-app .filter-pill.active .account-view-count { background: var(--white); color: var(--bb9-green); }
/* Seuls les angles externes du cadre commun restent arrondis. */
body.maquette-app .client-workspace.is-compact-workspace #exTab1.client-account-tabs,
body.maquette-app .client-workspace.is-compact-workspace > .account-dashboard,
body.maquette-app .client-workspace.is-compact-workspace #exTab1 > .tab-content,
body.maquette-app .client-workspace.is-compact-workspace #exTab1 .tab-pane > .section,
body.maquette-app .client-workspace.is-compact-workspace .account-dashboard > .store-sidebar,
body.maquette-app .client-workspace.is-compact-workspace .sale-detail-content,
body.maquette-app .client-workspace.is-compact-workspace .sale-detail-content > .section {
 border-top-left-radius: 0 !important; border-top-right-radius: 0 !important;
}
body.maquette-app .client-workspace.is-compact-workspace #exTab1 .tab-pane > .section { border: 0; box-shadow: none; }

/* Une seule carte pour les coordonnées et les actions du compte. */
body.maquette-app .client-workspace.is-compact-workspace .client-profile-section .client-profile-form .info-grid {
 gap: 20px 28px;
}
body.maquette-app .client-workspace.is-compact-workspace .client-profile-form .info-card {
 padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
body.maquette-app .client-workspace.is-compact-workspace .client-profile-form .info-card h3 {
 margin: 0 0 10px; padding-bottom: 10px; border-bottom: 1px solid var(--line); font-size: 16px;
}
body.maquette-app .client-workspace.is-compact-workspace .client-profile-form .section-title-icon {
 width: 30px; height: 30px; min-width: 30px; border-radius: 8px; font-size: 14px;
}
body.maquette-app .client-workspace.is-compact-workspace .client-profile-form .info-field {
 padding: 8px 0; margin: 0; border: 0; background: transparent;
}
body.maquette-app .client-workspace.is-compact-workspace .client-profile-form .info-field > span { font-size: 11px; }
body.maquette-app .client-workspace.is-compact-workspace .client-profile-form .info-field > strong { font-size: 14px; font-weight: 500; }
body.maquette-app .client-workspace.is-compact-workspace .client-profile-section .privacy-panel {
 margin: 24px 0 0; padding: 22px 0 0; border: 0; border-top: 1px solid var(--line);
 border-radius: 0; background: transparent; box-shadow: none;
}
body.maquette-app .client-workspace.is-compact-workspace .client-profile-section .privacy-panel h3 { font-size: 18px; }
body.maquette-app .client-workspace.is-compact-workspace .client-profile-section .privacy-panel :is(.section-title-icon,.privacy-panel-icon) {
 width: 36px; height: 36px; min-width: 36px; border-radius: 10px; font-size: 17px;
}
body.maquette-app .client-workspace.is-compact-workspace .client-profile-section .privacy-panel p { font-size: 13px; }
body.maquette-app .client-workspace.is-compact-workspace .client-profile-section .privacy-panel .maquette-btn {
 min-height: 40px; padding: 10px 14px; font-size: 13px;
}
/* Achats et historique : des cartes discrètes mais nettement séparées. */
body.maquette-app .client-workspace.is-compact-workspace #exTab1 .sale-card {
 margin: 0; padding: 18px 20px; border: 1px solid var(--line);
 border-radius: 16px; background: var(--soft); box-shadow: none;
}
body.maquette-app .client-workspace.is-compact-workspace #exTab1 .sale-card + .sale-card { margin-top: 14px; }
body.maquette-app .client-workspace.is-compact-workspace #exTab1 .sale-card:hover { background: var(--white); border-color: var(--bb9-green); box-shadow: none; }
body.maquette-app .client-workspace.is-compact-workspace #exTab1 .sale-card h3 { font-size: 16px; }
body.maquette-app .client-workspace.is-compact-workspace #exTab1 .sale-card .sale-card-icon {
 width: 48px; height: 48px; min-width: 48px; font-size: 22px;
}
body.maquette-app .client-workspace.is-compact-workspace #exTab1 .sale-card .btn {
 min-height: 38px; padding: 10px 14px; font-size: 12px; box-shadow: none;
}
@media (max-width: 700px) {
 body.maquette-app .client-workspace.is-compact-workspace .client-profile-form .info-grid { gap: 20px; }
 body.maquette-app .client-workspace.is-compact-workspace #exTab1 .sale-card { padding: 16px; }
}

/* Conserver les repères du compte dans son en-tête compact. */
body.maquette-app .client-account-page.is-compact-workspace > .client-account-hero .eyebrow {
 display: block; margin: 0 0 8px; font-size: 11px;
}
body.maquette-app .client-account-page.is-compact-workspace > .client-account-hero .hero-main > p:not(.eyebrow) {
 display: block; margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: var(--muted);
}
body.maquette-app .client-profile-section > .section-header {
 display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px;
}
body.maquette-app .client-profile-section > .section-header > div { flex: 1 1 280px; min-width: 0; }
body.maquette-app .client-profile-section > .section-header > .profile-edit-toggle {
 flex: 0 1 auto; width: auto; margin: 0 0 0 auto; white-space: normal;
}

/* Fidélité : conserver un seul niveau de lecture dans la carte du compte. */
body.maquette-app .client-workspace.is-compact-workspace #fidelite .fidelity-card {
 display: block; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
body.maquette-app .client-workspace.is-compact-workspace #fidelite .fidelity-icon,
body.maquette-app .client-workspace.is-compact-workspace #fidelite .client-fidelity-text h3 { display: none; }
body.maquette-app .client-workspace.is-compact-workspace #fidelite .client-fidelity-text {
 display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 24px;
}
body.maquette-app .client-workspace.is-compact-workspace #fidelite .client-fidelity-text p { margin: 0; font-size: 14px; line-height: 1.6; }
body.maquette-app .client-workspace.is-compact-workspace #fidelite .client-fidelity-text .btn {
 width: auto; margin: 0; min-height: 40px; padding: 10px 14px; font-size: 13px; white-space: normal;
}
body.maquette-app .client-workspace.is-compact-workspace #fidelite .client-fidelity-text small { grid-column: 1 / -1; color: var(--muted); }
@media (max-width: 700px) {
 body.maquette-app .client-workspace.is-compact-workspace #fidelite .client-fidelity-text { grid-template-columns: minmax(0, 1fr); }
 body.maquette-app .client-workspace.is-compact-workspace #fidelite .client-fidelity-text .btn { justify-self: start; max-width: 100%; }
}


/* Rapprocher le premier panneau de la navigation sans le placer sous celle-ci. */
body.maquette-app .account-reference.client-workspace { margin-top: 12px; }
@media (max-width: 700px) {
 body.maquette-app .account-reference.client-workspace { margin-top: 6px; }
}

/* Sur mobile, toute la ligne de rubrique ouvre le menu, hamburger conservé. */
@media (max-width: 700px) {
 body.maquette-app .client-workspace .store-title-row {
  position: relative; align-items: center; min-height: 58px; padding: 10px 52px 10px 12px;
  border-radius: 14px; background: var(--soft); cursor: pointer;
 }
 body.maquette-app .client-workspace .store-title-row h2 { margin: 0; }
 body.maquette-app .client-workspace .store-title-row > .account-nav-trigger {
  position: absolute; inset: 0; display: flex; justify-content: flex-end; align-items: center;
  width: 100%; height: 100%; min-height: 58px; padding: 0 16px; margin: 0;
  border: 1px solid var(--line); border-radius: 14px; background: transparent;
 }
 body.maquette-app .client-workspace .store-title-row > .account-nav-trigger:hover { border-color: var(--bb9-green); }
 body.maquette-app .client-workspace .store-title-row > .account-nav-trigger:focus-visible { outline: 2px solid var(--bb9-green); outline-offset: 2px; }
}

/* Les outils d’affichage sont séparés des actions métier, sur tous les écrans. */
body.maquette-app .sale-detail-page .document-display-tools {
 justify-content: flex-start; width: 100%; gap: 12px; padding-top: 16px; margin: 16px 0;
 border-top: 1px solid var(--line);
}
body.maquette-app .document-display-toggle {
 margin-left: auto; display: inline-flex; align-items: center; gap: 8px;
 min-height: 38px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px;
 background: var(--soft); color: var(--text); font: inherit; font-size: 12px; cursor: pointer;
}
body.maquette-app .document-display-toggle[aria-expanded="true"] { border-color: var(--bb9-green); color: var(--bb9-green); }
body.maquette-app .document-display-tools .document-refresh { border: 0; padding: 10px; margin: 0; color: var(--bb9-green); }
body.maquette-app .sale-detail-page .article-filter-panel:not(.is-open) { display: none; }

body.maquette-app .sale-detail-page .document-heading-refresh { display: none; }
@media (min-width: 701px) {
 body.maquette-app .sale-detail-page .document-display-toggle,
 body.maquette-app .sale-detail-page .document-display-tools .document-refresh { display: none; }
 body.maquette-app .sale-detail-page .article-filter-panel,
 body.maquette-app .sale-detail-page .article-filter-panel:not(.is-open) { display: grid; visibility: visible; max-height: none; opacity: 1; overflow: visible; }
 body.maquette-app .sale-detail-page .document-heading-refresh {
  display: inline-flex; align-self: flex-start; flex: 0 0 auto; margin-left: auto; padding: 8px 0 8px 16px;
 }
 body.maquette-app .sale-detail-page .document-display-tools { border-top: 0; padding-top: 0; margin: 12px 0; }
}

body.maquette-app .sale-detail-page .document-title-count {
 display: inline; margin-left: 4px; color: var(--muted); font-size: .7em; font-weight: 400; white-space: nowrap;
}
@media (min-width: 701px) {
 body.maquette-app .sale-detail-page .document-display-tools { display: none; }
 body.maquette-app .sale-detail-page #parent-status-filters {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px;
  padding: 16px 0; margin: 16px 0 20px; border: 0; border-top: 1px solid var(--line);
  border-radius: 0; background: transparent; box-shadow: none;
 }
 body.maquette-app .sale-detail-page #parent-status-filters > div {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px;
 }
 body.maquette-app .sale-detail-page #parent-status-filters > div > span {
  margin: 0; font-size: 10px; color: var(--muted); white-space: nowrap;
 }
 body.maquette-app .sale-detail-page #parent-status-filters .filters { gap: 7px; }
 body.maquette-app .sale-detail-page #parent-status-filters .filter-pill {
  min-height: 32px; margin: 0; padding: 6px 11px; font-size: 12px; line-height: 1.4; box-shadow: none;
 }
}

/* Le bouton mobile se déploie en filtres dans le même emplacement. */
.document-filter-heading { display: none; }
.document-filter-expander { width: 100%; }
@media (min-width: 701px) {
 body.maquette-app .sale-detail-page .document-display-tools { display: block; margin: 0; }
}
@media (max-width: 700px) {
 body.maquette-app .sale-detail-page .document-display-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 10px; align-items: center; }
 body.maquette-app .document-display-toggle { justify-self: start; margin-left: 0; }
 body.maquette-app .document-filter-expander {
  display: grid; grid-template-rows: 0fr; grid-column: 1 / -1;
  opacity: 0; visibility: hidden; transition: grid-template-rows .24s ease, opacity .18s ease, visibility .24s;
 }
 body.maquette-app .document-filter-expander.is-open { grid-template-rows: 1fr; opacity: 1; visibility: visible; }
 .document-filter-inner { min-height: 0; overflow: hidden; }
 body.maquette-app .document-display-tools.is-filtering > .document-display-toggle,
 body.maquette-app .document-display-tools.is-filtering > .document-refresh { display: none; }
 body.maquette-app .document-filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--bb9-green); font-size: 13px; }
 body.maquette-app .document-filter-heading button { display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 10px; background: var(--soft); color: var(--muted); cursor: pointer; }
 body.maquette-app .sale-detail-page #parent-status-filters,
 body.maquette-app .sale-detail-page #parent-status-filters:not(.is-open) {
  display: grid; visibility: visible; max-height: none; opacity: 1; gap: 14px; margin: 12px 0 0; padding: 0;
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
 }
 body.maquette-app .sale-detail-page #parent-status-filters > div { gap: 7px; }
 body.maquette-app .sale-detail-page #parent-status-filters > div > span { font-size: 10px; color: var(--muted); }
 body.maquette-app .sale-detail-page #parent-status-filters .filters { gap: 6px; }
 body.maquette-app .sale-detail-page #parent-status-filters .filter-pill { margin: 0; min-height: 36px; padding: 7px 10px; font-size: 12px; line-height: 1.4; }
}
@media (prefers-reduced-motion: reduce) {
 body.maquette-app .document-filter-expander { transition: none; }
}

.contribution-money { display: grid; gap: 8px; margin: 16px 0; font-size: 13px; }
.contribution-money label { display: grid; gap: 8px; }
.contribution-money input { width: 100%; max-width: 320px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--text); font: inherit; }
.contribution-money small { color: var(--muted); }
.contribution-money .document-refresh { justify-self: start; }

/* Mobile icon toolbar above the filters; desktop stays unchanged. */
@media(max-width:700px) {
 body.maquette-app .sale-detail-page .document-actions-trigger { display:none; }
 body.maquette-app .sale-detail-page .document-action-menu { margin:0; }
 body.maquette-app .sale-detail-page .document-action-menu .document-actions,
 body.maquette-app .sale-detail-page .document-action-menu .document-actions.is-open {
  position:static; display:flex; flex-direction:row; flex-wrap:wrap;
  justify-content:center; gap:10px; margin:16px 0 8px; padding:8px 0 0; width:100%; border:0;
  border-top:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; animation:none;
 }
 body.maquette-app .sale-detail-page .document-actions .document-action {
  display:flex; align-items:center; justify-content:center; width:44px; min-height:46px;
  padding:10px; margin:0; border:1px solid var(--line); border-radius:11px;
  background:var(--soft); color:var(--bb9-green); box-shadow:none;
 }
 body.maquette-app .sale-detail-page .document-actions .document-action-primary { background:var(--bb9-green); color:var(--on-primary,#fff); }
 body.maquette-app .sale-detail-page .document-actions .document-action > i:first-child { margin:0; font-size:20px; }
 body.maquette-app .sale-detail-page .document-actions .document-action > span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 body.maquette-app .sale-detail-page .document-actions .document-action-arrow { display:none; }
 body.maquette-app .parent-catalogue-dialog.is-action-panel {
  position:fixed; inset:0 0 0 auto; width:calc(100% - 32px); max-width:440px;
  height:100%; height:100dvh; max-height:100%; margin:0; padding:20px;
  border-radius:18px 0 0 18px; overflow:auto; overscroll-behavior:contain;
  box-shadow:-12px 0 40px rgba(0,40,40,.24); animation:document-action-slide .24s ease-out;
 }
 body.maquette-app .parent-catalogue-dialog.is-action-panel::backdrop { background:rgba(15,45,45,.42); }
}
@keyframes document-action-slide { from { transform:translateX(100%); } to { transform:translateX(0); } }
@media(prefers-reduced-motion:reduce) { body.maquette-app .parent-catalogue-dialog.is-action-panel { animation:none; } }

@media(max-width:700px) {
 body.maquette-app .sale-detail-page .document-action-menu + .document-display-tools { margin-top:0; padding-top:8px; }
}

@media(max-width:700px) {
 body.maquette-app .sale-detail-page .account-dashboard.store-workspace { overflow:clip; }
 body.maquette-app .client-workspace .document-sticky-toolbar {
  position:sticky; top:110px; z-index:40; background:var(--white);
  padding-top:8px; padding-bottom:1px;
 }
 body.maquette-app.has-compact-header .client-workspace .document-sticky-toolbar { top:56px; }
 body.maquette-app .client-workspace .document-sticky-toolbar + .document-display-tools { margin-top:0; padding-top:8px; }
}
/* The section must not create a scrolling ancestor for its sticky toolbar. */
@media(max-width:700px) {
 body.maquette-app .sale-detail-page .account-dashboard .sale-detail-content,
 body.maquette-app .sale-detail-page .account-dashboard .sale-detail-content > .section { overflow:visible; }
}
@media(max-width:700px) {
 body.maquette-app .sale-detail-page.account-reference.client-workspace .account-dashboard.store-workspace { overflow:clip; }
}

@media(max-width:700px) {
 body.maquette-app .client-workspace .document-sticky-toolbar { display:flex; flex-direction:column; }
 body.maquette-app .client-workspace .document-sticky-toolbar > .section-header { order:0; margin-bottom:0; }
 body.maquette-app .client-workspace .document-sticky-toolbar > .document-display-tools { order:1; border:0; padding:0; margin:0; }
 body.maquette-app .client-workspace .document-sticky-toolbar > .document-action-menu { order:2; }
 body.maquette-app .client-workspace .document-sticky-toolbar .document-display-toggle,
 body.maquette-app .client-workspace .document-sticky-toolbar .document-display-tools > .document-refresh { display:none; }
 body.maquette-app .client-workspace .document-sticky-toolbar.is-stuck .store-title-row h2 { font-size:15px; }
 body.maquette-app .client-workspace .document-sticky-toolbar.is-stuck .section-title-icon { width:28px; height:28px; font-size:15px; }
 body.maquette-app .sale-detail-page .document-actions .document-action-filter { margin-left:10px; position:relative; }
 body.maquette-app .sale-detail-page .document-action-filter::before { content:''; position:absolute; left:-11px; top:6px; bottom:6px; border-left:1px solid var(--line); }
 body.maquette-app .sale-detail-page .document-actions .document-action-filter.active { background:var(--bb9-green); color:var(--on-primary,#fff); border-color:var(--bb9-green); }
 body.maquette-app .sale-detail-page .document-filter-explanation { color:var(--muted); font-size:13px; }
}

@media(min-width:701px) { .document-filter-explanation { display:none; } }
@media(max-width:700px) { .document-filter-explanation-desktop { display:none; } }
/* Compact mobile toolbar: smooth title, one action row and one filter row. */
@media(max-width:700px) {
 body.maquette-app .client-workspace .document-sticky-toolbar .store-title-row h2 { transition:font-size .22s ease; }
 body.maquette-app .client-workspace .document-sticky-toolbar .section-title-icon { transition:width .22s ease,height .22s ease,font-size .22s ease; }
 body.maquette-app .client-workspace .document-sticky-toolbar > .document-action-menu { order:1; }
 body.maquette-app .client-workspace .document-sticky-toolbar > .document-display-tools { order:2; }
 body.maquette-app .sale-detail-page .document-action-menu .document-actions,
 body.maquette-app .sale-detail-page .document-action-menu .document-actions.is-open { flex-wrap:nowrap; gap:8px; }
 body.maquette-app .sale-detail-page .document-actions .document-action { flex:0 1 44px; min-width:0; width:44px; padding:8px; }
 body.maquette-app .sale-detail-page .document-actions .document-action > i:first-child { font-size:clamp(16px,4.5vw,20px); }
 body.maquette-app .sale-detail-page .document-actions .document-action-filter { margin-left:8px; }
 body.maquette-app .sale-detail-page .document-action-filter::before { left:-9px; }
 body.maquette-app .sale-detail-page .document-filter-heading { display:none; }
 body.maquette-app .sale-detail-page #parent-status-filters,
 body.maquette-app .sale-detail-page #parent-status-filters:not(.is-open) {
  display:flex; flex-wrap:nowrap; align-items:center; gap:12px; overflow-x:auto;
  margin:0; padding:10px 0; border-top:1px solid var(--line); scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
 }
 body.maquette-app .sale-detail-page #parent-status-filters > div { display:flex; align-items:center; flex:0 0 auto; gap:8px; }
 body.maquette-app .sale-detail-page #parent-status-filters > div > span { display:none; }
 body.maquette-app .sale-detail-page #parent-status-filters > div + div { border-left:1px solid var(--line); padding-left:12px; }
 body.maquette-app .sale-detail-page #parent-status-filters .filters { display:flex; flex-wrap:nowrap; gap:6px; }
 body.maquette-app .sale-detail-page #parent-status-filters .filter-pill { flex:0 0 auto; white-space:nowrap; }
}
@media(prefers-reduced-motion:reduce) {
 body.maquette-app .client-workspace .document-sticky-toolbar .store-title-row h2,
 body.maquette-app .client-workspace .document-sticky-toolbar .section-title-icon { transition:none; }
}

@media(max-width:700px) {
 body.maquette-app .sale-detail-page #parent-status-filters,
 body.maquette-app .sale-detail-page #parent-status-filters:not(.is-open) {
  display:grid; grid-template-columns:minmax(0,1fr); gap:8px; overflow:visible;
 }
 body.maquette-app .sale-detail-page #parent-status-filters > div { min-width:0; width:100%; }
 body.maquette-app .sale-detail-page #parent-status-filters > div + div { border-left:0; padding-left:0; }
 body.maquette-app .sale-detail-page #parent-status-filters .filters { width:100%; display:flex; flex-wrap:nowrap; gap:5px; }
 body.maquette-app .sale-detail-page #parent-status-filters .filter-pill {
  flex:1 1 auto; min-width:0; padding:7px 6px; font-size:clamp(10px,2.8vw,12px);
 }
 body.maquette-app .sale-detail-page .document-actions .document-action-filter.active,
 body.maquette-app .sale-detail-page .document-actions .document-action-filter.active > i:first-child { color:#fff; }
}
/* Keep the return-to-top control just above the mobile navigation. */
@media(max-width:719px) {
 body.maquette-app .back-to-top { bottom:86px; }
}

@media(max-width:700px) {
 body.maquette-app .client-workspace .document-sticky-toolbar.is-stuck .store-title-row { padding:8px 48px 8px 10px; gap:8px; min-height:44px; }
 body.maquette-app .client-workspace .document-sticky-toolbar.is-stuck .store-title-row .account-nav-trigger { width:100%; height:100%; min-height:44px; padding:0 12px; justify-content:flex-end; }
}

/* Identical mobile navigation across account and document sections. */
@media(max-width:700px) {
 body.maquette-app .account-reference.client-workspace .account-dashboard.store-workspace,
 body.maquette-app .account-reference.client-workspace #exTab1 { overflow:clip; }
 body.maquette-app .account-reference.client-workspace .tab-content,
 body.maquette-app .account-reference.client-workspace .tab-pane,
 body.maquette-app .account-reference.client-workspace .tab-pane > .section { overflow:visible; }
 body.maquette-app .client-workspace .section-header.document-sticky-toolbar { align-items:stretch; padding-bottom:8px; }
 body.maquette-app .client-workspace .document-sticky-toolbar .store-title-row > .account-nav-trigger {
  position:absolute; inset:0; width:100%; height:100%; min-height:inherit;
  display:flex; justify-content:flex-end; padding:0 12px;
 }
}
body.maquette-app .detail-settings .section-edit-pencil { margin-left:auto; flex:0 0 36px; width:36px; height:36px; display:inline-grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:10px; background:var(--soft); color:var(--bb9-green); font-size:15px; cursor:pointer; }
body.maquette-app .detail-settings .section-edit-pencil:focus-visible { outline:2px solid var(--bb9-green); outline-offset:2px; }
/* Desktop uses the same sticky navigation and article tools. */
@media(min-width:701px) {
 body.maquette-app .account-reference.client-workspace .account-dashboard.store-workspace,
 body.maquette-app .account-reference.client-workspace #exTab1 { overflow:clip; }
 body.maquette-app .account-reference.client-workspace .tab-content,
 body.maquette-app .account-reference.client-workspace .tab-pane,
 body.maquette-app .account-reference.client-workspace .tab-pane > .section,
 body.maquette-app .account-reference.client-workspace .sale-detail-content > .section { overflow:visible; }
 body.maquette-app .client-workspace .document-sticky-toolbar {
  position:sticky; top:116px; z-index:40; background:var(--white); padding-top:8px; padding-bottom:1px;
 }
 body.maquette-app .client-workspace .document-sticky-toolbar .store-title-row h2 { transition:font-size .22s ease; }
 body.maquette-app .client-workspace .document-sticky-toolbar.is-stuck .store-title-row h2 { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) {
 body.maquette-app .client-workspace .document-sticky-toolbar .store-title-row h2 { transition:none; }
}

/* Attach sticky controls to the measured header edge, including its transition. */
body.maquette-app .client-workspace .document-sticky-toolbar,
body.maquette-app.has-compact-header .client-workspace .document-sticky-toolbar {
 top:var(--workspace-header-bottom,110px); padding-top:0;
}
@media(min-width:701px) {
 body.maquette-app .client-workspace .store-sidebar-content { top:var(--workspace-header-bottom,116px); }
 body.maquette-app .client-workspace .document-sticky-toolbar > .section-header { margin-bottom:10px; }
 body.maquette-app .client-workspace .document-sticky-toolbar .document-actions { margin-top:10px; margin-bottom:12px; }
 body.maquette-app .client-workspace .document-sticky-toolbar.is-stuck::before {
  content:''; position:absolute; left:0; right:0; top:-2px; height:2px; background:var(--white); pointer-events:none;
 }
}
/* Tight lower edge under article filters, with a clear sticky boundary. */
body.maquette-app .sale-detail-page .document-sticky-toolbar {
 border-bottom:1px solid var(--line); padding-bottom:0;
}
body.maquette-app .sale-detail-page .document-sticky-toolbar > .document-display-tools { margin-bottom:0; }
body.maquette-app .sale-detail-page .document-sticky-toolbar #parent-status-filters,
body.maquette-app .sale-detail-page .document-sticky-toolbar #parent-status-filters:not(.is-open) {
 margin-bottom:0; padding-bottom:16px;
}

@media(max-width:700px) {
 body.maquette-app .sale-detail-page .document-sticky-toolbar #parent-status-filters,
 body.maquette-app .sale-detail-page .document-sticky-toolbar #parent-status-filters:not(.is-open) { padding-block:10px; }
}
/* Extend the opaque sticky surface through the content gutter. */
body.maquette-app .client-workspace .document-sticky-toolbar {
 box-shadow:-30px 0 0 var(--white),30px 0 0 var(--white);
}
@media(min-width:701px) and (max-width:1199px) {
 body.maquette-app .client-workspace .document-sticky-toolbar { box-shadow:-24px 0 0 var(--white),24px 0 0 var(--white); }
}
@media(max-width:700px) {
 body.maquette-app .client-workspace .document-sticky-toolbar { box-shadow:-16px 0 0 var(--white),16px 0 0 var(--white); }
}
/* Balanced navigation heading between the upper edge and the action divider. */
body.maquette-app .client-workspace .document-sticky-toolbar { border-top:1px solid transparent; }
body.maquette-app .client-workspace .document-sticky-toolbar.is-stuck { border-top-color:var(--line); }
@media(max-width:700px) {
 body.maquette-app .client-workspace .document-sticky-toolbar > .section-header {
  margin:0; padding:12px 0; align-items:center;
 }
 body.maquette-app .client-workspace .document-sticky-toolbar .store-title-row { align-items:center; }
 body.maquette-app .client-workspace .document-sticky-toolbar > .document-action-menu .document-actions,
 body.maquette-app .client-workspace .document-sticky-toolbar > .document-action-menu .document-actions.is-open { margin-top:0; }
 body.maquette-app .client-workspace .section-header.document-sticky-toolbar { padding-block:12px; }
}
/* Opaque bridge from the floating header's lower edge to the stuck menu. */
body.maquette-app .client-workspace .document-sticky-toolbar.is-stuck::before {
 content:''; position:absolute; top:calc(-1 * var(--workspace-header-gap,20px) - 1px);
 left:-30px; right:-30px; height:var(--workspace-header-gap,20px);
 background:var(--white); pointer-events:none;
}
@media(min-width:701px) and (max-width:1199px) {
 body.maquette-app .client-workspace .document-sticky-toolbar.is-stuck::before { left:-24px; right:-24px; }
}
@media(max-width:700px) {
 body.maquette-app .client-workspace .document-sticky-toolbar.is-stuck::before { left:-16px; right:-16px; }
}
@media(max-width:719px) {
 body.maquette-app .back-to-top { bottom:calc(max(10px,env(safe-area-inset-bottom)) + 62px); }
}
/* Mobile product tracking: photo, horizontal progress, compact price summary. */
@media(max-width:700px) {
 body.maquette-app .maquette-tracking-modal { padding:16px 12px 12px; }
 body.maquette-app .maquette-tracking-modal .tracking-dialog-heading h2 { margin:0 40px 10px 0; font-size:20px; }
 body.maquette-app .maquette-tracking-modal .tracking-summary-row { gap:4px; margin-bottom:8px; }
 body.maquette-app .maquette-tracking-modal .tracking-product-summary { padding:4px 0; gap:8px; }
 body.maquette-app .maquette-tracking-modal .tracking-product-summary h3 { font-size:14px; line-height:1.3; margin-bottom:3px; }
 body.maquette-app .maquette-tracking-modal .tracking-product-summary p { font-size:11px; line-height:1.3; }
 body.maquette-app .maquette-tracking-modal .tracking-product-icon { display:none; }
 body.maquette-app .maquette-tracking-modal .tracking-summary-row > article-prices { width:100%; max-width:none; }
 body.maquette-app .maquette-tracking-modal .product-prices { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:baseline; gap:4px 12px; padding:0; margin:0; border:0; background:transparent; }
 body.maquette-app .maquette-tracking-modal .product-prices > div { display:flex; align-items:baseline; gap:5px; margin:0; padding:0; border:0; }
 body.maquette-app .maquette-tracking-modal .product-prices span,
 body.maquette-app .maquette-tracking-modal .product-prices del { font-size:11px; }
 body.maquette-app .maquette-tracking-modal .product-price-final strong { font-size:18px; line-height:1.3; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-layout { grid-template-columns:minmax(0,1fr); gap:8px; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-media-card { min-height:0; padding:4px; border-radius:14px; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-gallery .carousel,
 body.maquette-app .maquette-tracking-modal .maquette-tracking-gallery .carousel-inner,
 body.maquette-app .maquette-tracking-modal .maquette-tracking-gallery .item,
 body.maquette-app .maquette-tracking-modal .maquette-modal-empty-media { min-height:0; height:clamp(120px,22dvh,190px); }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-gallery img { height:clamp(120px,22dvh,190px); padding:4px; object-fit:contain; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-panel { padding:8px 0; gap:8px; background:transparent; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-badges { gap:5px; }
 body.maquette-app .maquette-tracking-modal .tracking-badge { min-height:24px; padding:4px 7px; font-size:10px; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-timeline { display:flex; gap:0; align-items:flex-start; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-timeline::before { left:12%; right:12%; top:15px; bottom:auto; width:auto; height:2px; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-step { flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:0 3px; }
 body.maquette-app .maquette-tracking-modal .tracking-dot { width:30px; height:30px; flex:0 0 30px; font-size:12px; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-step > div { min-width:0; width:100%; overflow-wrap:anywhere; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-step strong { font-size:11px; line-height:1.3; margin-top:3px; }
 body.maquette-app .maquette-tracking-modal .maquette-tracking-step span:not(.tracking-dot) { font-size:10px; line-height:1.3; }
}
/* One mobile presentation for all dialogs: a drawer entering from the right. */
@media(max-width:700px) {
 body.maquette-app .modal .modal-dialog,
 body.maquette-app .maquette-tracking-modal-window .modal-dialog {
  position:relative; width:calc(100% - 24px); max-width:480px;
  height:100%; height:100dvh; margin:0 0 0 auto;
  animation:document-action-slide .24s ease-out both; transform-origin:right center;
 }
 body.maquette-app .modal.fade .modal-dialog,
 body.maquette-app .modal.in .modal-dialog { transform:none; }
 body.maquette-app .modal .modal-content {
  min-height:100%; border:0; border-radius:18px 0 0 18px;
  background:var(--white); color:var(--text); box-shadow:-12px 0 40px rgba(0,40,40,.22);
 }
 body.maquette-app .modal .maquette-cart-modal {
  width:100%; min-height:100dvh; max-height:none; margin:0; border-radius:18px 0 0 18px;
 }
 body.maquette-app .modal .maquette-tracking-modal {
  height:100dvh; min-height:0; max-height:100dvh;
 }
 body.maquette-app .modal .maquette-tracking-scroll { min-height:0; overflow-y:auto; }
 body.maquette-app .store-sidebar.mobile-account-nav .account-nav-panel {
  inset:0 auto 0 0; border-radius:0 24px 24px 0;
  transform:translateX(-105%); box-shadow:12px 0 40px rgba(20,50,55,.18);
 }
 body.maquette-app .store-sidebar.mobile-account-nav.is-expanded .account-nav-panel { transform:translateX(0); }
 body.maquette-app dialog.parent-catalogue-dialog {
  position:fixed; inset:0 0 0 auto; width:calc(100% - 24px); max-width:480px;
  height:100dvh; max-height:100dvh; margin:0; border-radius:18px 0 0 18px;
  overflow-y:auto; animation:document-action-slide .24s ease-out;
 }
}
@media(max-width:700px) and (prefers-reduced-motion:reduce) {
 body.maquette-app .modal .modal-dialog,
 body.maquette-app dialog.parent-catalogue-dialog { animation:none; }
}
.profile-edit-desktop { display:none; }
@media(min-width:701px) {
 body.maquette-app .client-profile-form .profile-phone-card { display:flex; flex-direction:column; align-items:stretch; }
 body.maquette-app .client-profile-form .profile-edit-desktop { display:flex; justify-content:flex-end; margin-top:auto; padding-top:16px; }
 body.maquette-app .client-profile-form .profile-edit-mobile { display:none; }
}
/* Denser profile editor, with desktop actions aligned with the address bottom. */
body.maquette-app .client-workspace .client-profile-form.is-editing .info-grid { gap:16px 24px; }
body.maquette-app .client-workspace .client-profile-form.is-editing .info-card > h3 { margin-bottom:8px; padding-bottom:8px; }
body.maquette-app .client-workspace .client-profile-form.is-editing .info-field { padding:6px 0; margin:0; gap:4px; }
body.maquette-app .client-workspace .client-profile-form.is-editing .info-field label { margin-bottom:4px; font-size:12px; }
body.maquette-app .client-workspace .client-profile-form.is-editing .info-field input { min-height:40px; padding:8px 10px; border-radius:9px; font-size:14px; }
body.maquette-app .client-profile-form .profile-edit-actions .maquette-btn { width:auto; min-height:40px; padding:9px 14px; font-size:12px; }
@media(min-width:701px) {
 body.maquette-app .client-profile-form.is-editing .profile-edit-desktop { margin-top:auto; justify-content:flex-end; align-items:flex-end; gap:8px; }
 body.maquette-app .client-profile-form.is-editing .profile-edit-mobile { display:none; }
}
@media(max-width:700px) {
 body.maquette-app .client-profile-form .profile-edit-actions.profile-edit-desktop { display:none; }
 body.maquette-app .client-profile-form.is-editing .info-field input { min-height:44px; font-size:16px; }
}
@media(max-width:700px) {
 body.maquette-app .client-profile-form .profile-edit-mobile { width:100%; }
 body.maquette-app .client-profile-form .profile-edit-mobile .profile-edit-toggle { width:100%; justify-content:center; }
}
/* Fill the mobile drawer height with the photo instead of unused bottom space. */
@media(max-width:700px) {
 body.maquette-app .modal .maquette-tracking-modal .tracking-dialog-heading { margin-bottom:10px; }
 body.maquette-app .modal .maquette-tracking-modal .maquette-tracking-scroll {
  flex:1 1 auto; display:flex; flex-direction:column; min-height:0;
 }
 body.maquette-app .modal .maquette-tracking-modal .tracking-summary-row { flex:0 0 auto; }
 body.maquette-app .modal .maquette-tracking-modal .maquette-tracking-layout {
  flex:1 0 280px; display:grid; grid-template-rows:minmax(140px,1fr) auto; align-items:stretch;
 }
 body.maquette-app .modal .maquette-tracking-modal .maquette-tracking-media-card { display:flex; min-height:0; }
 body.maquette-app .modal .maquette-tracking-modal .maquette-tracking-gallery { flex:1; width:100%; height:100%; min-height:0; }
 body.maquette-app .modal .maquette-tracking-modal .maquette-tracking-gallery .carousel,
 body.maquette-app .modal .maquette-tracking-modal .maquette-tracking-gallery .carousel-inner,
 body.maquette-app .modal .maquette-tracking-modal .maquette-tracking-gallery .item,
 body.maquette-app .modal .maquette-tracking-modal .maquette-tracking-gallery img,
 body.maquette-app .modal .maquette-tracking-modal .maquette-modal-empty-media { height:100%; min-height:0; }
 body.maquette-app .modal .maquette-tracking-modal .maquette-tracking-gallery img { width:100%; object-fit:contain; }
 body.maquette-app .modal .maquette-tracking-modal .maquette-tracking-panel { align-self:stretch; }
 body.maquette-app .modal .maquette-tracking-modal .tracking-summary-row article-prices .product-prices {
  display:flex; flex-wrap:nowrap; justify-content:space-between; gap:8px; width:100%;
 }
 body.maquette-app .modal .maquette-tracking-modal .tracking-summary-row article-prices .product-prices > div {
  display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:0; padding:0;
 }
 body.maquette-app .modal .maquette-tracking-modal .tracking-summary-row article-prices .product-prices span,
 body.maquette-app .modal .maquette-tracking-modal .tracking-summary-row article-prices .product-prices del { font-size:11px; line-height:1.3; }
 body.maquette-app .modal .maquette-tracking-modal .tracking-summary-row article-prices .product-prices strong { font-size:20px; line-height:1.3; white-space:nowrap; }
}
/* Dialog titles and their close control remain visible while the body scrolls. */
body.maquette-app .parent-catalogue-dialog > .catalogue-dialog-header {
 position:sticky; top:-24px; z-index:5;
 margin:-24px -24px 16px; padding:20px 24px 14px;
 background:var(--white); border-bottom:1px solid var(--line);
}
body.maquette-app .parent-catalogue-dialog > .catalogue-dialog-header .catalogue-dialog-close { flex-shrink:0; }
body.maquette-app .maquette-tracking-modal .tracking-dialog-heading { position:relative; z-index:5; background:var(--white); }
@media(max-width:700px) {
 body.maquette-app dialog.parent-catalogue-dialog > .catalogue-dialog-header {
  top:-20px; margin:-20px -20px 14px; padding:16px 20px 12px;
 }
 body.maquette-app .store-sidebar .store-drawer-heading { position:sticky; top:0; z-index:5; background:var(--soft); padding-block:8px; }
}
.action-product-search { display:grid; gap:6px; margin:12px 0; font-size:13px; color:var(--text); }
.action-product-search input { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--white); color:var(--text); font:inherit; }
.action-product-search small { color:var(--muted); }
@media(max-width:700px) { .action-product-search input { font-size:16px; } }
/* Keep the tracking close control in the same layer as its opaque heading. */
body.maquette-app .maquette-tracking-modal .tracking-dialog-heading {
 display:flex; align-items:center; justify-content:space-between; gap:12px; padding-right:0;
}
body.maquette-app .maquette-tracking-modal .tracking-dialog-heading h2 { margin:0; min-width:0; }
body.maquette-app .maquette-tracking-modal .tracking-dialog-heading .maquette-modal-close {
 position:static; flex:0 0 44px; width:44px; height:44px; margin:0; z-index:auto;
 display:grid; place-items:center; color:var(--bb9-green); background:var(--white);
}
/* Clear, compact visibility editing choices. */
body.maquette-app .detail-settings .visibility-editor { padding:20px; }
body.maquette-app .visibility-editor .visibility-choice-group { min-width:0; padding:0; margin:18px 0; border:0; display:grid; gap:8px; }
body.maquette-app .visibility-editor .visibility-choice-group legend { width:auto; margin:0 0 9px; padding:0; border:0; font-size:13px; font-weight:600; color:var(--text); }
body.maquette-app .visibility-editor .visibility-choice { display:flex; align-items:center; gap:12px; padding:12px 14px; margin:0; border:1px solid var(--line); border-radius:12px; background:var(--white); cursor:pointer; }
body.maquette-app .visibility-editor .visibility-choice.is-selected { border-color:var(--bb9-green); background:var(--soft); }
body.maquette-app .visibility-editor .visibility-choice input { flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:var(--bb9-green); }
body.maquette-app .visibility-editor .visibility-choice strong { display:block; font-size:14px; font-weight:600; color:var(--text); }
body.maquette-app .visibility-editor .visibility-choice small { display:block; margin-top:3px; font-size:12px; line-height:1.4; color:var(--muted); }
body.maquette-app .visibility-editor .detail-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }
body.maquette-app .visibility-editor .detail-actions .btn { min-height:40px; padding:9px 18px; border-radius:10px; font-size:13px; }
@media(max-width:700px) {
 body.maquette-app .detail-settings .visibility-editor { padding:16px; }
 body.maquette-app .visibility-editor .detail-actions .btn { flex:1; min-height:44px; }
}
body.maquette-app .visibility-editor .visibility-positive { --choice-color:var(--bb9-green); }
body.maquette-app .visibility-editor .visibility-negative { --choice-color:var(--visibility-danger); }
body.maquette-app .visibility-editor .visibility-private { --choice-color:var(--visibility-warning); }
body.maquette-app .visibility-editor .visibility-choice input { accent-color:var(--choice-color); }
body.maquette-app .visibility-editor .visibility-choice.is-selected {
 border-color:var(--choice-color); background:color-mix(in srgb,var(--choice-color) 9%,var(--white));
}
body.maquette-app .visibility-editor .visibility-choice.is-selected strong { color:var(--choice-color); }

body.maquette-app .visibility-positive-badge { --state-color:var(--bb9-green); }
body.maquette-app .visibility-negative-badge { --state-color:var(--visibility-danger); }
body.maquette-app .visibility-private-badge { --state-color:var(--visibility-warning); }
body.maquette-app .sale-detail-page.account-reference .status:is(.visibility-positive-badge,.visibility-negative-badge,.visibility-private-badge) {
 color:var(--state-color); background:color-mix(in srgb,var(--state-color) 12%,var(--white)); border-color:color-mix(in srgb,var(--state-color) 25%,var(--line));
}

body.maquette-app { --visibility-danger:#c73535; --visibility-warning:#b65c08; }
body.maquette-app.theme-dark { --visibility-danger:#ff9191; --visibility-warning:#ffb76b; }
/* Theme-aware foreground on filled action buttons, including light dark-mode palettes. */
body.maquette-app .document-action-primary { color:var(--on-primary,#fff); }
body.maquette-app .document-action-primary > i { color:inherit; }
body.maquette-app.theme-dark .document-action-primary { color:var(--bg,#142326); }
/* Product states use the theme primary; favourites retain their pink identity. */
body.maquette-app { --favourite-color:#d3007a; }
body.maquette-app.theme-dark { --favourite-color:#ff80c6; }
body.maquette-app .account-reference.client-workspace .account-dashboard .status.article-status,
body.maquette-app .account-reference.client-workspace .account-dashboard .status.payment-status,
body.maquette-app .maquette-tracking-modal .tracking-badge {
 color:var(--bb9-green); background:color-mix(in srgb,var(--bb9-green) 12%,var(--white));
 border-color:color-mix(in srgb,var(--bb9-green) 22%,var(--line));
}
body.maquette-app .account-reference.client-workspace .account-dashboard .status.article-status.is-heart,
body.maquette-app .maquette-tracking-modal .tracking-badge.is-heart {
 color:var(--favourite-color); background:color-mix(in srgb,var(--favourite-color) 12%,var(--white));
 border-color:color-mix(in srgb,var(--favourite-color) 22%,var(--line));
}
body.maquette-app .maquette-tracking-modal .maquette-tracking-step.is-heart .tracking-dot {
 background:var(--favourite-color); border-color:var(--favourite-color); color:var(--white);
}
body.maquette-app .sale-detail-page #parent-status-filters .filter-heart.active {
 color:var(--favourite-color); background:color-mix(in srgb,var(--favourite-color) 12%,var(--white));
 border-color:color-mix(in srgb,var(--favourite-color) 35%,var(--line));
}
/* Payment history follows the document card language with a clearer hierarchy. */
body.maquette-app .sale-detail-page .payment-list { display:grid; gap:12px; }
body.maquette-app .sale-detail-page .payment-row {
 display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) auto;
 align-items:center; gap:20px; padding:18px 20px; border:1px solid var(--line);
 border-radius:16px; background:var(--white); box-shadow:none;
}
body.maquette-app .sale-detail-page .payment-person { display:grid; gap:7px; min-width:0; }
body.maquette-app .sale-detail-page .payment-person .payment-date { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; font-weight:400; }
body.maquette-app .sale-detail-page .payment-person .payment-participant { font-size:13px; line-height:1.5; color:var(--text); font-weight:500; overflow-wrap:anywhere; }
body.maquette-app .sale-detail-page .payment-content { display:grid; gap:8px; min-width:0; font-size:12px; font-weight:400; line-height:1.5; color:var(--muted); overflow-wrap:anywhere; }
body.maquette-app .sale-detail-page .payment-method { display:inline-flex; align-items:center; gap:7px; justify-self:start; padding:5px 8px; border-radius:8px; background:var(--soft); color:var(--bb9-green); font-size:10px; font-weight:600; }
body.maquette-app .sale-detail-page .payment-content ul { margin:0; padding-left:16px; }
body.maquette-app .sale-detail-page .payment-content li + li { margin-top:4px; }
body.maquette-app .sale-detail-page .payment-row .amount { align-self:center; font-size:20px; font-weight:600; color:var(--bb9-pink); white-space:nowrap; font-variant-numeric:tabular-nums; }
@media(max-width:700px) {
 body.maquette-app .sale-detail-page .payment-row { grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:14px; }
 body.maquette-app .sale-detail-page .payment-person { grid-column:1; grid-row:1; }
 body.maquette-app .sale-detail-page .payment-row .amount { grid-column:2; grid-row:1; align-self:start; font-size:18px; }
 body.maquette-app .sale-detail-page .payment-content { grid-column:1 / -1; border-top:1px solid var(--line); padding-top:10px; }
}
body.maquette-app .client-workspace .sale-number { color:var(--muted); font-size:12px; font-weight:400; line-height:1.4; margin:5px 0 0; }
body.maquette-app .client-workspace .document-sale-number { display:block; }

body.maquette-app .maquette-tracking-modal .maquette-tracking-layout.is-simple-document { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
@media(max-width:700px) {
 body.maquette-app .client-account-page .account-section-actions {
  display:flex; width:100%; justify-content:center; align-items:center; margin-inline:auto;
 }
}
/* Participant product drawer: reserve space for prices and actions, flex the photo. */
@media(max-width:700px) {
 body.maquette-app .modal .maquette-detail-modal {
  display:flex; flex-direction:column; height:100dvh; min-height:0; max-height:100dvh;
  padding:16px 14px; overflow-y:auto;
 }
 body.maquette-app .maquette-detail-modal .participant-product-body {
  flex:1; min-height:0; display:flex; flex-direction:column; gap:10px;
 }
 body.maquette-app .maquette-detail-modal .maquette-modal-head { flex:0 0 auto; padding:0; margin:0; text-align:left; }
 body.maquette-app .maquette-detail-modal .maquette-modal-check { display:none; }
 body.maquette-app .maquette-detail-modal .maquette-modal-head .maquette-modal-eyebrow { margin:0 46px 10px 0; font-size:12px; }
 body.maquette-app .maquette-detail-modal .maquette-modal-head h2 { margin:0 0 6px; font-size:18px; line-height:1.3; }
 body.maquette-app .maquette-detail-modal .maquette-modal-head p { font-size:12px; line-height:1.35; margin:3px 0; }
 body.maquette-app .maquette-detail-modal .maquette-modal-close { top:10px; right:10px; width:36px; height:36px; z-index:5; }
 body.maquette-app .maquette-detail-modal .maquette-modal-gallery { flex:1 1 auto; min-height:120px; margin:0; border-radius:14px; overflow:hidden; }
 body.maquette-app .maquette-detail-modal .maquette-modal-gallery .carousel,
 body.maquette-app .maquette-detail-modal .maquette-modal-gallery .carousel-inner,
 body.maquette-app .maquette-detail-modal .maquette-modal-gallery .item,
 body.maquette-app .maquette-detail-modal .maquette-modal-gallery img,
 body.maquette-app .maquette-detail-modal .maquette-modal-empty-media { height:100%; min-height:0; }
 body.maquette-app .maquette-detail-modal .maquette-modal-gallery img { width:100%; padding:8px; object-fit:contain; }
 body.maquette-app .maquette-detail-modal .detail-price-total { flex:0 0 auto; display:block; margin:0; padding:8px 0; border-radius:0; background:transparent; }
 body.maquette-app .maquette-detail-modal .detail-price-total > span { display:none; }
 body.maquette-app .maquette-detail-modal .detail-price-total .product-prices { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
 body.maquette-app .maquette-detail-modal .detail-price-total .product-prices > div { display:flex; flex-direction:column; gap:2px; margin:0; padding:0; }
 body.maquette-app .maquette-detail-modal .detail-price-total .product-prices span,
 body.maquette-app .maquette-detail-modal .detail-price-total .product-prices del { font-size:11px; line-height:1.3; }
 body.maquette-app .maquette-detail-modal .detail-price-total .product-prices strong { font-size:21px; line-height:1.3; }
 body.maquette-app .maquette-detail-modal .maquette-modal-actions { flex:0 0 auto; display:flex; gap:8px; margin:0; padding:0; }
 body.maquette-app .maquette-detail-modal .maquette-modal-actions .maquette-modal-btn { flex:1; min-height:44px; padding:10px; font-size:13px; border-radius:12px; }
}
/* Guestbook cards share the account's surfaces and theme tokens. */
body.maquette-app .sale-detail-page .detail-message-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px; }
body.maquette-app .sale-detail-page .detail-message-list .message-card { min-width:0; margin:0; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--white); box-shadow:none; }
body.maquette-app .sale-detail-page .guestbook-message-header { display:flex; align-items:center; gap:11px; margin-bottom:16px; }
body.maquette-app .sale-detail-page .guestbook-avatar { display:grid; place-items:center; flex:0 0 40px; height:40px; border-radius:13px; background:var(--soft); color:var(--bb9-green); font-size:18px; font-weight:600; }
body.maquette-app .sale-detail-page .guestbook-author { min-width:0; flex:1; }
body.maquette-app .sale-detail-page .message-card .guestbook-author h3 { margin:0 0 3px; color:var(--text); font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
body.maquette-app .sale-detail-page .message-card .message-meta { display:block; color:var(--muted); font-size:11px; line-height:1.4; font-weight:400; }
body.maquette-app .sale-detail-page .guestbook-heart { color:var(--bb9-green); opacity:.65; font-size:18px; }
body.maquette-app .sale-detail-page .guestbook-message-body { color:var(--text); font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
body.maquette-app .sale-detail-page .guestbook-message-body p { margin:0 0 10px; font:inherit; color:inherit; }
body.maquette-app .sale-detail-page .guestbook-message-body > :last-child { margin-bottom:0; }
body.maquette-app .sale-detail-page .guestbook-contact { display:flex; align-items:center; gap:7px; margin-top:16px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; text-decoration:none; overflow-wrap:anywhere; }
body.maquette-app .sale-detail-page .guestbook-contact span { min-width:0; }
body.maquette-app .sale-detail-page .guestbook-contact:hover { color:var(--bb9-green); }
@media(max-width:900px) {
 body.maquette-app .sale-detail-page .detail-message-list { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:700px) {
 body.maquette-app .sale-detail-page .detail-message-list { gap:12px; }
 body.maquette-app .sale-detail-page .detail-message-list .message-card { padding:16px; }
 body.maquette-app .sale-detail-page .guestbook-contact { min-height:40px; }
}
/* No upper rule before the toolbar actually sticks. */
body.maquette-app .client-workspace .document-sticky-toolbar:not(.is-stuck) {
 border-top-color:transparent;
}
body.maquette-app .client-workspace .document-sticky-toolbar:not(.is-stuck)::before { content:none; }
body.maquette-app .list-appearance-card { margin-top:20px; }
body.maquette-app .appearance-editor-fields { border:0; padding:0; margin:0; min-width:0; }
body.maquette-app .appearance-preview { display:flex; align-items:center; gap:16px; min-height:140px; padding:20px; margin:16px 0; border:1px solid var(--line); border-radius:16px; overflow-wrap:anywhere; }
body.maquette-app .appearance-preview p { margin:5px 0 0; font-size:13px; }
body.maquette-app .appearance-choice-group { border:0; padding:0; margin:18px 0; min-width:0; }
body.maquette-app .appearance-choice-group legend { border:0; padding:0; margin:0 0 10px; font-size:13px; color:var(--text); font-weight:600; }
body.maquette-app .appearance-decor-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
body.maquette-app .appearance-decor-options button { padding:5px 5px 8px; border:1px solid var(--line); border-radius:12px; background:var(--white); color:var(--text); font:inherit; font-size:12px; }
body.maquette-app .appearance-decor-options .welcome-design { display:block; width:100%; height:52px; border-radius:8px; margin-bottom:6px; }
body.maquette-app .appearance-avatar-options { display:flex; flex-wrap:wrap; gap:8px; }
body.maquette-app .appearance-avatar-options button { width:48px; height:48px; border:1px solid var(--line); border-radius:12px; background:var(--white); font-size:26px; }
body.maquette-app .appearance-choice-group button.is-selected { border-color:var(--bb9-green); outline:2px solid var(--bb9-green); outline-offset:1px; }
body.maquette-app .appearance-upload { display:grid; gap:8px; margin:16px 0; font-size:13px; }
body.maquette-app .appearance-upload input { max-width:100%; }
body.maquette-app .appearance-upload small { color:var(--muted); font-size:12px; }
body.maquette-app .appearance-avatar-category { display:flex; align-items:center; gap:12px; font-size:13px; margin-bottom:12px; }
body.maquette-app .appearance-avatar-category select { width:auto; min-width:150px; }
body.maquette-app .appearance-avatar-options { display:grid; grid-template-columns:repeat(auto-fill,minmax(108px,1fr)); gap:10px; }
body.maquette-app .appearance-avatar-options button { width:100%; height:auto; min-height:112px; padding:8px; display:flex; flex-direction:column; align-items:center; gap:6px; }
body.maquette-app .appearance-avatar-options button > [welcome-avatar] { width:78px; height:68px; font-size:38px; }
body.maquette-app .appearance-avatar-options small { font-size:11px; line-height:1.35; color:var(--text); font-weight:500; }
