.supplier-late-shortage{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#c92135;color:#fff!important;font:bold 12px/1 sans-serif;text-decoration:none;box-shadow:0 0 0 2px #fff,0 0 0 3px #c92135;animation:liberty-shortage-pulse 2.4s ease-in-out infinite}
@keyframes liberty-shortage-pulse{50%{box-shadow:0 0 0 2px #fff,0 0 0 6px #c9213533}}
@media(prefers-reduced-motion:reduce){.supplier-late-shortage{animation:none}}
:root {
  --liberty-navy: #102a43;
  --liberty-blue: #155e75;
  --liberty-cyan: #06b6d4;
  --liberty-mint: #14b8a6;
  --liberty-paper: #ffffff;
  --liberty-bg: #eef4f8;
  --liberty-line: #d3e0e9;
  --liberty-action: #087f83;
  --liberty-action-hover: #06666a;
  --liberty-action-text: #ffffff;
  --liberty-shadow: 0 12px 34px rgba(16, 42, 67, .09);
}

.filter-clear-wrap{position:relative;display:block;width:100%}
.filter-clear-wrap input,.filter-clear-wrap select{padding-right:64px!important}
button.filter-clear{position:absolute;right:9px;top:50%;width:27px!important;height:27px!important;min-height:0!important;margin:0!important;padding:0!important;font:22px/1 system-ui!important;cursor:pointer}
button.filter-clear,button.filter-clear:hover,button.filter-clear:active,button.filter-clear:focus{transform:translateY(-50%)!important;border:0!important;border-radius:0!important;background:transparent!important;color:#315e7b!important;box-shadow:none!important}
button.filter-clear:focus-visible{outline:2px solid #1976d2;outline-offset:1px}
.filter-clear-wrap:has(select) button.filter-clear{right:30px}
button.filter-clear[hidden]{display:none!important}
.status-filter span.reply-needs-attention{border:2px solid #d71920!important;color:#a41018!important;background:#fff5f5!important}
.shipment-recovery form{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.shipment-recovery form p{margin:0}
.shipment-recovery form label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:9px}
.shipment-recovery form input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;padding:0;accent-color:#087f83}
.shipment-recovery form button{align-self:flex-start}

/* Identifiers stay intact; copying never submits a form or adds printed controls. */
.liberty-copy-value {display:inline-flex !important;align-items:center;gap:4px;white-space:nowrap;max-width:100%;vertical-align:middle}
.liberty-copy-value > .liberty-copy-text {display:inline !important;white-space:nowrap;overflow-wrap:normal;word-break:normal}
button.liberty-copy-button {box-sizing:border-box !important;display:inline-flex !important;align-items:center;justify-content:center;flex:0 0 22px;width:22px !important;height:22px !important;min-width:22px !important;min-height:22px !important;padding:3px !important;margin:0 !important;border:1px solid #b5d5db !important;border-radius:5px !important;background:#f2f8fa !important;color:#155e75 !important;box-shadow:none !important;line-height:1 !important;vertical-align:middle;cursor:pointer}
button.liberty-copy-button:hover {background:#e1f1f4 !important;color:#155e75 !important;border-color:#087f83 !important;transform:none !important}
button.liberty-copy-button:focus-visible {outline:2px solid #087f83;outline-offset:2px}
button.liberty-copy-button svg {width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.liberty-copy-status {position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;max-width:calc(100vw - 32px);padding:10px 16px;border:1px solid #b5d5db;border-radius:9px;background:#f2f8fa;color:#102a43;box-shadow:0 4px 18px #17324d22;font:14px/1.4 system-ui,sans-serif}
.liberty-copy-status[hidden] {display:none}
.reserved-order .reserved-origin-label {display:block}
@media print {button.liberty-copy-button,.liberty-copy-status {display:none !important}}

/* Compact shipment metric: period controls never add a second metric row. */
.tracking-summary-card .metric.shipment-counter {padding:8px 12px;min-height:50px;gap:7px}
.tracking-summary-card .shipment-counter .shipment-calendar-toggle {grid-column:3;grid-row:1}
.shipment-counter .shipment-period-popup {position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:min(350px,calc(100vw - 48px));padding:12px;background:#fff;border:1px solid #b4cbd5;border-radius:10px;box-shadow:0 8px 24px #17324d33}
.shipment-counter .shipment-period-popup[hidden] {display:none}
.shipment-counter .shipment-period-popup .shipment-custom-range {position:static;width:auto;padding:10px 0 0;margin-top:10px;border:0;border-top:1px solid #dbe6eb;border-radius:0;box-shadow:none}
.shipment-counter .shipment-period-popup .shipment-period-select {width:100%;height:36px}

body {
  background:
    radial-gradient(circle at 92% 2%, rgba(6, 182, 212, .12), transparent 25rem),
    linear-gradient(180deg, #edf4f8 0, #f8fafc 34rem) !important;
}

header {
  background: linear-gradient(120deg, #0b2239 0%, #124e68 56%, #087f83 100%) !important;
  border-bottom: 3px solid rgba(34, 211, 238, .78) !important;
  box-shadow: 0 8px 28px rgba(11, 34, 57, .22) !important;
}

/* La production conserve le liseré turquoise. Le rouge identifie sans
   ambiguïté une base et des actions de test. */
header.liberty-test-header {
  border-bottom-color: #ef4444 !important;
  box-shadow: 0 8px 28px rgba(127, 29, 29, .27) !important;
}

header > .header-content,
header > .head {
  min-height: 70px;
}

.liberty-header-controls {
  display: grid;
  align-self: stretch;
  justify-items: end;
  align-content: space-between;
  gap: 9px;
  min-width: 173px;
}

.liberty-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

.liberty-header-actions form {
  display: contents;
  margin: 0;
}

header .liberty-header-icon,
header button.liberty-header-icon {
  box-sizing: border-box !important;
  display: inline-grid !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  flex: 0 0 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, .38) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .08) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  cursor: pointer;
  text-decoration: none !important;
}

header .liberty-header-icon:hover,
header .liberty-header-icon:focus-visible,
header .liberty-header-icon.is-current {
  border-color: rgba(255, 255, 255, .88) !important;
  background: rgba(255, 255, 255, .2) !important;
  filter: none !important;
  transform: translateY(-1px);
}

header .liberty-header-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.liberty-header-version {
  color: rgba(255, 255, 255, .73);
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap;
}

/* Same 34px slot as the existing icons; ring is twice their 1.8px stroke. */
header .liberty-header-local-stock[hidden] {display:none !important}
header .liberty-header-az[hidden] {display:none !important}
header .liberty-header-restock[hidden] {display:none !important}
header .liberty-header-az{position:relative}
header .liberty-header-az svg{width:32px;height:32px}
header .liberty-header-az .liberty-az-ring{stroke:#ff4050;stroke-width:3.6;animation:liberty-az-blink 1.4s ease-in-out infinite}
header .liberty-az-count{position:absolute;right:-4px;top:-5px;min-width:17px;padding:0 3px;border-radius:10px;background:#d71934;color:#fff;font-size:11px;line-height:17px;text-align:center}
@keyframes liberty-az-blink{0%,100%{opacity:1}50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){header .liberty-header-az .liberty-az-ring{animation:none}}
header .liberty-header-local-stock svg {width:32px;height:32px}
header .liberty-header-local-stock .liberty-local-stock-ring {stroke:#69ff25;stroke-width:3.6;animation:liberty-local-stock-blink 1.6s ease-in-out infinite}
header .liberty-header-local-stock:focus-visible {outline:2px solid #fff;outline-offset:3px}
@keyframes liberty-local-stock-blink {0%,100%{opacity:1}50%{opacity:.2}}
.scan-copy-progress{padding:9px 11px;border-radius:9px;background:#fff4df;color:#80531c;font-size:13px;line-height:1.4}
.scan-copy-progress.is-scanned{background:#e7f7ef;color:#176b45}
.scan-copy-progress small{font-size:11px}
@media(prefers-reduced-motion:reduce){header .liberty-header-local-stock .liberty-local-stock-ring{animation:none}}

/* Ligne basse : envoi Amazon exactement sous plein écran / roadmap / réglages. */
.liberty-header-footer {display:grid;grid-template-columns:repeat(5,34px);gap:7px;align-items:center;min-height:28px}
header .liberty-header-tracking-form {grid-column:1 / 4;display:block;margin:0}
header .liberty-header-tracking {box-sizing:border-box}
header .liberty-header-tracking-form[hidden] {display:none}
.liberty-header-footer .liberty-header-version {grid-column:4 / 6;justify-self:end}
header button.liberty-header-tracking {display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:28px;padding:3px 5px;border:1px solid #ffffff66;border-radius:8px;background:#ffffff12;color:#fff;font:600 11px system-ui,sans-serif;box-shadow:none;white-space:nowrap;cursor:pointer}
header button.liberty-header-tracking:hover:not(:disabled),header button.liberty-header-tracking:focus-visible {background:#ffffff29;border-color:#b7fff2;outline:2px solid #62e9ce;outline-offset:2px}
header button.liberty-header-tracking:disabled {opacity:1;color:#d1e1e7;cursor:default}
.liberty-header-tracking svg {width:15px;height:15px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.liberty-tracking-badge {min-width:19px;padding:2px 4px;border-radius:99px;background:#c8f6eb;color:#064d50;font-size:10px;font-weight:750;line-height:1.2;text-align:center}
.liberty-header-tracking:disabled .liberty-tracking-badge {background:#dce8ed;color:#375665}
.liberty-header-tracking[aria-busy="true"] .liberty-tracking-badge {background:#c8f6eb;color:#064d50}
.bundle-enrichment-wait .liberty-bloom-logo {width:54px;height:54px;margin:0 auto 16px;opacity:1;filter:none;isolation:isolate}
.bundle-enrichment-wait .liberty-bloom-logo:not(.is-painted) {background:url('/static/liberty-icon.png') center / contain no-repeat;border-radius:11px}

header .brand-logo,
header .brand > img,
header .brand-title > img,
header .head .brand > img {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: 0 7px 20px rgba(0, 27, 50, .42) !important;
  object-fit: contain !important;
}

/* Le bandeau emploie le logo horizontal complet. Le carré reste réservé aux
   icônes système, aux favicons et aux boîtes de dialogue compactes. */
header .liberty-brand-lockup {
  display: grid !important;
  grid-template-columns: minmax(0, auto) !important;
  justify-items: start !important;
  align-items: center !important;
  gap: 0 !important;
}

header .liberty-brand-lockup .liberty-header-wordmark {
  width: 244px !important;
  max-width: min(58vw, 244px) !important;
  height: 64px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  object-position: left center !important;
}

header .liberty-brand-lockup .liberty-brand-subtitle {
  max-width: 460px;
  margin: -6px 0 0 82px !important;
  color: rgba(255, 255, 255, .92) !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}

.primary-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  scrollbar-width: thin;
}

.primary-nav a {
  flex: 0 0 auto !important;
  padding: 9px 10px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease !important;
}

.primary-nav a:hover {
  transform: translateY(-1px);
  border-color: #93c5d4 !important;
}

.primary-nav a.active {
  border-color: #0d9488 !important;
  box-shadow: 0 7px 18px rgba(13, 148, 136, .12) !important;
}

.card {
  border-color: var(--liberty-line) !important;
  border-radius: 16px !important;
  box-shadow: var(--liberty-shadow) !important;
}

button, .button {
  /* Always override foreground and background together: page-level dark
     labels must never survive on the common teal action background. */
  background: var(--liberty-action) !important;
  color: var(--liberty-action-text) !important;
  box-shadow: 0 5px 14px rgba(8, 127, 131, .2) !important;
  transition: transform .15s ease, filter .15s ease !important;
}

button:hover, .button:hover {
  background: var(--liberty-action-hover) !important;
  color: var(--liberty-action-text) !important;
  filter: none;
  transform: translateY(-1px);
}

button.secondary, .button.secondary,
button.order-tracking-open, button.order-tracking-close {
  background: #edf2f5 !important;
  color: var(--liberty-navy) !important;
  border: 1px solid #a6bdca !important;
  box-shadow: none !important;
}

button.secondary:hover, .button.secondary:hover,
button.order-tracking-open:hover, button.order-tracking-close:hover {
  background: #dce8ed !important;
  color: var(--liberty-navy) !important;
}

/* A tracking identifier is indivisible; reserve a compact, non-shrinking icon. */
.order-tracking-row {
  flex-wrap: nowrap;
  gap: 3px;
  min-width: max-content;
}
.order-tracking-number {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  flex: 0 0 auto;
  font-size: 11px;
}
button.order-tracking-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
  width: 18px;
  min-width: 18px;
  height: 20px;
  min-height: 20px;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

button:focus-visible, .button:focus-visible {
  outline: 3px solid var(--liberty-navy);
  outline-offset: 3px;
}

button:disabled, button:disabled:hover, .button[aria-disabled="true"] {
  background: #e3eaf0 !important;
  color: #465b6b !important;
  border-color: #b9c9d5 !important;
  opacity: 1 !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
  cursor: not-allowed;
}

button.danger,
.button.danger,
button.exclude-button {
  border: 1px solid #7f1d1d !important;
  background: linear-gradient(135deg, #c52b20, #a91e16) !important;
  color: #ffffff !important;
  box-shadow: 0 5px 14px rgba(127, 29, 29, .24) !important;
}

button.danger:hover,
.button.danger:hover,
button.exclude-button:hover {
  background: #8f1c13 !important;
  color: #ffffff !important;
}

input, select, textarea {
  color: #111827 !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}

input::placeholder,
textarea::placeholder {
  color: #8b9bad !important;
  opacity: 1;
}

input:disabled,
select:disabled,
textarea:disabled {
  color: #66788a !important;
}

input:focus, select:focus, textarea:focus {
  border-color: #0d9488 !important;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, .14) !important;
  outline: none;
}

.liberty-operation-overlay[hidden] { display: none !important; }
.liberty-operation-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(8, 37, 59, .58);
  backdrop-filter: blur(4px);
}
.liberty-operation-card {
  width: min(520px, 100%);
  padding: 24px;
  border: 1px solid #b8d7df;
  border-radius: 20px;
  background: #fff;
  color: #17324d;
  box-shadow: 0 24px 70px rgba(3, 31, 49, .34);
}
.liberty-operation-brand { display: flex; align-items: center; gap: 14px; }
.liberty-operation-brand img {
  width: 54px;
  height: 54px;
  padding: 0;
  border: 0;
  border-radius: 13px;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
}
.liberty-operation-brand strong { display: block; font-size: 20px; }
.liberty-operation-brand span { color: #66788a; font-weight: 700; }
.liberty-operation-track {
  height: 12px;
  margin: 22px 0 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #dce8ed;
}
.liberty-operation-track span {
  display: block;
  width: 8%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f8790, #22b6a3);
  box-shadow: 0 0 14px rgba(15, 135, 144, .42);
  transition: width .55s ease;
}
.liberty-operation-track.indeterminate span {
  width: 34% !important;
  animation: liberty-progress-indeterminate 1.1s ease-in-out infinite;
}
@keyframes liberty-progress-indeterminate {
  from { transform: translateX(-110%); }
  to { transform: translateX(300%); }
}
.liberty-operation-card p { margin: 0 0 6px; font-weight: 750; }
.liberty-operation-card small { color: #66788a; }
.liberty-operation-action {
  margin: 10px 0 8px !important;
  padding: 10px 12px;
  border-radius: 9px;
  background: #fff7e8;
  color: #8a4700;
  font-size: 14px;
  font-weight: 700 !important;
}
.liberty-operation-overlay.stopping .liberty-operation-card {
  border-color: #e4aa5f;
  box-shadow: 0 24px 70px rgba(94, 48, 0, .30);
}
.liberty-operation-overlay.stopping .liberty-operation-track {
  background: #f7dfbd;
}
.liberty-operation-overlay.stopping .liberty-operation-track span {
  background: linear-gradient(90deg, #c86a1b, #ef9b35);
  box-shadow: 0 0 14px rgba(200, 106, 27, .38);
}
.liberty-inline-stop-track {
  width: min(620px, 100%);
  height: 10px;
  margin: 10px 0 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #f0d6ae;
}
.liberty-inline-stop-track span {
  display: block;
  width: 34%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c86a1b, #ef9b35);
  animation: liberty-progress-indeterminate 1.1s ease-in-out infinite;
}

.liberty-confirm-dialog {
  width: min(520px, calc(100% - 32px));
  max-width: none;
  padding: 0;
  overflow: hidden;
  border: 1px solid #b8d7df;
  border-radius: 20px;
  background: #fff;
  color: #17324d;
  box-shadow: 0 24px 70px rgba(3, 31, 49, .36);
}
.liberty-confirm-dialog::backdrop {
  background: rgba(8, 37, 59, .6);
  backdrop-filter: blur(4px);
}
.liberty-confirm-card { padding: 24px; }
.liberty-confirm-brand { display: flex; align-items: center; gap: 14px; }
.liberty-confirm-brand img {
  width: 54px;
  height: 54px;
  border-radius: 13px;
  background: transparent;
  object-fit: cover;
}
.liberty-confirm-brand strong { display: block; font-size: 20px; }
.liberty-confirm-brand span { color: #66788a; font-size: 13px; font-weight: 700; }
.liberty-confirm-card p {
  margin: 20px 0;
  padding: 15px;
  border-left: 4px solid #0f8790;
  border-radius: 9px;
  background: #edf7f7;
  line-height: 1.55;
}
.liberty-confirm-actions { display: flex; justify-content: flex-end; gap: 10px; }
.liberty-confirm-actions .liberty-confirm-cancel {
  border: 1px solid #b9c9d5 !important;
  background: #edf2f5 !important;
  color: #17324d !important;
  box-shadow: none !important;
}
.liberty-confirm-actions .liberty-confirm-accept {
  background: var(--liberty-action) !important;
  color: #fff !important;
}

.liberty-reprint-dialog {
  width: min(620px, calc(100% - 32px));
  max-width: none;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e1a75e;
  border-radius: 20px;
  background: #fff;
  color: #17324d;
  box-shadow: 0 24px 70px rgba(67, 36, 4, .38);
}
.liberty-reprint-dialog::backdrop {
  background: rgba(8, 37, 59, .64);
  backdrop-filter: blur(4px);
}
.liberty-reprint-card { padding: 24px; }
.liberty-reprint-brand { display: flex; align-items: center; gap: 14px; }
.liberty-reprint-brand img {
  width: 54px;
  height: 54px;
  padding: 5px;
  border-radius: 13px;
  background: linear-gradient(145deg, #f7fbfc, #e6eff2);
  object-fit: contain;
}
.liberty-reprint-brand strong { display: block; font-size: 20px; }
.liberty-reprint-brand span { color: #8a4700; font-size: 13px; font-weight: 750; }
.liberty-reprint-warning {
  margin: 18px 0;
  padding: 14px 15px;
  border-left: 4px solid #c66a12;
  border-radius: 9px;
  background: #fff4e4;
  color: #7e3e00;
  line-height: 1.55;
}
.liberty-reprint-dialog label {
  display: block;
  font-weight: 800;
}
.liberty-reprint-dialog textarea {
  width: 100%;
  min-height: 105px;
  margin-top: 7px;
  padding: 11px 12px;
  border: 1px solid #afbfcb;
  border-radius: 9px;
  background: #fff;
  color: #17324d;
  font: inherit;
  resize: vertical;
}
.liberty-reprint-dialog small { display: block; margin-top: 6px; color: #66788a; }
.liberty-reprint-validation {
  margin: 8px 0 0;
  padding: 9px 11px;
  border-left: 4px solid #d96000;
  border-radius: 6px;
  background: #fff2e7;
  color: #8a3b00;
  font-weight: 800;
}
.liberty-reprint-dialog textarea[aria-invalid="true"] {
  border-color: #c8442e;
  box-shadow: 0 0 0 3px rgba(200, 68, 46, 0.16);
}
.liberty-reprint-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.liberty-reprint-actions [data-close-dialog] {
  border: 1px solid #b9c9d5 !important;
  background: #edf2f5 !important;
  color: #17324d !important;
  box-shadow: none !important;
}
.liberty-reprint-actions .liberty-reprint-accept {
  background: linear-gradient(135deg, #c26a17, #9d4e08) !important;
  color: #fff !important;
}
.liberty-print-history {
  margin-top: 14px;
  padding: 13px 15px;
  border: 1px solid #cfe0e7;
  border-radius: 10px;
  background: #f5f9fb;
}
.liberty-print-history > strong { display: block; margin-bottom: 6px; }
.liberty-print-history ol { margin: 7px 0 0; padding-left: 21px; }
.liberty-print-history li + li { margin-top: 7px; }
.liberty-print-reason { display: block; color: #7e3e00; font-size: 13px; }

table th {
  background: linear-gradient(180deg, #edf5f8, #e5eef4) !important;
}

.liberty-search-waiting {
  min-width: 205px;
  cursor: wait !important;
  opacity: 1 !important;
}
.liberty-search-active { cursor: wait; }
.liberty-search-overlay[hidden] { display: none !important; }
.liberty-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 99990;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(239, 246, 249, .78);
  backdrop-filter: blur(3px) saturate(.92);
  cursor: wait;
}
.liberty-busy-dialog {border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:none;max-height:none;background:transparent;color:inherit;font:15px/1.5 system-ui,"Segoe UI",sans-serif}
.liberty-busy-dialog::backdrop {background:rgba(239,246,249,.35)}
.liberty-busy-dialog .liberty-search-loader {max-width:560px;padding:24px}
.liberty-busy-gauge {width:min(360px,75vw);height:12px;margin-top:18px;accent-color:#087f83}
.liberty-busy-dialog small {max-width:480px;line-height:1.5}
.liberty-busy-multi .liberty-search-loader {background:#fff;border:1px solid #cbdfe8;border-radius:18px;box-shadow:0 16px 48px #082e4a22}
.liberty-search-loader {
  display: grid;
  justify-items: center;
  color: #0a3755;
  text-align: center;
  filter: drop-shadow(0 18px 28px rgba(7, 47, 77, .18));
}
.liberty-bloom-logo {
  position: relative;
  width: clamp(136px, 14vw, 180px);
  aspect-ratio: 820 / 821;
  overflow: visible;
  opacity: 0;
  transition: opacity .16s ease-out;
  filter: drop-shadow(0 9px 13px rgba(7, 47, 77, .2));
}
.liberty-bloom-logo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 21%;
  background: linear-gradient(145deg, #123f5d 0%, #082f4d 72%, #062943 100%);
  box-shadow: inset 0 0 0 1px rgba(5, 31, 50, .38);
}
.liberty-bloom-logo.is-painted { opacity: 1; }
.liberty-bloom-logo canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.liberty-loader-letter {
  transform-origin: 50% 78%;
  animation: liberty-letter-reveal 4.2s cubic-bezier(.22,.8,.25,1) infinite;
}
.liberty-loader-petal {
  opacity: 0;
}
.liberty-loader-petal-ice { transform-origin:47.5% 65.8%; animation: liberty-petal-ice 4.2s cubic-bezier(.2,.75,.25,1) infinite; }
.liberty-loader-petal-teal { transform-origin:50.5% 66%; animation: liberty-petal-teal 4.2s cubic-bezier(.2,.75,.25,1) infinite; }
.liberty-loader-petal-gold { transform-origin:32.4% 67.3%; animation: liberty-petal-gold 4.2s cubic-bezier(.2,.75,.25,1) infinite; }
.liberty-search-loader strong {
  margin-top: 13px;
  font-size: 18px;
  letter-spacing: .01em;
}
.liberty-search-loader small {
  margin-top: 2px;
  color: #60798b;
  font-size: 13px;
  font-weight: 650;
}
.liberty-search-dots::after {
  content: "";
  display: inline-block;
  width: 1.5em;
  text-align: left;
  animation: liberty-search-dots 1.2s steps(4, end) infinite;
}
@keyframes liberty-letter-reveal {
  0% { opacity: 0; transform: translateY(8px) scale(.82); }
  14%, 88% { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(-2px) scale(.98); }
}
@keyframes liberty-petal-ice {
  0%, 21% { opacity: 0; transform: rotate(-18deg) scale(.18); }
  31%, 69% { opacity: 1; transform: rotate(0) scale(1); }
  76% { opacity: 1; transform: rotate(-4deg) translate(-2px,-2px) scale(1.02); }
  84%, 100% { opacity: 0; transform: rotate(-19deg) translate(-15px,-12px) scale(.78); }
}
@keyframes liberty-petal-teal {
  0%, 31% { opacity: 0; transform: rotate(-16deg) scale(.18); }
  41%, 75% { opacity: 1; transform: rotate(0) scale(1); }
  82% { opacity: 1; transform: rotate(-4deg) translate(-2px,-1px) scale(1.02); }
  90%, 100% { opacity: 0; transform: rotate(-17deg) translate(-17px,-9px) scale(.78); }
}
@keyframes liberty-petal-gold {
  0%, 41% { opacity: 0; transform: rotate(-15deg) scale(.18); }
  51%, 81% { opacity: 1; transform: rotate(0) scale(1); }
  88% { opacity: 1; transform: rotate(-5deg) translate(-2px,0) scale(1.03); }
  96%, 100% { opacity: 0; transform: rotate(-19deg) translate(-18px,-5px) scale(.76); }
}
@keyframes liberty-search-dots {
  0% { content: ""; }
  25% { content: "."; }
  50% { content: ".."; }
  75%, 100% { content: "..."; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
  .liberty-operation-track.indeterminate span { animation-duration: 2.4s; }
  .liberty-loader-letter,
  .liberty-loader-petal { animation-duration: 8.4s; }
}

@media (max-width: 620px) {
  header .liberty-brand-lockup .liberty-header-wordmark {
    width: 205px !important;
    max-width: 70vw !important;
    height: 54px !important;
  }
  header .liberty-brand-lockup .liberty-brand-subtitle {
    margin-left: 68px !important;
    font-size: 12px !important;
  }
  .liberty-header-controls {
    align-self: auto;
    justify-items: start;
    min-width: 0;
  }
  .liberty-header-actions {
    justify-content: flex-start;
  }
}
/* Estimated margin counter: light surfaces, stable readable controls. */
.margin-counter {border-radius:16px}
.margin-counter .margin-counter-values {grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}
.margin-counter .margin-counter-main {border-color:#8ebec5;background:#f0f8fa}
.margin-counter .margin-periods {display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.margin-counter .margin-periods a {display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border:1px solid #c3d5e2;border-radius:9px;background:#f4f8fb;color:#123b56;text-decoration:none;font-weight:400}
.margin-counter .margin-periods a[aria-current] {border-color:#0b858b;box-shadow:inset 0 -3px #20b490;background:#eaf5f8}
.margin-counter .margin-periods a:focus-visible,.margin-counter summary:focus-visible {outline:2px solid #087f83;outline-offset:3px}
.margin-counter summary {cursor:pointer;color:#12435d}
.margin-counter .margin-date-picker>summary {display:flex;align-items:center;gap:8px;border:1px solid #bfd4e1;border-radius:9px;padding:8px 12px;background:#f4f8fb}
.margin-counter .margin-date-picker form {display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:10px}
.margin-counter .margin-date-picker label {display:grid;gap:4px}
.margin-counter .margin-date-picker input {font:inherit;color:#123b56;background:#fff;border:1px solid #b3ccd9;border-radius:7px;padding:7px;max-width:100%}
.margin-counter .margin-date-picker button {background:#087f83;color:#fff;border:0;border-radius:8px;padding:9px 14px;font:inherit;cursor:pointer}
.margin-counter .margin-method {margin-top:16px}
.margin-counter .margin-counter-notice {padding:10px 12px;background:#edf5fc;color:#174766;border-left:3px solid #71aacc}
@media(max-width:900px){.margin-counter .margin-counter-values{grid-template-columns:1fr}.margin-counter .kpi strong{font-size:26px}.margin-counter .margin-date-picker{max-width:100%}}
:root .liberty-header-seller-alert {position:relative}
:root .liberty-seller-session-dot {position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:#ffd27a;box-shadow:0 0 0 2px #126978;pointer-events:none}
:root .liberty-seller-session-label {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
:root .liberty-header-seller-alert[hidden] {display:none!important}
:root .liberty-header-seller-alert:focus-visible {outline:3px solid #9ceacb;outline-offset:3px}
.margin-counter .kpi .margin-ratio {color:#234c64;font-size:15px}
.margin-counter .kpi .margin-evolution {font-size:13px;line-height:1.5;font-weight:400}
.margin-counter .kpi .margin-evolution.up {color:#157347}
.margin-counter .kpi .margin-evolution.down {color:#b42336}
.margin-counter .kpi .margin-evolution.flat,.margin-counter .kpi .margin-evolution.unavailable {color:#61788a}

/* Operational resolution, separate from catalogue matching warnings. */
.item-resolution-badge{display:inline-block;margin-top:5px;padding:3px 8px;border-radius:7px;background:#e4f4ed;color:#146345;font-size:12px;font-weight:650;line-height:1.45;white-space:normal}
.item-resolution-badge.closed{background:#eaf0f8;color:#355575}
.item-resolution-summary{padding:12px 16px;border-radius:8px;background:#eaf0f8;color:#355575;font-weight:650}
.orders-table.has-item-resolutions .amount-column{width:145px}
.item-resolution-money{overflow-wrap:anywhere;line-height:1.4;margin-top:5px}
.has-item-resolution-row .article-visual-slot,.has-item-resolution-row .article-sku-slot{height:104px}
.has-item-resolution-row .order-summary{white-space:normal}
/* Restock attention is distinct from local-stock preparation. */
.liberty-header-restock{position:relative}
.liberty-header-restock .liberty-restock-ring{stroke:#e5b600;stroke-width:3;fill:none;animation:liberty-restock-pulse 2s ease-in-out infinite}
.liberty-header-restock [data-restock-count]{position:absolute;right:-5px;top:-5px;border-radius:12px;background:#ffdf54;color:#493c00;padding:1px 5px;font-size:11px;font-weight:bold}
@keyframes liberty-restock-pulse{50%{stroke-opacity:.3}}
@media(prefers-reduced-motion:reduce){.liberty-header-restock .liberty-restock-ring{animation:none}}
/* Small secondary reset action, never styled as a primary teal button. */
button.purchase-date-clear {
  display:inline-flex !important; align-items:center; justify-content:center;
  width:24px !important; height:24px !important; min-width:0 !important;
  min-height:0 !important; padding:0 !important; margin:0 0 0 3px !important;
  background:transparent !important; color:#627b8d !important;
  border:0 !important; border-radius:4px !important;
  box-shadow:none !important; transform:none !important; vertical-align:middle;
}
button.purchase-date-clear[hidden] { display:none !important; }
button.purchase-date-clear:hover { color:#087f83 !important; background:#e7f1f3 !important; }
button.purchase-date-clear:focus-visible { outline:2px solid #087f83; outline-offset:2px; }
button.purchase-date-clear svg { width:12px !important; height:12px !important; }
