.retailer-page { max-width: 1160px; display: grid; gap: 28px; padding-top: clamp(28px, 5vw, 64px); }
.retailer-eyebrow { margin: 0 0 10px; color: var(--brand-plum); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.retailer-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; border: 1px solid var(--brand-line); border-radius: 24px; background: linear-gradient(120deg, var(--brand-rose), var(--brand-butter) 88%); padding: clamp(28px, 5vw, 54px); }
.retailer-hero h1 { max-width: 13ch; margin: 0; color: var(--brand-ink); font: 400 clamp(42px, 6vw, 76px)/.99 "Instrument Serif", Georgia, serif; letter-spacing: -.045em; }
.retailer-hero p:last-child { max-width: 52ch; margin: 20px 0 0; color: var(--brand-muted); font-size: 15px; line-height: 1.65; }
.retailer-add-button { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; border: 1px solid var(--brand-plum); border-radius: 8px; background: var(--brand-plum); padding: 10px 20px; color: #fff; font: 700 13px "DM Sans", sans-serif; white-space: nowrap; }
.retailer-add-button:hover:not(:disabled) { background: #342631; }
.retailer-add-button:disabled { cursor: not-allowed; opacity: .5; }
.retailer-preview-notice { margin: 0; border: 1px solid var(--brand-line); border-radius: 10px; background: var(--brand-butter); padding: 13px 16px; color: var(--brand-ink); font-size: 13px; line-height: 1.5; }
.retailer-preview-notice a { color: var(--brand-plum); font-weight: 750; text-decoration: underline; }
.retailer-directory { border: 1px solid var(--brand-line); border-radius: 20px; background: var(--brand-surface); padding: clamp(20px, 4vw, 36px); }
.retailer-directory h2, .retailer-explainer h2, .retailer-dialog h2 { margin: 0; font: 400 clamp(30px, 3vw, 42px)/1.05 "Instrument Serif", Georgia, serif; letter-spacing: -.025em; }
.retailer-tabs { display: flex; gap: 8px; margin: 0 0 18px; border-bottom: 1px solid var(--brand-line); }
.retailer-tabs button { display: flex; align-items: center; gap: 10px; min-height: 44px; border: 0; border-bottom: 2px solid transparent; background: transparent; padding: 10px 15px; color: var(--brand-muted); font: 650 13px "DM Sans", sans-serif; }
.retailer-tabs button[aria-selected="true"] { border-color: var(--brand-plum); color: var(--brand-plum); }
.retailer-load-status { margin: 12px 0; color: var(--brand-muted); font-size: 13px; }
.retailer-load-status:empty { display: none; }
.retailer-image-progress { margin: 0 0 14px; border: 1px solid var(--brand-line); border-radius: 9px; background: var(--brand-paper); padding: 10px 12px; color: var(--brand-ink); font-size: 12px; line-height: 1.5; }
.retailer-count-note { margin: 0 0 16px; color: var(--brand-muted); font-size: 12px; line-height: 1.55; }
.retailer-panel { overflow-x: auto; }
.retailer-table { width: 100%; min-width: 1060px; border-collapse: collapse; text-align: left; }
.retailer-table th { border-bottom: 1px solid var(--brand-line); padding: 12px 16px; color: var(--brand-muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.retailer-table td { vertical-align: top; border-bottom: 1px solid var(--brand-line); padding: 18px 16px; color: var(--brand-ink); font-size: 13px; }
.retailer-table tr:last-child td { border-bottom: 0; }
.retailer-store-name { display: block; font-weight: 750; overflow-wrap: anywhere; }
.retailer-store-domain, .retailer-store-audience { display: block; margin-top: 4px; color: var(--brand-muted); font-size: 11px; }
.retailer-status { display: inline-block; border-radius: 999px; background: var(--brand-sage); padding: 5px 9px; color: #31563b; font-size: 11px; font-weight: 750; white-space: nowrap; }
.retailer-status[data-status="throttled"] { background: var(--brand-butter); color: #725624; }
.retailer-status[data-status="failed"], .retailer-status[data-status="unsupported"] { background: var(--brand-rose); color: #843d46; }
.retailer-status[data-status="not_started"] { background: var(--brand-lilac); color: var(--brand-plum); }
.retailer-status[data-status="never"], .retailer-status[data-status="in_progress"] { background: var(--brand-lilac); color: var(--brand-plum); }
.retailer-status[data-status="checking"] { background: var(--brand-lilac); color: var(--brand-plum); }
.retailer-status[data-status="retry_waiting"], .retailer-status[data-status="failed"], .retailer-status[data-status="unsupported"] { background: var(--brand-rose); color: #843d46; }
.retailer-status[data-status="validating"], .retailer-status[data-status="indexing"], .retailer-status[data-status="embedding"], .retailer-status[data-status="quality_check"], .retailer-status[data-status="queued"] { background: var(--brand-lilac); color: var(--brand-plum); }
.retailer-status-detail { display: block; margin-top: 7px; color: var(--brand-muted); font-size: 11px; line-height: 1.45; }
.retailer-progress { display: grid; gap: 4px; margin: 10px 0 0; padding-left: 17px; color: var(--brand-muted); font-size: 11px; line-height: 1.4; }
.retailer-progress .is-done { color: #31563b; }
.retailer-progress .is-current { color: var(--brand-plum); font-weight: 800; }
.retailer-retry-button { margin-top: 9px; border: 1px solid var(--brand-line); border-radius: 6px; background: var(--brand-paper); padding: 5px 9px; color: var(--brand-plum); font: 700 11px "DM Sans", sans-serif; }
.retailer-retry-button:disabled { opacity: .5; }
.retailer-count { font-size: 19px; font-weight: 700; font-variant-numeric: tabular-nums; }
.retailer-image-count { display: block; font-size: 13px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.retailer-image-bar { display: block; width: 120px; height: 8px; margin-top: 8px; accent-color: var(--brand-plum); }
.retailer-field-summary { display: flex; flex-wrap: wrap; gap: 5px; max-width: 340px; }
.retailer-field { border: 1px solid var(--brand-line); border-radius: 5px; background: var(--brand-paper); padding: 4px 6px; color: var(--brand-muted); font-size: 10px; white-space: nowrap; }
.retailer-fields-detail { margin-top: 8px; color: var(--brand-plum); font-size: 11px; }
.retailer-fields-detail summary { cursor: pointer; font-weight: 700; }
.retailer-fields-detail ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 12px; min-width: 235px; margin: 9px 0 0; padding-left: 17px; color: var(--brand-muted); }
.retailer-explainer { display: flex; gap: 22px; align-items: flex-start; border: 1px solid var(--brand-line); border-radius: 20px; background: var(--brand-lilac); padding: clamp(22px, 4vw, 36px); }
.retailer-explainer-icon { display: grid; place-items: center; flex: 0 0 55px; height: 55px; border: 1px solid var(--brand-plum); border-radius: 50%; color: var(--brand-plum); font-size: 30px; transform: rotate(-12deg); }
.retailer-explainer p:last-child { max-width: 77ch; margin: 12px 0 0; color: var(--brand-muted); font-size: 13px; line-height: 1.65; }
.retailer-dialog { width: min(520px, calc(100vw - 28px)); max-height: min(90vh, 780px); border: 1px solid var(--brand-line); border-radius: 18px; background: var(--brand-surface); padding: clamp(24px, 4vw, 36px); color: var(--brand-ink); box-shadow: 0 24px 80px #34263148; }
.retailer-dialog::backdrop { background: #2119209c; }
.retailer-dialog form { display: grid; gap: 10px; }
.retailer-dialog-top { display: flex; justify-content: space-between; align-items: start; }
.retailer-dialog-close { width: 32px; height: 32px; border: 0; border-radius: 50%; background: var(--brand-rose); color: var(--brand-plum); font-size: 23px; line-height: 1; }
.retailer-dialog h2 + p { margin: 8px 0 13px; color: var(--brand-muted); font-size: 13px; line-height: 1.6; }
.retailer-dialog label { margin-top: 8px; font-size: 12px; font-weight: 750; }
.retailer-dialog :is(select, input) { min-height: 46px; width: 100%; border: 1px solid var(--brand-line); border-radius: 8px; background: white; padding: 10px 12px; color: var(--brand-ink); font: 13px "DM Sans", sans-serif; }
.retailer-dialog :is(select, input):focus-visible, .retailer-page button:focus-visible { outline: 2px solid var(--brand-plum); outline-offset: 2px; }
.retailer-url-note { margin: 0; color: var(--brand-muted); font-size: 11px; }
.retailer-submit-status { min-height: 1.4em; margin: 6px 0 0; color: #31563b; font-size: 12px; line-height: 1.5; }
.retailer-submit-status.is-error { color: #8b2e26; }
.retailer-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 10px; }
.retailer-cancel-button { min-height: 46px; border: 1px solid var(--brand-line); border-radius: 8px; background: transparent; padding: 10px 18px; color: var(--brand-plum); font: 700 13px "DM Sans", sans-serif; }
@media (max-width: 680px) {
  .retailer-page { padding-inline: 15px; }
  .retailer-hero { display: grid; align-items: start; }
  .retailer-hero h1 { max-width: 16ch; }
  .retailer-hero .retailer-add-button { justify-self: start; }
  .retailer-explainer { gap: 13px; }
  .retailer-explainer-icon { flex-basis: 42px; height: 42px; font-size: 22px; }
}
