.interface-picker-label{margin:14px 0 7px;font-size:.8rem;font-weight:700;color:var(--ink-soft,#52677b)}.modern-cart-dock{display:none!important}
html[data-interface="modern"]{--ui-radius:16px;--ui-shadow:0 6px 22px rgba(18,58,88,.07)}
html[data-interface="modern"] body{background:var(--canvas,#f5f8f8);color:var(--ink,#17324d);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
html[data-interface="modern"] :is(.category,.account-form,.customer-account-card,.cart-line,.card,.saved-carts article,.order-card){border-color:var(--line,#dce5e8);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}
html[data-interface="modern"] .category .product{border-color:var(--line,#dce5e8);border-radius:18px;box-shadow:0 4px 18px rgba(18,58,88,.06)}
html[data-interface="modern"] .product-title h4{line-height:1.35;font-weight:700;letter-spacing:-.01em}html[data-interface="modern"] .quantity-prices{border-width:1px;border-radius:12px}html[data-interface="modern"] .quantity-prices th,html[data-interface="modern"] .quantity-prices td{border-bottom-width:1px}
html[data-interface="modern"] :is(.account-form,.cart-line-actions,.cart-archive,.checkout-form,.admin-section) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea),html[data-interface="modern"] .form-control,html[data-interface="modern"] .form-select{box-sizing:border-box;border:1px solid var(--line,#dce5e8);border-radius:10px;background:#fff;color:var(--ink,#17324d);font:inherit}
html[data-interface="modern"] :is(input,select,textarea):focus-visible{outline:2px solid var(--teal,#087f8c);outline-offset:2px}
html[data-interface="modern"] :is(.btn,.selection-submit,.quantity-add,.cart-change-decor,.account-form button,.cart-line-actions button,.cart-archive button,.dialog-confirm,.dialog-cancel){border-radius:10px;min-height:42px;font-weight:700}
html[data-interface="modern"] :is(.account-form button,.cart-line-actions button:not(.cart-remove),.cart-archive button,.dialog-confirm){background:var(--teal-dark,#05636d);color:#fff}html[data-interface="modern"] .cart-line-actions .cart-remove{background:var(--danger,#b4233b)}
html[data-interface="modern"] :is(dialog,.menu-panel){border-radius:20px;border-color:var(--line,#dce5e8);box-shadow:0 18px 60px rgba(18,58,88,.16)}
html[data-interface="modern"] .cart-line{padding:18px;gap:18px}html[data-interface="modern"] .cart-line-photo{border-radius:12px;background:#fff}html[data-interface="modern"] .cart-line h2{font-size:1.05rem;line-height:1.4}html[data-interface="modern"] .cart-line dl{padding:10px 12px;border-radius:10px;background:var(--surface-soft,#f1f7f7)}
html[data-interface="modern"] .cart-search{border-radius:14px;box-shadow:var(--ui-shadow)}html[data-interface="modern"] .cart-shipping{border-color:var(--accent-border,#b9dedd);background:var(--teal-soft,#e5f5f4)}
html[data-interface="modern"] .cart-toast{border-radius:14px;font-size:.92rem;line-height:1.5}
@media(max-width:720px){html[data-interface="modern"] .cart-page{padding-inline:12px}html[data-interface="modern"] .cart-line{padding:14px;grid-template-columns:72px minmax(0,1fr);gap:12px}html[data-interface="modern"] .cart-line>img{width:72px;height:72px}html[data-interface="modern"] .cart-line-actions form[action="/cart/update"]{flex:1;flex-wrap:wrap;gap:8px}html[data-interface="modern"] .cart-line-actions input[name="note"]{width:min(100%,170px)}html[data-interface="modern"] .cart-line-actions{align-items:flex-end;gap:10px}html[data-interface="modern"] body.has-modern-cart-dock{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}html[data-interface="modern"] .modern-cart-dock:not([hidden]){display:flex!important;position:fixed;z-index:15;left:0;right:0;bottom:0;align-items:center;justify-content:space-between;gap:14px;box-sizing:border-box;padding:14px max(16px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border:0;border-top:1px solid var(--line,#dce5e8);border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -6px 24px rgba(18,58,88,.1);color:var(--ink,#17324d)}.modern-cart-dock>div{display:grid;gap:2px;min-width:0;flex:1}.modern-cart-dock span{font-size:.75rem;color:var(--ink-soft,#52677b)}.modern-cart-dock strong{font-size:1.15rem;line-height:1.3}.modern-cart-dock small{font-size:.72rem;line-height:1.4;overflow-wrap:anywhere}.modern-cart-dock a{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:46px;max-width:125px;box-sizing:border-box;padding:10px 14px;border-radius:12px;background:var(--teal-dark,#05636d);color:#fff;font-size:.9rem;font-weight:750;text-decoration:none;text-align:center}.modern-cart-dock a[aria-disabled="true"]{background:var(--surface-soft,#f1f7f7);color:var(--ink-soft,#52677b)}html[data-interface="modern"] .cart-toast{bottom:calc(140px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){html[data-interface="modern"] *,html[data-interface="modern"] *::before,html[data-interface="modern"] *::after{scroll-behavior:auto!important}}


/* Direction visuelle moderne : une barre d’application contrastée,
   des filtres segmentés et des cartes sobres. Les couleurs restent celles du thème. */
html[data-interface="modern"] {
  --ui-shadow: 0 8px 28px rgba(18, 58, 88, .06);
  --ui-primary: var(--navy-deep, var(--admin-navy, #0b2b43));
  --ui-accent: var(--teal-dark, var(--admin-teal, #05636d));
  --ui-soft: var(--surface-soft, var(--admin-soft, #f1f7f7));
  --ui-line: var(--line, var(--admin-line, #dce5e8));
}
html[data-interface="modern"] body {
  background: var(--canvas, var(--admin-canvas, #f5f8f8));
  -webkit-font-smoothing: antialiased;
}
html[data-interface="modern"] :is(h1, h2, h3, h4) {
  letter-spacing: -.035em;
}
html[data-interface="modern"] :is(.catalogue-header, .catalogue-header.has-stuck-selection) {
  background: var(--ui-primary);
  border-bottom-color: transparent;
  box-shadow: none;
  color: #fff;
}
html[data-interface="modern"] .catalogue-brand {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 750;
}
html[data-interface="modern"] .catalogue-brand::before {
  border-color: #fff;
}
html[data-interface="modern"] .catalogue-header .cart-summary {
  background: var(--paper, #fff);
  color: var(--ui-primary);
  border-radius: 12px;
  box-shadow: none;
  padding: 10px 16px;
}
html[data-interface="modern"] .catalogue-header .cart-sync-pending {
  color: var(--ui-accent);
}
html[data-interface="modern"] .top-menu > summary {
  border-color: #ffffff40;
  border-radius: 12px;
  background: #ffffff12;
  color: #fff;
}
html[data-interface="modern"] .top-menu > summary:hover {
  background: #ffffff25;
  border-color: #ffffff70;
}
html[data-interface="modern"] .catalogue-intro {
  margin-block: 16px 20px;
}
html[data-interface="modern"] .catalogue-lead {
  font-size: .92rem;
}
html[data-interface="modern"] .catalogue-selection.is-stuck::before {
  background: var(--ui-primary);
  box-shadow: 0 10px 22px rgba(18, 58, 88, .12);
}
html[data-interface="modern"] .selection-tabs {
  gap: 0;
  padding: 5px;
  border: 1px solid var(--ui-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--ui-shadow);
}
html[data-interface="modern"] .selection-tabs button {
  padding: 12px 34px 12px 64px;
  min-height: 70px;
  border: 1px solid transparent;
  border-radius: 13px;
  background: transparent;
  color: var(--ui-primary);
  transform: none;
  box-shadow: none;
}
html[data-interface="modern"] .selection-tabs button + button {
  border-left-color: var(--ui-line);
}
html[data-interface="modern"] .selection-tabs button:is(:hover, .is-active) {
  background: var(--ui-soft);
}
html[data-interface="modern"] .selection-tabs button.is-active {
  border-color: var(--accent-border, #b9dedd);
}
html[data-interface="modern"] .selection-tabs button::before {
  position: absolute;
  left: 20px;
  top: calc(50% - 12px);
  width: 24px;
  height: 24px;
  background: var(--ui-accent);
  mask: url('/assets/filter-supplier.svg?v=1') center / contain no-repeat;
  content: '';
}
html[data-interface="modern"] .selection-tabs [data-selection-tab="categories"]::before {
  mask-image: url('/assets/filter-categories.svg?v=1');
}
html[data-interface="modern"] .selection-tabs [data-selection-tab="locations"]::before {
  mask-image: url('/assets/filter-locations.svg?v=1');
}
html[data-interface="modern"] .selection-tabs button span {
  color: var(--ink-soft, #52677b);
  font-size: .7rem;
  letter-spacing: .06em;
}
html[data-interface="modern"] .selection-tabs button strong {
  font-size: .97rem;
  font-weight: 750;
}
html[data-interface="modern"] .selection-panel {
  border-color: var(--ui-line);
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(18, 58, 88, .12);
}
html[data-interface="modern"] :is(.supplier-choices, .category-choices, .location-choices) > label {
  border-color: var(--ui-line);
  border-radius: 10px;
  background: #fff;
}
html[data-interface="modern"] :is(.supplier-choices, .category-choices, .location-choices) > label:has(input:checked) {
  border-color: var(--ui-accent);
  background: var(--ui-soft);
  box-shadow: inset 0 0 0 1px var(--ui-accent);
}
html[data-interface="modern"] :is(input[type="radio"], input[type="checkbox"]) {
  accent-color: var(--ui-accent);
}
html[data-interface="modern"] .catalogue-search {
  padding: 8px 16px;
  border-radius: 16px;
  border-color: var(--ui-line);
  box-shadow: var(--ui-shadow);
}
html[data-interface="modern"] .category {
  padding: 0;
  margin-top: 30px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
html[data-interface="modern"] .category > h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  font-size: 1.28rem;
  font-weight: 750;
}
html[data-interface="modern"] .category > h3::before {
  width: 5px;
  height: 20px;
  border-radius: 4px;
  background: var(--ui-accent);
  content: '';
}
html[data-interface="modern"] .category > .suppliers {
  gap: 18px;
}
html[data-interface="modern"] .category .product {
  border-color: transparent;
  border-radius: 20px;
  box-shadow: 0 5px 24px rgba(18, 58, 88, .07);
}
html[data-interface="modern"] .category .product:hover {
  transform: none;
  border-color: var(--accent-border, #b9dedd);
  box-shadow: 0 10px 30px rgba(18, 58, 88, .12);
}
html[data-interface="modern"] .product-reference-bar {
  background: #fff;
  border-bottom: 1px solid var(--ui-soft);
  margin-bottom: 8px;
}
html[data-interface="modern"] .product-reference-bar .copy-reference {
  min-height: 46px;
  padding: 10px 14px;
  gap: 6px;
  color: var(--ui-primary);
}
html[data-interface="modern"] .product-reference-bar .copy-reference span {
  color: var(--ink-soft, #52677b);
  font-size: .6rem;
  letter-spacing: .06em;
}
html[data-interface="modern"] .product-reference-bar .copy-reference strong {
  font-size: .85rem;
  font-weight: 650;
}
html[data-interface="modern"] .product-reference-bar :is(.product-detail-link, .maintenance-edit-link) {
  min-height: 44px;
  border-left: 0;
  color: var(--ui-accent);
}
html[data-interface="modern"] .product-reference-bar :is(.copy-reference, .product-detail-link, .maintenance-edit-link):hover {
  background: var(--ui-soft);
  color: var(--ui-primary);
}
html[data-interface="modern"] .product-reference-bar a:focus-visible {
  outline-color: var(--ui-accent);
}
html[data-interface="modern"] .product-title h4 {
  font-size: 1.03rem;
  letter-spacing: -.02em;
}
html[data-interface="modern"] .description {
  font-size: .85rem;
  line-height: 1.5;
}
html[data-interface="modern"] .variant-choice-badge {
  border: 0;
  font-size: .73rem;
}
html[data-interface="modern"] .quantity-prices {
  border: 0;
  border-radius: 12px;
  background: var(--ui-soft);
}
html[data-interface="modern"] .quantity-prices thead {
  background: transparent;
  font-size: .66rem;
}
html[data-interface="modern"] .quantity-prices :is(th, td) {
  border-left: 0;
  border-bottom: 1px solid #fff;
}
html[data-interface="modern"] .quantity-prices tbody tr:last-child {
  background: transparent;
}
html[data-interface="modern"] .quantity-prices tbody td {
  font-size: .88rem;
}
html[data-interface="modern"] .quantity-prices tbody th {
  font-size: .82rem;
}
html[data-interface="modern"] .quantity-add {
  border-radius: 8px;
  min-height: 36px;
  padding: 7px 9px;
  background: var(--ui-accent);
  box-shadow: none;
}
html[data-interface="modern"] .quantity-add:disabled {
  background: #71828c;
}
html[data-interface="modern"] .guest-pricing-note {
  padding: 6px 8px;
  font-size: .7rem;
}
html[data-interface="modern"] .menu-panel {
  padding: 16px;
  /* Le panneau clair ne doit pas hériter du texte blanc de la barre supérieure. */
  color: var(--ink, #17324d);
}
html[data-interface="modern"] .menu-section {
  border: 0;
  background: var(--ui-soft);
  border-radius: 12px;
  margin-block: 10px;
}
html[data-interface="modern"] .menu-link {
  border-radius: 10px;
  background: transparent;
}
html[data-interface="modern"] .menu-link:hover {
  background: var(--ui-soft);
}
html[data-interface="modern"] .catalogue-display-switch {
  padding: 4px;
  border-radius: 12px;
  background: #fff;
}
html[data-interface="modern"] .catalogue-display-switch button {
  border-radius: 8px;
}
html[data-interface="modern"] .catalogue-display-switch button[aria-pressed="true"] {
  background: var(--ui-primary);
  color: #fff;
  box-shadow: none;
}

/* Panier et écrans de gestion utilisent la même hiérarchie. */
html[data-interface="modern"] .cart-page {
  max-width: 1120px;
}
html[data-interface="modern"] .cart-page-header {
  padding: 24px;
  border-radius: 22px;
  background: var(--ui-primary);
  color: #fff;
  align-items: center;
}
html[data-interface="modern"] .cart-page-header h1 {
  color: #fff;
  font-size: 2rem;
}
html[data-interface="modern"] .cart-back-link {
  border: 0;
  background: #ffffff12;
  color: #fff;
}
html[data-interface="modern"] .cart-page-header .cart-summary {
  background: #fff;
  color: var(--ui-primary);
  border-radius: 12px;
  box-shadow: none;
}
html[data-interface="modern"] .cart-line {
  border: 1px solid transparent;
  border-radius: 18px;
}
html[data-interface="modern"] .cart-line-actions .cart-remove {
  border: 1px solid #b4233b30;
  background: #fff;
  color: #a01f33;
}
html[data-interface="modern"] .cart-change-decor {
  border: 0;
  background: var(--ui-soft);
  color: var(--ui-accent);
}
html[data-interface="modern"] .cart-total {
  border: 0;
  border-radius: 16px;
  background: #fff;
  padding: 22px;
  font-weight: 750;
}
html[data-interface="modern"] :is(.cart-autosave, .cart-shipping, .cart-search) {
  border-radius: 14px;
  border-color: var(--ui-line);
  box-shadow: none;
}
html[data-interface="modern"] .cart-checkout a {
  border-radius: 12px;
  background: var(--ui-accent);
}
html[data-interface="modern"] .product-detail-card {
  border: 0;
  border-radius: 24px;
}
html[data-interface="modern"] .product-detail-facts {
  border: 0;
  background: var(--ui-soft);
}
html[data-interface="modern"] main.container > header {
  border: 0;
  border-radius: 20px;
  background: var(--ui-primary);
  color: #fff;
}
html[data-interface="modern"] main.container > header h1 {
  color: #fff;
}
html[data-interface="modern"] .admin-catalogue-back {
  border-color: #ffffff30;
  background: #ffffff12;
  color: #fff;
}
html[data-interface="modern"] nav[aria-label="Gestion"] {
  padding: 6px;
  border: 0;
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--ui-shadow);
}
html[data-interface="modern"] nav[aria-label="Gestion"] .btn {
  border: 0;
  border-radius: 10px;
  min-height: 42px;
  color: var(--ui-primary);
}
html[data-interface="modern"] nav[aria-label="Gestion"] .btn-dark {
  background: var(--ui-primary);
  color: #fff;
}
html[data-interface="modern"] .account-hero {
  border-radius: 20px;
  background: var(--ui-primary);
}

@media (min-width: 901px) {
  html[data-interface="modern"] .catalogue-header {
    padding-inline: 24px;
  }
}
@media (max-width: 900px) {
  html[data-interface="modern"] .quantity-add {
    min-height: 42px;
  }
  html[data-interface="modern"] .selection-tabs button {
    min-height: 62px;
    padding: 9px 24px 9px 10px;
  }
  html[data-interface="modern"] .selection-tabs button::before {
    content: none;
  }
  html[data-interface="modern"] .selection-tabs button span {
    font-size: .6rem;
    letter-spacing: 0;
  }
  html[data-interface="modern"] .selection-tabs button strong {
    font-size: .79rem;
  }
}
@media (max-width: 720px) {
  html[data-interface="modern"] .cart-page-header {
    padding: 18px;
    align-items: stretch;
  }
  html[data-interface="modern"] .cart-page-header h1 {
    font-size: 1.7rem;
  }
  html[data-interface="modern"] .modern-cart-dock:not([hidden]) {
    background: var(--ui-primary);
    color: #fff;
    border-color: transparent;
  }
  html[data-interface="modern"] .modern-cart-dock :is(span, small) {
    color: #dae3eb;
  }
  html[data-interface="modern"] .modern-cart-dock a {
    background: #fff;
    color: var(--ui-primary);
  }
  html[data-interface="modern"] .modern-cart-dock a[aria-disabled="true"] {
    background: #ffffff16;
    color: #dae3eb;
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  html[data-interface="modern"] :is(.quantity-add, .selection-submit, .menu-link, .cart-change-decor) {
    transition: background-color .18s ease, box-shadow .18s ease;
  }
}
