:root {
  --ink: #14181f;
  --muted: #6b7280;
  --line: #e6e7eb;
  --paper: #f4f5f7;
  --panel: #ffffff;
  --green: #1f8a6d;
  --mint: #2fb79a;
  --amber: #f59e0b;
  --red: #e0453a;
  --blue: #2563a8;
  --price: #e4393c;
  --accent: #ff5000;
  --accent-ink: #ffffff;
  --shadow-card: 0 1px 3px rgba(16, 20, 24, 0.06), 0 1px 2px rgba(16, 20, 24, 0.04);
  --shadow-pop: 0 10px 30px rgba(16, 20, 24, 0.12);
  --radius: 12px;
}

/* ============================================================
   Simplified internal research workflow
   ============================================================ */
.research-coverage-drawer {
  border: 1px solid var(--research-line);
  border-top: 0;
  background: #fff;
}

.research-coverage-drawer > summary,
.research-more-tools > summary {
  list-style: none;
}

.research-coverage-drawer > summary::-webkit-details-marker,
.research-more-tools > summary::-webkit-details-marker {
  display: none;
}

.research-coverage-drawer > summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 9px 18px;
  color: #40515f;
  cursor: pointer;
}

.research-coverage-drawer > summary strong,
.research-coverage-drawer > summary small,
.research-more-tools > summary strong,
.research-more-tools > summary small {
  display: block;
}

.research-coverage-drawer > summary strong {
  font-size: 0.72rem;
}

.research-coverage-drawer > summary small {
  margin-top: 2px;
  color: #7a8791;
  font-size: 0.58rem;
}

.research-coverage-drawer > summary > span:last-child,
.research-more-tools > summary > span:last-child {
  color: #5f7485;
  font-size: 1rem;
  transition: transform 160ms ease;
}

.research-coverage-drawer[open] > summary > span:last-child,
.research-more-tools[open] > summary > span:last-child {
  transform: rotate(45deg);
}

.research-coverage-drawer .research-truth-note {
  border-right: 0;
  border-left: 0;
}

.research-coverage-drawer .review-acquisition-strip {
  margin: 12px 16px;
}

.research-coverage-drawer .research-metrics {
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
}

.research-tabs {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: visible;
}

.research-tabs > .research-primary-tab {
  display: grid;
  min-width: 0;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 10px 14px;
  text-align: left;
}

.research-primary-tab strong,
.research-primary-tab small {
  display: block;
}

.research-primary-tab strong {
  color: #2d3d49;
  font-size: 0.78rem;
}

.research-primary-tab small {
  margin-top: 2px;
  color: #7a8791;
  font-size: 0.55rem;
  font-weight: 700;
}

.research-tab-number {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid #b9c7d0;
  border-radius: 50%;
  color: #597083;
  font-size: 0.62rem;
}

.research-primary-tab[aria-pressed="true"] .research-tab-number {
  border-color: var(--research-blue);
  background: var(--research-blue);
  color: #fff;
}

.research-more-tools {
  position: relative;
  min-width: 0;
}

.research-more-tools > summary {
  display: flex;
  min-height: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  color: #62717e;
  cursor: pointer;
}

.research-more-tools > summary strong {
  color: #2d3d49;
  font-size: 0.78rem;
}

.research-more-tools > summary small {
  margin-top: 2px;
  color: #7a8791;
  font-size: 0.55rem;
}

.research-more-tools.is-active > summary {
  background: #fff;
  box-shadow: inset 0 -3px 0 var(--research-blue);
  color: var(--research-blue);
}

.research-more-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 1px);
  right: -1px;
  display: grid;
  width: min(520px, 82vw);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #cfd9e1;
  border-radius: 0 0 8px 8px;
  background: #fff;
  box-shadow: 0 14px 35px rgb(20 42 58 / 18%);
}

.research-tabs .research-more-menu button {
  min-width: 0;
  border: 0;
  border-right: 1px solid #e2e7eb;
  border-bottom: 1px solid #e2e7eb;
  padding: 11px 13px;
  background: #fff;
  color: #425462;
  text-align: left;
}

.research-tabs .research-more-menu button:hover,
.research-tabs .research-more-menu button[aria-pressed="true"] {
  background: #edf5f9;
  color: var(--research-blue);
  box-shadow: none;
}

.research-filter-drawer {
  margin: -5px 0 14px;
  border: 1px solid #dce3e8;
  border-radius: 7px;
  background: #f8fafb;
}

.research-filter-drawer > summary {
  padding: 9px 12px;
  color: #526676;
  cursor: pointer;
  font-size: 0.65rem;
  font-weight: 850;
}

.research-filter-drawer .research-filter-form {
  justify-content: flex-start;
  border-top: 1px solid #e1e6ea;
  padding: 12px;
}

#amazonDecisionSummary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.amazon-decision-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin-top: 3px;
}

.amazon-decision-actions > button,
.amazon-decision-actions details button,
.amazon-decision-actions .research-action-button {
  border: 1px solid #8fb3c8;
  border-radius: 5px;
  padding: 6px 10px;
  background: #f1f8fc;
  color: #174d6e;
  cursor: pointer;
  font-size: 0.58rem;
  font-weight: 850;
  text-decoration: none;
}

.amazon-decision-actions > button,
.amazon-decision-actions > .research-action-button {
  border-color: var(--research-blue);
  background: var(--research-blue);
  color: #fff;
}

.amazon-decision-actions button:disabled {
  border-color: #d2dae0;
  background: #f5f7f8;
  color: #7e8a93;
  cursor: default;
}

.amazon-decision-actions details {
  position: relative;
}

.amazon-decision-actions details > summary {
  color: #657784;
  cursor: pointer;
  font-size: 0.58rem;
  font-weight: 800;
}

.amazon-decision-actions details > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

@media (max-width: 760px) {
  .research-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .research-more-menu {
    right: 0;
    width: min(520px, calc(100vw - 28px));
    grid-template-columns: 1fr;
  }

  #amazonDecisionSummary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #amazonDecisionSummary > div {
    border-top: 0;
    border-right: 1px solid #d8e1e7;
  }

  #amazonDecisionSummary > div:last-child {
    border-right: 0;
  }
}

@media (max-width: 520px) {
  .research-primary-tab small,
  .research-more-tools > summary small,
  .research-coverage-drawer > summary small {
    display: none;
  }

  #amazonDecisionSummary {
    grid-template-columns: 1fr;
  }

  #amazonDecisionSummary > div,
  #amazonDecisionSummary > div:last-child {
    border-top: 1px solid #d8e1e7;
    border-right: 0;
  }

  #amazonDecisionSummary > div:first-child {
    border-top: 0;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

body[data-lang="zh"] [data-copy="en"],
body[data-lang="en"] [data-copy="zh"] {
  display: none !important;
}

a {
  color: var(--ink);
  text-decoration-color: var(--mint);
  text-underline-offset: 0.18em;
}

button,
input,
select,
textarea {
  font: inherit;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.site-header {
  position: sticky;
  z-index: 20;
  top: 0;
  background: var(--panel);
  border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow-card);
}

.header-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
  padding: 12px 0;
}

.brand img {
  display: block;
  width: 168px;
  height: auto;
}

/* Big header search bar — the single biggest "this is a store" signal */
.header-search {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 720px;
  width: 100%;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: var(--panel);
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.header-search:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(255, 80, 0, 0.12);
}

.header-search-icon {
  position: absolute;
  left: 16px;
  color: var(--muted);
  pointer-events: none;
}

.header-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  height: 44px;
  padding: 0 14px 0 46px;
  font-size: 0.98rem;
  background: transparent;
  color: var(--ink);
}

.header-search button {
  border: 0;
  height: 44px;
  padding: 0 26px;
  background: var(--accent);
  color: var(--accent-ink);
  font-weight: 800;
  font-size: 0.98rem;
  cursor: pointer;
  border-radius: 0 999px 999px 0;
}

.header-search button:hover {
  filter: brightness(0.95);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.header-link {
  position: relative;
  color: var(--ink);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.92rem;
  white-space: nowrap;
}

.header-link:hover {
  color: var(--accent);
}

.cart-count {
  position: absolute;
  top: -8px;
  right: -14px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 18px;
  text-align: center;
}

.header-nav {
  display: flex;
  gap: 26px;
  align-items: center;
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
  padding: 0 0 10px;
  font-size: 0.92rem;
  font-weight: 600;
  overflow-x: auto;
}

.header-nav a {
  color: var(--muted);
  text-decoration: none;
  white-space: nowrap;
  padding-bottom: 2px;
  border-bottom: 2px solid transparent;
}

.header-nav a:hover,
.header-nav a.nav-strong {
  color: var(--ink);
}

.header-nav a.nav-strong {
  border-bottom-color: var(--accent);
}

.lang-toggle {
  display: flex;
  gap: 2px;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
}

.lang-toggle button {
  border: 0;
  border-radius: 999px;
  padding: 5px 10px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 800;
}

.lang-toggle button[aria-pressed="true"] {
  background: var(--ink);
  color: #ffffff;
}

main {
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
}

.search-stage {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(340px, 0.85fr);
  gap: 32px;
  align-items: center;
  padding: 24px 0 20px;
}

.eyebrow {
  margin: 0 0 8px;
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 620px;
  margin-bottom: 12px;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.search-copy p:not(.eyebrow) {
  max-width: 620px;
  color: var(--muted);
  font-size: 1rem;
}

.search-box {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow-card);
}

.search-box label {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 800;
}

.search-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.search-line input {
  min-width: 0;
  height: 46px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0 14px;
  background: #fafafb;
  color: var(--ink);
  outline: none;
}

.search-line input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(255, 80, 0, 0.1);
}

.search-line button,
.sort-tabs button {
  border: 1px solid var(--accent);
  background: var(--accent);
  color: var(--accent-ink);
  cursor: pointer;
  font-weight: 800;
  border-radius: 10px;
}

.search-line button {
  height: 46px;
  padding: 0 20px;
}

.quick-searches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
}

.quick-searches button {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 13px;
  background: #ffffff;
  color: var(--ink);
  font-size: 0.86rem;
  cursor: pointer;
}

.quick-searches button:hover,
.quick-searches button.active {
  border-color: var(--amber);
  background: #fff4d8;
}

.search-suggestions {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.search-suggestions[hidden] {
  display: none;
}

.search-suggestions button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #ece9df;
  padding: 8px 10px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.search-suggestions button:last-child {
  border-bottom: 0;
}

.search-suggestions button span,
.discovery-list button span {
  color: var(--muted);
  font-size: 0.76rem;
}

.discovery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.discovery-grid section {
  min-width: 0;
}

.discovery-grid h3 {
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.discovery-list {
  display: grid;
  gap: 6px;
}

.discovery-list button {
  display: grid;
  gap: 3px;
  border: 1px solid var(--line);
  padding: 7px 8px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  font-size: 0.82rem;
  line-height: 1.25;
}

.discovery-list button:hover {
  border-color: var(--green);
}

.result-layout {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  gap: 34px;
  padding: 28px 0 46px;
  border-top: 1px solid var(--line);
}

.scan-panel {
  position: sticky;
  top: 84px;
  align-self: start;
  padding-right: 22px;
  border-right: 1px solid var(--line);
}

.scan-panel h2,
.result-toolbar h2,
.signal-section h2,
.pipeline h2 {
  margin-bottom: 14px;
  font-size: 1.55rem;
  line-height: 1.18;
}

.scan-panel dl,
.scan-panel dd {
  margin: 0;
}

.scan-panel dl > div {
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.scan-panel dt {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scan-panel dd {
  color: var(--ink);
  font-weight: 650;
}

.account-panel {
  margin: 0;
  padding: 0;
  border: 0;
}

.account-panel h2 {
  margin: 3px 0 8px;
  font-size: clamp(1.55rem, 4vw, 2rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.account-status {
  min-height: 2.7em;
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.account-status[data-state="success"] {
  min-height: 0;
  border: 1px solid #9ccdb2;
  border-radius: 10px;
  padding: 12px 13px;
  background: #edf8f1;
  color: #195c39;
  font-weight: 800;
}

.auth-registration-note {
  align-items: center;
  background: #eef8f2;
  border: 1px solid #bdddc9;
  border-radius: 10px;
  color: #17603a;
  display: none;
  font-size: 0.88rem;
  font-weight: 700;
  gap: 0.55rem;
  line-height: 1.4;
  margin: 0;
  padding: 0.7rem 0.8rem;
}

.auth-registration-note:not([hidden]) {
  display: flex;
}

.auth-registration-note > span[aria-hidden="true"] {
  align-items: center;
  background: #237a4b;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 1.25rem;
  height: 1.25rem;
  justify-content: center;
}

.account-form {
  display: grid;
  gap: 13px;
}

.account-recovery {
  display: grid;
  gap: 12px;
}

.account-settings {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.notification-preferences {
  display: grid;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: #fff;
}

.notification-preferences strong {
  font-size: 0.86rem;
}

.account-form input,
.account-recovery input {
  width: 100%;
  min-width: 0;
  height: 38px;
  border: 1px solid var(--line);
  padding: 0 9px;
  background: #fbfaf7;
  color: var(--ink);
}

.account-form div,
.account-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.account-form button,
.account-actions button,
.account-recovery button {
  border: 1px solid var(--ink);
  padding: 7px 9px;
  background: var(--ink);
  color: #ffffff;
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 850;
}

.account-actions .account-continue {
  flex: 1 1 100%;
  min-height: 44px;
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}

.account-form button[type="button"],
.account-actions button:last-child,
.account-recovery button:nth-of-type(2) {
  border-color: var(--line);
  background: transparent;
  color: var(--ink);
}

.source-status h3,
.alerts-list h3,
.notifications-list h3,
.review-history-list h3,
.feedback-history-list h3,
.cart-panel h3,
.orders-panel h3,
.addresses-panel h3,
.returns-panel h3,
.disputes-panel h3,
.support-panel h3,
.seller-panel h3,
.ops-panel h3 {
  margin: 0 0 8px;
  font-size: 0.95rem;
}

.source-status p,
.alerts-list p,
.notifications-list p,
.review-history-list p,
.feedback-history-list p,
.cart-panel p,
.orders-panel p,
.addresses-panel p,
.returns-panel p,
.disputes-panel p,
.support-panel p,
.seller-panel p,
.ops-panel p {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.86rem;
}

.source-rows {
  display: grid;
  gap: 6px;
}

.source-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 0;
  border-top: 1px solid #ece9df;
  font-size: 0.84rem;
}

.source-row strong {
  color: var(--green);
}

.alerts-list,
.collection-targets-list,
.saved-products-list,
.review-history-list,
.feedback-history-list,
.notifications-list {
  margin-top: 14px;
}

.alerts-list button {
  width: 100%;
  border: 0;
  border-top: 1px solid #ece9df;
  padding: 9px 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.alerts-list button strong,
.alerts-list button span {
  display: block;
}

.alerts-list button strong {
  color: var(--green);
  font-size: 0.74rem;
  text-transform: uppercase;
}

.alerts-list button span {
  color: var(--muted);
  font-size: 0.84rem;
}

.notifications-list {
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.notifications-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.notifications-header button {
  border: 1px solid var(--line);
  padding: 5px 8px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 800;
}

.notification-row.unread {
  border-left: 3px solid var(--green);
  padding-left: 8px;
}

.collection-target-row.disabled {
  opacity: 0.58;
}

.cart-panel {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.cart-panel h4 {
  margin-top: 12px;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.cart-group {
  border-top: 1px solid #ece9df;
}

.cart-group-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  padding-top: 8px;
  font-size: 0.78rem;
}

.cart-group-heading span {
  color: var(--muted);
}

.cart-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: start;
  padding: 9px 0;
  border-top: 1px solid #ece9df;
  font-size: 0.84rem;
}

.cart-row.saved {
  opacity: 0.78;
}

.cart-row strong,
.cart-row span {
  display: block;
}

.cart-row span {
  color: var(--muted);
}

.cart-row small {
  display: block;
}

.old-price {
  text-decoration: line-through;
}

.alternate-offers {
  display: grid;
  gap: 5px;
  margin-top: 7px;
}

.alternate-offer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
}

.alternate-offer span {
  font-size: 0.76rem;
}

.cart-row button {
  border: 1px solid var(--line);
  padding: 4px 6px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 850;
}

.cart-quantity {
  display: grid;
  gap: 4px;
  justify-items: end;
}

.cart-quantity input {
  width: 76px;
  min-width: 0;
  border: 1px solid var(--line);
  padding: 4px 6px;
  background: #fbfaf7;
  color: var(--ink);
  text-align: right;
  font-size: 0.78rem;
}

.cart-actions {
  min-width: 112px;
}

.cart-total {
  border-top: 1px solid var(--line);
  padding-top: 8px;
  color: var(--ink) !important;
  font-weight: 900;
  text-align: right;
}

.cart-export-actions {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 10px;
  margin-top: 8px;
  font-size: 0.78rem;
  color: var(--muted);
}

.cart-export-actions button {
  border: 1px solid var(--ink);
  padding: 7px 9px;
  background: #ffffff;
  color: var(--ink);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 850;
}

.cart-export {
  display: grid;
  gap: 10px;
  border-top: 1px solid #ece9df;
  padding-top: 10px;
  margin-top: 10px;
}

.cart-export-summary,
.cart-export-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}

.cart-export-summary span,
.cart-export-row span,
.cart-export-row small {
  color: var(--muted);
}

.cart-export-warnings {
  margin: 0;
  padding-left: 18px;
  color: #8a3c24;
  font-size: 0.78rem;
}

.cart-export-groups {
  display: grid;
  gap: 8px;
}

.cart-export-group {
  border-top: 1px solid #ece9df;
}

.cart-export-row {
  padding: 8px 0;
  border-top: 1px solid #f3f0e8;
  font-size: 0.8rem;
}

.cart-export-row a {
  color: var(--green);
  font-weight: 850;
  text-decoration: none;
}

.cart-export-text {
  display: grid;
  gap: 5px;
  font-size: 0.78rem;
  color: var(--muted);
}

.cart-export-text textarea {
  width: 100%;
  min-height: 130px;
  border: 1px solid var(--line);
  padding: 8px;
  background: #fbfaf7;
  color: var(--ink);
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  resize: vertical;
}

.checkout-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) minmax(140px, 0.9fr) minmax(140px, 0.8fr) auto;
  gap: 10px;
  align-items: end;
}

.checkout-controls label {
  display: grid;
  gap: 5px;
  font-size: 0.78rem;
  color: var(--muted);
}

.checkout-controls input,
.checkout-controls select {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  padding: 7px 9px;
  background: #fbfaf7;
  color: var(--ink);
  font: inherit;
}

.checkout-button {
  width: 100%;
  border: 1px solid var(--ink);
  padding: 7px 9px;
  background: var(--ink);
  color: #ffffff;
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 850;
}

.orders-panel {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.addresses-panel,
.returns-panel,
.disputes-panel,
.support-panel,
.seller-panel {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.order-row,
.account-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
  padding: 9px 0;
  border-top: 1px solid #ece9df;
  font-size: 0.84rem;
}

.order-row strong,
.order-row span,
.account-row strong,
.account-row span {
  display: block;
}

.tracking-summary {
  margin-top: 5px;
  display: grid;
  gap: 3px;
}

.tracking-summary span,
.tracking-line {
  color: var(--muted);
  font-size: 0.78rem;
}

.order-row span,
.account-row span {
  color: var(--muted);
}

.account-row small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.76rem;
}

.row-actions {
  display: grid;
  min-width: min(280px, 38vw);
  gap: 5px;
  justify-items: end;
}

.row-actions select,
.row-actions input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  padding: 5px 7px;
  background: #fbfaf7;
  color: var(--ink);
  font-size: 0.78rem;
}

.row-actions button {
  width: 100%;
  border: 1px solid var(--ink);
  padding: 6px 8px;
  background: var(--ink);
  color: #ffffff;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 850;
}

.account-row > button {
  border: 1px solid var(--ink);
  padding: 6px 8px;
  background: var(--ink);
  color: #ffffff;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 850;
}

.account-row > .saved-product-open {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.row-actions.cart-actions {
  min-width: 112px;
}

.row-actions.order-actions {
  min-width: 120px;
}

.seller-order-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.seller-order-actions strong,
.seller-order-actions select,
.seller-order-actions button {
  grid-column: 1 / -1;
}

.mini-form {
  display: grid;
  gap: 7px;
  margin-top: 8px;
}

.mini-form input,
.mini-form select,
.mini-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  padding: 7px 8px;
  background: #fbfaf7;
  color: var(--ink);
  font-size: 0.84rem;
}

.mini-form label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 0.84rem;
}

.mini-form input[type="checkbox"] {
  width: auto;
  min-width: auto;
}

.mini-form button,
.panel-action {
  border: 1px solid var(--ink);
  padding: 7px 9px;
  background: var(--ink);
  color: #ffffff;
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 850;
}

.panel-action {
  width: 100%;
  margin-top: 8px;
}

.ops-panel {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.ops-head {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.ops-head button,
.moderation-row button {
  border: 1px solid var(--line);
  padding: 4px 6px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 850;
}

.ops-panel section {
  padding: 10px 0;
  border-top: 1px solid #ece9df;
}

.ops-panel section:first-of-type {
  border-top: 0;
}

.ops-panel h4 {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ops-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 8px;
  width: 100%;
  padding: 6px 0;
  border: 0;
  border-top: 1px solid #f1eee6;
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.ops-row:first-of-type {
  border-top: 0;
}

.ops-row span,
.ops-row small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ops-row span {
  font-size: 0.84rem;
  font-weight: 800;
}

.ops-row strong {
  color: var(--green);
  font-size: 0.82rem;
}

.ops-row small {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 0.76rem;
}

.ops-button {
  cursor: pointer;
}

.moderation-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.moderation-row button {
  grid-column: 1 / -1;
  width: max-content;
}

.result-toolbar {
  display: flex;
  gap: 18px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 12px;
}

.sort-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.sort-tabs button {
  border-color: var(--line);
  padding: 8px 10px;
  background: transparent;
  color: var(--muted);
  font-size: 0.86rem;
}

.sort-tabs button.active {
  border-color: var(--ink);
  background: var(--ink);
  color: #ffffff;
}

.search-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
  padding: 0 0 14px;
}

.search-filters select,
.search-filters input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  background: #fbfaf7;
  color: var(--ink);
  padding: 8px 9px;
  font-size: 0.82rem;
}

.search-filters label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 0.82rem;
  white-space: nowrap;
}

.search-filters button {
  border: 1px solid var(--ink);
  padding: 8px 12px;
  background: var(--ink);
  color: #ffffff;
  cursor: pointer;
  font-weight: 850;
}

.results-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(216px, 1fr));
  gap: 18px;
  padding-top: 18px;
}

.result-lane {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  min-width: 0;
}

.result-lane + .result-lane {
  margin-top: 20px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

.result-lane > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.result-lane > header div {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-weight: 800;
}

.result-lane > header strong {
  color: var(--muted);
  font-size: 0.85rem;
}

.result-lane > header p {
  max-width: 64ch;
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  text-align: right;
}

.result-lane-grid,
.discovery-candidate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(216px, 1fr));
  gap: 18px;
}

.discovery-candidate-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.discovery-candidate {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d7d9dd;
  border-radius: 8px;
  background: #ffffff;
}

.candidate-media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f2f3f4;
}

.candidate-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.candidate-media img.img-missing { display: none; }

.candidate-media > span {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 4px 7px;
  border-radius: 4px;
  background: #fff4cf;
  color: #705300;
  font-size: 0.72rem;
  font-weight: 800;
}

.candidate-image-missing {
  display: grid;
  height: 100%;
  place-items: center;
  color: var(--muted);
  font-size: 0.82rem;
}

.candidate-body {
  display: grid;
  gap: 7px;
  padding: 12px;
}

.candidate-body small { color: var(--muted); }

.candidate-body h3 {
  min-height: 2.6em;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 0.96rem;
  line-height: 1.3;
}

.candidate-body > strong {
  color: var(--price, #e4393c);
  font-size: 1.25rem;
}

.candidate-ranking-summary {
  display: grid;
  gap: 2px;
  border-left: 3px solid #d97706;
  padding-left: 9px;
}

.candidate-ranking-summary strong {
  color: #1f2937;
  font-size: 0.92rem;
}

.candidate-ranking-summary span {
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.35;
}

.candidate-market-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.candidate-market-chips span {
  border: 1px solid #d9dee3;
  border-radius: 999px;
  padding: 3px 7px;
  background: #f8fafb;
  color: #4b5563;
  font-size: 0.7rem;
  font-weight: 750;
}

.candidate-observations {
  border-top: 1px solid #eceef0;
  border-bottom: 1px solid #eceef0;
  padding: 7px 0;
}

.candidate-observations summary {
  color: #374151;
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 800;
}

.candidate-observations ul {
  display: grid;
  gap: 4px;
  margin: 7px 0 0;
  padding: 0;
  list-style: none;
}

.candidate-observations a {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #374151;
  font-size: 0.72rem;
  text-decoration: none;
}

.candidate-observations a:hover {
  color: #075e9b;
}

.discovery-candidate.is-ranking-signal .candidate-body .candidate-seller-note {
  min-height: 0;
  color: #6b7280;
}

.candidate-body p {
  min-height: 3em;
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.candidate-seller {
  display: grid;
  gap: 2px;
  border-left: 3px solid #9ca3af;
  padding-left: 8px;
  color: #374151;
}

.candidate-seller.is-known { border-left-color: #16803c; }

.candidate-seller strong,
.candidate-seller span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.76rem;
  line-height: 1.35;
}

.candidate-seller span { color: var(--muted); }

.candidate-body .candidate-seller-note {
  min-height: 0;
  color: #7c2d12;
}

.candidate-body footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid #eceef0;
}

.candidate-body footer span { color: var(--muted); font-size: 0.72rem; }

.candidate-body footer a {
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 800;
}

@media (max-width: 680px) {
  .result-lane > header { align-items: start; flex-direction: column; gap: 4px; }
  .result-lane > header p { text-align: left; }
  .result-lane-grid,
  .discovery-candidate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}

.commercial-scale-quotes {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
  padding: 13px;
  border: 1px solid #c8d8df;
  border-radius: 12px;
  background: #f7fafb;
}
.commercial-scale-quotes header { display: flex; justify-content: space-between; gap: 12px; }
.commercial-scale-quotes header small,
.commercial-scale-quotes p { color: #61717c; }
.commercial-scale-quotes > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.commercial-scale-quotes article { display: grid; gap: 3px; padding: 10px; border-radius: 9px; background: #fff; }
.commercial-scale-quotes p { margin: 0; font-size: .82rem; }

/* --- Commerce product card --- */
.product-card {
  display: flex;
  flex-direction: column;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}

.product-card:hover,
.product-card:focus-visible {
  box-shadow: 0 10px 26px rgba(16, 20, 24, 0.13);
  transform: translateY(-2px);
  border-color: #c9c8bf;
  outline: none;
}

.card-media {
  position: relative;
  aspect-ratio: 1 / 1;
  background: #f0efe9;
}

.card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.card-media img.img-missing {
  opacity: 0;
}

.card-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
  color: #fff;
  background: rgba(16, 20, 24, 0.8);
}

.card-badge.ai { background: var(--red); }
.card-badge.stale { background: var(--amber); color: #3a2a00; left: auto; right: 8px; }

.card-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 13px 14px;
}

.card-cat {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--muted);
}

.card-title {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.32;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}

.card-price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.card-price .price-best {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--price, #e4393c);
  line-height: 1;
}

.card-price .price-fair {
  font-size: 0.82rem;
  color: var(--muted);
}

.card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 0.8rem;
  color: var(--muted);
}

.card-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

.risk-chip {
  font-size: 0.74rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 6px;
  line-height: 1.3;
  background: rgba(255, 178, 56, 0.16);
  color: #8a5a00;
  border: 1px solid rgba(255, 178, 56, 0.4);
}

.risk-chip.bad {
  background: rgba(216, 76, 61, 0.12);
  color: #a3271a;
  border-color: rgba(216, 76, 61, 0.35);
}

.results-empty {
  grid-column: 1 / -1;
  padding: 40px 24px;
  text-align: center;
  border: 1px dashed var(--line);
  border-radius: 12px;
  background: var(--panel);
}

.results-empty h3 {
  margin: 0 0 8px;
  font-size: 1.15rem;
}

.results-empty p {
  margin: 0 auto 8px;
  max-width: 46ch;
  color: var(--muted);
}

.results-empty .hint code {
  background: #eceae2;
  padding: 2px 6px;
  border-radius: 5px;
  font-size: 0.82rem;
}

.results-empty.degraded {
  border-color: rgba(216, 76, 61, 0.4);
}

.guided-product-start {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 28px clamp(18px, 4vw, 48px) 42px;
  text-align: left;
}

.guided-product-start h3 {
  margin: 4px 0 10px;
  font-size: clamp(1.4rem, 3vw, 2rem);
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.guided-product-start > p:not(.eyebrow) {
  max-width: 54ch;
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
}

.guided-product-examples {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.guided-product-examples button,
.decision-next-actions button {
  border: 1px solid #cbd5dd;
  border-radius: 7px;
  padding: 9px 13px;
  background: #fff;
  color: #17212b;
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 800;
}

.guided-product-examples button:hover,
.decision-next-actions button:hover {
  border-color: #1a7952;
  color: #126340;
}

.guided-product-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 30px 0 0;
  border-top: 1px solid var(--line);
  padding: 18px 0 0;
  list-style: none;
}

.guided-product-steps li {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #52606b;
  font-size: 0.8rem;
}

.guided-product-steps strong {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #edf5f0;
  color: #126340;
  font-size: 0.72rem;
}

#results.is-guided-start .market-strip,
#results.is-guided-start .category-bar,
#results.is-guided-start .media-trend-section,
#results.is-guided-start .trend-rail,
#results.is-guided-start .result-toolbar,
#results.is-guided-start .data-mode-banner,
#results.is-guided-start .search-filters,
#results.is-guided-start .filters-toggle,
#results.is-guided-start .value-map-section,
#results.is-guided-start .efficiency-explorer {
  display: none !important;
}

/* A product query is a focused decision task, not a portal homepage. */
#results.has-product-query .market-strip,
#results.has-product-query .category-bar,
#results.has-product-query .media-trend-section,
#results.has-product-query .trend-rail,
#results.has-product-query .efficiency-explorer {
  display: none !important;
}

.link-button {
  background: none;
  border: none;
  padding: 0;
  color: var(--brand, #1f7a4d);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.link-button:hover {
  opacity: 0.8;
}

.data-mode-banner {
  display: grid;
  gap: 4px;
  margin: 0 0 12px;
  border: 1px solid var(--line);
  border-left-width: 4px;
  border-radius: 8px;
  padding: 11px 13px;
  background: #fff;
  color: var(--ink);
}

.data-mode-banner[hidden] {
  display: none;
}

.data-mode-banner strong {
  font-size: 0.92rem;
}

.data-mode-banner span {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.data-mode-banner.danger {
  border-left-color: #d84c3d;
  background: #fff7f5;
}

.data-mode-banner.warning {
  border-left-color: #d68b00;
  background: #fff9eb;
}

.data-mode-banner.neutral {
  border-left-color: var(--green);
  background: #f5faf6;
}

/* Legacy list row (kept for any non-migrated views) */
.result-row {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.result-row img {
  width: 112px;
  height: 88px;
  object-fit: cover;
}

.result-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
}

.result-head h3 {
  margin-bottom: 5px;
  font-size: 1.2rem;
  line-height: 1.25;
}

.cluster-category {
  margin-bottom: 5px;
  color: #14766c;
  font-size: 0.78rem;
  font-weight: 850;
}

.cluster-meta,
.offer-source,
.risk-note,
.mini-label,
.freshness-line {
  color: var(--muted);
  font-size: 0.88rem;
}

.price-block {
  text-align: right;
}

.price-block strong {
  display: block;
  font-size: 1.25rem;
}

.confidence {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 5px;
  color: var(--green);
  font-size: 0.84rem;
  font-weight: 900;
}

.freshness-line {
  display: block;
  margin-top: 5px;
}

.offer-stale,
.stale-warning {
  display: inline-flex;
  width: fit-content;
  margin-top: 5px;
  border: 1px solid #e3b341;
  padding: 2px 5px;
  background: #fff7df;
  color: #7a4b00;
  font-size: 0.72rem;
  font-weight: 900;
}

.confidence::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  content: "";
}

.detail-button,
.detail-close {
  border: 1px solid var(--line);
  margin-top: 9px;
  padding: 6px 8px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 900;
}

.result-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 230px;
  gap: 18px;
  margin-top: 16px;
}

.offers {
  display: grid;
  gap: 7px;
}

.offer {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 6px 0;
  border-top: 1px solid #ece9df;
}

.offer:first-child {
  border-top: 0;
}

.source-badge {
  display: inline-block;
  width: max-content;
  min-width: 58px;
  padding: 2px 7px;
  background: #efeae0;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 900;
}

.offer-price {
  font-weight: 900;
}

.price-intel {
  display: inline-flex;
  width: fit-content;
  gap: 5px;
  align-items: center;
  margin-top: 4px;
  border: 1px solid var(--line);
  padding: 2px 6px;
  background: #f7f4ed;
  color: var(--ink);
  font-size: 0.72rem;
  font-weight: 850;
}

.price-intel .mini-label,
.price-intel small {
  color: inherit;
  font-size: 0.68rem;
  font-weight: 800;
  opacity: 0.72;
}

.price-intel.ok {
  border-color: #bcd8cd;
  background: #edf7f1;
  color: #126247;
}

.price-intel.warn {
  border-color: #e3b341;
  background: #fff7df;
  color: #7a4b00;
}

.price-intel.bad {
  border-color: #df9888;
  background: #fff0ec;
  color: #96351f;
}

.attribute-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.attribute-chip {
  display: inline-flex;
  gap: 5px;
  align-items: baseline;
  border: 1px solid #e2ded2;
  padding: 3px 7px;
  background: #faf7ef;
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 850;
}

.attribute-chip small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.attribute-chip strong {
  font-size: 0.78rem;
}

.signals {
  display: grid;
  gap: 8px;
  align-content: start;
}

.signal-meter {
  display: grid;
  gap: 5px;
}

.meter-track {
  height: 7px;
  background: #e3e0d7;
}

.meter-fill {
  display: block;
  height: 100%;
  background: var(--green);
}

.meter-fill.warn {
  background: var(--amber);
}

.meter-fill.bad {
  background: var(--red);
}

.flag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

.flag-list li {
  padding: 3px 7px;
  background: #f1eadc;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 850;
}

.flag-list li.bad {
  background: #ffe0da;
  color: #8f2419;
}

.detail-panel {
  margin-top: 24px;
  padding: 24px 0;
  border-top: 2px solid var(--ink);
}

.detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.detail-head h2 {
  margin-bottom: 8px;
  font-size: 1.55rem;
}

.detail-head p:not(.eyebrow) {
  max-width: 780px;
  color: var(--muted);
}

.detail-close {
  margin-top: 0;
}

.detail-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 22px;
}

.detail-table-wrap {
  overflow-x: auto;
  border-top: 1px solid var(--line);
}

.detail-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.detail-table th,
.detail-table td {
  border-bottom: 1px solid var(--line);
  padding: 9px 8px;
  text-align: left;
  vertical-align: top;
}

.detail-table th {
  color: var(--muted);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.detail-table td span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.82rem;
}

.seller-link-button,
.seller-listing-button {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--green);
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: var(--mint);
  text-underline-offset: 0.18em;
}

.seller-link-button {
  display: block;
  margin-top: 3px;
}

.seller-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.seller-summary-grid div {
  padding: 12px 0;
  border-right: 1px solid #ece9df;
}

.seller-summary-grid div:last-child {
  border-right: 0;
}

.seller-summary-grid strong,
.seller-summary-grid span {
  display: block;
}

.seller-summary-grid strong {
  font-size: 1.18rem;
}

.seller-summary-grid span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.seller-reasons {
  margin-bottom: 16px;
}

.recommendation-section {
  margin-top: 22px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.recommendation-section h3 {
  margin-bottom: 10px;
  font-size: 1rem;
}

.recommendation-list {
  display: grid;
  gap: 10px;
}

.recommendation-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border-top: 1px solid #ece9df;
  padding-top: 10px;
}

.recommendation-card:first-child {
  border-top: 0;
  padding-top: 0;
}

.recommendation-card img {
  width: 72px;
  height: 56px;
  object-fit: cover;
  background: #f5f1e8;
}

.recommendation-card strong,
.recommendation-card p,
.recommendation-card small {
  display: block;
}

.recommendation-card strong {
  margin-top: 5px;
  line-height: 1.25;
}

.recommendation-card p {
  margin: 3px 0;
  color: var(--muted);
  font-size: 0.86rem;
}

.recommendation-card small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.evidence-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.community-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.evidence-grid section,
.community-grid section,
.community-grid form {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.evidence-grid h3,
.community-grid h3 {
  margin-bottom: 8px;
  font-size: 1rem;
}

.evidence-grid ul,
.review-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.evidence-grid li,
.review-list li {
  display: grid;
  gap: 2px;
  color: var(--muted);
  font-size: 0.84rem;
}

.evidence-grid .image-evidence-item {
  grid-template-columns: 48px 1fr;
  column-gap: 10px;
  align-items: center;
}

.evidence-grid .image-evidence-item strong,
.evidence-grid .image-evidence-item span {
  grid-column: 2;
}

.evidence-thumb {
  grid-row: 1 / span 2;
  width: 48px;
  height: 48px;
  border: 1px solid var(--line);
  object-fit: contain;
  background: #fff;
}

.evidence-grid li strong,
.review-list li strong {
  color: var(--ink);
}

.review-list small {
  color: var(--muted);
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

.tag-row span {
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  padding: 2px 6px;
}

.review-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

.review-photos a {
  display: block;
  width: 54px;
  height: 54px;
  border: 1px solid var(--line);
  background: #fbfaf7;
  overflow: hidden;
}

.review-photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.review-helpful-button {
  justify-self: start;
  margin-top: 4px;
  border: 1px solid var(--line);
  padding: 5px 8px;
  background: #fbfaf7;
  color: var(--ink);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 800;
}

.review-form,
.feedback-form {
  display: grid;
  gap: 8px;
  align-content: start;
}

.review-form input,
.review-form select,
.review-form textarea,
.feedback-form input,
.feedback-form select,
.feedback-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  padding: 8px;
  background: #fbfaf7;
  color: var(--ink);
}

.review-form label {
  display: flex;
  gap: 6px;
  align-items: center;
  color: var(--muted);
  font-size: 0.86rem;
}

.review-form label input {
  width: auto;
}

.review-form button,
.feedback-form button {
  border: 1px solid var(--ink);
  padding: 8px 10px;
  background: var(--ink);
  color: #ffffff;
  cursor: pointer;
  font-weight: 850;
}

.signal-section,
.pipeline {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  gap: 38px;
  padding: 44px 0;
  border-top: 1px solid var(--line);
}

.signal-list {
  display: grid;
  gap: 18px;
}

.signal-list article {
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.signal-list h3 {
  margin-bottom: 6px;
}

.signal-list p,
.pipeline li {
  color: var(--muted);
}

.pipeline ol {
  display: grid;
  gap: 14px;
  margin: 0;
  padding-left: 22px;
  font-weight: 700;
}

footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
  padding: 26px 0 36px;
  border-top: 1px solid var(--line);
  color: var(--muted);
}

footer p {
  margin: 0;
}

footer .data-attribution {
  flex-basis: 100%;
  color: #7a838e;
  font-size: 0.62rem;
  line-height: 1.5;
}

footer .data-attribution a {
  color: inherit;
}

@media (max-width: 900px) {
  .site-header,
  .search-stage,
  .result-layout,
  .signal-section,
  .pipeline {
    grid-template-columns: 1fr;
  }

  .site-header {
    position: static;
    gap: 10px;
  }

  nav {
    justify-content: flex-start;
  }

  .scan-panel {
    position: static;
    padding-right: 0;
    border-right: 0;
  }

  .result-grid {
    grid-template-columns: 1fr;
  }

  .result-toolbar {
    align-items: start;
    flex-direction: column;
  }

  .search-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .discovery-grid {
    grid-template-columns: 1fr;
  }

  .detail-metrics,
  .seller-summary-grid,
  .evidence-grid,
  .community-grid {
    grid-template-columns: 1fr;
  }

  .recommendation-card {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .recommendation-card img {
    width: 56px;
    height: 48px;
  }

  .recommendation-card .detail-button {
    grid-column: 2;
    justify-self: start;
  }

  .seller-summary-grid div {
    border-right: 0;
    border-bottom: 1px solid #ece9df;
  }

  .seller-summary-grid div:last-child {
    border-bottom: 0;
  }

  .checkout-controls {
    grid-template-columns: 1fr;
  }

  .cart-export-actions,
  .cart-export-summary,
  .cart-export-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  main,
  footer {
    width: min(100% - 28px, 1240px);
  }

  .site-header {
    padding: 12px 14px;
  }

  .brand img {
    width: 170px;
  }

  .search-stage {
    padding-top: 30px;
  }

  .search-box {
    padding: 14px;
  }

  .search-line {
    grid-template-columns: 1fr;
  }

  .search-filters {
    grid-template-columns: 1fr;
  }

  .result-row {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
  }

  .result-row img {
    width: 82px;
    height: 70px;
  }

  .result-head {
    grid-template-columns: 1fr;
  }

  .price-block {
    text-align: left;
  }

  .offer {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .offer-price {
    grid-column: 2;
  }

  footer {
    display: grid;
  }
}

/* ============================================================
   Search-first landing (spec §5.2: working search, not a hero)
   ============================================================ */
.search-stage {
  grid-template-columns: 1fr;
  gap: 16px;
  padding: 16px 0 8px;
  align-items: stretch;
}
.search-copy {
  display: none; /* header carries the brand + search; lead with results */
}
.search-box {
  max-width: none;
}
/* Slim, dashboard-y scan explainer -> keep account, drop the dev copy */
.scan-panel > dl,
.scan-panel > h2:first-of-type {
  display: none;
}
/* Loading state for the results grid */
.results-loading {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(216px, 1fr));
  gap: 18px;
}

.search-loading-status {
  grid-column: 1 / -1;
  padding: 12px 0;
  color: var(--muted);
  font-weight: 700;
}
.results-loading .skeleton {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: var(--panel);
}
.results-loading .skeleton .sk-media {
  aspect-ratio: 1 / 1;
  background: linear-gradient(100deg, #eee 30%, #f6f6f6 50%, #eee 70%);
  background-size: 200% 100%;
  animation: sk 1.2s ease-in-out infinite;
}
.results-loading .skeleton .sk-line {
  height: 12px;
  margin: 12px 13px;
  border-radius: 6px;
  background: linear-gradient(100deg, #eee 30%, #f6f6f6 50%, #eee 70%);
  background-size: 200% 100%;
  animation: sk 1.2s ease-in-out infinite;
}
@keyframes sk { to { background-position: -200% 0; } }

/* ============================================================
   Modal popups for product / cart / account (no page scrolling)
   ============================================================ */
.scan-panel { display: none; }              /* account+cart moved into modals; hide dev aside */
.result-layout { grid-template-columns: 1fr; }
.results-main { min-width: 0; }

.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 16px;
  background: rgba(16, 20, 24, 0.55);
  backdrop-filter: blur(2px);
  overflow-y: auto;
}
.modal-overlay[hidden] { display: none; }

.modal-dialog {
  position: relative;
  width: 100%;
  max-width: 920px;
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  background: var(--panel);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(16, 20, 24, 0.35);
  padding: 24px 26px 30px;
  animation: modalIn 0.16s ease;
}
.modal-overlay[data-modal="account"] .modal-dialog { max-width: 460px; }
.modal-overlay[data-modal="cart"] .modal-dialog { max-width: 720px; }

@keyframes modalIn {
  from { transform: translateY(12px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.modal-close {
  position: sticky;
  top: -8px;
  float: right;
  margin: -8px -8px 0 0;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: #f0efe9;
  color: var(--ink);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
.modal-close:hover { background: var(--accent); color: #fff; }

body.modal-open { overflow: hidden; }

details:not([open]) > :not(summary) {
  display: none !important;
}

/* The modalized panels are always block inside their dialog */
#detailPanel[hidden], #cartPanel[hidden], #account[hidden] { display: block; }

/* ============================================================
   Store homepage: lead with a category bar + product grid
   (Amazon/Taobao-style), not a wall of text lists + filters.
   ============================================================ */
.search-stage { display: grid !important; }
.search-stage[hidden] { display: none !important; }
.search-stage .discovery-grid { display: none; }
.result-layout { padding-top: 6px; }

/* Official recall check: one action, then evidence ordered by urgency. */
.safety-checker {
  margin: 10px 0 14px;
  padding: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.safety-checker-summary {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 10px 2px;
  color: #17212b;
  cursor: pointer;
  list-style: none;
}

.safety-checker-summary::-webkit-details-marker {
  display: none;
}

.safety-checker-summary::after {
  content: "+";
  margin-left: auto;
  color: #64707a;
  font-size: 1.25rem;
  font-weight: 500;
}

.safety-checker[open] .safety-checker-summary::after {
  content: "−";
}

.safety-checker-summary strong,
.safety-checker-summary small {
  display: block;
}

.safety-checker-summary strong {
  font-size: 0.9rem;
}

.safety-checker-summary small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.76rem;
}

.safety-checker-body {
  padding: 2px 2px 16px;
}

.safety-checker-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.safety-checker h2 {
  margin: 0 0 4px;
  font-size: 1.18rem;
}

.safety-checker-head p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.safety-coverage {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
  text-align: right;
}

.safety-coverage strong {
  color: #17212b;
  font-size: 1rem;
}

.safety-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  max-width: 760px;
  margin-top: 12px;
}

.safety-search input {
  min-width: 0;
  height: 42px;
  border: 1px solid #aeb7c0;
  border-radius: 6px;
  padding: 0 12px;
  background: #fff;
  color: var(--ink);
}

.safety-search input:focus {
  outline: 3px solid rgba(26, 121, 82, 0.13);
  border-color: #1a7952;
}

.safety-search button {
  height: 42px;
  border: 1px solid #17212b;
  border-radius: 6px;
  padding: 0 17px;
  background: #17212b;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.safety-results:empty {
  display: none;
}

.safety-results {
  margin-top: 12px;
}

.safety-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 12px;
  border-left: 4px solid #65717c;
  background: #f3f5f6;
}

.safety-summary strong,
.safety-summary span {
  display: block;
}

.safety-summary span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.8rem;
}

.safety-summary.status-stop_use {
  border-left-color: #b42318;
  background: #fff0ee;
  color: #7a1a12;
}

.safety-summary.status-verify_identity {
  border-left-color: #b76e00;
  background: #fff7e5;
  color: #714800;
}

.safety-summary.status-no_exact_alert {
  border-left-color: #1a7952;
  background: #edf8f2;
}

.safety-alert-list {
  display: grid;
  gap: 0;
  margin-top: 8px;
  border-top: 1px solid var(--line);
}

.safety-alert {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.safety-alert img,
.safety-alert-image-placeholder {
  width: 72px;
  height: 72px;
  border: 1px solid var(--line);
  border-radius: 4px;
  object-fit: contain;
  background: #fff;
}

.safety-alert h3 {
  margin: 0 0 4px;
  font-size: 0.91rem;
  line-height: 1.35;
}

.safety-alert p {
  margin: 2px 0;
  color: #38434d;
  font-size: 0.81rem;
  line-height: 1.4;
}

.safety-alert-meta {
  color: var(--muted) !important;
}

.safety-alert a,
.safety-official-links a {
  color: #075e9b;
  font-size: 0.82rem;
  font-weight: 800;
}

.safety-match {
  min-width: 104px;
  text-align: right;
  color: #714800;
  font-size: 0.76rem;
  font-weight: 900;
}

.safety-hazard-row,
.safety-official-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 0.8rem;
}

.product-safety-panel {
  margin-bottom: 12px;
  padding: 12px 0;
  border-top: 2px solid #17212b;
  border-bottom: 1px solid var(--line);
}

.product-safety-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-bottom: 12px;
  border: 1px solid #d8e8df;
  border-radius: 7px;
  padding: 9px 11px;
  background: #f4faf6;
  color: #355648;
  font-size: 0.78rem;
}

.product-safety-inline span {
  color: #64746c;
}

.related-recall-details summary {
  margin: 8px 0;
  color: #7a4d00;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 800;
}

.product-safety-panel h3 {
  margin: 0 0 4px;
  font-size: 1rem;
}

.product-safety-panel > p {
  margin: 0 0 9px;
  color: var(--muted);
  font-size: 0.82rem;
}

.product-safety-panel .safety-alert {
  grid-template-columns: 56px minmax(0, 1fr);
}

.product-safety-panel .safety-alert img,
.product-safety-panel .safety-alert-image-placeholder {
  width: 56px;
  height: 56px;
}

@media (max-width: 700px) {
  .safety-checker-head {
    display: block;
  }

  .safety-coverage {
    margin-top: 7px;
    text-align: left;
  }

  .safety-search {
    grid-template-columns: 1fr;
  }

  .safety-alert {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .safety-alert img,
  .safety-alert-image-placeholder {
    width: 56px;
    height: 56px;
  }

  .safety-match {
    grid-column: 2;
    text-align: left;
  }
}

.result-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  padding: 6px 0 4px;
}
.result-toolbar .eyebrow { display: none; }
#resultTitle { margin: 0; font-size: 1.15rem; font-weight: 800; }

.sort-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.sort-tabs button {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 15px;
  background: #fff;
  color: var(--ink);
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
}
.sort-tabs button.active { background: var(--ink); color: #fff; border-color: var(--ink); }

/* Category chip bar */
.category-bar {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 10px 0 12px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--line);
  scrollbar-width: thin;
}
.category-bar button {
  white-space: nowrap;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 16px;
  background: #fff;
  color: var(--ink);
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: border-color .12s ease, color .12s ease;
}
.category-bar button:hover { border-color: var(--accent); color: var(--accent); }
.category-bar button.active { background: var(--accent); border-color: var(--accent); color: #fff; }

/* Filters collapsed behind a toggle so they don't dominate the page */
.filters-toggle {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 15px;
  background: #fff;
  color: var(--ink);
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
}
.filters-toggle:hover { border-color: var(--accent); color: var(--accent); }
.search-filters {
  display: none;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  padding: 16px;
  margin: 12px 0 16px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.search-filters.open { display: grid; }

/* ============================================================
   Personalized "Recommended for you" home strip
   ============================================================ */
.reco-strip { margin: 8px 0 4px; }
.reco-strip[hidden] { display: none; }
.reco-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 4px 0 12px;
}
.reco-title { margin: 0; font-size: 1.15rem; font-weight: 800; }
.reco-sub { color: var(--muted); font-size: 0.86rem; }
.reco-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(216px, 1fr)); gap: 18px; }
.reco-strip + .category-bar { border-top: 1px solid var(--line); padding-top: 14px; }

/* Recently-viewed strip reuses .reco-strip/.reco-grid; recent-search chips: */
.recent-searches { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 4px 0 12px; }
.recent-searches[hidden] { display: none; }
.recent-searches .rs-label { color: var(--muted); font-size: 0.82rem; font-weight: 700; }
.recent-searches button {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 13px;
  background: #fff;
  color: var(--ink);
  font-size: 0.84rem;
  cursor: pointer;
}
.recent-searches button:hover { border-color: var(--accent); color: var(--accent); }

/* ============================================================
   Commerce polish v16: product cards, account OAuth, cart
   ============================================================ */
.auth-eyebrow {
  margin: 0;
  color: var(--accent);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.auth-guest {
  display: grid;
  gap: 15px;
}

.auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  border-radius: 12px;
  background: #ece9df;
}

.auth-tabs button {
  min-height: 40px;
  border: 0;
  border-radius: 9px;
  padding: 8px 12px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 850;
}

.auth-tabs button[aria-selected="true"] {
  background: #fff;
  color: var(--ink);
  box-shadow: 0 1px 4px rgba(16, 20, 24, 0.12);
}

.auth-tabs button:focus-visible,
.oauth-button:focus-visible,
.auth-submit:focus-visible,
.auth-link:focus-visible,
.auth-back:focus-visible,
.password-toggle:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 28%, transparent);
  outline-offset: 2px;
}

.oauth-panel {
  display: grid;
  gap: 11px;
}

.auth-guest[hidden],
.auth-tabs[hidden],
.auth-divider[hidden],
.auth-field[hidden],
.auth-hint[hidden],
.auth-link[hidden],
.account-recovery[hidden],
.account-recovery form[hidden],
.account-form[hidden],
.account-actions[hidden],
.account-settings[hidden],
.alerts-list[hidden],
.collection-targets-list[hidden],
.saved-products-list[hidden],
.review-history-list[hidden],
.feedback-history-list[hidden],
.notifications-list[hidden],
.orders-panel[hidden],
.addresses-panel[hidden],
.returns-panel[hidden],
.disputes-panel[hidden],
.support-panel[hidden],
.seller-panel[hidden],
.ops-panel[hidden],
.oauth-panel[hidden],
select[hidden] {
  display: none !important;
}

.oauth-copy {
  display: grid;
  gap: 3px;
  text-align: center;
}

.oauth-copy strong {
  font-size: 0.86rem;
}

.oauth-copy span {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.oauth-buttons {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.oauth-button {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 24px;
  gap: 10px;
  align-items: center;
  min-height: 48px;
  border: 1px solid #cbc7bb;
  border-radius: 10px;
  padding: 9px 14px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 800;
  text-align: center;
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.oauth-button:not(:disabled):hover {
  border-color: var(--ink);
  box-shadow: 0 4px 12px rgba(16, 20, 24, 0.09);
  transform: translateY(-1px);
}

.oauth-button:disabled {
  cursor: wait;
  opacity: 0.68;
}

.oauth-mark {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 900;
}

.oauth-mark svg {
  width: 22px;
  height: 22px;
}

.oauth-button.wechat .oauth-mark { color: #07c160; }
.oauth-button.alipay .oauth-mark { color: #1677ff; }

.auth-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: 0.72rem;
  text-align: center;
}

.auth-divider::before,
.auth-divider::after {
  height: 1px;
  background: var(--line);
  content: "";
}

.auth-field {
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: 0.8rem;
  font-weight: 800;
}

.account-form .auth-field input,
.account-recovery .auth-field input {
  width: 100%;
  min-width: 0;
  height: 46px;
  border: 1px solid #cbc7bb;
  border-radius: 9px;
  padding: 0 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 600;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}

.account-form .auth-field input:focus,
.account-recovery .auth-field input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);
  outline: 0;
}

.password-control {
  position: relative;
  display: block;
}

.password-control input {
  padding-right: 64px !important;
}

.password-toggle {
  position: absolute;
  top: 50%;
  right: 5px;
  min-width: 52px;
  border: 0;
  padding: 7px 8px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 850;
  transform: translateY(-50%);
}

.auth-hint {
  margin: -7px 0 0;
  color: var(--muted);
  font-size: 0.74rem;
}

.account-form .auth-submit,
.account-recovery .auth-submit {
  min-height: 47px;
  border: 1px solid var(--ink);
  border-radius: 9px;
  padding: 10px 14px;
  background: var(--ink);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 900;
}

.auth-submit:disabled {
  cursor: wait;
  opacity: 0.64;
}

.auth-link,
.auth-back {
  justify-self: start;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
}

.auth-link:hover,
.auth-back:hover {
  color: var(--accent);
}

.auth-back {
  display: inline-flex;
  gap: 7px;
  align-items: center;
}

.account-recovery h3,
.account-recovery p {
  margin: 0;
}

.account-recovery h3 {
  font-size: 1.05rem;
}

.account-recovery > p {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.5;
}

.product-card {
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16, 20, 24, 0.06);
}

.product-card:hover,
.product-card:focus-visible {
  border-color: #bcb7a8;
  box-shadow: 0 12px 26px rgba(16, 20, 24, 0.12);
}

.card-media {
  background: #f4f2eb;
}

.card-body {
  gap: 9px;
  padding: 13px 14px 14px;
}

.card-topline,
.card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 0.76rem;
}

.card-topline span:last-child {
  color: #126247;
  font-weight: 850;
}

.card-title {
  min-height: 2.7em;
  font-size: 1rem;
  font-weight: 780;
}

.card-summary {
  display: -webkit-box;
  min-height: 2.55em;
  margin: -3px 0 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.card-price {
  padding-top: 2px;
}

.card-price .price-best {
  color: #d84c3d;
  font-size: 1.55rem;
  letter-spacing: 0;
}

.card-meta {
  line-height: 1.35;
}

.card-signal-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
  gap: 6px;
}

.mini-score {
  display: grid;
  gap: 2px;
  min-width: 0;
  border: 1px solid #c9ded4;
  border-radius: 8px;
  padding: 6px 7px;
  background: #f0f8f3;
  color: #126247;
}

.mini-score.warn {
  border-color: #ead18d;
  background: #fff8df;
  color: #7a4b00;
}

.mini-score.bad {
  border-color: #e1a094;
  background: #fff0ec;
  color: #96351f;
}

.mini-score small {
  overflow: hidden;
  font-size: 0.67rem;
  font-weight: 800;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mini-score strong {
  font-size: 0.88rem;
  line-height: 1.1;
}

.source-pills {
  display: flex;
  gap: 5px;
  overflow: hidden;
}

.source-pills span {
  min-width: 0;
  border: 1px solid #ebe6d9;
  border-radius: 999px;
  padding: 3px 7px;
  background: #faf8f1;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 760;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card-footer {
  margin-top: auto;
  padding-top: 3px;
}

.card-footer button {
  border: 1px solid var(--ink);
  border-radius: 999px;
  padding: 6px 10px;
  background: var(--ink);
  color: #fff;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 850;
  white-space: nowrap;
}

.detail-panel {
  border-top: 0;
  padding-top: 0;
}

.detail-hero {
  display: grid;
  grid-template-columns: minmax(240px, 0.68fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 24px;
}

.detail-media {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f4f2eb;
  aspect-ratio: 1 / 1;
}

.detail-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.detail-media img.img-missing {
  opacity: 0;
}

.detail-image-placeholder {
  width: 100%;
  height: 100%;
  background: #efede5;
}

.detail-media-badges {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.detail-media-badges span {
  border-radius: 999px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  font-size: 0.74rem;
  font-weight: 850;
}

.detail-media-badges .bad {
  background: #fff0ec;
  color: #96351f;
}

.detail-summary h2 {
  margin: 4px 0 8px;
  font-size: 1.8rem;
  line-height: 1.12;
}

.detail-summary > p:not(.eyebrow) {
  max-width: 68ch;
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 0.96rem;
  line-height: 1.55;
}

.detail-buy-box {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.detail-buy-box div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-right: 1px solid #ece9df;
}

.detail-buy-box div:last-child {
  border-right: 0;
}

.detail-buy-box span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 780;
}

.detail-buy-box strong {
  font-size: 1rem;
  line-height: 1.2;
}

.detail-buy-box div:first-child strong {
  color: #d84c3d;
  font-size: 1.35rem;
}

.detail-score-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(82px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.detail-actions {
  margin-top: 14px;
}

.detail-button.primary {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}

.cart-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  margin-bottom: 14px;
}

.cart-head h3 {
  margin-bottom: 3px;
  font-size: 1.2rem;
}

.cart-head-total {
  display: grid;
  justify-items: end;
  gap: 2px;
}

.cart-head-total span,
.checkout-summary span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.cart-head-total strong,
.checkout-summary strong {
  color: #d84c3d;
  font-size: 1.25rem;
}

.cart-guest-notice,
.cart-checkout-lock {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0;
  border: 1px solid #eadbc2;
  border-radius: 8px;
  padding: 11px 12px;
  background: #fff8ec;
  color: #5d4936;
  font-size: 0.86rem;
  line-height: 1.4;
}

.cart-guest-notice button,
.cart-checkout-lock button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 7px;
  padding: 8px 12px;
  background: var(--ink);
  color: #fff;
  cursor: pointer;
  font-weight: 850;
}

.cart-section {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.cart-section h4 {
  margin: 0;
  color: var(--muted);
  letter-spacing: 0.05em;
}

.cart-group {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.cart-group-heading {
  padding: 10px 12px;
  border-bottom: 1px solid #ece9df;
  background: #faf8f1;
}

.cart-row {
  grid-template-columns: 72px minmax(0, 1fr) 96px 132px;
  gap: 12px;
  padding: 12px;
  border-top: 0;
  border-bottom: 1px solid #f0ece1;
}

.cart-row:last-child {
  border-bottom: 0;
}

.cart-thumb {
  overflow: hidden;
  width: 72px;
  height: 72px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f4f2eb;
}

.cart-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-thumb img.img-missing {
  opacity: 0;
}

.cart-thumb span {
  display: block;
  width: 100%;
  height: 100%;
}

.cart-item-main {
  min-width: 0;
}

.cart-item-main strong {
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.cart-quantity strong {
  color: #d84c3d;
  font-size: 1rem;
}

.cart-actions {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.cart-actions button,
.cart-actions a {
  border-radius: 7px;
  padding: 6px 7px;
  background: #fff;
  color: var(--ink);
  text-align: center;
  text-decoration: none;
}

.cart-empty-state {
  display: grid;
  gap: 4px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  padding: 18px;
  background: #fff;
}

.cart-empty-state span {
  color: var(--muted);
  font-size: 0.86rem;
}

.cart-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 180;
  max-width: min(360px, calc(100vw - 36px));
  border: 1px solid rgba(25, 32, 40, 0.08);
  border-radius: 8px;
  padding: 12px 14px;
  background: #192028;
  color: #fff;
  box-shadow: 0 18px 40px rgba(16, 20, 24, 0.22);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.16s ease, transform 0.16s ease;
  font-size: 0.9rem;
  font-weight: 750;
}

.cart-toast.visible {
  opacity: 1;
  transform: translateY(0);
}

.checkout-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.checkout-summary {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ece9df;
}

.checkout-controls label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.checkout-controls input,
.checkout-controls select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 8px 9px;
  background: #fbfaf7;
  color: var(--ink);
}

.checkout-button {
  align-self: end;
  border: 1px solid var(--ink);
  border-radius: 7px;
  padding: 9px 11px;
  background: var(--ink);
  color: #fff;
  cursor: pointer;
  font-weight: 900;
}

@media (max-width: 760px) {
  .oauth-buttons,
  .detail-buy-box,
  .detail-score-grid,
  .checkout-controls {
    grid-template-columns: 1fr;
  }

  .detail-hero {
    grid-template-columns: 1fr;
  }

  .detail-buy-box div {
    border-right: 0;
    border-bottom: 1px solid #ece9df;
  }

  .detail-buy-box div:last-child {
    border-bottom: 0;
  }

	  .cart-head,
	  .cart-row {
	    grid-template-columns: 1fr;
	  }

	  .cart-guest-notice,
	  .cart-checkout-lock {
	    align-items: stretch;
	    flex-direction: column;
	  }

	  .cart-head-total {
	    justify-items: start;
	  }

  .cart-thumb {
    width: 96px;
    height: 96px;
  }

  .cart-quantity,
  .cart-actions {
    justify-items: stretch;
  }
}

/* ============================================================
   Marketplace UI polish: dense, commerce-first storefront
   ============================================================ */
body {
  background:
    linear-gradient(180deg, #fff7ed 0, #f5f6f8 168px, #f5f6f8 100%);
}

.site-header {
  background: #ffffff;
  border-bottom: 0;
  box-shadow: 0 1px 0 rgba(17, 24, 39, 0.08), 0 6px 18px rgba(17, 24, 39, 0.07);
}

.header-main {
  width: min(1380px, calc(100% - 32px));
  grid-template-columns: 190px minmax(280px, 1fr) auto;
  gap: 18px;
  padding: 10px 0 9px;
}

.brand img {
  width: 176px;
}

.header-search {
  max-width: none;
  height: 48px;
  border: 2px solid #ff5000;
  border-radius: 7px;
  box-shadow: 0 3px 10px rgba(255, 80, 0, 0.08);
}

.header-search:focus-within {
  border-color: #ff5000;
  box-shadow: 0 0 0 4px rgba(255, 80, 0, 0.14);
}

.header-search input {
  height: 44px;
  font-size: 1rem;
}

.header-search button {
  height: 44px;
  min-width: 104px;
  border-radius: 0;
  background: linear-gradient(180deg, #ff6a00, #ff5000);
  font-size: 1rem;
}

.header-actions {
  gap: 10px;
}

.header-link {
  display: inline-grid;
  place-items: center;
  min-height: 34px;
  border: 1px solid transparent;
  border-radius: 7px;
  padding: 5px 8px;
  font-size: 0.86rem;
}

.header-link:hover {
  border-color: #ffd8bd;
  background: #fff4ec;
}

.lang-toggle {
  border-radius: 7px;
}

.lang-toggle button {
  border-radius: 5px;
}

.header-nav {
  width: min(1380px, calc(100% - 32px));
  gap: 18px;
  padding: 0 0 9px;
  font-size: 0.9rem;
}

.header-nav a {
  padding: 4px 2px;
}

main {
  width: min(1380px, calc(100% - 32px));
}

.result-layout {
  padding-top: 12px;
}

.market-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin: 0 0 12px;
  border: 1px solid #ffd8bd;
  border-radius: 8px;
  padding: 12px 14px;
  background: linear-gradient(90deg, #fffaf5 0, #ffffff 62%, #fff7ed 100%);
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

.market-strip-main {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.market-strip-main strong {
  font-size: 1rem;
  line-height: 1.2;
}

.market-strip-main span {
  color: #6b7280;
  font-size: 0.88rem;
  line-height: 1.35;
}

.market-strip-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.market-strip-pills span {
  white-space: nowrap;
  border: 1px solid #ffe0c9;
  border-radius: 999px;
  padding: 5px 10px;
  background: #ffffff;
  color: #9a3412;
  font-size: 0.78rem;
  font-weight: 850;
}

.result-toolbar {
  position: sticky;
  z-index: 9;
  top: 104px;
  margin: 0 0 10px;
  border: 1px solid #e6e7eb;
  border-radius: 8px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 4px 18px rgba(17, 24, 39, 0.07);
  backdrop-filter: blur(10px);
}

#resultTitle {
  color: #111827;
  font-size: 1.05rem;
  font-weight: 900;
}

.sort-tabs {
  align-items: center;
  gap: 6px;
}

.sort-tabs button,
.filters-toggle {
  min-height: 34px;
  border-radius: 7px;
  padding: 7px 12px;
  background: #ffffff;
  color: #374151;
  font-size: 0.82rem;
  font-weight: 850;
}

.sort-tabs button.active {
  border-color: #ff5000;
  background: #ff5000;
  color: #ffffff;
}

.filters-toggle:hover,
.sort-tabs button:hover {
  border-color: #ff5000;
  color: #ff5000;
}

.sort-tabs button.active:hover {
  color: #ffffff;
}

.category-bar {
  gap: 7px;
  margin: 0 0 10px;
  border: 1px solid #e6e7eb;
  border-radius: 8px;
  padding: 9px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

.category-bar button {
  border-radius: 6px;
  padding: 7px 12px;
  background: #f9fafb;
  font-size: 0.84rem;
  font-weight: 850;
}

.category-bar button.active {
  background: #111827;
  border-color: #111827;
  color: #ffffff;
}

.search-filters {
  margin: 0 0 12px;
  border-radius: 8px;
  padding: 12px;
  background: #ffffff;
}

.search-filters select,
.search-filters input {
  min-height: 36px;
  border-radius: 6px;
  background: #f9fafb;
  font-size: 0.86rem;
}

.search-filters label {
  min-height: 36px;
  border: 1px solid #e6e7eb;
  border-radius: 6px;
  padding: 0 10px;
  background: #f9fafb;
}

.search-filters button {
  min-height: 36px;
  border-radius: 6px;
  background: #111827;
  color: #ffffff;
}

.results-list,
.reco-grid {
  grid-template-columns: repeat(auto-fill, minmax(228px, 1fr));
  gap: 14px;
  padding-top: 6px;
}

.product-card {
  min-height: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.05);
  transform: translateZ(0);
}

.product-card:hover,
.product-card:focus-visible {
  border-color: #ffb077;
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.13);
  transform: translateY(-2px);
}

.card-media {
  background:
    linear-gradient(135deg, rgba(255, 80, 0, 0.06), rgba(37, 99, 168, 0.05)),
    #f3f4f6;
}

.card-media img {
  object-fit: contain;
  padding: 10px;
  mix-blend-mode: multiply;
}

.card-market {
  position: absolute;
  left: 8px;
  bottom: 8px;
  max-width: calc(100% - 16px);
  border-radius: 5px;
  padding: 4px 7px;
  background: rgba(17, 24, 39, 0.82);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card-badge {
  border-radius: 5px;
  font-weight: 850;
}

.card-body {
  gap: 7px;
  padding: 11px 12px 12px;
}

.card-topline {
  min-height: 19px;
}

.card-cat,
.card-topline span:last-child {
  max-width: 50%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
}

.card-cat {
  color: #4b5563;
}

.card-topline span:last-child {
  color: #047857;
}

.card-title {
  min-height: 2.72em;
  color: #111827;
  font-size: 0.96rem;
  line-height: 1.36;
  font-weight: 850;
}

.card-summary {
  color: #6b7280;
  font-size: 0.78rem;
}

.card-price {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  gap: 5px 8px;
  align-items: end;
  min-height: 38px;
}

.card-price .price-best {
  color: #e4393c;
  font-size: 1.62rem;
  font-weight: 950;
  letter-spacing: 0;
  white-space: nowrap;
}

.card-price .price-fair {
  min-width: 0;
  color: #6b7280;
  font-size: 0.76rem;
  line-height: 1.25;
}

.card-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 22px;
  color: #6b7280;
  font-size: 0.76rem;
}

.card-meta > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-ok,
.stock-watch {
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 0.7rem;
  font-weight: 900;
  white-space: nowrap;
}

.stock-ok {
  background: #ecfdf5;
  color: #047857;
}

.stock-watch {
  background: #fff7ed;
  color: #c2410c;
}

.card-signal-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

.mini-score {
  min-height: 44px;
  border-radius: 6px;
  padding: 5px 6px;
}

.mini-score small {
  font-size: 0.62rem;
}

.mini-score strong {
  font-size: 0.82rem;
}

.source-pills {
  min-height: 24px;
}

.source-pills span {
  border-radius: 5px;
  background: #f9fafb;
  color: #4b5563;
}

.card-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
  margin-top: auto;
  padding-top: 5px;
}

.card-footer > span {
  overflow: hidden;
  color: #6b7280;
  font-size: 0.74rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 7px;
}

.card-actions button,
.card-footer button {
  width: 100%;
  min-height: 34px;
  border-radius: 6px;
  padding: 7px 8px;
  font-size: 0.8rem;
  font-weight: 900;
}

.card-cart-button {
  border-color: #ff5000;
  background: #ff5000;
  color: #ffffff;
}

.card-cart-button:hover {
  filter: brightness(0.96);
}

.card-cart-button:disabled {
  border-color: #d1d5db;
  background: #e5e7eb;
  color: #6b7280;
}

.card-offers-button {
  border-color: #111827;
  background: #111827;
  color: #ffffff;
}

.card-chips {
  min-height: 0;
}

.risk-chip {
  border-radius: 5px;
  font-size: 0.7rem;
}

.results-empty,
.results-empty.degraded {
  border: 1px dashed #d1d5db;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

.results-loading {
  gap: 14px;
}

.results-loading .skeleton {
  border-radius: 8px;
  background: #ffffff;
}

@media (max-width: 980px) {
  .header-main {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .header-actions {
    justify-content: space-between;
  }

  .result-toolbar {
    top: 154px;
  }

  .market-strip {
    grid-template-columns: 1fr;
  }

  .market-strip-pills {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  body {
    background: #f5f6f8;
  }

  main,
  .header-main,
  .header-nav {
    width: min(100% - 20px, 1380px);
  }

  .header-main {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 8px 12px;
    padding: 8px 0;
  }

  .brand {
    min-width: 0;
  }

  .header-search {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .header-actions {
    justify-content: end;
    gap: 6px;
  }

  .header-link {
    min-height: 30px;
    padding: 4px 6px;
    font-size: 0.82rem;
  }

  .lang-toggle button {
    padding: 4px 8px;
  }

  .header-nav {
    gap: 16px;
    padding-bottom: 7px;
    font-size: 0.86rem;
  }

  .brand img {
    width: 126px;
  }

  .header-search {
    height: 44px;
  }

  .header-search input,
  .header-search button {
    height: 40px;
  }

  .header-search button {
    min-width: 82px;
    padding: 0 14px;
  }

  .result-toolbar {
    position: static;
  }

  .market-strip {
    padding: 11px;
  }

  .market-strip-pills {
    gap: 6px;
  }

  .results-list,
  .reco-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .card-body {
    padding: 9px;
  }

  .card-title {
    font-size: 0.88rem;
  }

  .card-summary,
  .card-signal-row,
  .source-pills,
  .card-footer > span {
    display: none;
  }

  .card-price {
    grid-template-columns: 1fr;
    min-height: 44px;
  }

  .card-price .price-best {
    font-size: 1.34rem;
  }

  .card-actions {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Product detail cleanup + visible trends
   ============================================================ */
.trend-rail {
  display: grid;
  gap: 10px;
  margin: 0 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

.trend-rail[hidden] {
  display: none;
}

.trend-rail-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}

.trend-rail-head div {
  display: grid;
  gap: 2px;
}

.trend-rail-head strong {
  color: #111827;
  font-size: 1rem;
  font-weight: 900;
}

.trend-rail-head span {
  color: #6b7280;
  font-size: 0.82rem;
  line-height: 1.35;
}

.trend-rail-list {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}

.trend-rail-list button {
  display: grid;
  gap: 3px;
  min-width: 190px;
  max-width: 260px;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  padding: 9px 10px;
  background: #f9fafb;
  color: #111827;
  cursor: pointer;
  text-align: left;
}

.trend-rail-list button:hover {
  border-color: #ff5000;
  background: #fff7ed;
}

.trend-rail-list span {
  color: #c2410c;
  font-size: 0.7rem;
  font-weight: 900;
}

.trend-rail-list strong {
  overflow: hidden;
  font-size: 0.9rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-rail-list small {
  overflow: hidden;
  color: #6b7280;
  font-size: 0.75rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal-overlay[data-modal="product"] {
  padding: 22px 14px;
}

.modal-overlay[data-modal="product"] .modal-dialog {
  max-width: 1160px;
  padding: 0;
  border-radius: 10px;
  background: #f5f6f8;
}

.modal-overlay[data-modal="product"] .modal-close {
  top: 12px;
  width: 38px;
  height: 38px;
  margin: 12px 12px -50px 0;
  background: rgba(17, 24, 39, 0.88);
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(17, 24, 39, 0.18);
}

.modal-overlay[data-modal="product"] .modal-close:hover {
  background: #ff5000;
}

#detailPanel.detail-panel {
  margin-top: 0;
  border-top: 0;
  padding: 22px;
}

#detailPanel .detail-hero,
#detailPanel .detail-section,
#detailPanel .recommendation-section {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

#detailPanel .detail-hero {
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1fr);
  gap: 24px;
  margin-bottom: 14px;
  padding: 18px;
}

#detailPanel .detail-media {
  border-color: #e5e7eb;
  background:
    linear-gradient(135deg, rgba(255, 80, 0, 0.06), rgba(37, 99, 168, 0.05)),
    #f3f4f6;
}

#detailPanel .detail-media img {
  object-fit: contain;
  padding: 16px;
  mix-blend-mode: multiply;
}

#detailPanel .detail-summary h2 {
  color: #111827;
  font-size: 1.5rem;
}

#detailPanel .detail-summary > p:not(.eyebrow) {
  color: #4b5563;
}

#detailPanel .detail-buy-box {
  border-color: #e5e7eb;
}

#detailPanel .detail-buy-box div {
  border-color: #e5e7eb;
}

#detailPanel .detail-buy-box span,
#detailPanel .detail-section-head > span {
  color: #6b7280;
}

#detailPanel .detail-buy-box div:first-child strong {
  color: #e4393c;
}

#detailPanel .detail-actions {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 220px);
  gap: 8px;
  min-width: 0;
  justify-items: stretch;
}

#detailPanel .detail-button,
#detailPanel .detail-close,
#detailPanel .detail-offer-actions a,
#detailPanel .seller-link-button {
  min-height: 34px;
  border-radius: 6px;
  padding: 8px 11px;
  font-size: 0.82rem;
  text-align: center;
  text-decoration: none;
}

#detailPanel .detail-button {
  border-color: #d1d5db;
  background: #ffffff;
  color: #111827;
  width: 100%;
  margin-top: 0;
}

#detailPanel .detail-button.primary {
  border-color: #ff5000;
  background: #ff5000;
  color: #ffffff;
}

#detailPanel .detail-button:disabled {
  border-color: #d1d5db;
  background: #e5e7eb;
  color: #6b7280;
  cursor: not-allowed;
}

#detailPanel .detail-close {
  border-color: #d1d5db;
  background: #f9fafb;
}

#detailPanel .detail-section,
#detailPanel .recommendation-section {
  margin-top: 14px;
  padding: 16px;
}

#detailPanel .recommendation-section {
  border-top: 1px solid #e5e7eb;
}

.detail-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.detail-section-head h3 {
  margin: 0;
  color: #111827;
  font-size: 1.06rem;
  font-weight: 900;
}

.detail-section-head .eyebrow {
  margin-bottom: 3px;
  color: #c2410c;
}

.detail-offer-list {
  display: grid;
  gap: 10px;
}

.detail-offer-card {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) 132px;
  gap: 14px;
  align-items: start;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px;
  background: #ffffff;
}

.detail-offer-card.is-muted {
  opacity: 0.7;
}

.detail-offer-source {
  display: grid;
  gap: 7px;
}

.detail-offer-source .source-badge {
  width: fit-content;
  min-width: 0;
  border-radius: 5px;
  background: #111827;
  color: #ffffff;
}

.detail-offer-source strong {
  color: #e4393c;
  font-size: 1.28rem;
  font-weight: 950;
  line-height: 1.1;
}

.detail-offer-source small {
  width: fit-content;
  border-radius: 999px;
  padding: 3px 7px;
  background: #fff7ed;
  color: #c2410c;
  font-size: 0.72rem;
  font-weight: 900;
}

.detail-offer-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.detail-offer-title {
  color: #111827;
  font-size: 0.94rem;
  font-weight: 850;
  line-height: 1.28;
}

.detail-offer-main > span {
  color: #6b7280;
  font-size: 0.8rem;
  line-height: 1.35;
}

.detail-offer-seller {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  align-items: center;
  border-left: 3px solid #16803c;
  padding: 4px 0 4px 8px;
}

.detail-offer-seller strong {
  color: #111827;
  font-size: 0.82rem;
}

.detail-offer-seller span {
  color: #4b5563;
  font-size: 0.76rem;
}

.detail-offer-signal {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 3px;
}

.detail-offer-signal > span {
  color: #6b7280;
  font-size: 0.76rem;
  line-height: 1.35;
}

.detail-offer-actions {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.detail-offer-actions a,
.detail-offer-actions .seller-link-button {
  border: 1px solid #d1d5db;
  background: #f9fafb;
  color: #111827;
  cursor: pointer;
  font-weight: 900;
}

.detail-empty {
  margin: 0;
  border: 1px dashed #d1d5db;
  border-radius: 8px;
  padding: 16px;
  color: #6b7280;
}

#detailPanel .recommendation-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#detailPanel .recommendation-card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 10px;
  background: #ffffff;
}

#detailPanel .recommendation-card img {
  border-radius: 6px;
  object-fit: contain;
}

.detail-evidence-grid,
.detail-community-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.detail-evidence-grid section,
.detail-community-grid section {
  border: 1px solid #eef0f3;
  border-radius: 8px;
  padding: 12px;
  background: #fbfcfd;
}

.detail-evidence-grid h4,
.detail-community-grid h4,
.detail-form-card h4 {
  margin: 0 0 9px;
  color: #111827;
  font-size: 0.92rem;
  font-weight: 900;
}

.detail-evidence-grid ul,
.detail-community-grid .review-list {
  max-height: 260px;
  overflow: auto;
  padding-right: 4px;
}

.detail-evidence-grid li,
.detail-community-grid .review-list li {
  border-bottom: 1px solid #eef0f3;
  padding-bottom: 8px;
  color: #4b5563;
}

.detail-evidence-grid li:last-child,
.detail-community-grid .review-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.detail-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.detail-form-card {
  border: 1px solid #eef0f3;
  border-radius: 8px;
  padding: 12px;
  background: #fbfcfd;
}

#detailPanel .review-form input,
#detailPanel .review-form select,
#detailPanel .review-form textarea,
#detailPanel .feedback-form input,
#detailPanel .feedback-form select,
#detailPanel .feedback-form textarea {
  border-color: #d1d5db;
  border-radius: 6px;
  background: #ffffff;
}

#detailPanel .review-form button,
#detailPanel .feedback-form button {
  border-radius: 6px;
  background: #111827;
}

@media (max-width: 860px) {
  .modal-overlay[data-modal="product"] {
    padding: 0;
  }

  .modal-overlay[data-modal="product"] .modal-dialog {
    max-height: 100vh;
    border-radius: 0;
  }

  #detailPanel.detail-panel {
    padding: 14px;
  }

  #detailPanel .detail-hero,
  .detail-offer-card,
  #detailPanel .recommendation-list,
  .detail-evidence-grid,
  .detail-community-grid,
  .detail-form-grid {
    grid-template-columns: 1fr;
  }

  .detail-offer-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #detailPanel .detail-actions {
    grid-template-columns: 1fr;
  }

  .detail-offer-actions .detail-button {
    grid-column: 1 / -1;
  }

  #detailPanel .detail-summary h2 {
    font-size: 1.2rem;
  }

  .trend-rail-list button {
    min-width: 170px;
  }
}

/* ============================================================
   Reliability-first detail and regional controls
   ============================================================ */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.locale-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.locale-controls > select {
  min-height: 32px;
  max-width: 128px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 4px 24px 4px 8px;
  background: #ffffff;
  color: #1f2937;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 750;
}

body[data-workspace="trends"] .locale-controls > select {
  display: none;
}

#currencySelect {
  width: 72px;
}

.modal-overlay[data-modal="product"] .modal-dialog {
  max-width: 980px;
  background: #f3f4f6;
}

#detailPanel .detail-hero {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 20px;
  padding: 16px;
}

#detailPanel .detail-media {
  min-height: 220px;
  aspect-ratio: 1;
  background: #f7f8fa;
}

#detailPanel .detail-media img {
  padding: 12px;
}

#detailPanel .detail-summary h2 {
  margin-bottom: 7px;
  font-size: 1.25rem;
  line-height: 1.25;
}

#detailPanel .detail-summary > p:not(.eyebrow) {
  display: -webkit-box;
  overflow: hidden;
  margin-bottom: 10px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

#detailPanel .detail-buy-box {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 10px;
}

#detailPanel .detail-buy-box strong {
  overflow-wrap: anywhere;
}

.converted-price-note {
  display: block;
  margin: 6px 0 10px;
  color: #6b7280;
  font-size: 0.72rem;
}

.detail-tabs {
  position: sticky;
  z-index: 3;
  top: -1px;
  display: flex;
  gap: 2px;
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 8px 8px 0 0;
  padding: 5px;
  overflow-x: auto;
  background: #ffffff;
}

.detail-tabs button {
  flex: 1 0 auto;
  min-height: 38px;
  border: 0;
  border-radius: 5px;
  padding: 7px 14px;
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 850;
}

.detail-tabs button:hover {
  background: #f3f4f6;
  color: #111827;
}

.detail-tabs button[aria-selected="true"] {
  background: #111827;
  color: #ffffff;
}

.detail-tabs button span {
  margin-left: 4px;
  opacity: 0.72;
  font-size: 0.72rem;
}

.detail-tab-panel {
  margin: 0;
  border: 1px solid #e5e7eb;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  padding: 16px;
  background: #ffffff;
}

.detail-tab-panel[hidden] {
  display: none;
}

.reliability-verdict {
  border-left: 5px solid #64748b;
  padding: 4px 0 2px 16px;
}

.reliability-verdict.verdict-do_not_buy,
.reliability-verdict.verdict-high_risk {
  border-left-color: #b42318;
}

.reliability-verdict.verdict-caution {
  border-left-color: #b54708;
}

.reliability-verdict.verdict-stronger_evidence {
  border-left-color: #16835f;
}

.verdict-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.verdict-heading h3 {
  margin: 1px 0 0;
  color: #111827;
  font-size: 1.45rem;
  line-height: 1.2;
}

.decision-summary {
  max-width: 58ch;
  margin: 7px 0 0;
  color: #4b5563;
  font-size: 0.9rem;
  line-height: 1.5;
}

.verdict-score {
  display: flex;
  align-items: baseline;
  flex: 0 0 auto;
  color: #111827;
}

.verdict-score strong {
  font-size: 2rem;
  line-height: 1;
}

.verdict-score span {
  color: #6b7280;
  font-size: 0.76rem;
}

.verdict-context {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  margin-top: 10px;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 12px;
  color: #6b7280;
  font-size: 0.78rem;
}

.verdict-context strong {
  color: #374151;
  text-transform: capitalize;
}

.reliability-reasons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  padding: 16px 0 8px;
}

.reliability-reasons h4 {
  margin: 0 0 9px;
  color: #374151;
  font-size: 0.83rem;
}

.reliability-reasons ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.reliability-reasons li {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: #374151;
  font-size: 0.84rem;
  line-height: 1.4;
}

.reliability-reasons li > span {
  width: 8px;
  height: 8px;
  margin-top: 4px;
  border-radius: 50%;
  background: #94a3b8;
}

.reliability-reasons .reason-danger > span {
  background: #b42318;
}

.reliability-reasons .reason-warning > span {
  background: #d97706;
}

.reliability-reasons .reason-positive > span {
  background: #16835f;
}

.evidence-facts {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  border-top: 1px solid #e5e7eb;
  padding-top: 12px;
}

.evidence-facts span {
  display: flex;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
  border-right: 1px solid #e5e7eb;
  padding-right: 12px;
  color: #6b7280;
  font-size: 0.75rem;
}

.evidence-facts span:last-child {
  border-right: 0;
}

.decision-next-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.decision-next-actions button:first-child {
  border-color: #17212b;
  background: #17212b;
  color: #fff;
}

@media (max-width: 620px) {
  .guided-product-steps {
    grid-template-columns: 1fr;
  }

  .guided-product-examples button,
  .decision-next-actions button {
    flex: 1 1 100%;
  }
}

.evidence-facts strong {
  color: #111827;
  font-size: 1rem;
}

.methodology-note,
.secondary-evidence,
.contribution-disclosure {
  margin-top: 14px;
  border-top: 1px solid #e5e7eb;
  padding-top: 12px;
}

.methodology-note summary,
.secondary-evidence summary,
.contribution-disclosure summary {
  color: #374151;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 850;
}

.methodology-note p {
  max-width: 720px;
  margin: 8px 0 4px;
  color: #6b7280;
  font-size: 0.8rem;
  line-height: 1.45;
}

.review-summary-strip ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 14px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  background: #e5e7eb;
  list-style: none;
}

.review-summary-strip li {
  display: grid;
  gap: 2px;
  padding: 9px;
  background: #f9fafb;
}

.review-summary-strip li strong {
  color: #111827;
  font-size: 1rem;
}

.review-summary-strip li span {
  color: #6b7280;
  font-size: 0.7rem;
}

.review-collection-status {
  display: grid;
  gap: 3px;
  margin: 12px 0;
  border-left: 3px solid #7c8a83;
  padding: 8px 10px;
  background: #f5f7f6;
  color: #53605a;
  font-size: 0.5rem;
  line-height: 1.45;
}

.review-collection-status strong {
  color: #293630;
  font-size: 0.52rem;
}

.review-collection-status small {
  color: #707a75;
  font-size: 0.47rem;
}

.review-collection-status.is-reviews_found {
  border-left-color: #278061;
  background: #eff8f4;
}

.review-collection-status.is-aggregate_only {
  border-left-color: #b48328;
  background: #fbf8ef;
}

.review-collection-status.is-rate_limited,
.review-collection-status.is-fetch_error {
  border-left-color: #b36b35;
  background: #fbf4ef;
}

.review-collection-status.is-access_blocked,
.review-collection-status.is-robots_disallowed {
  border-left-color: #884c54;
  background: #faf1f2;
}

.focused-review-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-height: 520px;
  overflow: auto;
}

.focused-review-list > li {
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  padding: 11px;
}

.translation-badge {
  width: fit-content;
  border-radius: 4px;
  padding: 2px 5px;
  background: #e8f1fb;
  color: #185b91;
  font-size: 0.68rem;
  font-weight: 800;
}

.evidence-scope-badge {
  background: #fff4dd;
  color: #8a5600;
}

.review-source-link {
  width: fit-content;
  color: #185b91;
  font-size: 0.7rem;
  font-weight: 800;
  text-decoration: none;
}

.review-source-link:hover {
  text-decoration: underline;
}

.review-original {
  color: #6b7280;
  font-size: 0.75rem;
}

.review-original summary {
  cursor: pointer;
  font-weight: 750;
}

.review-original p {
  margin: 6px 0 0;
  line-height: 1.4;
}

.contribution-disclosure .detail-form-card {
  max-width: 620px;
  margin-top: 10px;
}

@media (max-width: 860px) {
  .locale-controls {
    gap: 4px;
  }

  .locale-controls > select {
    max-width: 94px;
    padding-right: 18px;
  }

  #currencySelect {
    width: 62px;
  }

  #detailPanel .detail-hero {
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 12px;
  }

  #detailPanel .detail-media {
    min-height: 140px;
  }

  #detailPanel .detail-buy-box {
    grid-template-columns: 1fr;
  }

  #detailPanel .detail-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .detail-tabs button {
    padding: 7px 10px;
  }

  .reliability-reasons,
  .focused-review-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .header-actions {
    grid-column: 1 / -1;
    justify-content: space-between;
  }

  .header-link {
    display: none;
  }

  .locale-controls {
    width: 100%;
    justify-content: flex-end;
  }

  #detailPanel .detail-hero {
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 12px;
  }

  #detailPanel .detail-media {
    width: 110px;
    min-height: 0;
    margin: 0;
  }

  #detailPanel .detail-media img {
    padding: 6px;
  }

  #detailPanel .detail-media-badges {
    display: none;
  }

  #detailPanel .detail-summary h2 {
    font-size: 1rem;
  }

  #detailPanel .detail-summary > p:not(.eyebrow) {
    -webkit-line-clamp: 2;
  }

  #detailPanel .detail-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .review-summary-strip ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .verdict-heading h3 {
    font-size: 1.2rem;
  }

  .evidence-facts {
    flex-wrap: wrap;
  }
}

/* ============================================================
   Evidence-backed media momentum
   ============================================================ */
.media-trend-section {
  margin: 0 0 14px;
  border-top: 2px solid #111827;
  border-bottom: 1px solid #d1d5db;
  padding: 13px 0 15px;
}

.media-trend-section[hidden] {
  display: none;
}

.media-trend-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.media-trend-head h2 {
  margin: 0;
  color: #111827;
  font-size: 1.04rem;
  font-weight: 900;
}

.media-trend-head p {
  max-width: 780px;
  margin: 3px 0 0;
  color: #6b7280;
  font-size: 0.76rem;
  line-height: 1.4;
}

.media-trend-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.media-trend-card {
  min-width: 0;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
}

.media-trend-card.is-risky {
  border-color: #e2a39d;
}

.media-trend-product {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 9px;
  width: 100%;
  min-height: 104px;
  border: 0;
  padding: 9px;
  background: transparent;
  color: #111827;
  cursor: pointer;
  text-align: left;
}

.media-trend-product:hover {
  background: #f8fafc;
}

.media-trend-image {
  display: grid;
  width: 72px;
  aspect-ratio: 1;
  place-items: center;
  overflow: hidden;
  border: 1px solid #edf0f3;
  border-radius: 6px;
  background: #f5f6f8;
}

.media-trend-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.media-trend-copy {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
}

.media-trend-level {
  width: fit-content;
  border-radius: 4px;
  padding: 2px 5px;
  background: #e8f1fb;
  color: #185b91;
  font-size: 0.64rem;
  font-weight: 900;
}

.media-trend-card.is-risky .media-trend-level {
  background: #fff0ee;
  color: #a33127;
}

.media-trend-copy > strong {
  display: -webkit-box;
  overflow: hidden;
  color: #111827;
  font-size: 0.82rem;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.media-trend-copy small,
.media-trend-price {
  color: #6b7280;
  font-size: 0.68rem;
  line-height: 1.3;
}

.media-trend-price {
  color: #374151;
  font-weight: 800;
}

.media-evidence-link {
  display: block;
  overflow: hidden;
  border-top: 1px solid #edf0f3;
  padding: 6px 9px;
  color: #185b91;
  font-size: 0.66rem;
  font-weight: 800;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.media-evidence-link:hover {
  text-decoration: underline;
}

.value-map-section {
  margin: 18px 0 28px;
  border-top: 3px solid #1f2937;
  border-bottom: 1px solid #cfd5dc;
  padding: 17px 0 19px;
}

.value-map-head {
  display: flex;
  gap: 18px;
  align-items: flex-end;
  justify-content: space-between;
}

.value-map-head h2 {
  margin: 3px 0 0;
  color: #17212d;
  font-size: 1rem;
  letter-spacing: 0;
}

.value-map-controls {
  display: flex;
  gap: 10px;
  align-items: center;
}

.value-map-segments {
  display: flex;
  border: 1px solid #cbd2d9;
}

.value-map-segments button {
  min-height: 32px;
  border: 0;
  border-right: 1px solid #d9dee3;
  padding: 0 10px;
  background: #fff;
  color: #5f6974;
  cursor: pointer;
  font: inherit;
  font-size: 0.56rem;
  font-weight: 820;
  white-space: nowrap;
}

.value-map-segments button:last-child {
  border-right: 0;
}

.value-map-segments button[aria-pressed="true"] {
  background: #17212d;
  color: #fff;
}

.value-map-horizon button {
  padding-right: 8px;
  padding-left: 8px;
}

.value-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(250px, 0.75fr);
  margin-top: 15px;
  border-top: 1px solid #d8dde3;
  border-bottom: 1px solid #d8dde3;
}

.value-map-plot {
  position: relative;
  min-width: 0;
  min-height: 390px;
  border-right: 1px solid #d8dde3;
  padding: 12px 18px 8px 0;
}

.value-map-plot svg {
  display: block;
  width: 100%;
  height: 370px;
}

.value-map-grid-line {
  stroke: #e0e4e8;
  stroke-width: 1;
}

.value-map-axis-line {
  stroke: #89939e;
  stroke-width: 1.2;
}

.value-map-axis-label,
.value-map-tick-label {
  fill: #66717d;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
}

.value-map-quadrant-label {
  fill: #9aa2ab;
  font-family: inherit;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.value-map-frontier {
  fill: none;
  stroke: #16835f;
  stroke-dasharray: 5 5;
  stroke-width: 1.5;
}

.value-map-point {
  cursor: pointer;
}

.value-map-point circle {
  fill: #fff;
  stroke: #2879b9;
  stroke-width: 2;
}

.value-map-point.is-efficient circle {
  fill: #dcefe6;
  stroke: #16835f;
  stroke-width: 2.5;
}

.value-map-point.is-selected circle {
  fill: #f3cf74;
  stroke: #17212d;
  stroke-width: 3;
}

.value-map-point.is-blocked circle {
  fill: #f4dedc;
  stroke: #b63b35;
}

.value-map-point text {
  fill: #33404c;
  font-family: inherit;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  pointer-events: none;
}

.value-map-detail {
  min-width: 0;
  padding: 15px 0 15px 18px;
}

.value-map-detail-status {
  color: #137253;
  font-size: 0.5rem;
  font-weight: 900;
  text-transform: uppercase;
}

.value-map-detail h3 {
  margin: 5px 0 3px;
  color: #17212d;
  font-size: 0.78rem;
  letter-spacing: 0;
}

.value-map-detail > p {
  margin: 0;
  color: #6c7681;
  font-size: 0.53rem;
}

.value-map-costs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 13px;
  border-top: 1px solid #dce1e6;
  border-left: 1px solid #dce1e6;
}

.value-map-costs > div {
  min-width: 0;
  border-right: 1px solid #dce1e6;
  border-bottom: 1px solid #dce1e6;
  padding: 9px;
}

.value-map-costs strong,
.value-map-costs span {
  display: block;
}

.value-map-costs strong {
  overflow: hidden;
  color: #17212d;
  font-size: 0.7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.value-map-costs span {
  margin-top: 2px;
  color: #78818c;
  font-size: 0.48rem;
  font-weight: 760;
}

.value-map-dimensions {
  margin-top: 13px;
}

.value-map-dimension {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 30px;
  gap: 7px;
  align-items: center;
  margin-top: 7px;
}

.value-map-dimension > span,
.value-map-dimension > strong {
  overflow: hidden;
  color: #626d78;
  font-size: 0.49rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.value-map-dimension > strong {
  color: #34414d;
  text-align: right;
}

.value-map-dimension-track {
  height: 5px;
  overflow: hidden;
  background: #e5e9ed;
}

.value-map-dimension-track i {
  display: block;
  height: 100%;
  background: #2879b9;
}

.value-map-missing {
  margin-top: 12px;
  border-left: 3px solid #d49b24;
  padding: 7px 9px;
  background: #fbf8ef;
  color: #6c5a2b;
  font-size: 0.5rem;
  line-height: 1.45;
}

.value-map-detail button {
  min-height: 32px;
  margin-top: 12px;
  border: 1px solid #17212d;
  border-radius: 4px;
  padding: 0 11px;
  background: #17212d;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 0.55rem;
  font-weight: 850;
}

.value-map-ranking {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #d8dde3;
}

.value-map-rank {
  display: grid;
  min-width: 0;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border: 0;
  border-right: 1px solid #dfe3e8;
  padding: 9px;
  background: #fff;
  color: #33404c;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.value-map-rank:last-child {
  border-right: 0;
}

.value-map-rank:nth-child(4n) {
  border-right: 0;
}

.value-map-rank:nth-child(n + 5) {
  border-top: 1px solid #dfe3e8;
}

.value-map-rank > b {
  color: #8a939d;
  font-size: 0.62rem;
}

.value-map-rank span {
  min-width: 0;
}

.value-map-rank strong,
.value-map-rank small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.value-map-rank strong {
  font-size: 0.54rem;
}

.value-map-rank small {
  margin-top: 2px;
  color: #7b8490;
  font-size: 0.47rem;
}

.value-map-rank > em {
  color: #245f8c;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 900;
}

.value-map-rank.is-selected {
  box-shadow: inset 0 -3px #2879b9;
  background: #f4f8fb;
}

.value-map-method {
  margin: 11px 0 0;
  color: #7b8490;
  font-size: 0.5rem;
  line-height: 1.5;
}

.efficiency-explorer {
  margin: 30px 0 34px;
  border-top: 3px solid #2d5548;
  border-bottom: 1px solid #cfd5d2;
  padding: 17px 0 20px;
}

.efficiency-explorer-head {
  display: flex;
  gap: 18px;
  align-items: flex-end;
  justify-content: space-between;
}

.efficiency-explorer-head h2 {
  margin: 3px 0 0;
  color: #17212d;
  font-size: 1rem;
  letter-spacing: 0;
}

.efficiency-model-count {
  display: flex;
  gap: 6px;
  align-items: baseline;
  color: #6a756f;
  font-size: 0.52rem;
  font-weight: 780;
}

.efficiency-model-count strong {
  color: #214c3e;
  font-size: 0.86rem;
}

.efficiency-category-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 14px;
  border: 1px solid #cbd4d0;
}

.efficiency-category-tabs button,
.efficiency-sort button {
  min-height: 36px;
  border: 0;
  border-right: 1px solid #d7dedb;
  padding: 0 10px;
  background: #fff;
  color: #5d6863;
  cursor: pointer;
  font: inherit;
  font-size: 0.55rem;
  font-weight: 820;
  white-space: nowrap;
}

.efficiency-category-tabs button:last-child,
.efficiency-sort button:last-child {
  border-right: 0;
}

.efficiency-category-tabs button[aria-pressed="true"] {
  background: #214c3e;
  color: #fff;
}

.efficiency-toolbar {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(190px, 0.62fr) auto;
  gap: 10px;
  align-items: end;
  padding: 12px 0;
}

.efficiency-search-field,
.efficiency-rate-field {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #68736d;
  font-size: 0.49rem;
  font-weight: 820;
}

.efficiency-search-field input,
.efficiency-rate-input {
  width: 100%;
  min-height: 38px;
  box-sizing: border-box;
  border: 1px solid #c9d1cd;
  border-radius: 4px;
  background: #fff;
}

.efficiency-search-field input {
  padding: 0 11px;
  color: #24302b;
  font: inherit;
  font-size: 0.61rem;
}

.efficiency-rate-input {
  display: grid;
  grid-template-columns: minmax(60px, 1fr) auto;
  align-items: center;
}

.efficiency-rate-input input {
  width: 100%;
  min-width: 0;
  height: 36px;
  border: 0;
  padding: 0 10px;
  background: transparent;
  color: #24302b;
  font: inherit;
  font-size: 0.61rem;
  outline: 0;
}

.efficiency-rate-input b {
  padding: 0 10px;
  color: #6d7772;
  font-size: 0.5rem;
  white-space: nowrap;
}

.efficiency-sort {
  display: flex;
  border: 1px solid #cbd4d0;
  border-radius: 4px;
  overflow: hidden;
}

.efficiency-sort button[aria-pressed="true"] {
  background: #24323d;
  color: #fff;
}

.efficiency-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  min-height: 410px;
  border-top: 1px solid #d3dad7;
  border-bottom: 1px solid #d3dad7;
}

.efficiency-model-list {
  min-width: 0;
  max-height: 520px;
  overflow: auto;
  border-right: 1px solid #d3dad7;
}

.efficiency-model-row {
  display: grid;
  width: 100%;
  min-height: 66px;
  grid-template-columns: minmax(0, 1fr) 92px 92px;
  gap: 10px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #e0e5e2;
  padding: 9px 12px;
  background: #fff;
  color: #26332d;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.efficiency-model-row:hover,
.efficiency-model-row.is-selected {
  background: #f2f7f4;
}

.efficiency-model-row.is-selected {
  box-shadow: inset 3px 0 #2d785e;
}

.efficiency-model-row > span,
.efficiency-model-row > strong {
  min-width: 0;
}

.efficiency-model-row b,
.efficiency-model-row small,
.efficiency-model-row strong,
.efficiency-model-row em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.efficiency-model-row b {
  color: #1f2d27;
  font-size: 0.59rem;
}

.efficiency-model-row small {
  margin-top: 3px;
  color: #78827d;
  font-size: 0.47rem;
}

.efficiency-model-row strong {
  color: #244f41;
  font-size: 0.58rem;
  text-align: right;
}

.efficiency-model-row em {
  color: #6b756f;
  font-size: 0.49rem;
  font-style: normal;
  font-weight: 760;
  text-align: right;
}

.efficiency-model-detail {
  min-width: 0;
  padding: 17px 0 17px 18px;
}

.efficiency-evidence-status {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.efficiency-evidence-status span {
  border: 1px solid #b9cbc3;
  border-radius: 3px;
  padding: 3px 6px;
  color: #285a48;
  font-size: 0.46rem;
  font-weight: 880;
  text-transform: uppercase;
}

.efficiency-evidence-status span.is-most-efficient {
  border-color: #c9972f;
  background: #fff8e7;
  color: #74530e;
}

.efficiency-evidence-status span.is-commerce-matched {
  border-color: #8bb2c8;
  background: #eef7fb;
  color: #235a77;
}

.efficiency-evidence-status span.is-measurement-only {
  border-color: #cfd5d2;
  color: #707a75;
}

.efficiency-commerce-image {
  display: block;
  width: min(210px, 58%);
  max-height: 170px;
  margin: 13px auto 5px;
  object-fit: contain;
}

.efficiency-model-detail h3 {
  margin: 8px 0 3px;
  color: #17212d;
  font-size: 0.82rem;
  letter-spacing: 0;
}

.efficiency-model-detail > p {
  margin: 0;
  color: #6f7974;
  font-size: 0.51rem;
  line-height: 1.5;
}

.efficiency-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
  border-top: 1px solid #d8dfdb;
  border-left: 1px solid #d8dfdb;
}

.efficiency-metric-grid > div {
  min-width: 0;
  border-right: 1px solid #d8dfdb;
  border-bottom: 1px solid #d8dfdb;
  padding: 10px;
}

.efficiency-metric-grid strong,
.efficiency-metric-grid span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.efficiency-metric-grid strong {
  color: #1d4437;
  font-size: 0.7rem;
}

.efficiency-metric-grid span {
  margin-top: 3px;
  color: #78827d;
  font-size: 0.47rem;
}

.efficiency-identity {
  display: grid;
  gap: 7px;
  margin-top: 14px;
}

.efficiency-identity div {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 9px;
  border-bottom: 1px solid #e3e7e5;
  padding-bottom: 6px;
  color: #65706a;
  font-size: 0.49rem;
}

.efficiency-identity strong {
  overflow-wrap: anywhere;
  color: #303d37;
}

.efficiency-commerce-gaps {
  margin-top: 12px;
  border-left: 3px solid #bd8b28;
  padding: 7px 9px;
  background: #fbf8ef;
  color: #6b5a31;
  font-size: 0.49rem;
  line-height: 1.45;
}

.efficiency-model-detail a {
  display: inline-block;
  margin-top: 13px;
  color: #185f87;
  font-size: 0.51rem;
  font-weight: 830;
  text-decoration: none;
}

.efficiency-model-detail a:hover {
  text-decoration: underline;
}

.efficiency-loading,
.efficiency-empty {
  padding: 28px 14px;
  color: #737d78;
  font-size: 0.56rem;
}

.efficiency-method {
  margin: 11px 0 0;
  color: #747f79;
  font-size: 0.5rem;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .value-map-head,
  .value-map-controls {
    display: grid;
  }

  .value-map-layout {
    grid-template-columns: 1fr;
  }

  .value-map-plot {
    border-right: 0;
    border-bottom: 1px solid #d8dde3;
    padding-right: 0;
  }

  .value-map-detail {
    padding-left: 0;
  }

  .value-map-ranking {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .value-map-rank:nth-child(2n) {
    border-right: 0;
  }

  .value-map-rank:nth-child(n + 3) {
    border-top: 1px solid #dfe3e8;
  }

  .efficiency-category-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .efficiency-category-tabs button:nth-child(3n) {
    border-right: 0;
  }

  .efficiency-category-tabs button:nth-child(n + 4) {
    border-top: 1px solid #d7dedb;
  }

  .efficiency-layout {
    grid-template-columns: 1fr;
  }

  .efficiency-model-list {
    max-height: 390px;
    border-right: 0;
    border-bottom: 1px solid #d3dad7;
  }

  .efficiency-model-detail {
    padding-left: 0;
  }
}

@media (max-width: 560px) {
  .value-map-segments {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .value-map-segments button {
    min-width: 0;
    padding: 0 5px;
  }

  .value-map-plot {
    min-height: 320px;
  }

  .value-map-plot svg {
    height: 300px;
  }

  .value-map-ranking {
    grid-template-columns: 1fr;
  }

  .value-map-rank,
  .value-map-rank:nth-child(2n) {
    border-top: 1px solid #dfe3e8;
    border-right: 0;
  }

  .value-map-rank:first-child {
    border-top: 0;
  }

  .efficiency-explorer-head,
  .efficiency-toolbar {
    display: grid;
  }

  .efficiency-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .efficiency-sort {
    width: max-content;
    max-width: 100%;
  }

  .efficiency-category-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .efficiency-category-tabs button:nth-child(3n) {
    border-right: 1px solid #d7dedb;
  }

  .efficiency-category-tabs button:nth-child(2n) {
    border-right: 0;
  }

  .efficiency-category-tabs button:nth-child(n + 3) {
    border-top: 1px solid #d7dedb;
  }

  .efficiency-model-row {
    grid-template-columns: minmax(0, 1fr) 76px;
  }

  .efficiency-model-row > em {
    display: none;
  }

  .efficiency-metric-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .media-trend-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 540px) {
  .media-trend-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Consumer / sourcing / warehouse workspaces
   ============================================================ */
.workspace-switcher {
  display: grid;
  grid-template-columns: minmax(245px, 0.9fr) minmax(620px, 2.6fr);
  gap: 10px;
  max-width: 1240px;
  margin: 0 auto;
  border-top: 1px solid #e5e7eb;
  padding: 8px 22px;
  background: #f6f7f8;
}

.workspace-path {
  display: grid;
  min-width: 0;
  grid-template-columns: 54px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #dce1e5;
  border-radius: 6px;
  background: #fff;
}

.workspace-path-label {
  display: grid;
  place-items: center;
  border-right: 1px solid #e2e6e9;
  background: #edf1f3;
  color: #59636d;
  font-size: 0.52rem;
  font-weight: 900;
}

.workspace-seller-steps {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.workspace-switcher button {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 62px;
  grid-template-columns: 27px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border: 0;
  border-right: 1px solid #e4e7ea;
  padding: 8px 10px;
  background: transparent;
  color: #5b6470;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.workspace-switcher button:last-child {
  border-right: 0;
}

.workspace-step-icon {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid #cbd3da;
  border-radius: 50%;
  background: #f7f9fa;
  color: #607080;
  font-size: 0.58rem;
  font-weight: 900;
}

.workspace-switcher button strong,
.workspace-switcher button small {
  display: block;
  overflow-wrap: anywhere;
}

.workspace-switcher button strong {
  color: #26323e;
  font-size: 0.61rem;
  line-height: 1.25;
}

.workspace-switcher button small {
  margin-top: 3px;
  color: #7b858f;
  font-size: 0.48rem;
  font-weight: 700;
  line-height: 1.25;
}

.workspace-switcher button:hover {
  color: #111827;
  background: #f7f8fa;
}

.workspace-switcher button[aria-selected="true"] {
  background: #fff7f2;
  color: #703115;
}

.workspace-switcher button[aria-selected="true"] .workspace-step-icon {
  border-color: #ed6b2f;
  background: #ed6b2f;
  color: #fff;
}

.workspace-switcher button[aria-selected="true"]::after {
  position: absolute;
  right: 9px;
  bottom: 0;
  left: 9px;
  height: 3px;
  background: #ed6b2f;
  content: "";
}

body[data-workspace="trends"] .header-nav,
body[data-workspace="sourcing"] .header-nav,
body[data-workspace="warehouse"] .header-nav {
  display: none;
}

body[data-workspace="trends"] .header-main,
body[data-workspace="sourcing"] .header-main,
body[data-workspace="warehouse"] .header-main {
  grid-template-columns: 190px minmax(0, 1fr);
}

body[data-workspace="trends"] .header-search,
body[data-workspace="sourcing"] .header-search,
body[data-workspace="warehouse"] .header-search,
body[data-workspace="trends"] .header-actions > a[href="#cartPanel"],
body[data-workspace="sourcing"] .header-actions > a[href="#cartPanel"],
body[data-workspace="warehouse"] .header-actions > a[href="#cartPanel"] {
  display: none;
}

body[data-workspace="trends"] .header-actions,
body[data-workspace="sourcing"] .header-actions,
body[data-workspace="warehouse"] .header-actions {
  justify-self: end;
}

.consumer-workspace[hidden],
.workspace-view[hidden] {
  display: none;
}

[data-sourcing-panel][hidden],
[data-warehouse-panel][hidden],
.warehouse-intelligence[hidden] {
  display: none !important;
}

.operations-workspace {
  width: min(1240px, calc(100% - 44px));
  min-height: 68vh;
  margin: 0 auto;
  padding: 30px 0 52px;
}

.trend-workspace {
  padding-bottom: 42px;
}

.trend-country-rail {
  display: flex;
  margin: 18px 0 0;
  overflow-x: auto;
  border-top: 1px solid #d6dbe1;
  border-bottom: 1px solid #d6dbe1;
  scrollbar-width: thin;
}

.trend-country-rail button {
  display: grid;
  min-width: 112px;
  min-height: 54px;
  flex: 1 0 auto;
  place-content: center;
  border: 0;
  border-right: 1px solid #e2e6ea;
  padding: 7px 12px;
  background: #fff;
  color: #626c78;
  cursor: pointer;
  font: inherit;
  text-align: center;
}

.trend-country-rail button:last-child {
  border-right: 0;
}

.trend-country-rail button strong,
.trend-country-rail button small {
  display: block;
}

.trend-country-rail button strong {
  font-size: 0.68rem;
}

.trend-country-rail button small {
  max-width: 132px;
  overflow: hidden;
  margin-top: 3px;
  color: #8a929c;
  font-size: 0.5rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-country-rail button[aria-pressed="true"] {
  box-shadow: inset 0 -3px #2879b9;
  background: #f4f8fb;
  color: #174f78;
}

.trend-country-rail button.is-limited small {
  color: #9a6512;
}

.trend-country-rail button.is-empty {
  opacity: 0.56;
}

.trend-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #d8dde3;
}

.trend-summary > div {
  border-right: 1px solid #e1e5e9;
  padding: 11px 12px;
}

.trend-summary > div:last-child {
  border-right: 0;
}

.trend-summary strong,
.trend-summary span {
  display: block;
}

.trend-source-coverage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
  border-bottom: 1px solid #d8dde3;
  padding: 8px 0;
}

.trend-source-coverage > div {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}

.trend-source-coverage strong,
.trend-source-coverage span {
  font-size: 0.5rem;
}

.trend-source-coverage strong {
  margin-right: 3px;
  color: #4b5662;
}

.trend-source-coverage span {
  border-left: 3px solid #97a1ab;
  padding: 3px 6px;
  background: #f4f6f7;
  color: #66717c;
  font-weight: 760;
}

.trend-source-coverage span.is-observed {
  border-color: #1d7b5d;
  background: #eef8f4;
  color: #176147;
}

.trend-source-coverage span.is-gap {
  border-color: #cc8a20;
  background: #fff8eb;
  color: #805a16;
}

.trend-product-pulse {
  padding: 22px 0 24px;
  border-bottom: 1px solid #cfd5dc;
}

.trend-product-pulse-head {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
}

.trend-product-pulse-head h2 {
  margin: 3px 0 0;
  color: #17212d;
  font-size: 1rem;
  letter-spacing: 0;
}

.trend-product-pulse-head p:last-child {
  margin: 5px 0 0;
  color: #6f7984;
  font-size: 0.53rem;
}

.trend-pulse-modes {
  display: grid;
  grid-template-columns: repeat(2, minmax(132px, 1fr));
  border: 1px solid #bac4cd;
  border-radius: 5px;
  overflow: hidden;
}

.trend-pulse-modes button {
  min-height: 36px;
  border: 0;
  border-right: 1px solid #bac4cd;
  padding: 7px 12px;
  background: #fff;
  color: #52606d;
  cursor: pointer;
  font: inherit;
  font-size: 0.54rem;
  font-weight: 800;
}

.trend-pulse-modes button:last-child {
  border-right: 0;
}

.trend-pulse-modes button[aria-pressed="true"] {
  background: #17212d;
  color: #fff;
}

.trend-product-pulse-list {
  margin-top: 16px;
  border-top: 1px solid #cfd6dd;
}

.trend-purchase-summary {
  display: grid;
  gap: 4px;
  border-bottom: 1px solid #cfd6dd;
  border-left: 4px solid #b77a20;
  padding: 12px 14px;
  background: #fff9ef;
}

.trend-purchase-summary > strong {
  color: #4c3a1f;
  font-size: 0.58rem;
  line-height: 1.45;
}

.trend-purchase-summary > span {
  color: #75664f;
  font-size: 0.47rem;
  line-height: 1.45;
}

.trend-purchase-summary:has(+ .status-corroborated) {
  border-left-color: #27805e;
  background: #f2faf6;
}

.trend-decision-overview {
  display: grid;
  grid-template-columns: minmax(230px, 1.15fr) minmax(220px, 0.85fr);
  gap: 16px 24px;
  padding: 20px;
  border: 1px solid #dfc9a4;
  border-top: 5px solid #b77a20;
  border-radius: 7px;
  background: #fffaf1;
}

.trend-decision-verdict {
  display: grid;
  gap: 5px;
}

.trend-decision-verdict > span {
  color: #8a6a35;
  font-size: 0.43rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.trend-decision-verdict > strong {
  color: #342715;
  font-size: clamp(1rem, 2.1vw, 1.45rem);
  line-height: 1.08;
}

.trend-decision-verdict > p {
  max-width: 62ch;
  margin: 3px 0 0;
  color: #685b47;
  font-size: 0.52rem;
  line-height: 1.55;
}

.trend-history-progress {
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 12px 14px;
  border: 1px solid #e0d3bd;
  border-radius: 5px;
  background: #fff;
}

.trend-history-progress > span {
  color: #263746;
  font-size: 0.52rem;
  font-weight: 800;
}

.trend-history-progress > span b {
  font-size: 0.9rem;
}

.trend-history-progress > div {
  height: 8px;
  overflow: hidden;
  border-radius: 10px;
  background: #e8ecef;
}

.trend-history-progress > div i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #b77a20;
}

.trend-history-progress > small,
.trend-validation-note > span,
.trend-gate-footnote {
  color: #6f746f;
  font-size: 0.44rem;
  line-height: 1.5;
}

.trend-gate-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid #d9dee2;
  border-radius: 5px;
  background: #fff;
}

.trend-gate-grid > div {
  display: grid;
  gap: 3px;
  min-width: 0;
  border-right: 1px solid #e2e6e9;
  padding: 11px 12px;
}

.trend-gate-grid > div:last-child {
  border-right: 0;
}

.trend-gate-grid strong {
  color: #263746;
  font-size: 0.72rem;
}

.trend-gate-grid strong small {
  color: #8a949d;
  font-size: 0.4rem;
}

.trend-gate-grid span {
  color: #68747f;
  font-size: 0.43rem;
  line-height: 1.35;
}

.trend-validation-note {
  grid-column: 1 / -1;
  display: flex;
  gap: 9px;
  align-items: baseline;
  padding: 9px 11px;
  border-left: 3px solid #7d8790;
  background: #f4f6f7;
}

.trend-validation-note > strong {
  flex: none;
  color: #3d4851;
  font-size: 0.48rem;
}

.trend-gate-footnote {
  grid-column: 1 / -1;
}

.trend-decision-empty {
  display: grid;
  gap: 4px;
  justify-items: start;
  border-bottom: 1px solid #dfe4e8;
  padding: 14px;
}

.trend-decision-empty strong {
  color: #263746;
}

.trend-decision-empty span {
  color: #6f7c87;
}

.trend-watchlist {
  margin-top: 18px;
  border: 1px solid #d8dee3;
  border-radius: 6px;
  background: #fff;
}

.trend-watchlist > summary {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.trend-watchlist > summary::-webkit-details-marker {
  display: none;
}

.trend-watchlist > summary span {
  display: grid;
  gap: 4px;
}

.trend-watchlist > summary strong {
  color: #654715;
  font-size: 0.62rem;
}

.trend-watchlist > summary small {
  max-width: 78ch;
  color: #6f6350;
  font-size: 0.48rem;
  line-height: 1.5;
}

.trend-watchlist > summary > b {
  color: #805c1c;
  font-size: 0.75rem;
}

.trend-watchlist[open] > summary > b {
  transform: rotate(45deg);
}

.trend-watchlist-body {
  border-top: 1px solid #dfe4e8;
  padding: 0 14px 8px;
}

.purchase-signal-row .trend-pulse-main > small {
  white-space: normal;
}

.purchase-signal-row .trend-pulse-main > small b {
  color: #245f8c;
  font-size: inherit;
}

.purchase-signal-row .trend-pulse-main > .trend-evidence-warning {
  border-left: 2px solid #c18a28;
  padding-left: 6px;
  color: #805c1c;
}

.purchase-signal-row .trend-pulse-main > .trend-missing-proof {
  border-left: 2px solid #b77a20;
  padding: 4px 0 4px 7px;
  color: #684d22;
  background: #fff9ef;
}

.trend-pulse-row,
.trend-need-row {
  display: grid;
  min-width: 0;
  grid-template-columns: 24px 56px minmax(180px, 1fr) 72px minmax(150px, auto);
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid #dfe4e8;
  padding: 10px 0;
}

.trend-pulse-row > b,
.trend-need-row > b {
  color: #929ba4;
  font-size: 0.48rem;
}

.trend-pulse-row > img,
.trend-pulse-placeholder {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border: 1px solid #d7dde2;
  border-radius: 4px;
  background: #f2f4f5;
  color: #8c959d;
  font-size: 0.5rem;
  object-fit: contain;
}

.trend-pulse-main,
.trend-need-row > span {
  display: block;
  min-width: 0;
}

.trend-pulse-main > strong,
.trend-pulse-main > small,
.trend-pulse-main > i,
.trend-need-row > span > strong,
.trend-need-row > span > small,
.trend-need-row > span > i {
  display: block;
  min-width: 0;
}

.trend-pulse-main > strong,
.trend-need-row > span > strong {
  overflow: hidden;
  color: #25313d;
  font-size: 0.59rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-pulse-main > small,
.trend-need-row > span > small {
  margin-top: 4px;
  overflow: hidden;
  color: #697580;
  font-size: 0.47rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-pulse-main > i,
.trend-need-row > span > i {
  margin-top: 4px;
  color: #9a5b16;
  font-size: 0.44rem;
  font-style: normal;
  font-weight: 750;
}

.trend-pulse-status {
  display: inline-block;
  margin-bottom: 4px;
  border-left: 3px solid #c18a28;
  padding-left: 6px;
  color: #805c1c;
  font-size: 0.42rem;
  font-weight: 850;
}

.trend-pulse-row.status-corroborated .trend-pulse-status {
  border-left-color: #27805e;
  color: #1e6b4d;
}

.trend-pulse-row.status-strong_single_source .trend-pulse-status {
  border-left-color: #2879b9;
  color: #24638f;
}

.trend-pulse-row > em,
.trend-need-row > em {
  color: #245f8c;
  font-style: normal;
  text-align: right;
}

.trend-pulse-row > em strong,
.trend-pulse-row > em small,
.trend-pulse-row > em i,
.trend-need-row > em strong,
.trend-need-row > em small {
  display: block;
}

.trend-pulse-row > em strong,
.trend-need-row > em strong {
  font-size: 0.78rem;
}

.trend-pulse-row > em small,
.trend-pulse-row > em i,
.trend-need-row > em small {
  margin-top: 2px;
  color: #7c8791;
  font-size: 0.41rem;
  font-style: normal;
}

.trend-pulse-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 9px;
  align-items: center;
  justify-content: flex-end;
}

.trend-pulse-actions button,
.trend-need-row > button {
  min-height: 32px;
  border: 1px solid #9fb8cc;
  border-radius: 4px;
  padding: 5px 9px;
  background: #edf5fa;
  color: #175b86;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.47rem;
  font-weight: 800;
}

.trend-pulse-actions button + button {
  border-color: #b8c4b5;
  background: #f1f6ef;
  color: #3f6a3d;
}

.trend-pulse-actions a {
  color: #28628d;
  font-size: 0.44rem;
  font-weight: 800;
  text-decoration: none;
}

.trend-need-row {
  grid-template-columns: 24px minmax(200px, 1fr) 72px minmax(150px, auto);
}

.trend-need-row > button {
  justify-self: end;
}

.trend-market-overview {
  border-bottom: 1px solid #cfd5dc;
  padding: 22px 0 24px;
}

.trend-summary[hidden],
.trend-market-overview[hidden],
.trend-analysis-layout[hidden],
.trend-matrix-section[hidden] {
  display: none !important;
}

.trend-market-head {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
}

.trend-market-head h2 {
  margin: 3px 0 0;
  color: #17212d;
  font-size: 1rem;
  letter-spacing: 0;
}

.trend-market-kpis {
  display: grid;
  min-width: min(100%, 520px);
  grid-template-columns: repeat(4, minmax(90px, 1fr));
  border-left: 1px solid #dce1e6;
}

.trend-market-kpis > div {
  min-width: 0;
  border-right: 1px solid #dce1e6;
  padding: 3px 10px;
}

.trend-market-kpis strong,
.trend-market-kpis span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-market-kpis strong {
  color: #1e2935;
  font-size: 0.75rem;
}

.trend-market-kpis span {
  margin-top: 3px;
  color: #7a838e;
  font-size: 0.48rem;
  font-weight: 780;
}

.trend-market-visuals {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  margin-top: 18px;
  border-top: 1px solid #d8dde3;
}

.trend-market-visuals > section {
  min-width: 0;
  padding-top: 14px;
}

.trend-opportunity-panel {
  border-right: 1px solid #d8dde3;
  padding-right: 20px;
}

.trend-market-now {
  padding-left: 20px;
}

.trend-opportunity-panel > header,
.trend-market-now > header {
  display: flex;
  min-height: 38px;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.trend-opportunity-panel h3,
.trend-market-now h3 {
  margin: 0;
  color: #35414d;
  font-size: 0.65rem;
  letter-spacing: 0;
}

.trend-opportunity-panel header p,
.trend-market-now header p {
  margin: 4px 0 0;
  color: #7b8490;
  font-size: 0.49rem;
  line-height: 1.4;
}

.trend-opportunity-map {
  min-height: 350px;
  margin-top: 7px;
}

.trend-opportunity-map svg {
  display: block;
  width: 100%;
  aspect-ratio: 760 / 350;
  min-height: 280px;
  overflow: visible;
}

.trend-map-zone.zone-act { fill: #fff4d8; }
.trend-map-zone.zone-validate { fill: #edf5fb; }
.trend-map-zone.zone-durable { fill: #edf7f1; }
.trend-map-zone.zone-monitor { fill: #f4f5f6; }

.trend-map-grid {
  stroke: #cfd6dd;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.trend-map-tick,
.trend-map-axis-title,
.trend-map-zone-label {
  fill: #6e7883;
  font-family: inherit;
  font-size: 9px;
  letter-spacing: 0;
}

.trend-map-axis-title {
  fill: #485460;
  font-size: 10px;
  font-weight: 800;
}

.trend-map-zone-label {
  fill: #596570;
  font-size: 8px;
  font-weight: 800;
}

.trend-map-point {
  cursor: pointer;
  outline: none;
}

.trend-map-point circle {
  fill: #6d7c89;
  stroke: #fff;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.trend-map-point.zone-act circle { fill: #c47b16; }
.trend-map-point.zone-validate circle { fill: #2879b9; }
.trend-map-point.zone-durable circle { fill: #27805e; }
.trend-map-point.zone-monitor circle { fill: #7a858f; }

.trend-map-point text {
  fill: #fff;
  font-family: inherit;
  font-size: 9px;
  font-weight: 900;
  pointer-events: none;
}

.trend-map-point:hover circle,
.trend-map-point:focus circle,
.trend-map-point.is-selected circle {
  stroke: #17212d;
  stroke-width: 3;
}

.trend-map-key {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #dce1e6;
}

.trend-map-key button {
  display: grid;
  min-width: 0;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  border: 0;
  border-right: 1px solid #e1e5e9;
  border-bottom: 1px solid #e1e5e9;
  padding: 7px 5px;
  background: #fff;
  color: #34404c;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.trend-map-key button:nth-child(2n) {
  border-right: 0;
}

.trend-map-key button[aria-pressed="true"] {
  box-shadow: inset 3px 0 #2879b9;
  background: #f4f8fb;
}

.trend-map-key b,
.trend-map-key span,
.trend-map-key em {
  min-width: 0;
  font-size: 0.48rem;
}

.trend-map-key b {
  color: #86909a;
}

.trend-map-key span {
  overflow: hidden;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-map-key em {
  color: #75808b;
  font-style: normal;
  text-align: right;
}

.trend-market-evidence-mix {
  display: flex;
  max-width: 190px;
  flex-wrap: wrap;
  gap: 4px 8px;
  justify-content: flex-end;
}

.trend-market-evidence-mix span {
  display: grid;
  min-width: 72px;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 4px;
  align-items: center;
  color: #69747f;
  font-size: 0.43rem;
}

.trend-market-evidence-mix i {
  display: block;
  width: var(--mix-share);
  min-width: 3px;
  max-width: 22px;
  height: 4px;
  background: #7b8792;
}

.trend-market-evidence-mix .mix-commerce i { background: #27805e; }
.trend-market-evidence-mix .mix-social i { background: #2879b9; }
.trend-market-evidence-mix .mix-search i { background: #c47b16; }
.trend-market-evidence-mix .mix-media i { background: #765a9c; }
.trend-market-evidence-mix .mix-discovery i { background: #a34b52; }

.trend-market-evidence-mix b,
.trend-market-evidence-mix em {
  overflow: hidden;
  font-size: inherit;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#trendMarketNowList {
  margin-top: 8px;
  border-top: 1px solid #dce1e6;
}

.trend-market-now-row {
  display: grid;
  min-width: 0;
  grid-template-columns: 24px minmax(0, 1fr) 48px;
  gap: 7px;
  align-items: center;
  border-bottom: 1px solid #e4e8ec;
  padding: 8px 0;
}

.trend-market-now-row > b {
  color: #939ca5;
  font-size: 0.48rem;
}

.trend-market-now-row > button {
  min-width: 0;
  border: 0;
  padding: 0;
  background: transparent;
  color: #26323e;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.trend-market-now-row > button:disabled {
  cursor: default;
}

.trend-market-now-row > button strong,
.trend-market-now-row > button small,
.trend-market-now-row > button span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-market-now-row > button strong {
  font-size: 0.55rem;
}

.trend-market-now-row > button small {
  margin-top: 2px;
  color: #78828d;
  font-size: 0.46rem;
}

.trend-market-now-row > button span {
  margin-top: 3px;
  color: #43705f;
  font-size: 0.44rem;
  font-weight: 780;
}

.trend-market-now-row > em {
  color: #245f8c;
  font-style: normal;
  text-align: right;
}

.trend-market-now-row > em strong,
.trend-market-now-row > em small {
  display: block;
}

.trend-market-now-row > em strong {
  font-size: 0.68rem;
}

.trend-market-now-row > em small {
  color: #89929b;
  font-size: 0.4rem;
}

.trend-market-actions {
  grid-column: 2 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.trend-market-actions > a {
  color: #28628d;
  font-size: 0.43rem;
  font-weight: 800;
  text-decoration: none;
}

.trend-market-find {
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid #9fb8cc;
  border-radius: 4px;
  background: #edf5fa;
  color: #175b86;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.trend-summary strong {
  color: #17212d;
  font-size: 0.86rem;
}

.trend-summary span {
  margin-top: 2px;
  color: #747d88;
  font-size: 0.53rem;
  font-weight: 780;
}

.trend-analysis-layout {
  display: grid;
  grid-template-columns: minmax(245px, 0.72fr) minmax(0, 2fr);
  border-bottom: 1px solid #cfd5dc;
}

.trend-audience-panel {
  border-right: 1px solid #d8dde3;
  padding: 18px 18px 18px 0;
}

.trend-audience-panel h2,
.trend-detail-panel h2,
.trend-matrix-section h2 {
  margin: 3px 0 0;
  color: #17212d;
  font-size: 0.92rem;
  letter-spacing: 0;
}

.trend-category-head {
  display: flex;
  gap: 10px;
  align-items: flex-end;
  justify-content: space-between;
}

.trend-category-head button {
  flex: 0 0 auto;
  border: 0;
  border-bottom: 1px solid #7f8994;
  padding: 3px 0;
  background: transparent;
  color: #4f5b67;
  cursor: pointer;
  font: inherit;
  font-size: 0.52rem;
  font-weight: 800;
}

#trendAudienceList {
  margin-top: 14px;
  border-top: 1px solid #dce1e6;
}

.trend-audience-row {
  display: grid;
  width: 100%;
  min-height: 54px;
  grid-template-columns: 24px minmax(0, 1fr) 42px;
  gap: 9px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #e4e8ec;
  padding: 8px 8px 8px 2px;
  background: #fff;
  color: #26313d;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.trend-category-rank {
  color: #9aa2ab;
  font-size: 0.5rem;
  font-weight: 850;
}

.trend-audience-row > span:first-child {
  min-width: 0;
}

.trend-audience-row strong,
.trend-audience-row small {
  display: block;
}

.trend-audience-row strong {
  overflow: hidden;
  font-size: 0.63rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-audience-row small {
  margin-top: 3px;
  color: #7a838e;
  font-size: 0.5rem;
}

.trend-audience-track {
  display: block;
  height: 4px;
  margin-top: 6px;
  overflow: hidden;
  background: #e7eaee;
}

.trend-audience-track i {
  display: block;
  height: 100%;
  background: #2879b9;
}

.trend-audience-row > b {
  color: #245f8c;
  font-size: 0.78rem;
  text-align: right;
}

.trend-audience-row > b small {
  margin-top: 1px;
  color: #89919a;
  font-size: 0.42rem;
  font-weight: 750;
}

.trend-audience-row[aria-pressed="true"] {
  box-shadow: inset 3px 0 #2879b9;
  background: #f4f8fb;
  padding-left: 10px;
}

.trend-detail-panel {
  min-width: 0;
  padding: 18px 0 18px 20px;
}

.trend-selected-head {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid #dce1e6;
  padding-bottom: 14px;
}

.trend-readout {
  margin: 0;
  border-bottom: 1px solid #dce1e6;
  padding: 11px 0;
  color: #33404d;
  font-size: 0.62rem;
  line-height: 1.55;
}

#trendSelectedStatus {
  display: inline-block;
  color: #137253;
  font-size: 0.52rem;
  font-weight: 900;
  text-transform: uppercase;
}

#trendSelectedSubtitle {
  margin: 5px 0 0;
  color: #69737f;
  font-size: 0.58rem;
}

#trendSelectedMetrics {
  display: grid;
  min-width: min(100%, 460px);
  grid-template-columns: repeat(5, minmax(70px, 1fr));
  border-left: 1px solid #e0e4e8;
}

.trend-briefing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(240px, 0.6fr);
  border-bottom: 1px solid #dce1e6;
}

.trend-briefing-grid > section {
  min-width: 0;
  padding: 15px 0;
}

.trend-briefing-grid > section:first-child {
  border-right: 1px solid #e0e4e8;
  padding-right: 18px;
}

.trend-briefing-grid > section:last-child {
  padding-left: 18px;
}

.trend-briefing-grid h3 {
  margin: 0 0 9px;
  color: #3c4854;
  font-size: 0.62rem;
  letter-spacing: 0;
}

#trendNowList,
#trendAmplifierList {
  border-top: 1px solid #dfe4e8;
}

.trend-now-row {
  display: grid;
  min-width: 0;
  grid-template-columns: 24px minmax(0, 1fr) 58px;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid #e5e8ec;
  padding: 9px 2px;
  color: #26323e;
  text-decoration: none;
}

.trend-now-row:hover,
.trend-amplifier-row:hover {
  background: #f5f8fa;
}

.trend-now-row > b {
  color: #9aa2ab;
  font-size: 0.5rem;
}

.trend-now-row > span,
.trend-now-row > em,
.trend-amplifier-row > span,
.trend-amplifier-row > em {
  min-width: 0;
}

.trend-now-row strong,
.trend-now-row small,
.trend-amplifier-row strong,
.trend-amplifier-row small,
.trend-amplifier-row i {
  display: block;
}

.trend-now-row > span > strong,
.trend-now-row > span > small,
.trend-amplifier-row > span:nth-child(2) > strong,
.trend-amplifier-row > span:nth-child(2) > small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-now-row > span > strong,
.trend-amplifier-row > span:nth-child(2) > strong {
  font-size: 0.57rem;
}

.trend-now-row > span > small,
.trend-amplifier-row > span:nth-child(2) > small {
  margin-top: 3px;
  color: #78828d;
  font-size: 0.48rem;
}

.trend-now-row > em,
.trend-amplifier-row > em {
  color: #245f8c;
  font-style: normal;
  text-align: right;
}

.trend-now-row > em strong,
.trend-amplifier-row > em strong {
  font-size: 0.68rem;
}

.trend-now-row > em small,
.trend-amplifier-row > em small {
  margin-top: 1px;
  color: #8a929c;
  font-size: 0.42rem;
}

.trend-now-stats {
  display: flex;
  grid-column: 2 / -1;
  flex-wrap: wrap;
  gap: 5px 10px;
  margin-top: -3px;
}

.trend-now-stats i {
  color: #6e7884;
  font-size: 0.46rem;
  font-style: normal;
  font-weight: 760;
}

.trend-now-stats i.is-intent,
.trend-now-stats i.is-ended {
  border-left: 3px solid #1d7b5d;
  padding: 2px 5px;
  background: #eef8f4;
  color: #176147;
}

.trend-now-stats i.is-ended {
  border-color: #b47a20;
  background: #fff8eb;
  color: #805a16;
}

.trend-amplifier-row {
  display: grid;
  min-width: 0;
  grid-template-columns: 30px minmax(0, 1fr) 62px;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid #e5e8ec;
  padding: 9px 2px;
  color: #26323e;
  text-decoration: none;
}

.trend-amplifier-mark {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #bdc7d0;
  border-radius: 50%;
  background: #f1f4f6;
  color: #475a6a;
  font-size: 0.57rem;
  font-weight: 900;
}

.trend-amplifier-row > span:nth-child(2) > i {
  margin-top: 3px;
  color: #9a6818;
  font-size: 0.43rem;
  font-style: normal;
  font-weight: 780;
}

#trendSelectedMetrics > div {
  border-right: 1px solid #e0e4e8;
  padding: 3px 10px;
}

#trendSelectedMetrics strong,
#trendSelectedMetrics span {
  display: block;
}

#trendSelectedMetrics strong {
  color: #17212d;
  font-size: 0.8rem;
}

#trendSelectedMetrics span {
  margin-top: 3px;
  color: #7b8490;
  font-size: 0.49rem;
  font-weight: 780;
}

.trend-detail-columns {
  display: grid;
  grid-template-columns: minmax(190px, 0.72fr) minmax(0, 1.28fr);
}

.trend-detail-columns > section {
  min-width: 0;
  padding-top: 14px;
}

.trend-detail-columns > section:first-child {
  border-right: 1px solid #e0e4e8;
  padding-right: 16px;
}

.trend-detail-columns > section:last-child {
  padding-left: 18px;
}

.trend-detail-columns h3,
.trend-evidence h3 {
  margin: 0 0 10px;
  color: #59636e;
  font-size: 0.58rem;
  letter-spacing: 0;
}

.trend-topic-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 8px;
  align-items: center;
  margin-top: 9px;
}

.trend-topic-row span,
.trend-topic-row strong {
  font-size: 0.54rem;
}

.trend-topic-row > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-topic-row > strong {
  color: #44515d;
  text-align: right;
}

.trend-topic-track {
  grid-column: 1 / -1;
  height: 5px;
  margin-top: -3px;
  overflow: hidden;
  background: #e7eaee;
}

.trend-topic-track i {
  display: block;
  height: 100%;
  background: #d49b24;
}

#trendProductList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #e1e5e9;
}

.trend-product-row {
  display: grid;
  min-width: 0;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  border: 0;
  border-right: 1px solid #e1e5e9;
  border-bottom: 1px solid #e1e5e9;
  padding: 9px;
  background: #fff;
  color: #25303c;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.trend-product-row:nth-child(2n) {
  border-right: 0;
}

.trend-product-row img,
.trend-product-row > i {
  width: 48px;
  height: 48px;
  border: 1px solid #dce1e6;
  background: #f3f5f7;
  object-fit: contain;
}

.trend-product-row strong,
.trend-product-row small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-product-row strong {
  font-size: 0.58rem;
}

.trend-product-row small {
  margin-top: 3px;
  color: #76808b;
  font-size: 0.49rem;
}

.trend-evidence {
  margin-top: 14px;
  border-top: 1px solid #dce1e6;
  padding-top: 13px;
}

.trend-evidence-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 16px;
}

.trend-evidence-list a {
  display: grid;
  min-width: 0;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 8px;
  border-bottom: 1px solid #e7eaee;
  padding: 8px 0;
  color: #284c69;
  text-decoration: none;
}

.trend-evidence-list a strong,
.trend-evidence-list a span {
  overflow: hidden;
  font-size: 0.51rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-evidence-list a strong {
  color: #7b8490;
  text-transform: uppercase;
}

.trend-matrix-section {
  margin-top: 24px;
  border-top: 3px solid #1f2937;
  border-bottom: 1px solid #cfd5dc;
  padding: 0;
}

.trend-matrix-section > summary {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 2px;
  color: #26313d;
  cursor: pointer;
  list-style: none;
}

.trend-matrix-section > summary::-webkit-details-marker {
  display: none;
}

.trend-matrix-section > summary::after {
  color: #59636e;
  content: "+";
  font-size: 1.1rem;
  font-weight: 500;
}

.trend-matrix-section[open] > summary::after {
  content: "−";
}

.trend-matrix-section > summary strong,
.trend-matrix-section > summary small {
  display: block;
}

.trend-matrix-section > summary strong {
  font-size: 0.72rem;
}

.trend-matrix-section > summary small {
  margin-top: 3px;
  color: #7c8590;
  font-size: 0.5rem;
}

.trend-matrix-section > header {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
}

.trend-matrix-section > header > span {
  color: #7c8590;
  font-size: 0.52rem;
  font-weight: 750;
}

.trend-matrix {
  margin: 0 0 18px;
  overflow-x: auto;
}

.trend-matrix-grid {
  display: grid;
  min-width: 890px;
  grid-template-columns: 170px repeat(var(--trend-country-count, 8), minmax(82px, 1fr));
  border-top: 1px solid #d7dce2;
  border-left: 1px solid #d7dce2;
}

.trend-matrix-grid > span,
.trend-matrix-grid > button {
  min-width: 0;
  min-height: 44px;
  border: 0;
  border-right: 1px solid #d7dce2;
  border-bottom: 1px solid #d7dce2;
}

.trend-matrix-head,
.trend-matrix-label {
  display: grid;
  place-items: center;
  padding: 7px;
  background: #f5f6f8;
  color: #55606c;
  font-size: 0.52rem;
  font-weight: 850;
  text-align: center;
}

.trend-matrix-label {
  place-items: center start;
  padding-left: 10px;
  text-align: left;
}

.trend-matrix-cell {
  display: grid;
  place-items: center;
  background: #f2f4f5;
  color: #65707b;
  cursor: pointer;
  font: inherit;
  font-size: 0.65rem;
  font-weight: 900;
}

.trend-matrix-cell.heat-1 { background: #eef4f0; color: #416653; }
.trend-matrix-cell.heat-2 { background: #dcece3; color: #276044; }
.trend-matrix-cell.heat-3 { background: #b9ddc9; color: #174c34; }
.trend-matrix-cell.heat-4 { background: #f1d694; color: #654a0e; }
.trend-matrix-cell.heat-5 { background: #e7a95d; color: #482d08; }

.trend-matrix-cell[aria-pressed="true"] {
  box-shadow: inset 0 0 0 3px #17639a;
}

.trend-empty {
  border-top: 1px solid #e1e5e9;
  border-bottom: 1px solid #e1e5e9;
  padding: 15px 0;
  color: #7a838e;
  font-size: 0.57rem;
}

.trend-workspace.is-load-failed .simple-journey,
.trend-workspace.is-load-failed .trend-summary,
.trend-workspace.is-load-failed .trend-source-drawer,
.trend-workspace.is-load-failed .trend-market-overview,
.trend-workspace.is-load-failed .trend-analysis-layout,
.trend-workspace.is-load-failed .trend-matrix-section,
.trend-workspace.is-load-failed .warehouse-method-note,
.trend-workspace.is-load-failed .trend-product-pulse-head {
  display: none;
}

.trend-load-failure {
  max-width: 680px;
  margin: 28px auto;
  padding: 28px;
  border: 1px solid #d8dee5;
  border-radius: 14px;
  background: #fff;
  text-align: center;
}

.trend-load-failure strong { font-size: 1.05rem; }
.trend-load-failure p { color: #5d6875; line-height: 1.6; }
.trend-load-failure button { margin-top: 8px; }

.operations-view-tabs {
  display: flex;
  gap: 0;
  overflow-x: auto;
  border-top: 1px solid #cfd5dc;
  border-bottom: 1px solid #cfd5dc;
  background: #fff;
}

.operations-view-tabs button {
  min-width: max-content;
  min-height: 38px;
  border: 0;
  border-right: 1px solid #e2e6ea;
  padding: 0 15px;
  background: #fff;
  color: #66707c;
  font: inherit;
  font-size: 0.64rem;
  font-weight: 850;
  cursor: pointer;
}

.operations-view-tabs button:hover {
  background: #f6f8fa;
  color: #1c2733;
}

.operations-view-tabs button[aria-pressed="true"] {
  box-shadow: inset 0 -3px #16835f;
  background: #f7faf8;
  color: #115c43;
}

.workspace-decision-bar {
  display: grid;
  grid-template-columns: minmax(180px, 1.25fr) repeat(3, minmax(120px, 0.65fr)) minmax(220px, 1.1fr);
  margin: 16px 0;
  border-top: 1px solid #cfd5dc;
  border-bottom: 1px solid #cfd5dc;
  background: #fafbfc;
}

.workspace-decision-bar > div {
  min-width: 0;
  border-right: 1px solid #dfe3e8;
  padding: 10px 11px;
}

.workspace-decision-bar > div:last-child {
  border-right: 0;
}

.workspace-decision-bar span,
.workspace-decision-bar strong,
.workspace-decision-bar small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-decision-bar span {
  color: #78818c;
  font-size: 0.5rem;
  font-weight: 850;
}

.workspace-decision-bar strong {
  margin-top: 3px;
  color: #17212d;
  font-size: 0.72rem;
}

.workspace-decision-bar small {
  margin-top: 3px;
  color: #707985;
  font-size: 0.52rem;
}

.workspace-decision-bar .workspace-decision-next {
  border-left: 4px solid #2879b9;
  background: #f3f8fb;
}

.commercial-decision-section {
  min-width: 0;
  margin: 14px 0 20px;
  padding: 0;
}

.workspace-heading.sourcing-heading {
  display: block;
  max-width: 760px;
  border-bottom: 0;
  padding-bottom: 6px;
}

.workspace-heading.sourcing-heading h1 {
  font-size: 1.65rem;
}

.sourcing-heading-copy {
  margin: 8px 0 0;
  color: #5f6874;
  font-size: 0.76rem;
  line-height: 1.55;
}

.sourcing-launchpad {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 12px 0 14px;
  border: 1px solid #d7dde3;
  border-radius: 6px;
  background: #fff;
}

.sourcing-launchpad > button {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  min-width: 0;
  min-height: 76px;
  align-items: center;
  gap: 9px;
  border: 0;
  border-right: 1px solid #e1e5e9;
  padding: 11px 12px;
  background: #fff;
  color: #25303c;
  text-align: left;
  cursor: pointer;
}

.sourcing-launchpad > button:first-child {
  border-radius: 5px 0 0 5px;
}

.sourcing-launchpad > button:last-child {
  border-right: 0;
  border-radius: 0 5px 5px 0;
}

.sourcing-launchpad > button:hover {
  background: #f7f9fa;
}

.sourcing-launchpad > button[aria-pressed="true"] {
  box-shadow: inset 0 -4px #ed6b2f;
  background: #fff8f4;
  color: #713315;
}

.sourcing-goal-icon {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #cad2da;
  border-radius: 50%;
  background: #f5f7f8;
  color: #31526b;
  font-size: 0.78rem;
  font-weight: 900;
}

.sourcing-launchpad > button[aria-pressed="true"] .sourcing-goal-icon {
  border-color: #ed6b2f;
  background: #ed6b2f;
  color: #fff;
}

.sourcing-launchpad strong,
.sourcing-launchpad small {
  display: block;
  overflow-wrap: anywhere;
}

.sourcing-launchpad strong {
  font-size: 0.67rem;
  line-height: 1.3;
}

.sourcing-launchpad small {
  margin-top: 4px;
  color: #7a838e;
  font-size: 0.52rem;
  font-weight: 700;
  line-height: 1.35;
}

.sourcing-overview-drawer,
.sourcing-tool-drawer,
.sourcing-records-drawer {
  margin: 10px 0;
  border-top: 1px solid #d7dde3;
  border-bottom: 1px solid #d7dde3;
  background: #fff;
}

.sourcing-overview-drawer > summary,
.sourcing-tool-drawer > summary,
.sourcing-records-drawer > summary {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 4px;
  color: #26313d;
  cursor: pointer;
  list-style: none;
}

.sourcing-overview-drawer > summary::-webkit-details-marker,
.sourcing-tool-drawer > summary::-webkit-details-marker,
.sourcing-records-drawer > summary::-webkit-details-marker {
  display: none;
}

.sourcing-overview-drawer > summary strong,
.sourcing-overview-drawer > summary small,
.sourcing-tool-drawer > summary strong,
.sourcing-tool-drawer > summary small,
.sourcing-records-drawer > summary strong,
.sourcing-records-drawer > summary small {
  display: block;
}

.sourcing-overview-drawer > summary strong,
.sourcing-tool-drawer > summary strong,
.sourcing-records-drawer > summary strong {
  font-size: 0.65rem;
}

.sourcing-overview-drawer > summary small,
.sourcing-tool-drawer > summary small,
.sourcing-records-drawer > summary small {
  margin-top: 3px;
  color: #7a838e;
  font-size: 0.52rem;
  font-weight: 700;
}

.sourcing-overview-drawer > summary > span:last-child,
.sourcing-tool-drawer > summary > span:last-child,
.sourcing-records-drawer > summary > span:last-child {
  font-size: 1rem;
  transition: transform 0.15s ease;
}

.sourcing-overview-drawer[open] > summary > span:last-child,
.sourcing-tool-drawer[open] > summary > span:last-child,
.sourcing-records-drawer[open] > summary > span:last-child {
  transform: rotate(45deg);
}

.sourcing-overview-drawer .workspace-metrics,
.sourcing-overview-drawer .workspace-decision-bar {
  margin-right: 0;
  margin-left: 0;
}

.sourcing-overview-drawer .commercial-decision-head {
  padding: 12px 4px;
}

.sourcing-records-drawer .commercial-project-grid {
  margin: 0;
  padding: 12px 0;
}

.rfq-service-desk {
  min-width: 0;
  margin: 0 0 12px;
  overflow: hidden;
  border: 1px solid #cfd5dc;
  border-radius: 6px;
  background: #fff;
}

.rfq-service-head,
.rfq-agent-identity,
.rfq-service-actions,
.rfq-brief > header {
  display: flex;
  align-items: center;
}

.rfq-service-head {
  min-height: 64px;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #dfe3e8;
  padding: 10px 14px;
  background: #fafbfc;
}

.rfq-agent-identity {
  min-width: 0;
  gap: 10px;
}

.rfq-agent-avatar {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: #176448;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
}

.rfq-agent-identity h3,
.rfq-brief h3 {
  margin: 0;
  color: #17202b;
  font-size: 0.78rem;
  letter-spacing: 0;
}

.rfq-agent-identity p {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 2px 0 0;
  color: #6a7380;
  font-size: 0.56rem;
  font-weight: 700;
}

.rfq-online-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22a06b;
  box-shadow: 0 0 0 2px #d9f2e7;
}

.rfq-service-actions {
  flex: 0 0 auto;
  gap: 7px;
}

.rfq-service-actions button,
.rfq-save-brief,
.rfq-composer button {
  min-height: 34px;
  border: 1px solid #17202b;
  border-radius: 4px;
  padding: 0 12px;
  background: #17202b;
  color: #fff;
  font-size: 0.61rem;
  font-weight: 850;
  cursor: pointer;
}

.rfq-service-actions .secondary-command {
  border-color: #bdc5ce;
  background: #fff;
  color: #364152;
}

.rfq-service-actions button:hover,
.rfq-save-brief:hover,
.rfq-composer button:hover {
  border-color: #1f6e53;
  background: #1f6e53;
  color: #fff;
}

.rfq-service-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(270px, 0.72fr);
  min-height: 300px;
}

.rfq-conversation {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  border-right: 1px solid #dfe3e8;
  background: #fff;
}

.rfq-message-list {
  flex: 1 1 auto;
  height: clamp(180px, 24vh, 240px);
  overflow: auto;
  padding: 20px 18px 12px;
  scroll-behavior: smooth;
}

.rfq-message {
  display: grid;
  width: fit-content;
  max-width: min(76%, 620px);
  margin: 0 0 15px;
  gap: 4px;
}

.rfq-message > span {
  color: #7a838f;
  font-size: 0.52rem;
  font-weight: 800;
}

.rfq-message p {
  margin: 0;
  border: 1px solid #d8dee5;
  border-radius: 6px;
  padding: 10px 12px;
  background: #f4f7f7;
  color: #202936;
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.rfq-message-user {
  justify-items: end;
  margin-left: auto;
}

.rfq-message-user p {
  border-color: #2f3e4e;
  background: #2f3e4e;
  color: #fff;
}

.rfq-message-staff p {
  border-color: #d8b56b;
  background: #fff7e6;
}

.rfq-quick-replies {
  display: flex;
  min-height: 34px;
  gap: 6px;
  overflow-x: auto;
  padding: 0 14px 8px;
}

.rfq-quick-replies button {
  flex: 0 0 auto;
  min-height: 28px;
  border: 1px solid #b8c9c2;
  border-radius: 4px;
  padding: 0 9px;
  background: #fff;
  color: #176448;
  font-size: 0.56rem;
  font-weight: 800;
  cursor: pointer;
}

.rfq-quick-replies button:hover {
  border-color: #176448;
  background: #eef7f3;
}

.rfq-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  border-top: 1px solid #dfe3e8;
  padding: 10px 12px;
  background: #fafbfc;
}

.rfq-composer textarea {
  width: 100%;
  min-width: 0;
  min-height: 54px;
  max-height: 140px;
  resize: vertical;
  border: 1px solid #bfc7d0;
  border-radius: 4px;
  padding: 9px 10px;
  background: #fff;
  color: #17202b;
  font-size: 0.68rem;
  line-height: 1.45;
}

.rfq-composer textarea:focus {
  outline: 0;
  border-color: #2879b9;
  box-shadow: 0 0 0 3px rgba(40, 121, 185, 0.13);
}

.rfq-composer button {
  align-self: stretch;
  min-width: 64px;
}

.rfq-composer-note {
  margin: 0;
  padding: 0 14px 10px;
  background: #fafbfc;
  color: #7a838f;
  font-size: 0.51rem;
  font-weight: 650;
}

.rfq-brief {
  min-width: 0;
  padding: 18px 16px;
  background: #f7f8fa;
}

.rfq-brief > header {
  justify-content: space-between;
  gap: 12px;
}

.rfq-brief > header .eyebrow {
  margin: 0 0 2px;
}

.rfq-brief > header > strong {
  color: #176448;
  font-size: 1.2rem;
  font-weight: 900;
}

.rfq-progress {
  height: 5px;
  margin: 12px 0 14px;
  overflow: hidden;
  border-radius: 3px;
  background: #dfe4e8;
}

.rfq-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: #1f8a6d;
  transition: width 0.2s ease;
}

.rfq-brief-fields {
  display: grid;
  margin: 0;
}

.rfq-brief-fields > div {
  display: grid;
  grid-template-columns: minmax(78px, 0.45fr) minmax(0, 1fr);
  gap: 10px;
  border-bottom: 1px solid #dde2e7;
  padding: 9px 0;
}

.rfq-brief-fields > div:not(.is-known) {
  display: none;
}

.rfq-brief-fields dt,
.rfq-brief-fields dd {
  margin: 0;
  font-size: 0.59rem;
}

.rfq-brief-fields dt {
  color: #6f7884;
  font-weight: 800;
}

.rfq-brief-fields dd {
  color: #8a929c;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.rfq-brief-fields .is-known dd {
  color: #17202b;
}

.rfq-brief-status {
  display: grid;
  gap: 2px;
  margin: 14px 0 10px;
  border-left: 3px solid #2879b9;
  padding: 8px 10px;
  background: #eef5fa;
}

.rfq-brief-status strong,
.rfq-brief-status span {
  font-size: 0.56rem;
}

.rfq-brief-status strong {
  color: #1d4f75;
}

.rfq-brief-status span {
  color: #687582;
  font-weight: 650;
}

.rfq-save-brief {
  width: 100%;
}

.commercial-economics-drawer {
  margin: 12px 0 18px;
  border: 1px solid #d3d8de;
  border-radius: 5px;
  background: #fff;
}

.commercial-economics-drawer > summary {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
  padding: 10px 14px;
}

.commercial-economics-drawer > summary::-webkit-details-marker {
  display: none;
}

.commercial-economics-drawer > summary > span:first-child {
  display: grid;
  gap: 2px;
}

.commercial-economics-drawer > summary strong,
.commercial-economics-drawer > summary small,
.commercial-economics-drawer > summary > span:last-child {
  font-size: 0.62rem;
}

.commercial-economics-drawer > summary strong {
  color: #17202b;
}

.commercial-economics-drawer > summary small {
  color: #737d89;
  font-weight: 650;
}

.commercial-economics-drawer > summary > span:last-child {
  color: #176448;
  font-weight: 850;
}

.commercial-economics-drawer > summary::after {
  content: "+";
  color: #65717d;
  font-size: 1rem;
  font-weight: 500;
}

.commercial-economics-drawer[open] > summary::after {
  content: "−";
}

.commercial-economics-drawer[open] > summary {
  border-bottom: 1px solid #dfe3e8;
}

.commercial-economics-drawer > form,
.commercial-economics-drawer > .commercial-results {
  margin-right: 14px;
  margin-left: 14px;
}

.commercial-economics-overview {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.commercial-economics-product,
.commercial-economics-next {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.commercial-economics-product div,
.commercial-economics-product span,
.commercial-economics-product strong,
.commercial-economics-product small,
.commercial-economics-next div,
.commercial-economics-next span,
.commercial-economics-next strong {
  display: block;
}

.commercial-economics-product > div > span,
.commercial-economics-next span {
  color: #697784;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.commercial-economics-product > div > strong {
  margin-top: 3px;
  color: #17202b;
  font-size: 1rem;
}

.commercial-economics-product small {
  margin-top: 4px;
  color: #687681;
  font-size: .68rem;
}

.commercial-economics-evidence-path {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.commercial-economics-evidence-path article {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  border: 1px solid #dce3e7;
  border-radius: 11px;
  padding: 12px;
  background: #f8fafb;
}

.commercial-economics-evidence-path article > span {
  display: grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #e7edf0;
  color: #566875;
  font-size: .72rem;
  font-weight: 900;
}

.commercial-economics-evidence-path article strong,
.commercial-economics-evidence-path article small {
  display: block;
}

.commercial-economics-evidence-path article strong {
  font-size: .72rem;
}

.commercial-economics-evidence-path article small {
  margin-top: 3px;
  color: #687681;
  font-size: .64rem;
}

.commercial-economics-evidence-path article.is-current {
  border-color: #dbb574;
  background: #fff9ee;
}

.commercial-economics-evidence-path article.is-current > span {
  background: #f3dfb9;
  color: #704a0e;
}

.commercial-economics-evidence-path article.is-complete {
  border-color: #9ccfbc;
  background: #f1faf6;
}

.commercial-economics-evidence-path article.is-complete > span {
  background: #dff3eb;
  color: #14684f;
}

.commercial-economics-next {
  border-top: 1px solid #e2e7ea;
  padding-top: 14px;
}

.commercial-economics-next strong {
  margin-top: 3px;
  max-width: 850px;
  color: #263744;
  font-size: .78rem;
}

.commercial-economics-next button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 7px;
  padding: 11px 15px;
  background: #17202b;
  color: #fff;
  font-size: .72rem;
  font-weight: 850;
}

.commercial-economics-empty {
  display: grid;
  gap: 4px;
  border: 1px solid #ead6b5;
  border-radius: 11px;
  padding: 14px;
  background: #fff9ee;
}

.commercial-economics-empty span {
  color: #687681;
  font-size: .72rem;
}

.commercial-advanced-costs {
  margin: 0 18px 18px;
  border: 1px solid #dce3e7;
  border-radius: 10px;
  background: #f8fafb;
}

.commercial-advanced-costs > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
}

.commercial-advanced-costs > summary small {
  color: #687681;
  font-size: .66rem;
}

.commercial-advanced-costs > form {
  border-top: 1px solid #dce3e7;
  padding: 14px;
  background: #fff;
}

@media (max-width: 760px) {
  .commercial-economics-product,
  .commercial-economics-next,
  .commercial-advanced-costs > summary {
    align-items: stretch;
    flex-direction: column;
  }

  .commercial-economics-evidence-path {
    grid-template-columns: 1fr;
  }
}

.commercial-decision-head,
.commercial-project-actions,
.commercial-run-row,
.commercial-project-grid > section > header {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.commercial-decision-head h2,
.commercial-project-grid h3 {
  margin: 2px 0 0;
  color: #111827;
  letter-spacing: 0;
}

.commercial-decision-head h2 {
  font-size: 1.06rem;
}

.commercial-project-actions {
  align-items: flex-end;
}

.commercial-project-actions label,
.commercial-project-fields label,
.commercial-cost-groups label,
#commercialQuoteForm label {
  display: grid;
  min-width: 0;
  gap: 4px;
  color: #68717d;
  font-size: 0.58rem;
  font-weight: 800;
}

.commercial-project-actions select,
.commercial-project-fields select,
.commercial-project-fields input,
.commercial-cost-groups input,
#commercialQuoteForm select,
#commercialQuoteForm input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 34px;
  border: 1px solid #c8ced6;
  border-radius: 4px;
  padding: 0 9px;
  background: #fff;
  color: #17202b;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 700;
}

.commercial-project-actions select {
  width: min(260px, 34vw);
}

.commercial-project-actions button,
.commercial-run-row button,
#commercialQuoteForm button {
  min-height: 34px;
  border: 1px solid #17202b;
  border-radius: 4px;
  padding: 0 13px;
  background: #17202b;
  color: #fff;
  font-size: 0.63rem;
  font-weight: 850;
  cursor: pointer;
}

.commercial-project-actions button:hover,
.commercial-run-row button:hover,
#commercialQuoteForm button:hover {
  background: #2d3743;
}

.commercial-project-actions button:disabled,
.commercial-run-row button:disabled,
#commercialQuoteForm button:disabled {
  border-color: #c8ced6;
  background: #e7eaee;
  color: #7b8490;
  cursor: not-allowed;
}

.commercial-pipeline {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 16px 0;
  border-top: 1px solid #d8dde3;
  border-bottom: 1px solid #d8dde3;
}

.commercial-pipeline span {
  min-width: 0;
  border-right: 1px solid #e2e6ea;
  padding: 8px 9px;
  color: #79818c;
  font-size: 0.58rem;
  font-weight: 800;
  text-align: center;
}

.commercial-pipeline span:last-child {
  border-right: 0;
}

.commercial-pipeline span.is-current {
  box-shadow: inset 0 -3px #2879b9;
  background: #f4f8fb;
  color: #174d76;
}

.commercial-pipeline span.is-complete {
  color: #137253;
}

.commercial-pipeline span.is-blocked {
  box-shadow: inset 0 -3px #b63b35;
  color: #9b302b;
}

.commercial-project-fields {
  display: grid;
  grid-template-columns: minmax(180px, 1.5fr) repeat(5, minmax(100px, 0.7fr));
  gap: 9px;
  margin-bottom: 13px;
}

.commercial-evidence-settings {
  margin-top: 12px;
  border-top: 1px solid #d5dae0;
}

.commercial-evidence-settings .commercial-project-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.commercial-cost-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #d5dae0;
  border-bottom: 1px solid #d5dae0;
}

.commercial-run-row > div:last-child {
  display: flex;
  gap: 7px;
}

.commercial-deal-settings {
  max-width: 760px;
  margin: 12px auto;
  border-top: 1px solid #d8dde3;
  border-bottom: 1px solid #d8dde3;
}

.commercial-deal-settings summary {
  display: flex;
  min-height: 36px;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  color: #4e5864;
  cursor: pointer;
  font-size: 0.61rem;
  font-weight: 850;
  list-style: none;
}

.commercial-deal-settings summary::-webkit-details-marker {
  display: none;
}

.commercial-deal-settings summary::after {
  color: #7b8490;
  content: "+";
  font-size: 0.9rem;
}

.commercial-deal-settings[open] summary::after {
  content: "-";
}

.commercial-deal-settings summary strong {
  margin-left: auto;
  color: #1f2a36;
  font-size: 0.58rem;
}

.commercial-deal-settings .commercial-project-fields {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #e1e5e9;
  padding: 11px 0;
}

.guided-stepper {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 760px;
  margin: 14px auto 0;
  border-top: 1px solid #cfd5dc;
  border-bottom: 1px solid #cfd5dc;
}

.guided-stepper button {
  display: grid;
  min-width: 0;
  min-height: 48px;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  border: 0;
  border-right: 1px solid #dfe3e8;
  padding: 0 10px;
  background: #fff;
  color: #6e7782;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.guided-stepper button:last-child {
  border-right: 0;
}

.guided-stepper button > span {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid #bac2cb;
  border-radius: 50%;
  color: #69727e;
  font-size: 0.52rem;
  font-weight: 900;
}

.guided-stepper button > strong {
  overflow: hidden;
  font-size: 0.59rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.guided-stepper button[aria-selected="true"] {
  box-shadow: inset 0 -3px #2879b9;
  background: #f5f9fc;
  color: #174f78;
}

.guided-stepper button.is-complete > span {
  border-color: #16835f;
  background: #16835f;
  color: #fff;
}

.commercial-cost-groups {
  display: block;
  max-width: 760px;
  margin: 0 auto;
}

.commercial-cost-groups fieldset {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  border-right: 0;
  padding: 16px 0;
}

.commercial-cost-groups fieldset[hidden] {
  display: none;
}

.commercial-cost-groups legend {
  grid-column: 1 / -1;
  margin-bottom: 0;
  font-size: 0.72rem;
}

.commercial-cost-groups label + label {
  margin-top: 0;
}

.commercial-run-row {
  max-width: 760px;
  margin: 0 auto;
}

.commercial-run-row > button,
.guided-wizard-actions .secondary-command {
  min-height: 34px;
  border: 1px solid #aeb7c1;
  border-radius: 4px;
  padding: 0 12px;
  background: #fff;
  color: #3d4854;
  font: inherit;
  font-size: 0.61rem;
  font-weight: 850;
  cursor: pointer;
}

.commercial-run-row > button:disabled,
.guided-wizard-actions .secondary-command:disabled {
  opacity: 0.35;
  cursor: default;
}

#commercialWizardZero {
  border-color: #c9d0d7;
  background: #fff;
  color: #56616d;
}

.commercial-run-row .secondary-command {
  border-color: #aeb7c1;
  background: #fff;
  color: #3d4854;
}

.commercial-run-row .secondary-command:hover {
  background: #f3f5f7;
}

.commercial-cost-groups fieldset {
  min-width: 0;
  margin: 0;
  border: 0;
  border-right: 1px solid #e0e4e9;
  padding: 11px 12px 13px;
}

.commercial-cost-groups fieldset:last-child {
  border-right: 0;
}

.commercial-cost-groups legend {
  width: 100%;
  margin-bottom: 7px;
  padding: 0;
  color: #202a36;
  font-size: 0.64rem;
  font-weight: 900;
}

.commercial-cost-groups label + label {
  margin-top: 7px;
}

.commercial-cost-groups input:placeholder-shown,
.commercial-cost-groups input:not(:focus):invalid {
  background: #fffdf8;
}

.commercial-run-row {
  min-height: 45px;
  border-bottom: 1px solid #dfe3e8;
}

#commercialInputStatus {
  color: #626b76;
  font-size: 0.62rem;
  font-weight: 780;
}

#commercialInputStatus strong {
  color: #17202b;
}

.commercial-results {
  margin-top: 14px;
}

.commercial-launch-readiness {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  border-left: 4px solid #b63b35;
  padding: 12px 14px;
  background: #fff4f2;
}

.commercial-launch-readiness.is-ready {
  border-color: #16835f;
  background: #edf8f3;
}

.commercial-launch-readiness div,
.commercial-launch-readiness span,
.commercial-launch-readiness small {
  display: block;
}

.commercial-launch-readiness span,
.commercial-launch-readiness small {
  margin-top: 3px;
  color: #626b76;
  font-size: 0.62rem;
}

.commercial-launch-readiness button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.commercial-result-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.commercial-decision-badge {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  border-left: 4px solid #69727e;
  padding: 2px 8px;
  background: #f0f2f4;
  color: #414a55;
  font-size: 0.65rem;
  font-weight: 900;
}

.commercial-decision-badge.decision-pilot_candidate {
  border-color: #16835f;
  background: #edf8f3;
  color: #0e684a;
}

.commercial-decision-badge.decision-below_target,
.commercial-decision-badge.decision-insufficient_volume {
  border-color: #d18a10;
  background: #fff8e9;
  color: #875905;
}

.commercial-decision-badge.decision-negative_margin {
  border-color: #b63b35;
  background: #fff2f1;
  color: #92302b;
}

.commercial-result-head p {
  margin: 0;
  color: #6c7580;
  font-size: 0.58rem;
  font-weight: 750;
}

.commercial-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid #cfd5dc;
  border-bottom: 1px solid #cfd5dc;
}

.commercial-kpis > div {
  min-width: 0;
  border-right: 1px solid #dfe3e8;
  padding: 10px;
}

.commercial-kpis > div:last-child {
  border-right: 0;
}

.commercial-kpis strong,
.commercial-kpis span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commercial-kpis strong {
  color: #101827;
  font-size: 0.88rem;
}

.commercial-kpis span {
  margin-top: 3px;
  color: #747d88;
  font-size: 0.55rem;
  font-weight: 800;
}

.commercial-analysis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr);
  gap: 18px;
  margin-top: 14px;
}

.commercial-cost-stack h4,
.commercial-stress-case h4 {
  margin: 0 0 8px;
  color: #313b47;
  font-size: 0.64rem;
}

.commercial-cost-row {
  display: grid;
  grid-template-columns: minmax(120px, 0.7fr) minmax(120px, 1fr) minmax(80px, 0.4fr);
  gap: 8px;
  align-items: center;
  min-height: 24px;
  color: #626b76;
  font-size: 0.58rem;
  font-weight: 750;
}

.commercial-cost-row i {
  display: block;
  height: 7px;
  background: #e1e5e9;
}

.commercial-cost-row i span {
  display: block;
  height: 100%;
  background: #2879b9;
}

.commercial-cost-row:nth-child(3) i span {
  background: #7b8794;
}

.commercial-cost-row:nth-child(4) i span {
  background: #d18a10;
}

.commercial-cost-row strong {
  color: #252f3b;
  text-align: right;
}

.commercial-stress-case {
  border-left: 3px solid #d18a10;
  padding-left: 12px;
}

.commercial-stress-case p {
  margin: 0 0 9px;
  color: #6a727d;
  font-size: 0.57rem;
  line-height: 1.45;
}

.commercial-stress-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.commercial-stress-metrics div {
  min-width: 0;
  border-top: 1px solid #d7dce2;
  padding-top: 6px;
}

.commercial-stress-metrics strong,
.commercial-stress-metrics span {
  display: block;
}

.commercial-stress-metrics strong {
  color: #1d2733;
  font-size: 0.7rem;
}

.commercial-stress-metrics span {
  margin-top: 2px;
  color: #7a828c;
  font-size: 0.52rem;
}

.commercial-incomplete {
  display: grid;
  grid-template-columns: minmax(130px, 0.35fr) minmax(0, 1.65fr);
  gap: 18px;
  align-items: center;
  border-top: 1px solid #d5dae0;
  border-bottom: 1px solid #d5dae0;
  padding: 12px 0;
}

.commercial-completeness strong,
.commercial-completeness span {
  display: block;
}

.commercial-completeness strong {
  color: #17202b;
  font-size: 1.12rem;
}

.commercial-completeness span {
  margin-top: 2px;
  color: #747d88;
  font-size: 0.56rem;
  font-weight: 800;
}

.commercial-missing-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.commercial-missing-fields span {
  border: 1px solid #d9caa8;
  border-radius: 4px;
  padding: 3px 6px;
  background: #fffaf0;
  color: #715619;
  font-size: 0.54rem;
  font-weight: 800;
}

.commercial-project-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.8fr) minmax(520px, 1.2fr);
  gap: 22px;
  margin-top: 22px;
}

.commercial-project-grid > section {
  min-width: 0;
  border-top: 1px solid #bfc6ce;
  padding-top: 10px;
}

.commercial-project-grid h3 {
  font-size: 0.75rem;
}

.commercial-project-grid > section > header > span {
  color: #7b838d;
  font-size: 0.56rem;
  font-weight: 800;
}

#commercialProjectsList,
#commercialQuotesList {
  margin-top: 9px;
}

.commercial-project-row,
.commercial-quote-row {
  display: grid;
  gap: 9px;
  align-items: center;
  border-bottom: 1px solid #e2e6ea;
  padding: 8px 4px;
}

.commercial-project-row {
  grid-template-columns: minmax(120px, 1fr) minmax(65px, 0.45fr) minmax(80px, 0.55fr);
  width: 100%;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.commercial-project-row:hover,
.commercial-project-row.is-selected {
  background: #f5f8fa;
}

.commercial-project-row strong,
.commercial-project-row span,
.commercial-project-row small,
.commercial-quote-row strong,
.commercial-quote-row span,
.commercial-quote-row small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commercial-project-row strong,
.commercial-quote-row strong {
  color: #202a36;
  font-size: 0.62rem;
}

.commercial-project-row span,
.commercial-quote-row span {
  color: #58616d;
  font-size: 0.58rem;
  font-weight: 780;
}

.commercial-project-row small,
.commercial-quote-row small {
  margin-top: 2px;
  color: #858c95;
  font-size: 0.52rem;
}

#commercialQuoteForm {
  display: grid;
  grid-template-columns: minmax(130px, 1.25fr) repeat(3, minmax(78px, 0.7fr));
  gap: 8px;
  align-items: end;
  margin-top: 9px;
  border-bottom: 1px solid #d8dde3;
  padding-bottom: 11px;
}

.commercial-quote-entry {
  margin: 8px 0 12px;
  border-top: 1px solid #d9dee4;
  border-bottom: 1px solid #d9dee4;
}

.commercial-quote-entry > summary {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  padding: 0 2px;
  color: #245f8c;
  cursor: pointer;
  font-size: 0.61rem;
  font-weight: 850;
  list-style: none;
}

.commercial-quote-entry > summary::-webkit-details-marker {
  display: none;
}

.commercial-quote-entry > summary::after {
  content: "+";
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid #aebdca;
  border-radius: 50%;
  color: #245f8c;
  font-size: 0.8rem;
}

.commercial-quote-entry[open] > summary::after {
  content: "-";
}

.commercial-quote-entry[open] > summary {
  border-bottom: 1px solid #e4e8ec;
}

#commercialQuoteForm button {
  height: 34px;
}

.commercial-range-inputs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

.commercial-quote-row {
  grid-template-columns: minmax(130px, 1fr) repeat(3, minmax(65px, 0.55fr)) auto;
}

.commercial-quote-row button {
  width: auto;
  min-width: 58px;
  height: 30px;
  border: 1px solid #bfc6ce;
  border-radius: 4px;
  background: #fff;
  color: #1e5f91;
  padding: 0 7px;
  font-size: 0.54rem;
  font-weight: 900;
  cursor: pointer;
}

.commercial-empty {
  border-bottom: 1px solid #e2e6ea;
  padding: 12px 4px;
  color: #7b838d;
  font-size: 0.58rem;
  font-weight: 750;
}

.manufacturer-finder-section {
  min-width: 0;
  margin: 0 0 28px;
  border-top: 3px solid #176448;
  border-bottom: 1px solid #cfd5dc;
  padding: 18px 0 22px;
}

.manufacturer-finder-head,
.manufacturer-finder-summary,
.manufacturer-selected-product,
.manufacturer-match-row > header,
.manufacturer-match-row > footer {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.manufacturer-finder-head h2 {
  margin: 2px 0 0;
  color: #111827;
  font-size: 1.06rem;
  letter-spacing: 0;
}

.manufacturer-finder-summary {
  flex-wrap: wrap;
  justify-content: flex-end;
  color: #4f5965;
  font-size: 0.58rem;
  font-weight: 800;
}

.manufacturer-finder-summary span {
  border-left: 3px solid #16835f;
  padding-left: 6px;
}

.manufacturer-finder-controls {
  display: grid;
  grid-template-columns: minmax(250px, 1.6fr) 120px 160px minmax(125px, 0.65fr) minmax(125px, 0.65fr) auto;
  gap: 9px;
  align-items: end;
  margin-top: 14px;
  border-top: 1px solid #d7dce2;
  border-bottom: 1px solid #d7dce2;
  padding: 11px 0;
}

.manufacturer-finder-controls label {
  display: grid;
  min-width: 0;
  gap: 4px;
  color: #626c78;
  font-size: 0.58rem;
  font-weight: 820;
}

.manufacturer-finder-controls select,
.manufacturer-finder-controls input[type="number"] {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 34px;
  border: 1px solid #c8ced6;
  border-radius: 4px;
  padding: 0 9px;
  background: #fff;
  color: #17202b;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 700;
}

.manufacturer-finder-controls .manufacturer-finder-toggle {
  display: flex;
  min-height: 34px;
  flex-direction: row;
  gap: 6px;
  align-items: center;
  border: 1px solid #d7dce2;
  padding: 0 8px;
  background: #fafbfc;
}

.manufacturer-finder-toggle span[data-copy] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manufacturer-finder-controls > button,
.manufacturer-selected-product > button,
.manufacturer-match-row > footer button {
  min-height: 34px;
  border: 1px solid #176448;
  border-radius: 4px;
  padding: 0 12px;
  background: #176448;
  color: #fff;
  font: inherit;
  font-size: 0.6rem;
  font-weight: 850;
  cursor: pointer;
}

.manufacturer-finder-controls > button:hover,
.manufacturer-selected-product > button:hover,
.manufacturer-match-row > footer button:hover {
  background: #22775a;
}

.manufacturer-selected-product {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  margin: 14px 0;
  border-left: 4px solid #2879b9;
  padding: 9px 0 9px 10px;
  background: #f7fafc;
}

.manufacturer-selected-product img,
.manufacturer-selected-product > i {
  width: 54px;
  height: 54px;
  object-fit: cover;
  background: #e5e9ed;
}

.manufacturer-selected-product > div {
  min-width: 0;
}

.manufacturer-selected-product strong,
.manufacturer-selected-product small,
.manufacturer-selected-product .manufacturer-product-status {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manufacturer-selected-product strong {
  margin-top: 4px;
  color: #18222e;
  font-size: 0.75rem;
}

.manufacturer-selected-product small {
  margin-top: 3px;
  color: #6f7883;
  font-size: 0.56rem;
}

.manufacturer-product-status {
  color: #7b5507;
  font-size: 0.53rem;
  font-weight: 850;
}

.manufacturer-product-status.status-blocked {
  color: #a33127;
}

.manufacturer-match-list {
  border-top: 1px solid #bfc6ce;
}

.manufacturer-match-row {
  border-right: 1px solid #d9dee4;
  border-bottom: 1px solid #d9dee4;
  border-left: 1px solid #d9dee4;
  padding: 12px;
  background: #fff;
}

.manufacturer-match-row.band-strong_candidate {
  border-left: 4px solid #16835f;
}

.manufacturer-match-row.band-category_only,
.manufacturer-match-row.band-investigate {
  border-left: 4px solid #d18a10;
}

.manufacturer-match-row.band-blocked_product {
  border-left: 4px solid #b43a2f;
  background: #fff8f7;
}

.manufacturer-match-row > header {
  display: grid;
  grid-template-columns: 48px minmax(190px, 0.8fr) minmax(260px, 1.2fr);
}

.manufacturer-rank {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid #c9d0d7;
  background: #f6f8fa;
}

.manufacturer-rank span {
  color: #828a94;
  font-size: 0.48rem;
}

.manufacturer-rank strong {
  color: #14202b;
  font-size: 0.82rem;
}

.manufacturer-identity,
.manufacturer-match-basis {
  min-width: 0;
}

.manufacturer-identity h3 {
  overflow: hidden;
  margin: 2px 0 0;
  color: #17212d;
  font-size: 0.72rem;
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manufacturer-identity small,
.manufacturer-band,
.manufacturer-match-basis strong,
.manufacturer-match-basis span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manufacturer-band {
  color: #176448;
  font-size: 0.5rem;
  font-weight: 900;
}

.manufacturer-identity small {
  margin-top: 3px;
  color: #737c87;
  font-size: 0.54rem;
}

.manufacturer-match-basis {
  border-left: 3px solid #d18a10;
  padding-left: 8px;
}

.manufacturer-match-basis strong {
  color: #684c14;
  font-size: 0.56rem;
}

.manufacturer-match-basis span {
  margin-top: 4px;
  color: #747d87;
  font-size: 0.53rem;
}

.manufacturer-dimensions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 11px;
  border-top: 1px solid #e1e5e9;
  border-bottom: 1px solid #e1e5e9;
}

.manufacturer-dimensions > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
  border-right: 1px solid #e1e5e9;
  padding: 8px;
}

.manufacturer-dimensions > div:last-child {
  border-right: 0;
}

.manufacturer-dimensions span,
.manufacturer-dimensions strong {
  font-size: 0.55rem;
}

.manufacturer-dimensions span {
  overflow: hidden;
  color: #69727e;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manufacturer-dimensions strong {
  color: #1b2632;
}

.manufacturer-dimensions i {
  grid-column: 1 / -1;
  height: 5px;
  background: #e3e7eb;
}

.manufacturer-dimensions i span {
  display: block;
  height: 100%;
  background: #2879b9;
}

.manufacturer-gates {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px 10px;
  padding: 10px 2px;
}

.manufacturer-gates > span {
  display: grid;
  min-width: 0;
  grid-template-columns: 8px minmax(0, 1fr);
  gap: 5px;
  align-items: center;
  overflow: hidden;
  color: #626b76;
  font-size: 0.52rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manufacturer-gates i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #aeb6bf;
}

.manufacturer-gates .gate-pass i {
  background: #16835f;
}

.manufacturer-gates .gate-partial i,
.manufacturer-gates .gate-unknown i {
  background: #d18a10;
}

.manufacturer-gates .gate-fail i,
.manufacturer-gates .gate-missing i {
  background: #b43a2f;
}

.manufacturer-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #e1e5e9;
}

.manufacturer-facts > div {
  min-width: 0;
  border-right: 1px solid #e1e5e9;
  padding: 8px;
}

.manufacturer-facts > div:last-child {
  border-right: 0;
}

.manufacturer-facts span,
.manufacturer-facts strong,
.manufacturer-facts a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manufacturer-facts span {
  color: #7a838e;
  font-size: 0.5rem;
  font-weight: 800;
}

.manufacturer-facts strong,
.manufacturer-facts a {
  margin-top: 3px;
  color: #24303d;
  font-size: 0.58rem;
  font-weight: 850;
}

.manufacturer-facts a {
  color: #185b91;
  text-decoration: none;
}

.manufacturer-match-row > footer {
  margin-top: 10px;
  border-left: 3px solid #2879b9;
  padding-left: 8px;
}

.manufacturer-match-row > footer > div {
  min-width: 0;
}

.manufacturer-match-row > footer span,
.manufacturer-match-row > footer strong {
  display: block;
}

.manufacturer-match-row > footer span {
  color: #747d88;
  font-size: 0.5rem;
  font-weight: 800;
}

.manufacturer-match-row > footer strong {
  margin-top: 3px;
  color: #173f5d;
  font-size: 0.62rem;
}

.manufacturer-finder-empty {
  border-bottom: 1px solid #d9dee4;
  padding: 24px 4px;
  color: #717a85;
  font-size: 0.62rem;
  font-weight: 750;
}

.workspace-heading {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(360px, 1.2fr);
  gap: 34px;
  align-items: end;
  border-bottom: 2px solid #111827;
  padding-bottom: 16px;
}

.workspace-heading h1 {
  margin: 2px 0 0;
  color: #111827;
  font-size: 1.8rem;
  line-height: 1.1;
}

.workspace-heading.simple-workspace-heading {
  display: block;
  max-width: 820px;
  border-bottom: 0;
  padding-bottom: 4px;
}

.simple-workspace-copy {
  margin: 8px 0 0;
  color: #606a75;
  font-size: 0.74rem;
  line-height: 1.5;
}

.simple-journey {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 14px;
  border: 1px solid #d8dde2;
  border-radius: 6px;
  background: #fff;
}

.simple-journey > span {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 8px;
  border-right: 1px solid #e1e5e9;
  padding: 8px 12px;
  color: #68737e;
  font-size: 0.58rem;
  font-weight: 850;
}

.simple-journey > span:last-child {
  border-right: 0;
}

.simple-journey b {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid #cbd3da;
  border-radius: 50%;
  background: #f6f8f9;
  font-size: 0.55rem;
}

.simple-journey > span.is-active {
  box-shadow: inset 0 -3px #ed6b2f;
  background: #fff8f4;
  color: #713315;
}

.simple-journey > span.is-active b {
  border-color: #ed6b2f;
  background: #ed6b2f;
  color: #fff;
}

.trend-source-drawer {
  margin-top: 8px;
  border-bottom: 1px solid #d8dde3;
}

.trend-source-drawer > summary {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #66717c;
  cursor: pointer;
  font-size: 0.54rem;
  font-weight: 850;
  list-style: none;
}

.trend-source-drawer > summary::-webkit-details-marker {
  display: none;
}

.trend-source-drawer[open] > summary > span:last-child {
  transform: rotate(45deg);
}

.trend-source-drawer > p {
  margin: 0;
  padding: 5px 0 10px;
  color: #747e88;
  font-size: 0.52rem;
  line-height: 1.45;
}

.workspace-warning {
  margin: 0;
  border-left: 4px solid #d97706;
  padding: 8px 0 8px 13px;
  color: #4b5563;
  font-size: 0.78rem;
  line-height: 1.5;
}

.workspace-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 18px 0;
  border-top: 1px solid #dfe3e8;
  border-bottom: 1px solid #dfe3e8;
}

.workspace-metric {
  min-width: 0;
  border-right: 1px solid #dfe3e8;
  padding: 12px 14px;
}

.workspace-metric:last-child {
  border-right: 0;
}

.workspace-metric strong {
  display: block;
  overflow: hidden;
  color: #111827;
  font-size: 1.18rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-metric span {
  display: block;
  margin-top: 2px;
  color: #6b7280;
  font-size: 0.68rem;
  line-height: 1.35;
}

.workspace-filters {
  display: grid;
  grid-template-columns: 150px minmax(190px, 1fr) 150px minmax(240px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 14px;
  border: 1px solid #dfe3e8;
  padding: 12px;
  background: #f7f8fa;
}

.workspace-filters label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #4b5563;
  font-size: 0.68rem;
  font-weight: 800;
}

.workspace-filters select,
.workspace-filters input[type="number"],
.workspace-filters input[type="text"] {
  width: 100%;
  min-width: 0;
  height: 36px;
  border: 1px solid #cdd3da;
  border-radius: 5px;
  padding: 0 9px;
  background: #ffffff;
  color: #111827;
  font: inherit;
  font-size: 0.78rem;
}

.workspace-filters .workspace-checkbox {
  display: flex;
  min-height: 36px;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  border: 1px solid #dfe3e8;
  padding: 7px 9px;
  background: #ffffff;
}

.workspace-filters button {
  height: 36px;
  border: 1px solid #111827;
  border-radius: 5px;
  padding: 0 17px;
  background: #111827;
  color: #ffffff;
  cursor: pointer;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 850;
}

.warehouse-filters {
  grid-template-columns: 190px 190px 190px auto;
  justify-content: start;
}

.workspace-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #dfe3e8;
  background: #ffffff;
}

.workspace-table {
  width: 100%;
  min-width: 1020px;
  border-collapse: collapse;
  table-layout: fixed;
}

.workspace-table th,
.workspace-table td {
  border-bottom: 1px solid #e5e7eb;
  padding: 10px;
  vertical-align: top;
  text-align: left;
}

.workspace-table th {
  position: sticky;
  z-index: 1;
  top: 0;
  background: #f4f6f8;
  color: #4b5563;
  font-size: 0.66rem;
  font-weight: 900;
  text-transform: uppercase;
}

.workspace-table td {
  color: #374151;
  font-size: 0.74rem;
  line-height: 1.4;
}

.workspace-table tbody tr:hover {
  background: #fafbfc;
}

.workspace-table tbody tr:last-child td {
  border-bottom: 0;
}

.workspace-table th:first-child,
.workspace-table td:first-child {
  width: 235px;
}

.workspace-table th:nth-child(2),
.workspace-table td:nth-child(2) {
  width: 78px;
}

.workspace-table th:nth-child(4),
.workspace-table td:nth-child(4) {
  width: 75px;
}

.workspace-table th:nth-child(6),
.workspace-table td:nth-child(6) {
  width: 130px;
}

.workspace-table th:nth-child(7),
.workspace-table td:nth-child(7) {
  width: 120px;
}

.workspace-table th:last-child,
.workspace-table td:last-child {
  width: 90px;
}

.workspace-primary {
  display: grid;
  gap: 3px;
}

.workspace-primary strong,
.workspace-product-button {
  color: #111827;
  font-size: 0.78rem;
  font-weight: 900;
}

.workspace-primary small {
  display: -webkit-box;
  overflow: hidden;
  color: #6b7280;
  font-size: 0.67rem;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.workspace-product-button {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.workspace-product-button:hover {
  color: #116a4c;
  text-decoration: underline;
}

.workspace-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.workspace-tag,
.workspace-status,
.warehouse-action {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  border-radius: 4px;
  padding: 2px 5px;
  background: #edf0f3;
  color: #4b5563;
  font-size: 0.62rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.workspace-status.status-directory_corroborated,
.workspace-status.status-documents_reviewed,
.workspace-status.status-verified {
  background: #e5f4ed;
  color: #116a4c;
}

.workspace-status.status-self_reported,
.warehouse-action.action-stock_unknown,
.warehouse-action.action-verify_stale {
  background: #fff4dd;
  color: #8a5600;
}

.warehouse-action.action-quarantine {
  background: #feeceb;
  color: #a33127;
}

.warehouse-action.action-urgent_restock,
.warehouse-action.action-restock {
  background: #e8f1fb;
  color: #185b91;
}

.candidate-fit {
  display: grid;
  gap: 5px;
}

.candidate-fit strong {
  color: #111827;
  font-size: 0.86rem;
}

.candidate-fit-meter {
  width: 100%;
  height: 5px;
  overflow: hidden;
  background: #e5e7eb;
}

.candidate-fit-meter span {
  display: block;
  height: 100%;
  background: #16835f;
}

.workspace-evidence-link {
  color: #185b91;
  font-size: 0.68rem;
  font-weight: 850;
  text-decoration: none;
}

.workspace-evidence-link:hover {
  text-decoration: underline;
}

.workspace-evidence-actions {
  display: grid;
  gap: 5px;
}

.workspace-evidence-actions button,
.market-next-action button,
.sourcing-opportunity-action button {
  min-height: 27px;
  border: 1px solid #9da7b2;
  border-radius: 4px;
  padding: 3px 7px;
  background: #fff;
  color: #174f7a;
  font: inherit;
  font-size: 0.56rem;
  font-weight: 850;
  cursor: pointer;
}

.workspace-evidence-actions button:hover,
.market-next-action button:hover,
.sourcing-opportunity-action button:hover {
  border-color: #2879b9;
  background: #f1f7fb;
}

.market-intelligence-section {
  min-width: 0;
  margin: 20px 0 26px;
  border-top: 3px solid #111827;
  border-bottom: 1px solid #cfd5dc;
  padding: 16px 0 20px;
}

.market-intelligence-head,
.market-source-head,
.market-opportunity-heading,
.market-next-action {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

.market-intelligence-head h2 {
  margin: 2px 0 0;
  color: #111827;
  font-size: 1.1rem;
}

.market-intelligence-market {
  display: grid;
  gap: 4px;
  color: #6b7280;
  font-size: 0.62rem;
  font-weight: 850;
}

.market-intelligence-market select {
  width: 210px;
  height: 36px;
  border: 1px solid #aeb6c0;
  border-radius: 5px;
  padding: 0 9px;
  background: #ffffff;
  color: #111827;
  font: inherit;
  font-size: 0.74rem;
}

.market-intelligence-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 15px;
  border-top: 1px solid #dfe3e8;
  border-bottom: 1px solid #dfe3e8;
}

.market-intelligence-metrics .workspace-metric {
  padding: 10px 12px;
}

.market-source-coverage {
  margin-top: 16px;
}

.market-source-head {
  align-items: baseline;
  padding-bottom: 8px;
}

.market-source-head strong {
  color: #111827;
  font-size: 0.76rem;
}

.market-source-head > span {
  color: #6b7280;
  font-size: 0.64rem;
  font-weight: 750;
}

.market-source-domains {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #dfe3e8;
  border-left: 1px solid #dfe3e8;
}

.market-source-domain {
  min-width: 0;
  border-right: 1px solid #dfe3e8;
  border-bottom: 1px solid #dfe3e8;
  background: #ffffff;
}

.market-source-domain summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  min-height: 60px;
  align-items: center;
  padding: 9px 11px;
  cursor: pointer;
  list-style-position: inside;
}

.market-source-domain summary > span:first-child,
.market-source-list a > span:first-child {
  min-width: 0;
}

.market-source-domain summary strong,
.market-source-domain summary small,
.market-source-list strong,
.market-source-list small {
  display: block;
}

.market-source-domain summary strong {
  color: #111827;
  font-size: 0.7rem;
}

.market-source-domain summary small {
  margin-top: 3px;
  color: #7a828d;
  font-size: 0.58rem;
}

.market-source-domain-counts {
  display: flex;
  gap: 4px;
}

.market-source-domain-counts i {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #e5f4ed;
  color: #116a4c;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 900;
}

.market-source-domain-counts i.source-access {
  background: #fff1d6;
  color: #8a5600;
}

.market-source-list {
  border-top: 1px solid #edf0f2;
}

.market-source-list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid #edf0f2;
  padding: 8px 10px;
  color: inherit;
  text-decoration: none;
}

.market-source-list a:last-child {
  border-bottom: 0;
}

.market-source-list a:hover {
  background: #f7f8fa;
}

.market-source-list strong {
  overflow: hidden;
  color: #1f2937;
  font-size: 0.64rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.market-source-list small {
  margin-top: 2px;
  color: #7a828d;
  font-size: 0.56rem;
}

.source-state,
.market-evidence-basis {
  display: inline-flex;
  border-radius: 4px;
  padding: 2px 5px;
  background: #edf0f3;
  color: #59616c;
  font-size: 0.56rem;
  font-weight: 900;
  line-height: 1.3;
}

.source-state.state-live,
.source-state.state-scheduled,
.source-state.state-running,
.market-evidence-basis.basis-local_social {
  background: #e5f4ed;
  color: #116a4c;
}

.source-state.state-access_required,
.source-state.state-integration_pending,
.market-evidence-basis.basis-global_social_proxy {
  background: #fff1d6;
  color: #8a5600;
}

.source-state.state-error,
.source-state.state-stale {
  background: #feeceb;
  color: #a33127;
}

.market-opportunity-list {
  margin-top: 20px;
  border-top: 1px solid #cfd5dc;
}

.market-opportunity-row {
  padding: 14px 0 12px;
  border-bottom: 1px solid #cfd5dc;
}

.market-opportunity-heading h3 {
  margin: 4px 0 0;
  color: #111827;
  font-size: 0.92rem;
}

.market-opportunity-heat {
  min-width: 58px;
  text-align: right;
}

.market-opportunity-heat strong,
.market-opportunity-heat span {
  display: block;
}

.market-opportunity-heat strong {
  color: #111827;
  font-size: 1.15rem;
}

.market-opportunity-heat span {
  color: #6b7280;
  font-size: 0.58rem;
  font-weight: 800;
}

.market-gates {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-top: 11px;
  border-top: 1px solid #dfe3e8;
  border-bottom: 1px solid #dfe3e8;
}

.market-gate {
  position: relative;
  min-width: 0;
  min-height: 49px;
  border-right: 1px solid #dfe3e8;
  padding: 7px 8px;
}

.market-gate:last-child {
  border-right: 0;
}

.market-gate::before {
  position: absolute;
  top: -1px;
  right: 0;
  left: 0;
  height: 3px;
  background: #aeb6c0;
  content: "";
}

.market-gate.gate-measured::before,
.market-gate.gate-connected::before,
.market-gate.gate-verified::before,
.market-gate.gate-documented::before {
  background: #16835f;
}

.market-gate.gate-candidates::before,
.market-gate.gate-proxy::before,
.market-gate.gate-screening_required::before,
.market-gate.gate-claims_only::before,
.market-gate.gate-review_required::before {
  background: #d18a10;
}

.market-gate.gate-alert_review::before,
.market-gate.gate-gap::before,
.market-gate.gate-access_required::before {
  background: #b4473d;
}

.market-gate span,
.market-gate strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.market-gate span {
  color: #7a828d;
  font-size: 0.56rem;
  font-weight: 800;
}

.market-gate strong {
  margin-top: 3px;
  color: #26313e;
  font-size: 0.64rem;
}

.market-gate small {
  position: absolute;
  top: 8px;
  right: 7px;
  color: #6b7280;
  font-size: 0.55rem;
  font-weight: 850;
}

.market-opportunity-evidence {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr) minmax(0, 0.9fr);
  gap: 0;
  margin-top: 10px;
}

.market-opportunity-evidence > section {
  min-width: 0;
  border-right: 1px solid #e1e5e9;
  padding: 0 11px;
}

.market-opportunity-evidence > section:first-child {
  padding-left: 0;
}

.market-opportunity-evidence > section:last-child {
  border-right: 0;
  padding-right: 0;
}

.market-opportunity-evidence > section > span {
  display: block;
  margin-bottom: 6px;
  color: #7a828d;
  font-size: 0.57rem;
  font-weight: 850;
}

.market-product-links,
.market-partner-links {
  display: grid;
  gap: 4px;
}

.market-product-links button,
.market-partner-links a {
  display: grid;
  min-width: 0;
  color: inherit;
  text-align: left;
  text-decoration: none;
}

.market-product-links button {
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  border: 0;
  padding: 3px 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

.market-product-links img,
.market-product-links i {
  width: 34px;
  height: 34px;
  border: 1px solid #dfe3e8;
  object-fit: cover;
  background: #f0f2f4;
}

.market-product-links img.img-missing {
  visibility: hidden;
}

.market-product-links strong,
.market-product-links small,
.market-partner-links strong,
.market-partner-links small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.market-product-links strong,
.market-partner-links strong {
  color: #1f2937;
  font-size: 0.64rem;
}

.market-product-links small,
.market-partner-links small {
  margin-top: 2px;
  color: #7a828d;
  font-size: 0.56rem;
}

.market-product-links button:hover strong,
.market-partner-links a:hover strong {
  color: #116a4c;
  text-decoration: underline;
}

.market-next-action {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  justify-content: flex-start;
  margin-top: 11px;
  border-left: 3px solid #2879b9;
  padding-left: 8px;
}

.market-next-action span {
  color: #6b7280;
  font-size: 0.57rem;
  font-weight: 850;
}

.market-next-action strong {
  color: #143f62;
  font-size: 0.69rem;
}

.market-next-action button {
  margin-left: auto;
}

.supply-network-section {
  min-width: 0;
  margin: 0 0 26px;
  border-top: 1px solid #cfd5dc;
  border-bottom: 1px solid #cfd5dc;
  padding: 18px 0;
}

.supply-network-head {
  display: flex;
  gap: 18px;
  align-items: end;
  justify-content: space-between;
}

.supply-network-head h2 {
  margin: 2px 0 0;
  color: #111827;
  font-size: 1.05rem;
}

.supply-network-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  justify-content: flex-end;
  color: #4b5563;
  font-size: 0.63rem;
  font-weight: 800;
}

.supply-network-summary span {
  border-left: 3px solid #16835f;
  padding-left: 6px;
}

.supply-network-tabs {
  display: flex;
  gap: 0;
  margin-top: 15px;
  border-bottom: 1px solid #aeb6c0;
}

.supply-network-tabs button {
  position: relative;
  min-width: 150px;
  height: 36px;
  border: 0;
  padding: 0 13px;
  background: transparent;
  color: #66707c;
  cursor: pointer;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 850;
}

.supply-network-tabs button:hover {
  background: #f7f8fa;
  color: #111827;
}

.supply-network-tabs button[aria-selected="true"] {
  color: #111827;
}

.supply-network-tabs button[aria-selected="true"]::after {
  position: absolute;
  right: 10px;
  bottom: -1px;
  left: 10px;
  height: 3px;
  background: #16835f;
  content: "";
}

.supply-network-content {
  min-width: 0;
}

.supply-organization-row {
  border-bottom: 1px solid #dfe3e8;
}

.supply-organization-row summary {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 90px 116px;
  gap: 14px;
  min-height: 62px;
  align-items: center;
  padding: 9px 8px;
  cursor: pointer;
  list-style-position: inside;
}

.supply-organization-row summary:hover {
  background: #fafbfc;
}

.supply-organization-primary,
.supply-organization-coverage {
  min-width: 0;
}

.supply-organization-primary strong,
.supply-organization-primary small,
.supply-organization-coverage strong,
.supply-organization-coverage small {
  display: block;
}

.supply-organization-primary strong {
  overflow: hidden;
  color: #111827;
  font-size: 0.76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.supply-organization-primary small,
.supply-organization-coverage small {
  margin-top: 3px;
  color: #737c87;
  font-size: 0.59rem;
}

.supply-organization-coverage {
  text-align: right;
}

.supply-organization-coverage strong {
  color: #111827;
  font-size: 0.9rem;
}

.supply-organization-gaps {
  display: grid;
  grid-template-columns: repeat(4, 12px);
  gap: 4px;
  justify-content: end;
}

.supply-organization-gaps i {
  width: 12px;
  height: 12px;
  border: 1px solid #c6ccd3;
  border-radius: 50%;
  background: #ffffff;
}

.supply-organization-gaps i.coverage-known {
  border-color: #16835f;
  background: #16835f;
}

.supply-organization-gaps i.coverage-partial,
.supply-organization-gaps i.coverage-claimed {
  border-color: #d18a10;
  background: #f4d49a;
}

.supply-organization-detail {
  border-top: 1px solid #edf0f2;
  padding: 12px 8px 14px;
  background: #fafbfc;
}

.supply-profile-facts {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid #dfe3e8;
  border-bottom: 1px solid #dfe3e8;
}

.supply-profile-facts section {
  min-width: 0;
  border-right: 1px solid #dfe3e8;
  padding: 8px 9px;
}

.supply-profile-facts section:last-child {
  border-right: 0;
}

.supply-profile-facts span,
.supply-profile-facts strong,
.supply-profile-facts small,
.supply-profile-facts a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.supply-profile-facts span {
  color: #7a828d;
  font-size: 0.55rem;
  font-weight: 800;
}

.supply-profile-facts strong {
  margin-top: 3px;
  color: #111827;
  font-size: 0.74rem;
}

.supply-profile-facts small,
.supply-profile-facts a {
  margin-top: 2px;
  color: #6b7280;
  font-size: 0.56rem;
}

.supply-profile-facts a {
  color: #185b91;
  font-weight: 850;
  text-decoration: none;
}

.network-timeline {
  margin-top: 13px;
}

.network-timeline-track {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 3px;
}

.network-timeline-track span {
  min-width: 0;
}

.network-timeline-track i {
  display: block;
  height: 7px;
  background: #dfe3e8;
}

.network-timeline-track .stage-observed i {
  background: #2879b9;
}

.network-timeline-track small {
  display: block;
  overflow: hidden;
  margin-top: 4px;
  color: #7a828d;
  font-size: 0.5rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.network-timeline p {
  margin: 7px 0 0;
  color: #59616c;
  font-size: 0.58rem;
}

.supply-capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 10px;
}

.supply-capabilities span {
  border: 1px solid #d6dbe1;
  border-radius: 4px;
  padding: 2px 5px;
  background: #ffffff;
  color: #59616c;
  font-size: 0.55rem;
  font-weight: 750;
}

.supply-facility-row,
.supply-lane-row {
  display: grid;
  min-width: 0;
  gap: 14px;
  align-items: center;
  border-bottom: 1px solid #dfe3e8;
  padding: 11px 8px;
}

.supply-facility-row {
  grid-template-columns: minmax(240px, 1.2fr) minmax(170px, 0.8fr) minmax(240px, 1fr) minmax(130px, 0.6fr);
}

.supply-lane-row {
  grid-template-columns: minmax(250px, 1fr) minmax(180px, 0.8fr) minmax(220px, 1fr) minmax(150px, 0.6fr);
}

.supply-facility-row > div,
.supply-lane-row > div {
  min-width: 0;
}

.supply-facility-row strong,
.supply-facility-row small,
.supply-facility-row > div > span:not(.workspace-status),
.supply-lane-row strong,
.supply-lane-row small,
.supply-lane-row > div > span:not(.workspace-status) {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.supply-facility-row strong,
.supply-lane-row strong {
  margin-top: 3px;
  color: #1f2937;
  font-size: 0.66rem;
}

.supply-facility-row small,
.supply-facility-row > div > span:not(.workspace-status),
.supply-lane-row small,
.supply-lane-row > div > span:not(.workspace-status) {
  margin-top: 2px;
  color: #7a828d;
  font-size: 0.56rem;
}

.supply-facility-row > div:first-child > strong {
  margin-top: 5px;
}

.supply-lane-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
  gap: 5px;
  align-items: center;
}

.supply-lane-route span {
  color: #2879b9;
  text-align: center;
}

.sourcing-opportunity-section {
  min-width: 0;
  margin: 20px 0;
  border-top: 1px solid #cfd5dc;
  border-bottom: 1px solid #cfd5dc;
  padding: 18px 0;
}

.sourcing-opportunity-head {
  align-items: center;
}

.sourcing-opportunity-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  justify-content: flex-end;
  color: #4b5563;
  font-size: 0.63rem;
  font-weight: 800;
}

.sourcing-opportunity-summary span {
  border-left: 3px solid #2879b9;
  padding-left: 6px;
}

.sourcing-opportunity-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}

.sourcing-opportunity-controls label {
  display: grid;
  gap: 4px;
  color: #6b7280;
  font-size: 0.59rem;
  font-weight: 800;
}

.sourcing-opportunity-controls select {
  width: 210px;
  height: 34px;
  border: 1px solid #cfd5dc;
  border-radius: 5px;
  padding: 0 9px;
  background: #ffffff;
  color: #111827;
  font: inherit;
  font-size: 0.7rem;
}

.sourcing-trend-explorer {
  display: grid;
  grid-template-columns: minmax(360px, 0.8fr) minmax(0, 1.2fr);
  min-width: 0;
  margin-bottom: 18px;
  border-top: 1px solid #dfe3e8;
  border-bottom: 1px solid #dfe3e8;
}

.sourcing-trend-comparison,
.sourcing-trend-detail {
  min-width: 0;
  padding: 16px 0;
}

.sourcing-trend-comparison {
  border-right: 1px solid #dfe3e8;
  padding-right: 18px;
}

.sourcing-trend-detail {
  padding-left: 20px;
}

.sourcing-trend-panel-head,
.sourcing-trend-detail-head,
.sourcing-trend-chart-head {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}

.sourcing-trend-panel-head {
  min-height: 42px;
  margin-bottom: 10px;
}

.sourcing-trend-panel-head h3,
.sourcing-trend-detail-head h3 {
  overflow: hidden;
  margin: 2px 0 0;
  color: #111827;
  font-size: 0.82rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sourcing-trend-scale,
.sourcing-trend-bar {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(120px, 1fr) 38px;
  gap: 9px;
  align-items: center;
}

.sourcing-trend-scale {
  min-height: 20px;
  color: #727984;
  font-size: 0.5rem;
}

.sourcing-trend-scale > span:nth-child(2) {
  display: flex;
  justify-content: space-between;
}

.sourcing-trend-scale i {
  font-style: normal;
}

.sourcing-trend-scale strong {
  font-size: 0;
}

.sourcing-trend-bars {
  display: grid;
}

.sourcing-trend-bar {
  min-width: 0;
  min-height: 46px;
  border: 0;
  border-top: 1px solid #edf0f2;
  padding: 5px 0;
  background: transparent;
  color: #111827;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.sourcing-trend-bar:hover,
.sourcing-trend-bar:focus-visible,
.sourcing-trend-bar[aria-pressed="true"] {
  background: #f3f7fa;
}

.sourcing-trend-bar:focus-visible {
  outline: 2px solid #185b91;
  outline-offset: 2px;
}

.sourcing-trend-bar[aria-pressed="true"] {
  box-shadow: inset 3px 0 #185b91;
}

.sourcing-trend-bar-label {
  display: block;
  min-width: 0;
  padding-left: 7px;
}

.sourcing-trend-bar-label strong,
.sourcing-trend-bar-label small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sourcing-trend-bar-label strong {
  font-size: 0.64rem;
}

.sourcing-trend-bar-label small {
  margin-top: 3px;
  color: #747b85;
  font-size: 0.5rem;
}

.sourcing-trend-bar-track,
.sourcing-trend-breakdown-track {
  display: block;
  overflow: hidden;
  height: 8px;
  background: #e6e9ed;
}

.sourcing-trend-bar-track > span,
.sourcing-trend-breakdown-track > span {
  display: block;
  width: 0;
  height: 100%;
  background: #727b85;
}

.sourcing-trend-bar.action-quote_now .sourcing-trend-bar-track > span {
  background: #16835f;
}

.sourcing-trend-bar.action-find_supplier .sourcing-trend-bar-track > span,
.sourcing-trend-bar.action-validate_demand .sourcing-trend-bar-track > span {
  background: #c77c08;
}

.sourcing-trend-bar.action-safety_block .sourcing-trend-bar-track > span {
  background: #b43a2f;
}

.sourcing-trend-bar-score {
  color: #111827;
  font-size: 0.7rem;
  text-align: right;
}

.sourcing-trend-detail-head {
  min-height: 42px;
  align-items: flex-end;
  margin-bottom: 9px;
}

.sourcing-trend-detail-head > div:first-child {
  min-width: 0;
}

.sourcing-trend-detail-head > div:first-child > span {
  display: block;
  min-height: 15px;
}

.sourcing-trend-detail-head > div:first-child > span > span {
  color: #4b5563;
  font-size: 0.52rem;
  font-weight: 900;
  text-transform: uppercase;
}

.sourcing-trend-detail-head > div:first-child > span > .action-quote_now {
  color: #137052;
}

.sourcing-trend-detail-head > div:first-child > span > .action-find_supplier,
.sourcing-trend-detail-head > div:first-child > span > .action-validate_demand {
  color: #9a5d05;
}

.sourcing-trend-detail-head > div:first-child > span > .action-safety_block {
  color: #a33127;
}

#sourcingTrendSelectedMetrics {
  display: flex;
  flex-shrink: 0;
  gap: 13px;
}

#sourcingTrendSelectedMetrics div {
  display: grid;
  min-width: 50px;
  text-align: right;
}

#sourcingTrendSelectedMetrics strong {
  color: #111827;
  font-size: 0.74rem;
}

#sourcingTrendSelectedMetrics span {
  color: #737b85;
  font-size: 0.48rem;
  white-space: nowrap;
}

.sourcing-trend-chart-head {
  min-height: 34px;
  border-top: 1px solid #edf0f2;
  padding-top: 7px;
}

.sourcing-trend-chart-head > div {
  display: grid;
  gap: 2px;
}

.sourcing-trend-chart-head strong {
  font-size: 0.62rem;
}

.sourcing-trend-chart-head span {
  color: #747b85;
  font-size: 0.5rem;
}

.sourcing-trend-baseline {
  border-left: 3px solid #16835f;
  padding-left: 5px;
  color: #137052 !important;
  font-weight: 850;
}

.sourcing-trend-baseline.is-warming {
  border-color: #c77c08;
  color: #925806 !important;
}

.sourcing-trend-line-chart {
  display: block;
  width: 100%;
  height: auto;
  max-height: 190px;
}

.sourcing-trend-grid-line {
  stroke: #dfe3e8;
  stroke-width: 1;
}

.sourcing-trend-axis-label {
  fill: #747b85;
  font-size: 9px;
}

.sourcing-trend-area {
  fill: #e8f1f8;
}

.sourcing-trend-line {
  fill: none;
  stroke: #185b91;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.sourcing-trend-point {
  fill: #ffffff;
  stroke: #185b91;
  stroke-width: 2.5;
}

.sourcing-trend-last-value {
  fill: #124a76;
  font-size: 11px;
  font-weight: 900;
}

.sourcing-trend-chart-empty {
  display: grid;
  min-height: 118px;
  place-items: center;
  color: #747b85;
  font-size: 0.62rem;
  text-align: center;
}

.sourcing-trend-breakdowns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  border-top: 1px solid #edf0f2;
  padding-top: 10px;
}

.sourcing-trend-breakdowns section {
  min-width: 0;
}

.sourcing-trend-breakdowns section + section {
  border-left: 1px solid #edf0f2;
  padding-left: 18px;
}

.sourcing-trend-breakdowns h4,
.sourcing-trend-evidence h4 {
  margin: 0 0 8px;
  color: #4b5563;
  font-size: 0.56rem;
  text-transform: uppercase;
}

.sourcing-trend-breakdown-row {
  display: grid;
  grid-template-columns: minmax(82px, 0.8fr) minmax(55px, 1fr) 24px;
  gap: 7px;
  align-items: center;
  min-height: 24px;
}

.sourcing-trend-breakdown-row > span:first-child {
  overflow: hidden;
  color: #4b5563;
  font-size: 0.52rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sourcing-trend-breakdown-track {
  height: 6px;
}

.sourcing-trend-breakdown-track > span {
  background: #2879b9;
}

.sourcing-trend-breakdown-row strong {
  font-size: 0.55rem;
  text-align: right;
}

.sourcing-trend-breakdown-empty {
  min-height: 48px;
  color: #8a9098;
  font-size: 0.54rem;
}

.sourcing-trend-evidence {
  margin-top: 9px;
  border-top: 1px solid #edf0f2;
  padding-top: 9px;
}

.sourcing-trend-evidence > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 14px;
}

.sourcing-trend-evidence a {
  display: grid;
  min-width: 0;
  color: #185b91;
  font-size: 0.5rem;
  line-height: 1.35;
  text-decoration: none;
}

.sourcing-trend-evidence a:hover {
  text-decoration: underline;
}

.sourcing-trend-evidence a strong,
.sourcing-trend-evidence a span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sourcing-trend-evidence a strong {
  color: #4b5563;
  font-size: 0.47rem;
}

.sourcing-opportunity-row.is-trend-selected {
  box-shadow: inset 3px 0 #185b91;
}

.sourcing-opportunity-list {
  display: grid;
  border-top: 1px solid #dfe3e8;
}

.sourcing-opportunity-row {
  display: grid;
  grid-template-columns: minmax(260px, 1.35fr) minmax(185px, 0.8fr) minmax(220px, 0.95fr) minmax(170px, 0.7fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid #e1e5e9;
  padding: 11px 0;
}

.sourcing-opportunity-product {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  border: 0;
  padding: 0;
  background: transparent;
  color: #111827;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.sourcing-opportunity-product img,
.sourcing-opportunity-image-missing {
  display: block;
  width: 58px;
  height: 58px;
  border: 1px solid #d9dee4;
  background: #f2f4f5;
  object-fit: contain;
}

.sourcing-opportunity-product img.img-missing {
  visibility: hidden;
}

.sourcing-opportunity-product > span:last-child {
  min-width: 0;
}

.sourcing-opportunity-product strong,
.sourcing-opportunity-product small {
  display: block;
}

.sourcing-opportunity-product strong {
  overflow: hidden;
  font-size: 0.75rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sourcing-opportunity-product small {
  margin-top: 4px;
  color: #6b7280;
  font-size: 0.59rem;
}

.sourcing-opportunity-product:hover strong {
  color: #185b91;
}

.sourcing-opportunity-demand,
.sourcing-opportunity-supply {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 10px;
  min-width: 0;
}

.sourcing-opportunity-demand > div > strong,
.sourcing-opportunity-demand > div > span,
.sourcing-opportunity-supply > div > strong,
.sourcing-opportunity-supply > div > span {
  display: block;
}

.sourcing-opportunity-demand strong,
.sourcing-opportunity-supply strong {
  color: #111827;
  font-size: 0.76rem;
}

.sourcing-opportunity-demand div > span,
.sourcing-opportunity-supply div > span {
  color: #6b7280;
  font-size: 0.55rem;
}

.sourcing-opportunity-regions,
.sourcing-opportunity-suppliers {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  min-width: 0;
}

.sourcing-opportunity-regions span {
  border-left: 2px solid #2879b9;
  padding-left: 4px;
  color: #185b91;
  font-size: 0.54rem;
  font-weight: 800;
}

.sourcing-opportunity-suppliers a,
.sourcing-opportunity-suppliers > span {
  overflow: hidden;
  max-width: 100%;
  color: #185b91;
  font-size: 0.55rem;
  line-height: 1.35;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sourcing-opportunity-suppliers a:hover {
  text-decoration: underline;
}

.sourcing-opportunity-action {
  display: grid;
  gap: 3px;
  min-width: 0;
  border-left: 4px solid #737b85;
  padding-left: 10px;
}

.sourcing-opportunity-action > span {
  color: #374151;
  font-size: 0.64rem;
  font-weight: 900;
}

.sourcing-opportunity-action strong {
  color: #111827;
  font-size: 0.82rem;
}

.sourcing-opportunity-action small {
  display: -webkit-box;
  overflow: hidden;
  color: #6b7280;
  font-size: 0.55rem;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sourcing-opportunity-action button {
  width: 100%;
  margin-top: 4px;
}

.sourcing-opportunity-row.action-quote_now .sourcing-opportunity-action {
  border-color: #16835f;
}

.sourcing-opportunity-row.action-find_supplier .sourcing-opportunity-action,
.sourcing-opportunity-row.action-validate_demand .sourcing-opportunity-action {
  border-color: #d18a10;
}

.sourcing-opportunity-row.action-safety_block {
  background: #fff8f7;
}

.sourcing-opportunity-row.action-safety_block .sourcing-opportunity-action {
  border-color: #b43a2f;
}

.sourcing-opportunity-row.action-safety_block .sourcing-opportunity-action > span {
  color: #a33127;
}

.warehouse-table {
  min-width: 920px;
}

.warehouse-table th:first-child,
.warehouse-table td:first-child {
  width: 290px;
}

.warehouse-table th:nth-child(2),
.warehouse-table td:nth-child(2),
.warehouse-table th:nth-child(4),
.warehouse-table td:nth-child(4),
.warehouse-table th:nth-child(7),
.warehouse-table td:nth-child(7) {
  width: 120px;
}

.warehouse-plan-section {
  min-width: 0;
  margin: 18px 0 26px;
  border-top: 3px solid #1f2937;
  border-bottom: 1px solid #cfd5dc;
  padding: 17px 0 22px;
}

.warehouse-plan-head,
.warehouse-plan-actions,
.warehouse-plan-history > header,
.warehouse-plan-history button {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.warehouse-plan-head h2 {
  margin: 2px 0 0;
  color: #111827;
  font-size: 1.06rem;
  letter-spacing: 0;
}

.warehouse-plan-actions {
  align-items: end;
}

.warehouse-plan-actions label,
.warehouse-plan-form label {
  display: grid;
  min-width: 0;
  gap: 4px;
  color: #68717d;
  font-size: 0.57rem;
  font-weight: 820;
}

.warehouse-plan-actions select,
.warehouse-plan-form input,
.warehouse-plan-form select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 34px;
  border: 1px solid #c8ced6;
  border-radius: 4px;
  padding: 0 8px;
  background: #fff;
  color: #17202b;
  font: inherit;
  font-size: 0.66rem;
  font-weight: 700;
}

.warehouse-plan-actions select {
  width: min(280px, 34vw);
}

.warehouse-plan-actions button,
.warehouse-plan-form > button {
  min-height: 34px;
  border: 1px solid #17202b;
  border-radius: 4px;
  padding: 0 13px;
  background: #17202b;
  color: #fff;
  font: inherit;
  font-size: 0.61rem;
  font-weight: 850;
  cursor: pointer;
}

.warehouse-plan-actions button:disabled {
  border-color: #c9d0d7;
  background: #e6e9ed;
  color: #7a838e;
}

.warehouse-plan-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  align-items: end;
  max-width: 760px;
  margin-top: 14px;
  margin-right: auto;
  margin-left: auto;
  border-top: 1px solid #d7dce2;
  border-bottom: 1px solid #d7dce2;
  padding: 11px 0;
}

.warehouse-plan-form > label[hidden] {
  display: none;
}

.warehouse-plan-stepper {
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  margin-top: 0;
}

.guided-wizard-actions {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  border-top: 1px solid #e1e5e9;
  padding-top: 10px;
}

.guided-wizard-actions > span {
  color: #6e7782;
  font-size: 0.57rem;
  font-weight: 800;
}

.guided-wizard-actions > button:not(.secondary-command) {
  min-height: 34px;
  border: 1px solid #17202b;
  border-radius: 4px;
  padding: 0 13px;
  background: #17202b;
  color: #fff;
  font: inherit;
  font-size: 0.61rem;
  font-weight: 850;
  cursor: pointer;
}

.warehouse-plan-results {
  margin-top: 14px;
}

.warehouse-plan-incomplete {
  display: grid;
  grid-template-columns: minmax(180px, 0.45fr) minmax(0, 1.55fr);
  gap: 18px;
  align-items: center;
  border-top: 1px solid #d8dde3;
  border-bottom: 1px solid #d8dde3;
  padding: 13px 0;
}

.warehouse-plan-incomplete > div:first-child strong,
.warehouse-plan-incomplete > div:first-child span {
  display: block;
}

.warehouse-plan-incomplete > div:first-child strong {
  color: #17212d;
  font-size: 1.15rem;
}

.warehouse-plan-incomplete > div:first-child span {
  margin-top: 3px;
  color: #737c87;
  font-size: 0.56rem;
}

.warehouse-plan-incomplete > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.warehouse-plan-incomplete > div:last-child span {
  border: 1px solid #dacba9;
  border-radius: 4px;
  padding: 3px 6px;
  background: #fffaf0;
  color: #715619;
  font-size: 0.53rem;
  font-weight: 800;
}

.warehouse-plan-decision {
  display: flex;
  gap: 10px;
  align-items: center;
  border-left: 4px solid #16835f;
  padding: 7px 9px;
  background: #f0f8f4;
}

.warehouse-plan-decision span {
  color: #126348;
  font-size: 0.64rem;
  font-weight: 900;
}

.warehouse-plan-decision strong {
  color: #34404c;
  font-size: 0.57rem;
}

.warehouse-plan-decision.decision-reorder_now,
.warehouse-plan-decision.decision-negative_unit_economics {
  border-color: #b43a2f;
  background: #fff3f2;
}

.warehouse-plan-decision.decision-prepare_reorder {
  border-color: #d18a10;
  background: #fff9ed;
}

.warehouse-plan-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 10px;
  border-top: 1px solid #cfd5dc;
  border-bottom: 1px solid #cfd5dc;
}

.warehouse-plan-kpis > div {
  min-width: 0;
  border-right: 1px solid #dfe3e8;
  padding: 10px;
}

.warehouse-plan-kpis > div:last-child {
  border-right: 0;
}

.warehouse-plan-kpis strong,
.warehouse-plan-kpis span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-plan-kpis strong {
  color: #111827;
  font-size: 0.82rem;
}

.warehouse-plan-kpis span {
  margin-top: 3px;
  color: #747d88;
  font-size: 0.53rem;
  font-weight: 800;
}

.warehouse-plan-foot {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  padding: 8px 3px;
  color: #707985;
  font-size: 0.55rem;
}

.warehouse-plan-foot strong {
  color: #26313d;
}

.warehouse-plan-history {
  margin-top: 18px;
  border-top: 1px solid #cfd5dc;
  padding-top: 9px;
}

.warehouse-plan-history > header strong {
  color: #2a3541;
  font-size: 0.64rem;
}

.warehouse-plan-history button {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #e1e5e9;
  padding: 8px 4px;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.warehouse-plan-history button:hover {
  background: #f6f8fa;
}

.warehouse-plan-history button > span {
  min-width: 0;
}

.warehouse-plan-history button strong,
.warehouse-plan-history button small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-plan-history button strong {
  color: #26313d;
  font-size: 0.59rem;
}

.warehouse-plan-history button small,
.warehouse-plan-history-empty {
  margin-top: 2px;
  color: #7a838e;
  font-size: 0.52rem;
}

.warehouse-plan-history-empty {
  border-bottom: 1px solid #e1e5e9;
  padding: 11px 4px;
}

.warehouse-intelligence {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
  border-top: 1px solid #cfd5dc;
  border-bottom: 1px solid #cfd5dc;
  margin: 18px 0 22px;
}

.warehouse-map-section,
.warehouse-social-section,
.warehouse-radar-section,
.warehouse-dropship-section {
  min-width: 0;
  padding: 18px 0;
}

.warehouse-map-section {
  padding-right: 20px;
}

.warehouse-social-section {
  border-left: 1px solid #dfe3e8;
  padding-left: 20px;
}

.warehouse-section-head {
  display: flex;
  min-height: 44px;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 13px;
}

.warehouse-section-head .eyebrow {
  margin: 0 0 2px;
  font-size: 0.62rem;
}

.warehouse-section-head h2,
.warehouse-table-heading h2 {
  margin: 0;
  color: #111827;
  font-size: 1rem;
  line-height: 1.25;
}

.warehouse-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  color: #6b7280;
  font-size: 0.62rem;
  font-weight: 800;
}

.warehouse-map-legend span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
}

.warehouse-map-legend span::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  content: "";
}

.warehouse-map-legend .legend-interest::before {
  background: #16835f;
}

.warehouse-map-legend .legend-coverage::before {
  border: 2px solid #2879b9;
  background: #ffffff;
}

.warehouse-map-legend .legend-route::before {
  border-radius: 1px;
  background: #d18a10;
}

.warehouse-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 235px;
  gap: 16px;
  align-items: stretch;
}

.warehouse-map {
  position: relative;
  width: 100%;
  min-height: 290px;
  overflow: hidden;
  border: 1px solid #d9dee4;
  background: #f5f7f8;
  aspect-ratio: 2 / 1;
}

.warehouse-map::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: #cfd5dc;
  content: "";
}

.warehouse-map-loading {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #6b7280;
  font-size: 0.72rem;
}

.warehouse-map svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.warehouse-map-country {
  fill: #e0e4e7;
  stroke: #ffffff;
  stroke-width: 0.7;
  vector-effect: non-scaling-stroke;
}

.warehouse-map-marker {
  position: absolute;
  z-index: 2;
  width: 38px;
  height: 38px;
  transform: translate(-50%, -50%);
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #737b85;
  box-shadow: 0 0 0 1px #737b85, 0 2px 7px rgb(17 24 39 / 18%);
  color: #ffffff;
  cursor: pointer;
  font: inherit;
  text-align: center;
}

.warehouse-map-marker strong,
.warehouse-map-marker small {
  display: block;
  line-height: 1;
}

.warehouse-map-marker strong {
  font-size: 0.62rem;
}

.warehouse-map-marker small {
  margin-top: 2px;
  font-size: 0.55rem;
}

.warehouse-map-marker.is-limited {
  background: #4e826f;
  box-shadow: 0 0 0 1px #4e826f, 0 2px 7px rgb(17 24 39 / 18%);
}

.warehouse-map-marker.is-measured {
  background: #116a4c;
  box-shadow: 0 0 0 1px #116a4c, 0 2px 7px rgb(17 24 39 / 18%);
}

.warehouse-map-marker.has-coverage {
  border-color: #d9efff;
  box-shadow: 0 0 0 2px #2879b9, 0 2px 7px rgb(17 24 39 / 20%);
}

.warehouse-map-marker.has-route::after {
  position: absolute;
  right: -3px;
  bottom: -3px;
  width: 9px;
  height: 9px;
  border: 2px solid #ffffff;
  border-radius: 2px;
  background: #d18a10;
  content: "";
}

.warehouse-map-marker.is-supply-only {
  width: 29px;
  height: 29px;
  border-radius: 4px;
  background: #5f6771;
}

.warehouse-map-marker[aria-pressed="true"] {
  outline: 3px solid #111827;
  outline-offset: 2px;
}

.warehouse-region-detail {
  min-width: 0;
  border-left: 3px solid #111827;
  padding: 3px 0 3px 14px;
}

.warehouse-region-detail h3 {
  margin: 0 0 4px;
  color: #111827;
  font-size: 0.96rem;
}

.warehouse-region-confidence {
  display: inline-flex;
  margin-bottom: 10px;
  border-radius: 4px;
  padding: 2px 5px;
  background: #fff4dd;
  color: #8a5600;
  font-size: 0.61rem;
  font-weight: 850;
}

.warehouse-region-confidence.status-measured {
  background: #e5f4ed;
  color: #116a4c;
}

.warehouse-region-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #e1e5e9;
}

.warehouse-region-stats div {
  min-width: 0;
  border-right: 1px solid #e1e5e9;
  border-bottom: 1px solid #e1e5e9;
  padding: 7px 6px;
}

.warehouse-region-stats div:nth-child(2n) {
  border-right: 0;
}

.warehouse-region-stats strong,
.warehouse-region-stats span {
  display: block;
}

.warehouse-region-stats strong {
  color: #111827;
  font-size: 0.86rem;
}

.warehouse-region-stats span {
  margin-top: 1px;
  color: #6b7280;
  font-size: 0.58rem;
  line-height: 1.3;
}

.warehouse-region-products {
  display: grid;
  gap: 0;
  margin-top: 9px;
}

.warehouse-region-products button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  padding: 7px 0;
  background: transparent;
  color: #374151;
  cursor: pointer;
  font: inherit;
  font-size: 0.64rem;
  text-align: left;
}

.warehouse-region-products button:hover {
  color: #116a4c;
}

.warehouse-method-note {
  margin: 11px 0 0;
  color: #6b7280;
  font-size: 0.62rem;
  line-height: 1.45;
}

.warehouse-social-list {
  display: grid;
}

.warehouse-social-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  border-bottom: 1px solid #e1e5e9;
  padding: 10px 0;
}

.warehouse-social-row:last-child {
  border-bottom: 0;
}

.warehouse-trend-score {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #cad3da;
  color: #111827;
  font-size: 0.72rem;
  font-weight: 900;
}

.warehouse-social-copy {
  min-width: 0;
}

.warehouse-social-copy button {
  display: block;
  overflow: hidden;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: #111827;
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 850;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-social-copy button:hover {
  color: #116a4c;
}

.warehouse-social-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 8px;
  margin-top: 4px;
  color: #6b7280;
  font-size: 0.59rem;
}

.warehouse-social-source {
  display: block;
  overflow: hidden;
  margin-top: 5px;
  color: #185b91;
  font-size: 0.61rem;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-social-source:hover {
  text-decoration: underline;
}

.warehouse-radar-section {
  border-bottom: 1px solid #cfd5dc;
  margin-bottom: 22px;
  padding-top: 0;
  padding-bottom: 22px;
}

.warehouse-radar-head {
  align-items: center;
}

.warehouse-radar-history {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  justify-content: flex-end;
  color: #6b7280;
  font-size: 0.62rem;
}

.radar-history-status {
  border-left: 3px solid #d18a10;
  padding-left: 7px;
  color: #8a5600;
  font-weight: 850;
}

.radar-history-status.active {
  border-color: #16835f;
  color: #116a4c;
}

.warehouse-radar-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid #d9dee4;
  background: #ffffff;
}

.warehouse-radar-metrics div {
  min-width: 0;
  border-right: 1px solid #e1e5e9;
  padding: 10px 12px;
}

.warehouse-radar-metrics div:last-child {
  border-right: 0;
}

.warehouse-radar-metrics strong,
.warehouse-radar-metrics span {
  display: block;
}

.warehouse-radar-metrics strong {
  color: #111827;
  font-size: 1rem;
}

.warehouse-radar-metrics span {
  margin-top: 2px;
  overflow: hidden;
  color: #6b7280;
  font-size: 0.61rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-radar-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: end;
  margin-top: 12px;
}

.warehouse-radar-controls label:not(.warehouse-radar-toggle):not(.sr-only) {
  display: grid;
  gap: 3px;
  color: #6b7280;
  font-size: 0.59rem;
  font-weight: 800;
}

.warehouse-radar-controls select,
.warehouse-radar-watch-form input {
  height: 34px;
  min-width: 145px;
  border: 1px solid #cfd5dc;
  border-radius: 5px;
  padding: 0 9px;
  background: #ffffff;
  color: #111827;
  font: inherit;
  font-size: 0.7rem;
}

.warehouse-radar-window {
  display: inline-flex;
  height: 34px;
  overflow: hidden;
  border: 1px solid #cfd5dc;
  border-radius: 5px;
}

.warehouse-radar-window button {
  width: 48px;
  border: 0;
  border-right: 1px solid #cfd5dc;
  background: #ffffff;
  color: #4b5563;
  cursor: pointer;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 850;
}

.warehouse-radar-window button:last-child {
  border-right: 0;
}

.warehouse-radar-window button.active {
  background: #111827;
  color: #ffffff;
}

.warehouse-radar-toggle {
  display: inline-flex;
  height: 34px;
  gap: 6px;
  align-items: center;
  color: #374151;
  font-size: 0.66rem;
  font-weight: 800;
}

.warehouse-radar-toggle input {
  width: 15px;
  height: 15px;
  accent-color: #116a4c;
}

.warehouse-radar-watch-form {
  display: grid;
  grid-template-columns: minmax(150px, 220px) 34px;
  height: 34px;
  margin-left: auto;
}

.warehouse-radar-watch-form input {
  min-width: 0;
  border-radius: 5px 0 0 5px;
}

.warehouse-radar-watch-form button {
  border: 1px solid #111827;
  border-radius: 0 5px 5px 0;
  background: #111827;
  color: #ffffff;
  cursor: pointer;
  font-size: 1rem;
}

.warehouse-radar-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 0;
  margin-top: 8px;
}

.warehouse-radar-keywords:empty {
  display: none;
}

.warehouse-radar-keywords span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  border: 1px solid #b9d9cc;
  border-radius: 5px;
  padding: 3px 4px 3px 7px;
  background: #f0f8f4;
  color: #116a4c;
  font-size: 0.62rem;
  font-weight: 800;
}

.warehouse-radar-keywords button {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 0.9rem;
  line-height: 1;
}

.warehouse-radar-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.85fr);
  gap: 20px;
  margin-top: 14px;
  border-top: 1px solid #dfe3e8;
  border-bottom: 1px solid #dfe3e8;
  padding: 14px 0;
}

.warehouse-social-topic-board,
.warehouse-social-platform-board {
  min-width: 0;
}

.warehouse-social-topic-board {
  border-right: 1px solid #dfe3e8;
  padding-right: 20px;
}

.warehouse-social-topic-board > header,
.warehouse-social-platform-board > header {
  min-height: 42px;
  margin-bottom: 8px;
}

.warehouse-social-topic-board h3,
.warehouse-social-platform-board h3,
.warehouse-social-topic-detail h3 {
  margin: 2px 0 0;
  color: #111827;
  font-size: 0.78rem;
}

.warehouse-social-topic-scale,
.warehouse-social-topic-bar {
  display: grid;
  grid-template-columns: minmax(125px, 180px) minmax(100px, 1fr) 34px;
  gap: 9px;
  align-items: center;
}

.warehouse-social-topic-scale {
  min-height: 20px;
  color: #747b85;
  font-size: 0.49rem;
}

.warehouse-social-topic-scale > span:nth-child(2) {
  display: flex;
  justify-content: space-between;
}

.warehouse-social-topic-scale i {
  font-style: normal;
}

.warehouse-social-topic-scale > strong {
  font-size: 0;
}

.warehouse-social-topic-bars {
  display: grid;
}

.warehouse-social-topic-bar {
  min-width: 0;
  min-height: 45px;
  border: 0;
  border-top: 1px solid #edf0f2;
  padding: 5px 0;
  background: transparent;
  color: #111827;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.warehouse-social-topic-bar:hover,
.warehouse-social-topic-bar:focus-visible,
.warehouse-social-topic-bar[aria-pressed="true"] {
  background: #f3f7fa;
}

.warehouse-social-topic-bar:focus-visible {
  outline: 2px solid #185b91;
  outline-offset: 2px;
}

.warehouse-social-topic-bar[aria-pressed="true"] {
  box-shadow: inset 3px 0 #185b91;
}

.warehouse-social-topic-bar > span:first-child {
  display: block;
  min-width: 0;
  padding-left: 7px;
}

.warehouse-social-topic-bar > span:first-child strong,
.warehouse-social-topic-bar > span:first-child small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-social-topic-bar > span:first-child strong {
  font-size: 0.64rem;
}

.warehouse-social-topic-bar > span:first-child small {
  margin-top: 3px;
  color: #747b85;
  font-size: 0.5rem;
}

.warehouse-social-topic-track {
  display: block;
  overflow: hidden;
  height: 8px;
  background: #e6e9ed;
}

.warehouse-social-topic-track > span {
  display: block;
  height: 100%;
  background: #737b85;
}

.warehouse-social-topic-bar.velocity-new .warehouse-social-topic-track > span {
  background: #2879b9;
}

.warehouse-social-topic-bar.velocity-rising .warehouse-social-topic-track > span,
.warehouse-social-topic-bar.velocity-breakout .warehouse-social-topic-track > span {
  background: #16835f;
}

.warehouse-social-topic-bar.velocity-fading .warehouse-social-topic-track > span {
  background: #c77c08;
}

.warehouse-social-topic-bar > strong {
  font-size: 0.68rem;
  text-align: right;
}

.warehouse-social-topic-detail {
  min-width: 0;
  border-bottom: 1px solid #dfe3e8;
  padding: 15px 0;
}

.warehouse-social-topic-detail-head,
.warehouse-social-topic-actions,
#warehouseSocialTopicMetrics {
  display: flex;
  gap: 13px;
  align-items: center;
}

.warehouse-social-topic-detail-head {
  justify-content: space-between;
  min-height: 42px;
  margin-bottom: 8px;
}

.warehouse-social-topic-detail-head > div:first-child {
  min-width: 0;
}

#warehouseSocialTopicStatus {
  display: block;
  min-height: 16px;
}

#warehouseSocialTopicStatus .radar-velocity {
  justify-self: start;
}

#warehouseSocialTopicMetrics div {
  display: grid;
  min-width: 58px;
  text-align: right;
}

#warehouseSocialTopicMetrics strong {
  font-size: 0.73rem;
}

#warehouseSocialTopicMetrics span {
  overflow: hidden;
  max-width: 112px;
  color: #747b85;
  font-size: 0.48rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#warehouseSocialTopicClear {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border: 1px solid #cfd5dc;
  border-radius: 4px;
  background: #ffffff;
  color: #4b5563;
  cursor: pointer;
  font-size: 1rem;
}

#warehouseSocialTopicClear[hidden] {
  display: none;
}

.warehouse-social-topic-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(220px, 0.7fr);
  gap: 20px;
  border-top: 1px solid #edf0f2;
  padding-top: 10px;
}

.warehouse-social-topic-detail-grid > section {
  min-width: 0;
  border-left: 1px solid #edf0f2;
  padding-left: 20px;
}

.warehouse-social-topic-detail-grid h4,
.warehouse-social-topic-evidence h4 {
  margin: 0 0 8px;
  color: #4b5563;
  font-size: 0.56rem;
  text-transform: uppercase;
}

.warehouse-social-timeline-head {
  display: flex;
  min-height: 25px;
  justify-content: space-between;
  color: #747b85;
  font-size: 0.52rem;
}

.warehouse-social-timeline-head strong {
  color: #111827;
  font-size: 0.6rem;
}

.warehouse-social-topic-evidence {
  margin-top: 9px;
  border-top: 1px solid #edf0f2;
  padding-top: 9px;
}

.warehouse-social-topic-evidence > div:first-of-type {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 14px;
}

.warehouse-social-topic-evidence a {
  display: grid;
  min-width: 0;
  color: #185b91;
  font-size: 0.52rem;
  line-height: 1.35;
  text-decoration: none;
}

.warehouse-social-topic-evidence a:hover {
  text-decoration: underline;
}

.warehouse-social-topic-evidence a strong,
.warehouse-social-topic-evidence a span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-social-topic-evidence a strong {
  color: #4b5563;
  font-size: 0.47rem;
}

.warehouse-social-topic-products {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}

.warehouse-social-topic-products button {
  max-width: 280px;
  overflow: hidden;
  border: 0;
  border-left: 2px solid #16835f;
  padding: 0 0 0 6px;
  background: transparent;
  color: #116a4c;
  cursor: pointer;
  font: inherit;
  font-size: 0.54rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-radar-timeline {
  display: grid;
  min-width: 0;
  min-height: 112px;
  align-items: end;
}

.warehouse-social-topic-detail .warehouse-radar-timeline {
  min-height: 210px;
  align-items: stretch;
}

.warehouse-radar-timeline-bars {
  display: grid;
  grid-template-columns: repeat(14, minmax(12px, 1fr));
  gap: 5px;
  height: 98px;
  align-items: end;
  border-bottom: 1px solid #cfd5dc;
}

.warehouse-radar-timeline-bars > div {
  display: grid;
  height: 96px;
  align-items: end;
  min-width: 0;
}

.warehouse-radar-timeline-bars span {
  display: block;
  min-height: 4px;
  background: #2879b9;
}

.warehouse-radar-timeline-bars small {
  overflow: hidden;
  height: 17px;
  padding-top: 3px;
  color: #6b7280;
  font-size: 0.49rem;
  text-align: center;
  text-overflow: clip;
  white-space: nowrap;
}

.warehouse-radar-sources {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

.warehouse-radar-source-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  min-width: 0;
  border: 0;
  border-right: 1px solid #e1e5e9;
  border-bottom: 1px solid #e1e5e9;
  padding: 6px 8px;
  background: transparent;
  color: #111827;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.warehouse-radar-source-row:nth-child(2n) {
  border-right: 0;
}

.warehouse-radar-source-row > span {
  min-width: 0;
}

.warehouse-radar-source-row > span:last-child {
  text-align: right;
}

.warehouse-radar-source-row strong,
.warehouse-radar-source-row b,
.warehouse-radar-source-row small {
  display: block;
}

.warehouse-radar-source-row strong {
  overflow: hidden;
  font-size: 0.64rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-radar-source-row b {
  color: #116a4c;
  font-size: 0.67rem;
}

.warehouse-radar-source-row small {
  margin-top: 1px;
  color: #6b7280;
  font-size: 0.52rem;
  font-weight: 700;
}

.warehouse-radar-source-row.access_required b,
.warehouse-radar-source-row.access_required small {
  color: #9a6a12;
}

.warehouse-radar-source-row:hover strong {
  color: #185b91;
}

.warehouse-radar-signals {
  display: grid;
  margin-top: 12px;
  border-top: 1px solid #dfe3e8;
}

.warehouse-radar-signal-row {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 126px;
  gap: 10px;
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid #e1e5e9;
  padding: 9px 0;
}

.warehouse-radar-watch {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #cfd5dc;
  border-radius: 4px;
  background: #ffffff;
  color: #6b7280;
  cursor: pointer;
  font-size: 1rem;
}

.warehouse-radar-watch.tracked {
  border-color: #d18a10;
  background: #fff8e8;
  color: #9a6a12;
}

.warehouse-radar-signal-copy {
  min-width: 0;
}

.warehouse-radar-signal-copy > a,
.warehouse-radar-signal-copy > strong {
  display: block;
  overflow: hidden;
  color: #111827;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.35;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-radar-signal-copy > a:hover {
  color: #185b91;
  text-decoration: underline;
}

.warehouse-radar-signal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 9px;
  margin-top: 4px;
  color: #6b7280;
  font-size: 0.56rem;
}

.warehouse-radar-product-match {
  overflow: hidden;
  max-width: 100%;
  margin-top: 5px;
  border: 0;
  border-left: 2px solid #16835f;
  padding: 0 0 0 6px;
  background: transparent;
  color: #116a4c;
  cursor: pointer;
  font: inherit;
  font-size: 0.59rem;
  font-weight: 800;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-radar-signal-stats {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 7px;
  align-items: center;
  min-width: 0;
  text-align: right;
}

.warehouse-radar-signal-stats strong {
  color: #111827;
  font-size: 0.75rem;
}

.warehouse-radar-signal-stats small,
.warehouse-radar-signal-stats > span:last-child {
  color: #6b7280;
  font-size: 0.53rem;
}

.radar-velocity {
  justify-self: end;
  border-left: 3px solid #737b85;
  padding-left: 5px;
  color: #4b5563;
  font-size: 0.57rem;
  font-weight: 850;
  white-space: nowrap;
}

.radar-velocity.breakout,
.radar-velocity.rising {
  border-color: #16835f;
  color: #116a4c;
}

.radar-velocity.new {
  border-color: #2879b9;
  color: #185b91;
}

.radar-velocity.fading {
  border-color: #c05a42;
  color: #9b3f2d;
}

.warehouse-dropship-section {
  border-bottom: 1px solid #cfd5dc;
  margin-bottom: 22px;
}

.warehouse-dropship-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  color: #4b5563;
  font-size: 0.64rem;
  font-weight: 800;
}

.warehouse-dropship-summary span {
  border-left: 2px solid #d18a10;
  padding-left: 6px;
}

.warehouse-dropship-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #dfe3e8;
}

.warehouse-dropship-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 12px;
  min-width: 0;
  border-right: 1px solid #dfe3e8;
  border-bottom: 1px solid #dfe3e8;
  padding: 12px;
}

.warehouse-dropship-row:nth-child(2n) {
  border-right: 0;
}

.warehouse-dropship-primary {
  min-width: 0;
}

.warehouse-dropship-primary strong,
.warehouse-dropship-primary small {
  display: block;
}

.warehouse-dropship-primary strong {
  overflow: hidden;
  color: #111827;
  font-size: 0.76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warehouse-dropship-primary small {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 4px;
  color: #6b7280;
  font-size: 0.62rem;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.warehouse-dropship-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.warehouse-dropship-fit {
  display: grid;
  align-content: start;
  gap: 6px;
  text-align: right;
}

.warehouse-dropship-fit strong {
  color: #111827;
  font-size: 0.88rem;
}

.warehouse-dropship-fit a {
  color: #185b91;
  font-size: 0.62rem;
  font-weight: 850;
  text-decoration: none;
}

.warehouse-dropship-fit a:hover {
  text-decoration: underline;
}

.warehouse-table-heading {
  margin: 0 0 9px;
}

.workspace-empty-row td {
  padding: 28px;
  color: #6b7280;
  text-align: center;
}

@media (max-width: 920px) {
  .workspace-switcher {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .sourcing-launchpad {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sourcing-launchpad > button,
  .sourcing-launchpad > button:last-child {
    border-right: 1px solid #e1e5e9;
    border-bottom: 1px solid #e1e5e9;
    border-radius: 0;
  }

  .sourcing-launchpad > button:nth-child(2n) {
    border-right: 0;
  }

  .sourcing-launchpad > button:nth-child(n + 3) {
    border-bottom: 0;
  }

  .workspace-decision-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .workspace-decision-bar > div:nth-child(3) {
    border-right: 0;
  }

  .workspace-decision-bar > div:nth-child(n + 4) {
    border-top: 1px solid #dfe3e8;
  }

  .workspace-decision-bar .workspace-decision-next {
    grid-column: span 2;
  }

  .warehouse-plan-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .warehouse-plan-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .warehouse-plan-kpis > div:nth-child(3n) {
    border-right: 0;
  }

  .warehouse-plan-kpis > div:nth-child(n + 4) {
    border-top: 1px solid #dfe3e8;
  }

  .manufacturer-finder-controls {
    grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(110px, 0.7fr));
  }

  .manufacturer-match-row > header {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .manufacturer-match-basis {
    grid-column: 2;
  }

  .manufacturer-dimensions,
  .manufacturer-gates,
  .manufacturer-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .manufacturer-dimensions > div:nth-child(2n),
  .manufacturer-facts > div:nth-child(2n) {
    border-right: 0;
  }

  .manufacturer-dimensions > div:nth-child(n + 3),
  .manufacturer-facts > div:nth-child(n + 3) {
    border-top: 1px solid #e1e5e9;
  }

  .commercial-decision-head {
    align-items: flex-end;
  }

  .commercial-project-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .commercial-cost-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .commercial-cost-groups fieldset:nth-child(2n) {
    border-right: 0;
  }

  .commercial-cost-groups fieldset:nth-child(n + 3) {
    border-top: 1px solid #e0e4e9;
  }

  .commercial-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .commercial-kpis > div:nth-child(3n) {
    border-right: 0;
  }

  .commercial-kpis > div:nth-child(n + 4) {
    border-top: 1px solid #dfe3e8;
  }

  .commercial-project-grid {
    grid-template-columns: 1fr;
  }

  .workspace-heading {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .workspace-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-intelligence-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .market-intelligence-metrics .workspace-metric:nth-child(3n) {
    border-right: 0;
  }

  .market-source-domains {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-gates {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .market-gate:nth-child(4n) {
    border-right: 0;
  }

  .market-gate:nth-child(n + 5) {
    border-top: 1px solid #dfe3e8;
  }

  .market-opportunity-evidence {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-opportunity-evidence > section:first-child {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 1px solid #e1e5e9;
    padding: 0 0 9px;
  }

  .market-opportunity-evidence > section:nth-child(2) {
    padding: 9px 11px 0 0;
  }

  .market-opportunity-evidence > section:last-child {
    padding-top: 9px;
  }

  .supply-profile-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .supply-profile-facts section:nth-child(3n) {
    border-right: 0;
  }

  .supply-profile-facts section:nth-child(n + 4) {
    border-top: 1px solid #dfe3e8;
  }

  .supply-facility-row,
  .supply-lane-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workspace-metric:nth-child(2n) {
    border-right: 0;
  }

  .workspace-filters,
  .warehouse-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .warehouse-intelligence {
    grid-template-columns: 1fr;
  }

  .warehouse-map-section {
    padding-right: 0;
  }

  .warehouse-social-section {
    border-top: 1px solid #dfe3e8;
    border-left: 0;
    padding-left: 0;
  }

  .warehouse-radar-overview {
    grid-template-columns: 1fr;
  }

  .warehouse-social-topic-board {
    border-right: 0;
    border-bottom: 1px solid #dfe3e8;
    padding-right: 0;
    padding-bottom: 14px;
  }

  .warehouse-social-topic-detail-grid {
    grid-template-columns: 1fr;
  }

  .warehouse-social-topic-detail-grid > section {
    border-top: 1px solid #edf0f2;
    border-left: 0;
    padding-top: 10px;
    padding-left: 0;
  }

  .warehouse-radar-watch-form {
    margin-left: 0;
  }

  .sourcing-opportunity-row {
    grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.8fr);
    align-items: start;
  }

  .sourcing-trend-explorer {
    grid-template-columns: 1fr;
  }

  .sourcing-trend-comparison {
    border-right: 0;
    border-bottom: 1px solid #dfe3e8;
    padding-right: 0;
  }

  .sourcing-trend-detail {
    padding-left: 0;
  }

  .sourcing-opportunity-action {
    grid-column: 2;
  }
}

@media (max-width: 560px) {
  .workspace-switcher {
    padding: 6px 8px;
  }

  .workspace-path {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .workspace-seller-steps {
    grid-template-columns: repeat(3, minmax(168px, 1fr));
    overflow-x: auto;
  }

  .workspace-switcher button {
    min-height: 58px;
    padding: 7px 9px;
  }

  .workspace-switcher button small {
    display: none;
  }

  .simple-journey {
    grid-template-columns: 1fr;
  }

  .simple-journey > span,
  .simple-journey > span:last-child {
    min-height: 40px;
    border-right: 0;
    border-bottom: 1px solid #e1e5e9;
  }

  .simple-journey > span:last-child {
    border-bottom: 0;
  }

  .sourcing-launchpad {
    grid-template-columns: 1fr;
  }

  .sourcing-launchpad > button,
  .sourcing-launchpad > button:nth-child(2n),
  .sourcing-launchpad > button:nth-child(n + 3),
  .sourcing-launchpad > button:last-child {
    min-height: 66px;
    border-right: 0;
    border-bottom: 1px solid #e1e5e9;
  }

  .sourcing-launchpad > button:last-child {
    border-bottom: 0;
  }

  .guided-stepper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guided-stepper button:nth-child(2n) {
    border-right: 0;
  }

  .guided-stepper button:nth-child(n + 3) {
    border-top: 1px solid #dfe3e8;
  }

  .commercial-cost-groups fieldset {
    grid-template-columns: 1fr;
  }

  .guided-wizard-actions {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .guided-wizard-actions > span {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .workspace-decision-bar,
  .warehouse-plan-form,
  .warehouse-plan-incomplete {
    grid-template-columns: 1fr;
  }

  .workspace-decision-bar > div,
  .workspace-decision-bar > div:nth-child(3) {
    border-top: 1px solid #dfe3e8;
    border-right: 0;
  }

  .workspace-decision-bar > div:first-child {
    border-top: 0;
  }

  .workspace-decision-bar .workspace-decision-next {
    grid-column: 1;
  }

  .warehouse-plan-head,
  .warehouse-plan-actions {
    display: grid;
  }

  .warehouse-plan-actions {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .warehouse-plan-actions select {
    width: 100%;
  }

  .warehouse-plan-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .warehouse-plan-kpis > div:nth-child(3n) {
    border-right: 1px solid #dfe3e8;
  }

  .warehouse-plan-kpis > div:nth-child(2n) {
    border-right: 0;
  }

  .warehouse-plan-kpis > div:nth-child(n + 3) {
    border-top: 1px solid #dfe3e8;
  }

  .warehouse-plan-decision,
  .warehouse-plan-foot {
    display: grid;
  }

  .manufacturer-finder-head,
  .manufacturer-match-row > footer {
    display: grid;
  }

  .manufacturer-finder-summary {
    justify-content: flex-start;
  }

  .manufacturer-finder-controls,
  .manufacturer-match-row > header,
  .manufacturer-dimensions,
  .manufacturer-gates,
  .manufacturer-facts {
    grid-template-columns: 1fr;
  }

  .manufacturer-selected-product {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .manufacturer-selected-product img,
  .manufacturer-selected-product > i {
    width: 44px;
    height: 44px;
  }

  .manufacturer-selected-product > button {
    grid-column: 1 / -1;
  }

  .manufacturer-match-basis {
    grid-column: 1;
    margin-left: 50px;
  }

  .manufacturer-dimensions > div,
  .manufacturer-dimensions > div:nth-child(2n),
  .manufacturer-facts > div,
  .manufacturer-facts > div:nth-child(2n) {
    border-top: 1px solid #e1e5e9;
    border-right: 0;
  }

  .manufacturer-dimensions > div:first-child,
  .manufacturer-facts > div:first-child {
    border-top: 0;
  }

  .commercial-decision-head,
  .commercial-project-actions,
  .commercial-run-row,
  .commercial-result-head {
    display: grid;
    align-items: stretch;
  }

  .commercial-project-actions {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .commercial-project-actions select {
    width: 100%;
  }

  .commercial-pipeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .commercial-pipeline span:nth-child(3) {
    border-right: 0;
  }

  .commercial-pipeline span:nth-child(n + 4) {
    border-top: 1px solid #e2e6ea;
  }

  .commercial-project-fields,
  .commercial-cost-groups,
  .commercial-analysis-grid,
  .commercial-incomplete {
    grid-template-columns: 1fr;
  }

  .commercial-evidence-settings .commercial-project-fields,
  .commercial-launch-readiness {
    display: grid;
    grid-template-columns: 1fr;
  }

  .commercial-cost-groups fieldset,
  .commercial-cost-groups fieldset:nth-child(2n) {
    border-top: 1px solid #e0e4e9;
    border-right: 0;
  }

  .commercial-cost-groups fieldset:first-child {
    border-top: 0;
  }

  .commercial-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .commercial-kpis > div:nth-child(3n) {
    border-right: 1px solid #dfe3e8;
  }

  .commercial-kpis > div:nth-child(2n) {
    border-right: 0;
  }

  .commercial-kpis > div:nth-child(n + 3) {
    border-top: 1px solid #dfe3e8;
  }

  #commercialQuoteForm {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #commercialQuoteForm button {
    grid-column: 1 / -1;
  }

  .commercial-quote-row {
    grid-template-columns: minmax(0, 1fr) repeat(2, minmax(55px, 0.45fr)) auto;
  }

  .commercial-quote-row > div:nth-child(4) {
    display: none;
  }

  .workspace-switcher {
    padding: 6px 8px;
  }

  .workspace-switcher button {
    padding-right: 9px;
    padding-left: 9px;
  }

  .operations-workspace {
    width: min(100% - 24px, 1240px);
    padding-top: 22px;
  }

  .workspace-heading h1 {
    font-size: 1.45rem;
  }

  .workspace-metrics,
  .workspace-filters,
  .warehouse-filters {
    grid-template-columns: 1fr;
  }

  .market-intelligence-head,
  .market-source-head {
    display: grid;
  }

  .market-intelligence-market,
  .market-intelligence-market select {
    width: 100%;
  }

  .market-intelligence-metrics,
  .market-source-domains,
  .market-opportunity-evidence {
    grid-template-columns: 1fr;
  }

  .market-intelligence-metrics .workspace-metric {
    border-right: 0;
    border-bottom: 1px solid #dfe3e8;
  }

  .market-source-domain summary {
    min-height: 54px;
  }

  .market-gates {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-gate,
  .market-gate:nth-child(4n) {
    border-right: 1px solid #dfe3e8;
  }

  .market-gate:nth-child(2n) {
    border-right: 0;
  }

  .market-gate:nth-child(n + 3) {
    border-top: 1px solid #dfe3e8;
  }

  .market-opportunity-evidence > section,
  .market-opportunity-evidence > section:nth-child(2),
  .market-opportunity-evidence > section:last-child {
    grid-column: 1;
    border-right: 0;
    border-bottom: 1px solid #e1e5e9;
    padding: 9px 0;
  }

  .market-opportunity-evidence > section:last-child {
    border-bottom: 0;
  }

  .supply-network-head {
    display: grid;
  }

  .supply-network-summary {
    justify-content: flex-start;
  }

  .supply-network-tabs {
    overflow-x: auto;
  }

  .supply-network-tabs button {
    min-width: max-content;
  }

  .supply-organization-row summary {
    grid-template-columns: minmax(0, 1fr) 62px;
    gap: 8px;
  }

  .supply-organization-gaps {
    grid-column: 1 / -1;
    grid-template-columns: repeat(8, 12px);
    justify-content: start;
    padding-left: 20px;
  }

  .supply-profile-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .supply-profile-facts section,
  .supply-profile-facts section:nth-child(3n) {
    border-right: 1px solid #dfe3e8;
    border-top: 1px solid #dfe3e8;
  }

  .supply-profile-facts section:nth-child(2n) {
    border-right: 0;
  }

  .network-timeline-track small {
    display: none;
  }

  .supply-facility-row,
  .supply-lane-row {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .workspace-metric {
    border-right: 0;
    border-bottom: 1px solid #dfe3e8;
  }

  .workspace-metric:last-child {
    border-bottom: 0;
  }

  .warehouse-map-layout,
  .warehouse-dropship-list {
    grid-template-columns: 1fr;
  }

  .warehouse-map {
    min-height: 220px;
  }

  .warehouse-region-detail {
    border-top: 3px solid #111827;
    border-left: 0;
    padding: 12px 0 0;
  }

  .warehouse-map-legend,
  .warehouse-dropship-summary {
    justify-content: flex-start;
  }

  .warehouse-section-head {
    display: grid;
  }

  .sourcing-opportunity-summary {
    justify-content: flex-start;
  }

  .sourcing-opportunity-controls,
  .sourcing-opportunity-controls label,
  .sourcing-opportunity-controls select {
    width: 100%;
  }

  .sourcing-trend-scale,
  .sourcing-trend-bar {
    grid-template-columns: minmax(105px, 145px) minmax(80px, 1fr) 32px;
    gap: 7px;
  }

  .sourcing-trend-detail-head {
    display: grid;
  }

  #sourcingTrendSelectedMetrics {
    justify-content: space-between;
  }

  #sourcingTrendSelectedMetrics div {
    text-align: left;
  }

  .sourcing-trend-breakdowns,
  .sourcing-trend-evidence > div {
    grid-template-columns: 1fr;
  }

  .sourcing-trend-breakdowns section + section {
    border-top: 1px solid #edf0f2;
    border-left: 0;
    padding-top: 10px;
    padding-left: 0;
  }

  .sourcing-opportunity-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .sourcing-opportunity-action {
    grid-column: 1;
  }

  .warehouse-radar-history {
    justify-content: flex-start;
  }

  .warehouse-radar-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .warehouse-radar-metrics div {
    border-bottom: 1px solid #e1e5e9;
  }

  .warehouse-radar-metrics div:nth-child(2n) {
    border-right: 0;
  }

  .warehouse-radar-metrics div:last-child {
    grid-column: 1 / -1;
    border-bottom: 0;
  }

  .warehouse-social-topic-scale,
  .warehouse-social-topic-bar {
    grid-template-columns: minmax(105px, 145px) minmax(80px, 1fr) 32px;
    gap: 7px;
  }

  .warehouse-social-topic-detail-head,
  .warehouse-social-topic-actions {
    display: grid;
  }

  #warehouseSocialTopicMetrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #warehouseSocialTopicMetrics div {
    text-align: left;
  }

  .warehouse-social-topic-evidence > div:first-of-type {
    grid-template-columns: 1fr;
  }

  .warehouse-radar-controls,
  .warehouse-radar-controls label:not(.warehouse-radar-toggle):not(.sr-only),
  .warehouse-radar-controls select,
  .warehouse-radar-watch-form {
    width: 100%;
  }

  .warehouse-radar-window {
    width: 100%;
  }

  .warehouse-radar-window button {
    flex: 1;
  }

  .warehouse-radar-sources {
    grid-template-columns: 1fr;
  }

  .warehouse-radar-timeline-bars > div {
    position: relative;
    min-width: 0;
    padding-bottom: 18px;
  }

  .warehouse-radar-timeline-bars small {
    position: absolute;
    bottom: 0;
    display: none;
    width: max-content;
    overflow: visible;
  }

  .warehouse-radar-timeline-bars > div:nth-child(1) small,
  .warehouse-radar-timeline-bars > div:nth-child(7) small,
  .warehouse-radar-timeline-bars > div:nth-child(14) small {
    display: block;
  }

  .warehouse-radar-timeline-bars > div:nth-child(1) small {
    left: 0;
  }

  .warehouse-radar-timeline-bars > div:nth-child(7) small {
    left: 50%;
    transform: translateX(-50%);
  }

  .warehouse-radar-timeline-bars > div:nth-child(14) small {
    right: 0;
  }

  .warehouse-radar-source-row,
  .warehouse-radar-source-row:nth-child(2n) {
    border-right: 0;
  }

  .warehouse-radar-signal-row {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .warehouse-radar-signal-stats {
    grid-column: 2;
    grid-template-columns: repeat(4, auto);
    justify-content: start;
    text-align: left;
  }

  .radar-velocity {
    justify-self: start;
  }

  .warehouse-dropship-row,
  .warehouse-dropship-row:nth-child(2n) {
    border-right: 0;
  }
}

@media (max-width: 900px) {
  .trend-decision-overview {
    grid-template-columns: 1fr;
  }

  .trend-gate-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .trend-gate-grid > div:nth-child(3) {
    border-right: 0;
  }

  .trend-gate-grid > div:nth-child(n + 4) {
    border-top: 1px solid #e2e6e9;
  }

  .trend-analysis-layout,
  .trend-detail-columns,
  .trend-briefing-grid {
    grid-template-columns: 1fr;
  }

  .trend-source-coverage {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .trend-pulse-row {
    grid-template-columns: 24px 56px minmax(0, 1fr) 70px;
  }

  .trend-pulse-actions {
    grid-column: 3 / -1;
    justify-content: flex-start;
  }

  .trend-need-row {
    grid-template-columns: 24px minmax(0, 1fr) 70px;
  }

  .trend-need-row > button {
    grid-column: 2 / -1;
    justify-self: start;
  }

  .trend-market-head {
    display: grid;
  }

  .trend-market-kpis {
    width: 100%;
    min-width: 0;
  }

  .trend-market-visuals {
    grid-template-columns: 1fr;
  }

  .trend-opportunity-panel {
    border-right: 0;
    border-bottom: 1px solid #d8dde3;
    padding-right: 0;
    padding-bottom: 18px;
  }

  .trend-market-now {
    padding-left: 0;
  }

  .trend-audience-panel {
    border-right: 0;
    border-bottom: 1px solid #d8dde3;
    padding-right: 0;
  }

  #trendAudienceList {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trend-audience-row:nth-child(2n + 1) {
    border-right: 1px solid #e4e8ec;
  }

  .trend-detail-panel {
    padding-left: 0;
  }

  .trend-detail-columns > section:first-child {
    border-right: 0;
    border-bottom: 1px solid #e0e4e8;
    padding-right: 0;
    padding-bottom: 14px;
  }

  .trend-detail-columns > section:last-child {
    padding-left: 0;
  }

  .trend-briefing-grid > section:first-child {
    border-right: 0;
    border-bottom: 1px solid #e0e4e8;
    padding-right: 0;
  }

  .trend-briefing-grid > section:last-child {
    padding-left: 0;
  }

  #trendSelectedMetrics {
    grid-template-columns: repeat(3, minmax(70px, 1fr));
  }
}

@media (max-width: 560px) {
  .trend-decision-overview {
    padding: 14px;
  }

  .trend-gate-grid {
    grid-template-columns: 1fr 1fr;
  }

  .trend-gate-grid > div,
  .trend-gate-grid > div:nth-child(3) {
    border-right: 1px solid #e2e6e9;
    border-top: 1px solid #e2e6e9;
  }

  .trend-gate-grid > div:nth-child(even) {
    border-right: 0;
  }

  .trend-gate-grid > div:first-child,
  .trend-gate-grid > div:nth-child(2) {
    border-top: 0;
  }

  .trend-validation-note {
    display: grid;
  }

  .trend-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trend-product-pulse-head {
    display: grid;
  }

  .trend-pulse-modes {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trend-pulse-row {
    grid-template-columns: 20px 48px minmax(0, 1fr) 54px;
    gap: 7px;
  }

  .trend-pulse-row > img,
  .trend-pulse-placeholder {
    width: 48px;
    height: 48px;
  }

  .trend-pulse-actions {
    grid-column: 2 / -1;
  }

  .trend-need-row {
    grid-template-columns: 20px minmax(0, 1fr) 54px;
  }

  .trend-market-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trend-market-kpis > div:nth-child(n + 3) {
    border-top: 1px solid #dce1e6;
    padding-top: 8px;
  }

  .trend-opportunity-panel > header,
  .trend-market-now > header {
    display: grid;
  }

  .trend-market-evidence-mix {
    max-width: none;
    justify-content: flex-start;
  }

  .trend-map-key {
    grid-template-columns: 1fr;
  }

  .trend-map-key button {
    border-right: 0;
  }

  .trend-summary > div:nth-child(2n) {
    border-right: 0;
  }

  .trend-summary > div:nth-child(n + 3) {
    border-top: 1px solid #e1e5e9;
  }

  #trendAudienceList,
  #trendProductList,
  .trend-evidence-list {
    grid-template-columns: 1fr;
  }

  .trend-audience-row:nth-child(2n + 1),
  .trend-product-row {
    border-right: 0;
  }

  .trend-selected-head,
  .trend-matrix-section > header {
    display: grid;
  }

  #trendSelectedMetrics {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trend-matrix-section > header > span {
    display: none;
  }
}

@media (max-width: 900px) {
  .rfq-service-layout {
    grid-template-columns: minmax(0, 1fr) 250px;
  }

  .rfq-message {
    max-width: 86%;
  }
}

@media (max-width: 700px) {
  .rfq-service-head {
    align-items: flex-start;
  }

  .rfq-service-layout {
    display: flex;
    flex-direction: column;
  }

  .rfq-conversation {
    border-right: 0;
  }

  .rfq-message-list {
    height: min(52vh, 440px);
    min-height: 320px;
  }

  .rfq-brief {
    border-top: 1px solid #dfe3e8;
  }

  .rfq-brief-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rfq-brief-fields > div:nth-child(2n + 1) {
    border-right: 1px solid #dde2e7;
    padding-right: 10px;
  }

  .rfq-brief-fields > div:nth-child(2n) {
    padding-left: 10px;
  }
}

@media (max-width: 500px) {
  .rfq-service-head {
    display: grid;
  }

  .rfq-service-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .rfq-service-actions button {
    width: 100%;
  }

  .rfq-message-list {
    padding: 16px 12px 8px;
  }

  .rfq-message {
    max-width: 92%;
  }

  .rfq-composer {
    grid-template-columns: minmax(0, 1fr) 58px;
  }

  .rfq-composer button {
    min-width: 0;
    padding: 0 7px;
  }

  .rfq-brief-fields {
    grid-template-columns: 1fr;
  }

  .rfq-brief-fields > div:nth-child(2n + 1),
  .rfq-brief-fields > div:nth-child(2n) {
    border-right: 0;
    padding-right: 0;
    padding-left: 0;
  }

  .commercial-economics-drawer > summary small {
    display: none;
  }
}

/* ============================================================
   Internal evidence desk
   ============================================================ */
.research-path {
  grid-column: 1 / -1;
  border-color: #cfd8e3;
  background: #f8fafc;
}

.research-path .workspace-path-label {
  background: #182533;
  color: #eef5fb;
}

.research-path button[aria-selected="true"] {
  background: #eef5fb;
  color: #14324b;
}

.research-path button[aria-selected="true"] .workspace-step-icon {
  border-color: #1b567e;
  background: #1b567e;
}

.research-path button[aria-selected="true"]::after {
  background: #1b567e;
}

body[data-workspace="research"] .header-nav,
body[data-workspace="research"] .header-search,
body[data-workspace="research"] .header-actions > a[href="#cartPanel"] {
  display: none;
}

body[data-workspace="research"] .header-main {
  grid-template-columns: 190px minmax(0, 1fr);
}

body[data-workspace="research"] .header-actions {
  justify-self: end;
}

[data-research-panel][hidden],
.research-rfq-form[hidden] {
  display: none !important;
}

.research-workspace {
  --research-ink: #172330;
  --research-blue: #1b567e;
  --research-blue-soft: #eaf3f8;
  --research-line: #d9e0e6;
  --research-warn: #92520c;
}

.research-workspace-heading {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: flex-end;
  padding: 24px 26px;
  border: 1px solid #cfd8e3;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(135deg, #f8fbfd 0%, #edf4f8 100%);
}

.research-workspace-heading h1,
.research-panel-heading h2,
.research-rfq-form h3 {
  margin: 2px 0 6px;
  color: var(--research-ink);
  letter-spacing: -0.02em;
}

.research-workspace-heading h1 {
  font-size: clamp(1.7rem, 3vw, 2.45rem);
}

.research-workspace-heading p,
.research-panel-heading p,
.research-rfq-form p {
  margin: 0;
  color: #5f6e7b;
}

.research-heading-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

.research-live-status,
.research-badge,
.research-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  font-weight: 800;
}

.research-live-status {
  min-height: 34px;
  border: 1px solid #c9d5df;
  padding: 6px 11px;
  background: #fff;
  color: #4b5c6b;
  font-size: 0.72rem;
}

.research-live-status.is-loading::before {
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: #d98019;
  content: "";
}

.research-heading-actions button,
.research-filter-form button,
.research-filter-form .amazon-extension-download,
.research-pagination button,
.research-rfq-form button,
.research-action-button {
  min-height: 36px;
  border: 1px solid #1b567e;
  border-radius: 6px;
  padding: 7px 13px;
  background: #1b567e;
  color: #fff;
  cursor: pointer;
  font-weight: 850;
}

.research-filter-form .amazon-extension-download {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  border-color: #8b641d;
  background: #f6c45b;
  color: #47320d;
  text-decoration: none;
}

.research-filter-form .amazon-extension-download:hover {
  background: #e9b344;
}

.research-heading-actions button:hover,
.research-filter-form button:hover,
.research-rfq-form button:hover,
.research-action-button:hover {
  background: #123f5e;
}

.research-truth-note {
  border: 1px solid #e7d2ad;
  border-top: 0;
  padding: 11px 18px;
  background: #fff9ed;
  color: #6f4a17;
  font-size: 0.75rem;
}

.research-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--research-line);
  border-top: 0;
  background: #fff;
}

.research-metric {
  min-width: 0;
  border-right: 1px solid var(--research-line);
  padding: 15px 17px;
}

.research-metric:last-child {
  border-right: 0;
}

.research-metric strong,
.research-metric span {
  display: block;
}

.research-metric strong {
  color: var(--research-ink);
  font-size: 1.45rem;
  line-height: 1;
}

.research-metric span {
  margin-top: 6px;
  color: #687684;
  font-size: 0.67rem;
  font-weight: 750;
}

.research-tabs {
  display: flex;
  margin-top: 18px;
  overflow-x: auto;
  border: 1px solid var(--research-line);
  border-radius: 8px 8px 0 0;
  background: #f3f6f8;
}

.research-tabs button {
  min-width: 150px;
  flex: 1;
  border: 0;
  border-right: 1px solid var(--research-line);
  padding: 12px 16px;
  background: transparent;
  color: #62717e;
  cursor: pointer;
  font-weight: 850;
}

.research-tabs button:last-child {
  border-right: 0;
}

.research-tabs button[aria-pressed="true"] {
  background: #fff;
  color: var(--research-blue);
  box-shadow: inset 0 -3px 0 var(--research-blue);
}

.research-panel {
  min-height: 440px;
  border: 1px solid var(--research-line);
  border-top: 0;
  padding: 22px;
  background: #fff;
}

.research-panel-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-end;
  margin-bottom: 16px;
}

.research-panel-heading h2 {
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.research-filter-form {
  display: flex;
  flex-wrap: wrap;
  flex: 0 1 auto;
  justify-content: flex-end;
  gap: 8px;
  align-items: flex-end;
}

.research-filter-form label,
.research-form-grid label,
.research-inline-form label {
  display: grid;
  gap: 4px;
  color: #5b6976;
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.02em;
}

.research-filter-form input,
.research-filter-form select,
.research-form-grid input,
.research-form-grid select,
.research-form-grid textarea,
.research-inline-form input,
.research-inline-form textarea {
  min-height: 36px;
  border: 1px solid #cbd4dc;
  border-radius: 6px;
  padding: 7px 9px;
  background: #fff;
  color: var(--research-ink);
  font-size: 0.78rem;
}

.research-filter-form input:focus,
.research-filter-form select:focus,
.research-form-grid input:focus,
.research-form-grid select:focus,
.research-form-grid textarea:focus,
.research-inline-form input:focus,
.research-inline-form textarea:focus {
  outline: 3px solid rgba(27, 86, 126, 0.14);
  border-color: var(--research-blue);
}

.research-method-line {
  margin: -4px 0 14px;
  border-left: 3px solid #8fa9bb;
  padding: 7px 10px;
  background: #f6f9fb;
  color: #61707d;
  font-size: 0.69rem;
}

.research-card-list {
  display: grid;
  gap: 8px;
}

.research-card {
  width: 100%;
  border: 1px solid #dce2e7;
  border-radius: 7px;
  padding: 13px 14px;
  background: #fff;
  color: var(--research-ink);
  text-align: left;
}

button.research-card {
  cursor: pointer;
}

button.research-card:hover,
button.research-card.is-selected {
  border-color: #779bb4;
  background: #f3f8fb;
}

.research-card-head,
.research-card-meta,
.research-card-tags,
.research-detail-section-head,
.research-detail-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.research-card h3,
.research-card h4,
.research-detail-card h3,
.research-detail-card h4 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--research-ink);
}

.research-card h3 {
  font-size: 0.92rem;
}

.research-card p,
.research-detail-card p {
  margin: 7px 0 0;
  color: #64727f;
  font-size: 0.72rem;
}

.research-card-meta,
.research-card-tags {
  justify-content: flex-start;
  margin-top: 8px;
  color: #70808d;
  font-size: 0.65rem;
}

.research-badge,
.research-tag {
  border: 1px solid #d3dce3;
  padding: 3px 7px;
  background: #f6f8fa;
  color: #536572;
  font-size: 0.58rem;
  letter-spacing: 0.015em;
}

.research-badge[data-tone="good"] {
  border-color: #a9d3c2;
  background: #edf9f4;
  color: #176348;
}

.research-badge[data-tone="warn"] {
  border-color: #e7c99d;
  background: #fff8e9;
  color: #8a510a;
}

.research-badge[data-tone="bad"] {
  border-color: #e6b4b0;
  background: #fff1f0;
  color: #9a2d27;
}

.research-badge[data-tone="info"] {
  border-color: #b6cfdf;
  background: var(--research-blue-soft);
  color: #184e70;
}

.research-trend-list {
  grid-template-columns: minmax(0, 1fr);
}

.research-trend-card {
  display: grid;
  gap: 8px;
}

.research-trend-score {
  display: grid;
  min-width: 54px;
  min-height: 46px;
  place-content: center;
  border: 1px solid #b7cbd9;
  border-radius: 6px;
  background: var(--research-blue-soft);
  color: var(--research-blue);
  text-align: center;
}

.research-trend-score strong,
.research-trend-score small {
  display: block;
}

.research-trend-score strong {
  font-size: 1rem;
  line-height: 1;
}

.research-trend-score small {
  font-size: 0.5rem;
}

.research-trend-scores {
  display: flex;
  gap: 7px;
}

.research-trend-score[data-kind="sourcing"] {
  border-color: #b9d4c7;
  background: #f0f8f4;
  color: #276149;
}

.trend-radar-warning {
  margin: 0 !important;
  border-left: 3px solid #d29a42;
  padding: 8px 10px;
  background: #fff8e9;
  color: #77501d !important;
}

.trend-radar-warning.is-brand {
  border-color: #bc5149;
  background: #fff2f0;
  color: #842e29 !important;
}

.trend-radar-signal-grid,
.trend-radar-components {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 7px;
}

.trend-radar-signal-grid > div,
.trend-radar-components > div {
  border: 1px solid #dce3e8;
  border-radius: 5px;
  padding: 8px 9px;
  background: #f9fbfc;
}

.trend-radar-signal-grid strong,
.trend-radar-signal-grid span,
.trend-radar-signal-grid small,
.trend-radar-components strong,
.trend-radar-components span {
  display: block;
}

.trend-radar-signal-grid strong,
.trend-radar-components strong {
  color: #172d3d;
  font-size: 0.94rem;
}

.trend-radar-signal-grid span,
.trend-radar-components span {
  color: #526674;
  font-size: 0.61rem;
  font-weight: 750;
}

.trend-radar-signal-grid small {
  margin-top: 3px;
  color: #7b8993;
  font-size: 0.55rem;
}

.trend-radar-evidence {
  border-top: 1px solid #e0e6ea;
  padding-top: 8px;
}

.trend-radar-evidence > summary {
  cursor: pointer;
  color: var(--research-blue);
  font-size: 0.68rem;
  font-weight: 800;
}

.trend-radar-evidence[open] > summary {
  margin-bottom: 9px;
}

.trend-radar-history-panel {
  margin-bottom: 9px;
  border: 1px solid #d9e3e9;
  border-radius: 6px;
  padding: 10px;
  background: #f8fbfd;
}

.trend-radar-history-panel > header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-start;
}

.trend-radar-history-panel h4,
.trend-radar-history-panel p {
  margin: 0;
}

.trend-radar-history-panel h4 {
  font-size: 0.72rem;
}

.trend-radar-history-panel p {
  margin-top: 4px;
  color: #6d7d88;
  font-size: 0.58rem;
}

.trend-radar-history-panel > header > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.trend-radar-history-chart {
  margin-top: 9px;
}

.trend-radar-history-chart > div {
  display: flex;
  gap: 4px;
  align-items: flex-end;
  height: 88px;
  border-bottom: 1px solid #bfcdd7;
  padding: 4px 3px 0;
}

.trend-radar-history-chart i {
  position: relative;
  flex: 1 1 0;
  min-width: 5px;
  max-width: 28px;
  border-radius: 3px 3px 0 0;
  background: #4f91b9;
}

.trend-radar-history-chart i[data-status="partial"] {
  background: #d39a42;
}

.trend-radar-history-chart i[data-status="failed"] {
  background: #c65b53;
}

.trend-radar-history-chart i span {
  position: absolute;
  right: 50%;
  bottom: calc(100% + 2px);
  transform: translateX(50%);
  color: #647784;
  font-size: 0.46rem;
  font-style: normal;
}

.trend-radar-history-chart footer {
  display: flex;
  justify-content: space-between;
  margin-top: 3px;
  color: #7b8992;
  font-size: 0.5rem;
}

.trend-radar-history-empty {
  margin-top: 8px;
  color: #71818d;
  font-size: 0.62rem;
}

.trend-radar-components {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 9px;
}

.trend-radar-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.trend-radar-columns section {
  min-width: 0;
  border: 1px solid #e0e6ea;
  border-radius: 5px;
  padding: 9px;
}

.trend-radar-columns h4 {
  margin: 0 0 7px;
  font-size: 0.68rem;
}

.trend-radar-columns h5 {
  margin: 10px 0 6px;
  font-size: 0.61rem;
}

.trend-radar-links {
  display: grid;
  gap: 5px;
}

.trend-radar-links > a,
.trend-radar-links > span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3px 6px;
  border-bottom: 1px solid #edf0f2;
  padding-bottom: 5px;
  color: #425968;
  font-size: 0.61rem;
  text-decoration: none;
}

.trend-radar-links > a:hover {
  color: var(--research-blue);
  text-decoration: underline;
}

.trend-radar-links small {
  grid-column: 2;
  color: #7a8790;
  font-size: 0.54rem;
}

.trend-radar-disclaimer {
  margin: 9px 0 0 !important;
  color: #6d7780 !important;
  font-size: 0.6rem !important;
}

.trend-radar-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  border-top: 1px solid #edf0f2;
  padding-top: 7px;
  color: #7a8790;
  font-size: 0.56rem;
}

.research-master-detail {
  display: grid;
  grid-template-columns: minmax(330px, 0.85fr) minmax(440px, 1.15fr);
  gap: 16px;
  align-items: start;
}

.research-list-meta,
.research-pagination {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  color: #687785;
  font-size: 0.68rem;
}

.research-list-meta {
  margin-bottom: 8px;
}

.research-pagination {
  margin-top: 10px;
}

.research-pagination button {
  min-height: 30px;
  border-color: #cbd5dd;
  padding: 4px 9px;
  background: #fff;
  color: #435665;
}

.research-detail-card {
  position: sticky;
  top: 190px;
  min-height: 260px;
  max-height: calc(100vh - 215px);
  overflow: auto;
  border: 1px solid #cfd9e1;
  border-radius: 8px;
  padding: 18px;
  background: #f9fbfc;
}

.research-detail-title {
  padding-bottom: 13px;
  border-bottom: 1px solid var(--research-line);
}

.research-detail-title h3 {
  margin: 5px 0;
  font-size: 1.12rem;
}

.research-detail-section {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--research-line);
}

.research-detail-section:first-of-type {
  border-top: 0;
}

.research-detail-section h4 {
  font-size: 0.78rem;
}

.research-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 9px;
}

.research-detail-grid > div {
  border: 1px solid #dce3e8;
  border-radius: 6px;
  padding: 8px;
  background: #fff;
}

.research-detail-grid strong,
.research-detail-grid span {
  display: block;
}

.research-detail-grid strong {
  font-size: 0.72rem;
}

.research-detail-grid span {
  color: #6b7884;
  font-size: 0.6rem;
}

.research-product-item,
.research-contact-item,
.research-message,
.research-claim-item {
  margin-top: 7px;
  border: 1px solid #dce3e8;
  border-radius: 6px;
  padding: 9px;
  background: #fff;
  font-size: 0.68rem;
  overflow-wrap: anywhere;
}

.research-product-item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
}

.research-product-item img {
  width: 48px;
  height: 48px;
  border: 1px solid #e0e5e9;
  border-radius: 5px;
  object-fit: cover;
}

.research-product-placeholder {
  display: grid;
  width: 48px;
  height: 48px;
  place-content: center;
  border: 1px solid #e0e5e9;
  border-radius: 5px;
  background: #f1f4f6;
  color: #8a98a4;
}

.research-product-item a,
.research-contact-item a,
.research-detail-card > a {
  color: var(--research-blue);
  font-weight: 800;
}

.research-empty,
.research-error {
  display: grid;
  min-height: 120px;
  place-content: center;
  border: 1px dashed #ccd6de;
  border-radius: 7px;
  padding: 20px;
  color: #6c7a86;
  text-align: center;
  font-size: 0.75rem;
}

.research-error {
  border-color: #e4b6b3;
  background: #fff7f6;
  color: #8d3732;
}

.research-rfq-form {
  margin-top: 16px;
  border: 1px solid #b8cad7;
  border-radius: 8px;
  padding: 18px;
  background: #f4f8fb;
}

.research-rfq-form > header,
.research-rfq-form > footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.research-rfq-form > header > button {
  min-width: 34px;
  border-color: #cbd6dd;
  padding: 3px;
  background: #fff;
  color: #4b5d6a;
  font-size: 1.2rem;
}

.research-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.research-form-wide {
  grid-column: span 2;
}

.research-form-grid textarea {
  resize: vertical;
}

.research-rfq-form > footer p {
  max-width: 680px;
  font-size: 0.68rem;
}

.research-outreach-layout {
  grid-template-columns: minmax(300px, 0.75fr) minmax(480px, 1.25fr);
}

.research-inline-form {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  border: 1px solid #d8e0e6;
  border-radius: 6px;
  padding: 11px;
  background: #fff;
}

.research-inline-form .research-action-button {
  justify-self: start;
}

.supplier-verification-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.supplier-verification-checklist article,
.supplier-verification-evidence {
  border: 1px solid #dce3e8;
  border-radius: 6px;
  padding: 9px;
  background: #fff;
}

.supplier-verification-checklist article[data-status="accepted"] {
  border-color: #a9d3c2;
  background: #f3fbf7;
}

.supplier-verification-checklist article > div,
.supplier-verification-evidence header,
.supplier-verification-evidence footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 7px;
  align-items: center;
}

.supplier-verification-checklist strong,
.supplier-verification-checklist span,
.supplier-verification-checklist small,
.supplier-verification-evidence strong,
.supplier-verification-evidence span,
.supplier-verification-evidence p {
  font-size: 0.58rem;
}

.supplier-verification-checklist span,
.supplier-verification-checklist small {
  display: block;
  margin-top: 5px;
  color: #697984;
}

.supplier-verification-evidence {
  margin-top: 7px;
}

.supplier-verification-evidence p {
  margin: 6px 0;
}

.supplier-verification-evidence footer button {
  margin-left: 5px;
  border: 1px solid #8fb3c8;
  border-radius: 4px;
  padding: 4px 7px;
  background: #f1f8fc;
  color: #174d6e;
  font-size: 0.54rem;
  font-weight: 800;
}

.supplier-evidence-add {
  margin-top: 9px;
}

.supplier-evidence-add summary {
  width: fit-content;
  cursor: pointer;
  color: #174d6e;
  font-size: 0.62rem;
  font-weight: 800;
}

.supplier-verification-case-form select,
.supplier-evidence-add select {
  width: 100%;
  border: 1px solid #c9d5dd;
  border-radius: 5px;
  padding: 7px 8px;
  background: #fff;
}

.research-message strong,
.research-message span {
  display: block;
}

.research-message pre {
  margin: 7px 0 0;
  overflow: auto;
  white-space: pre-wrap;
  color: #3f4f5b;
  font: inherit;
  line-height: 1.45;
}

.research-source-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.research-source-card {
  border: 1px solid #d7dfe5;
  border-top: 4px solid #8295a3;
  border-radius: 7px;
  padding: 15px;
  background: #fff;
}

.research-source-card[data-status="ok"] {
  border-top-color: #278264;
}

.research-source-card[data-status="partial"] {
  border-top-color: #d18421;
}

.research-source-card[data-status="blocked"],
.research-source-card[data-status="error"] {
  border-top-color: #c54239;
}

.research-source-card h3 {
  margin: 0;
  font-size: 0.95rem;
}

.research-source-counts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
}

.research-source-counts > div {
  border: 1px solid #e0e5e9;
  border-radius: 5px;
  padding: 7px;
  text-align: center;
}

.research-source-counts strong,
.research-source-counts span {
  display: block;
}

.research-source-counts span {
  color: #71808c;
  font-size: 0.55rem;
}

.amazon-research-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  margin-bottom: 14px;
  border: 1px solid #d8e1e7;
  border-radius: 7px;
  background: #f7fafc;
}

.amazon-research-summary > div {
  border-right: 1px solid #d8e1e7;
  padding: 11px 13px;
}

.amazon-research-summary > div:last-child {
  border-right: 0;
}

.amazon-research-summary strong,
.amazon-research-summary span {
  display: block;
}

.amazon-research-summary strong {
  color: #172330;
  font-size: 1.2rem;
}

.amazon-research-summary span {
  color: #687784;
  font-size: 0.62rem;
  font-weight: 750;
}

.amazon-research-list {
  display: grid;
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  overflow: hidden;
}

.review-acquisition-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  align-items: center;
  margin: -3px 0 13px;
  border: 1px solid #d7e4dc;
  border-radius: 7px;
  padding: 9px 12px;
  background: #f5faf7;
  color: #536b5d;
  font-size: 0.61rem;
}

.review-acquisition-strip strong {
  color: #234735;
  font-size: 0.67rem;
}

.amazon-decision-list {
  display: grid;
  gap: 10px;
}

.amazon-decision-card {
  display: grid;
  grid-template-columns: 74px minmax(280px, 1fr) minmax(285px, 0.75fr);
  gap: 14px;
  align-items: center;
  border: 1px solid #d9e1e7;
  border-left: 4px solid #7292a5;
  border-radius: 8px;
  padding: 13px;
  background: #fff;
}

.amazon-decision-card[data-decision="pursue"] { border-left-color: #2c8056; }
.amazon-decision-card[data-decision="review_first"] { border-left-color: #c1872b; }
.amazon-decision-card[data-decision="find_supplier"] { border-left-color: #357aa1; }
.amazon-decision-card[data-decision="deprioritize"] { border-left-color: #a75d5d; }

.amazon-decision-image,
.amazon-decision-image img {
  width: 70px;
  height: 70px;
}

.amazon-decision-image {
  display: grid;
  place-content: center;
  overflow: hidden;
  border: 1px solid #e0e5e9;
  border-radius: 7px;
  background: #f4f6f8;
  color: #8b98a3;
}

.amazon-decision-image img {
  object-fit: contain;
  background: #fff;
}

.amazon-decision-main {
  min-width: 0;
}

.amazon-decision-main h3 {
  margin: 6px 0 3px;
  font-size: 0.84rem;
  line-height: 1.35;
}

.amazon-decision-main h3 a {
  color: #172330;
  text-decoration: none;
}

.amazon-decision-main p,
.amazon-decision-evidence p {
  margin: 3px 0;
  color: #667683;
  font-size: 0.61rem;
}

.amazon-decision-why {
  display: block;
  margin-top: 7px;
  color: #344b5c;
  font-size: 0.66rem;
  line-height: 1.45;
}

.amazon-decision-gaps {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.amazon-decision-gaps span {
  border-radius: 999px;
  padding: 3px 7px;
  background: #f3eee6;
  color: #795d34;
  font-size: 0.54rem;
  font-weight: 750;
}

.amazon-decision-evidence {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 10px;
  border-left: 1px solid #e1e6ea;
  padding-left: 14px;
}

.amazon-decision-evidence > div:not(.amazon-row-actions) strong,
.amazon-decision-evidence > div:not(.amazon-row-actions) span {
  display: block;
}

.amazon-decision-evidence > div:not(.amazon-row-actions) strong {
  color: #1e435b;
  font-size: 1rem;
}

.amazon-decision-evidence > div:not(.amazon-row-actions) span {
  color: #74818b;
  font-size: 0.54rem;
}

.amazon-decision-evidence p,
.amazon-decision-evidence .amazon-row-actions {
  grid-column: 1 / -1;
}

.amazon-research-row {
  display: grid;
  grid-template-columns: 62px 135px minmax(260px, 1fr) minmax(130px, 0.42fr) minmax(140px, 0.44fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid #e1e6ea;
  padding: 11px 13px;
  background: #fff;
}

.amazon-research-row:last-child {
  border-bottom: 0;
}

.amazon-research-row:hover {
  background: #f8fbfd;
}

.amazon-product-image,
.amazon-product-image img {
  width: 58px;
  height: 58px;
}

.amazon-product-image {
  display: grid;
  place-content: center;
  overflow: hidden;
  border: 1px solid #e0e5e9;
  border-radius: 6px;
  background: #f4f6f8;
  color: #8b98a3;
}

.amazon-product-image img {
  object-fit: contain;
  background: #fff;
}

.amazon-rank-cell,
.amazon-review-cell,
.amazon-evidence-cell {
  display: grid;
  min-width: 0;
  gap: 4px;
  align-content: center;
}

.amazon-rank-cell > strong {
  color: #163f5c;
  font-size: 1.15rem;
}

.amazon-product-cell {
  min-width: 0;
}

.amazon-product-cell h3 {
  margin: 5px 0 3px;
  font-size: 0.8rem;
  line-height: 1.35;
}

.amazon-product-cell h3 a {
  color: #172330;
  text-decoration: none;
}

.amazon-product-cell h3 a:hover {
  color: #1b567e;
  text-decoration: underline;
}

.amazon-product-cell p,
.amazon-review-cell span,
.amazon-review-cell small,
.amazon-evidence-cell span,
.amazon-evidence-cell small {
  margin: 0;
  color: #6b7985;
  font-size: 0.61rem;
}

.amazon-review-cell strong,
.amazon-evidence-cell strong {
  color: #253746;
  font-size: 0.75rem;
}

.amazon-sparkline {
  display: flex;
  width: 116px;
  height: 24px;
  align-items: end;
  gap: 2px;
  border-bottom: 1px solid #b8c7d2;
}

.amazon-sparkline i {
  min-width: 3px;
  flex: 1;
  border-radius: 2px 2px 0 0;
  background: #4f8aad;
}

.amazon-sparkline-empty {
  color: #7a8791;
  font-size: 0.55rem;
}

.amazon-keyword-list,
.amazon-competitor-list {
  display: grid;
  overflow: hidden;
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  background: #fff;
}

.amazon-reverse-asin-section {
  margin: 18px 0;
  border: 1px solid #cbdce5;
  border-radius: 8px;
  padding: 14px;
  background: #f7fbfd;
}

.amazon-reverse-asin-section > header h3 {
  margin: 2px 0 10px;
  color: #243d4d;
  font-size: 0.86rem;
}

.amazon-reverse-keywords {
  min-width: min(320px, 100%);
}

.amazon-reverse-asin-list {
  display: grid;
  overflow: hidden;
  border: 1px solid #d9e1e7;
  border-radius: 7px;
  background: #fff;
}

.amazon-reverse-asin-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 110px minmax(180px, 0.65fr);
  gap: 14px;
  align-items: center;
  border-bottom: 1px solid #e3e9ec;
  padding: 11px 13px;
}

.amazon-reverse-asin-row:last-child { border-bottom: 0; }
.amazon-reverse-asin-row h4 { margin: 6px 0 2px; color: #203746; font-size: 0.74rem; }
.amazon-reverse-asin-row p { margin: 0; color: #71808a; font-size: 0.56rem; }

.amazon-reverse-position,
.amazon-reverse-evidence {
  display: grid;
  gap: 2px;
}

.amazon-reverse-position { text-align: center; }
.amazon-reverse-position strong { color: #174d6e; font-size: 1.1rem; }
.amazon-reverse-position span,
.amazon-reverse-position small,
.amazon-reverse-evidence span,
.amazon-reverse-evidence small { color: #6d7c86; font-size: 0.54rem; }
.amazon-reverse-evidence strong { color: #314b5b; font-size: 0.62rem; }
.amazon-reverse-evidence a { color: #1d6088; font-size: 0.55rem; font-weight: 750; }
.amazon-reverse-competitors { margin-top: 7px; }
.amazon-reverse-competitors summary { color: #1d6088; cursor: pointer; font-size: 0.57rem; font-weight: 750; }
.amazon-reverse-competitors > div { display: grid; gap: 4px; margin-top: 5px; }
.amazon-reverse-competitors a { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 5px; align-items: center; color: #385563; font-size: 0.52rem; text-decoration: none; }
.amazon-reverse-competitors a strong { color: #174d6e; }
.amazon-reverse-competitors a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.amazon-reverse-competitors a small { color: #7a878f; }

.amazon-keyword-tracker-section {
  margin-top: 16px;
  border-top: 1px solid #d7e2e8;
  padding-top: 14px;
}

.amazon-keyword-tracker-section > header h3 {
  margin: 2px 0 10px;
  color: #243d4d;
  font-size: 0.86rem;
}

.amazon-keyword-tracker-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 8px;
}

.amazon-keyword-tracker-card > button {
  margin-top: 9px;
  border: 1px solid #c9d6de;
  border-radius: 5px;
  padding: 6px 9px;
  background: #fff;
  color: #536a78;
  cursor: pointer;
  font-size: 0.58rem;
  font-weight: 750;
}

.amazon-keyword-row {
  display: grid;
  grid-template-columns: minmax(230px, 1.2fr) repeat(3, minmax(90px, 0.34fr)) minmax(220px, 0.9fr);
  gap: 14px;
  align-items: center;
  border-bottom: 1px solid #e1e6ea;
  padding: 13px 15px;
}

.amazon-keyword-row:last-child,
.amazon-competitor-row:last-child {
  border-bottom: 0;
}

.amazon-keyword-row:hover,
.amazon-competitor-row:hover {
  background: #f8fbfd;
}

.amazon-keyword-name h3 {
  margin: 5px 0 3px;
  color: #172330;
  font-size: 0.9rem;
}

.amazon-keyword-name p,
.amazon-keyword-evidence span,
.amazon-keyword-evidence small {
  display: block;
  margin: 0;
  color: #6b7985;
  font-size: 0.61rem;
}

.amazon-score-cell {
  display: grid;
  gap: 2px;
  text-align: center;
}

.amazon-score-cell strong {
  color: #174d6e;
  font-size: 1.2rem;
}

.amazon-score-cell span {
  color: #6b7985;
  font-size: 0.57rem;
  font-weight: 750;
}

.amazon-keyword-evidence {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.amazon-keyword-evidence > strong {
  color: #253746;
  font-size: 0.72rem;
}

.amazon-keyword-evidence > div,
.amazon-niche-samples {
  display: grid;
  gap: 3px;
  margin-top: 4px;
}

.amazon-keyword-evidence a,
.amazon-niche-samples a {
  overflow: hidden;
  color: #1d6088;
  font-size: 0.57rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.amazon-niche-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.amazon-niche-card {
  display: grid;
  min-width: 0;
  gap: 12px;
  border: 1px solid #d9e1e7;
  border-radius: 10px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(23, 48, 65, 0.05);
}

.amazon-niche-card h3 {
  margin: 8px 0;
  color: #172330;
  font-size: 1rem;
  text-transform: capitalize;
}

.amazon-niche-card > p {
  margin: 8px 0 0;
  color: #63727e;
  font-size: 0.64rem;
}

.amazon-niche-scores {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #e1e6ea;
  border-radius: 6px;
  background: #f7fafc;
}

.amazon-niche-scores > div {
  border-right: 1px solid #e1e6ea;
  padding: 8px 5px;
  text-align: center;
}

.amazon-niche-scores > div:last-child {
  border-right: 0;
}

.amazon-niche-scores strong,
.amazon-niche-scores span {
  display: block;
}

.amazon-niche-scores strong {
  color: #174d6e;
  font-size: 1rem;
}

.amazon-niche-scores span {
  color: #6b7985;
  font-size: 0.52rem;
}

.amazon-niche-pulse,
.amazon-niche-competition {
  display: grid;
  overflow: hidden;
  border: 1px solid #e1e6ea;
  border-radius: 7px;
}

.amazon-niche-pulse {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.amazon-niche-competition {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.amazon-niche-pulse > div,
.amazon-niche-competition > div {
  min-width: 0;
  border-right: 1px solid #e1e6ea;
  padding: 9px 6px;
  background: #fff;
  text-align: center;
}

.amazon-niche-pulse > div:last-child,
.amazon-niche-competition > div:last-child {
  border-right: 0;
}

.amazon-niche-pulse strong,
.amazon-niche-pulse span,
.amazon-niche-competition strong,
.amazon-niche-competition span {
  display: block;
  overflow-wrap: anywhere;
}

.amazon-niche-pulse strong,
.amazon-niche-competition strong {
  color: #173f58;
  font-size: 0.84rem;
}

.amazon-niche-pulse span,
.amazon-niche-competition span {
  margin-top: 3px;
  color: #6b7985;
  font-size: 0.5rem;
  line-height: 1.3;
}

.amazon-niche-history,
.amazon-niche-price-band {
  border: 1px solid #dfe7ec;
  border-radius: 8px;
  padding: 11px;
  background: #f8fbfd;
}

.amazon-niche-section-head {
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: space-between;
}

.amazon-niche-section-head strong {
  color: #273a48;
  font-size: 0.65rem;
}

.amazon-niche-section-head span {
  color: #71808a;
  font-size: 0.52rem;
  text-align: right;
}

.amazon-niche-history-chart {
  margin-top: 8px;
}

.amazon-niche-history-chart svg {
  display: block;
  width: 100%;
  height: 92px;
  overflow: visible;
}

.amazon-niche-history-chart line {
  stroke: #d6e0e6;
  stroke-width: 0.7;
}

.amazon-niche-history-chart polyline {
  fill: none;
  stroke: #14749d;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
}

.amazon-niche-history-chart circle {
  fill: #fff;
  stroke: #14749d;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
}

.amazon-niche-history-chart > div,
.amazon-niche-deltas {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.amazon-niche-history-chart > div span {
  display: grid;
  gap: 2px;
  color: #71808a;
  font-size: 0.48rem;
}

.amazon-niche-history-chart > div span:last-child {
  text-align: right;
}

.amazon-niche-history-chart > div strong {
  color: #173f58;
  font-size: 0.62rem;
}

.amazon-niche-history-empty {
  margin-top: 8px;
  border: 1px dashed #ccd9e0;
  border-radius: 6px;
  padding: 14px 8px;
  color: #78858e;
  font-size: 0.55rem;
  text-align: center;
}

.amazon-niche-deltas {
  margin-top: 9px;
  border-top: 1px solid #e0e8ed;
  padding-top: 8px;
}

.amazon-niche-deltas span {
  color: #6b7985;
  font-size: 0.51rem;
}

.amazon-niche-deltas strong {
  margin-left: 2px;
  color: #253d4d;
}

.amazon-niche-band-values {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 9px;
}

.amazon-niche-band-values span {
  display: grid;
  gap: 3px;
  min-width: 0;
  border-right: 1px solid #dfe7ec;
  padding: 0 5px;
  text-align: center;
}

.amazon-niche-band-values span:last-child {
  border-right: 0;
}

.amazon-niche-price-band small {
  color: #7b8891;
  font-size: 0.44rem;
  letter-spacing: 0.05em;
}

.amazon-niche-price-band strong {
  overflow: hidden;
  color: #173f58;
  font-size: 0.61rem;
  text-overflow: ellipsis;
}

.amazon-niche-price-band p {
  margin: 7px 0 0;
  color: #71808a;
  font-size: 0.5rem;
  text-align: right;
}

.amazon-niche-seasonality {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  border-left: 3px solid #d0a143;
  padding: 7px 9px;
  background: #fffaf0;
}

.amazon-niche-seasonality.is-ready {
  border-left-color: #328366;
  background: #f0faf6;
}

.amazon-niche-seasonality strong,
.amazon-niche-seasonality span {
  color: #5e6c75;
  font-size: 0.52rem;
}

.amazon-niche-seasonality span {
  flex: 0 0 auto;
}

.amazon-niche-evidence {
  border-top: 1px solid #e3e8eb;
  padding-top: 9px;
}

.amazon-niche-evidence summary {
  cursor: pointer;
  color: #235775;
  font-size: 0.59rem;
  font-weight: 800;
}

.amazon-niche-evidence > p {
  margin: 8px 0 0;
  color: #77848d;
  font-size: 0.53rem;
}

.amazon-niche-evidence > div {
  display: grid;
  gap: 5px;
  margin-top: 8px;
}

.amazon-niche-evidence a {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  border-radius: 5px;
  padding: 6px 7px;
  background: #f5f8fa;
  color: #245c7b;
  font-size: 0.55rem;
}

.amazon-niche-evidence a strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.amazon-niche-evidence a small {
  color: #71808a;
  font-size: 0.48rem;
  text-align: right;
}

.amazon-competitor-anchor article {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
  border: 1px solid #bed6e4;
  border-radius: 7px;
  padding: 10px 13px;
  background: #f0f8fc;
  font-size: 0.68rem;
}

.amazon-competitor-anchor a {
  overflow: hidden;
  color: #174d6e;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.amazon-competitor-row {
  display: grid;
  grid-template-columns: 100px minmax(260px, 1fr) minmax(150px, 0.45fr);
  gap: 15px;
  align-items: center;
  border-bottom: 1px solid #e1e6ea;
  padding: 12px 14px;
}

.amazon-track-button,
.amazon-tracker-row > button,
.amazon-row-actions button {
  width: fit-content;
  border: 1px solid #8fb3c8;
  border-radius: 5px;
  padding: 5px 9px;
  background: #f1f8fc;
  color: #174d6e;
  font-size: 0.58rem;
  font-weight: 800;
}

.amazon-track-button:disabled {
  border-color: #d2dae0;
  background: #f5f7f8;
  color: #7e8a93;
}

.amazon-tracker-list {
  display: grid;
  overflow: hidden;
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  background: #fff;
}

.amazon-tracker-alerts {
  margin: 12px 0;
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  background: #fff;
}

.amazon-tracker-alerts > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e1e6ea;
  padding: 10px 13px;
  font-size: 0.66rem;
}

.amazon-tracker-alert {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  border-bottom: 1px solid #edf0f2;
  padding: 11px 13px;
}

.amazon-tracker-alert:last-child {
  border-bottom: 0;
}

.amazon-tracker-alert-warning {
  background: #fffaf1;
}

.amazon-tracker-alert-opportunity {
  background: #f3fbf6;
}

.amazon-tracker-alert strong,
.amazon-tracker-alert p,
.amazon-tracker-alert small {
  display: block;
  margin: 0;
}

.amazon-tracker-alert p {
  margin: 3px 0;
  color: #4c5962;
  font-size: 0.66rem;
}

.amazon-tracker-alert small {
  color: #73808a;
  font-size: 0.57rem;
}

.amazon-tracker-row {
  display: grid;
  grid-template-columns: minmax(130px, 0.4fr) minmax(280px, 1fr) minmax(150px, 0.45fr) auto;
  gap: 15px;
  align-items: center;
  border-bottom: 1px solid #e1e6ea;
  padding: 12px 14px;
}

.amazon-tracker-row:last-child {
  border-bottom: 0;
}

.amazon-tracker-alert-count {
  color: #6b7680;
  font-size: 0.62rem;
}

.amazon-tracker-settings {
  grid-column: 1 / -1;
  border-top: 1px dashed #d9e1e7;
  padding-top: 8px;
}

.amazon-tracker-settings summary {
  width: fit-content;
  cursor: pointer;
  color: #174d6e;
  font-size: 0.62rem;
  font-weight: 800;
}

.amazon-tracker-settings form {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: end;
  margin-top: 9px;
}

.amazon-tracker-settings label {
  display: grid;
  grid-template-columns: auto auto;
  gap: 3px 6px;
  align-items: center;
  color: #4c5962;
  font-size: 0.58rem;
}

.amazon-tracker-settings label span {
  color: #73808a;
}

.amazon-tracker-settings input[type="number"] {
  width: 82px;
  border: 1px solid #bfcdd6;
  border-radius: 5px;
  padding: 5px 7px;
}

.amazon-tracker-settings .amazon-tracker-toggle {
  display: flex;
  gap: 5px;
  align-items: center;
}

.amazon-tracker-settings button {
  border: 1px solid #174d6e;
  border-radius: 5px;
  padding: 6px 10px;
  background: #174d6e;
  color: #fff;
  font-size: 0.58rem;
  font-weight: 800;
}

.amazon-tracker-row > div:first-child:not(.amazon-rank-cell) {
  display: grid;
  gap: 4px;
}

.amazon-tracker-row > div:first-child:not(.amazon-rank-cell) > strong,
.amazon-tracker-row > div:first-child:not(.amazon-rank-cell) > span,
.amazon-tracker-row > p {
  margin: 0;
  font-size: 0.66rem;
}

.amazon-economics-form {
  margin-bottom: 14px;
  border: 1px solid #cbdde7;
  border-radius: 8px;
  padding: 13px;
  background: #f5fafc;
}

.amazon-economics-form > header {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: baseline;
  margin-bottom: 10px;
}

.amazon-economics-form h3,
.amazon-economics-form p {
  margin: 0;
}

.amazon-economics-form h3 {
  color: #253845;
  font-size: 0.75rem;
}

.amazon-economics-form p {
  color: #687985;
  font-size: 0.57rem;
}

.amazon-economics-inputs {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 8px;
}

.amazon-economics-inputs label,
.amazon-product-economics-inputs label {
  display: grid;
  gap: 4px;
  color: #5f707b;
  font-size: 0.56rem;
  font-weight: 750;
}

.amazon-economics-inputs input,
.amazon-economics-inputs select,
.amazon-product-economics-inputs input {
  width: 100%;
  border: 1px solid #c9d5dd;
  border-radius: 5px;
  padding: 7px 8px;
  background: #fff;
  color: #20333f;
  font: inherit;
}

.amazon-economics-form > button,
.amazon-compare-card > header > button {
  margin-top: 10px;
  border: 1px solid #7fa7bd;
  border-radius: 5px;
  padding: 7px 11px;
  background: #eaf5fa;
  color: #174d6e;
  font-size: 0.59rem;
  font-weight: 800;
}

.amazon-compare-list {
  display: grid;
  gap: 12px;
}

.amazon-compare-card {
  overflow: hidden;
  border: 1px solid #d8e1e6;
  border-radius: 8px;
  background: #fff;
}

.amazon-compare-card > header {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 110px auto;
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid #e0e6e9;
  padding: 12px 14px;
  background: #f8fbfc;
}

.amazon-compare-card > header h3 {
  margin: 5px 0 3px;
  font-size: 0.76rem;
}

.amazon-compare-card > header h3 a {
  color: #1f465f;
}

.amazon-compare-card > header p {
  margin: 0;
  color: #687985;
  font-size: 0.59rem;
}

.amazon-compare-card > header > button {
  margin: 0;
}

.amazon-compare-score {
  display: grid;
  text-align: center;
}

.amazon-compare-score strong {
  color: #174d6e;
  font-size: 1.3rem;
}

.amazon-compare-score span {
  color: #6b7985;
  font-size: 0.54rem;
}

.amazon-unified-opportunity {
  border-bottom: 1px solid #dce4e8;
  padding: 12px 14px;
  background: #f8fbf8;
}

.amazon-unified-pending {
  display: flex;
  gap: 8px;
  align-items: baseline;
  background: #fbfcfd;
  color: #687985;
  font-size: 0.58rem;
}

.amazon-unified-opportunity > header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin-bottom: 9px;
}

.amazon-unified-opportunity > header > div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.amazon-unified-opportunity > header strong {
  color: #145943;
  font-size: 1.35rem;
}

.amazon-unified-opportunity > header strong small,
.amazon-unified-opportunity > header span {
  color: #64766f;
  font-size: 0.56rem;
}

.amazon-unified-components {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #d7e5dc;
  border-radius: 6px;
  background: #fff;
}

.amazon-unified-components article {
  border-right: 1px solid #dfe9e3;
  padding: 8px;
}

.amazon-unified-components article:last-child {
  border-right: 0;
}

.amazon-unified-components article > div {
  display: flex;
  gap: 5px;
  align-items: baseline;
}

.amazon-unified-components article > div strong {
  color: #174d6e;
  font-size: 0.85rem;
}

.amazon-unified-components article > div span,
.amazon-unified-components p,
.amazon-unified-components small,
.amazon-unified-opportunity > p,
.amazon-unified-blockers {
  color: #65756f;
  font-size: 0.5rem;
}

.amazon-unified-components p {
  min-height: 3.5em;
  margin: 5px 0;
}

.amazon-unified-components small {
  text-transform: capitalize;
}

.amazon-unified-blockers {
  margin-top: 8px;
  border-left: 3px solid #c18836;
  padding: 6px 9px;
  background: #fffaf1;
}

.amazon-unified-blockers ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 18px;
  margin: 4px 0 0;
  padding-left: 16px;
}

.amazon-unified-opportunity > p {
  margin: 7px 0 0;
}

.amazon-compare-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.78fr);
  gap: 16px;
  padding: 13px 14px;
}

.amazon-compare-body h4 {
  margin: 0 0 8px;
  color: #30434f;
  font-size: 0.65rem;
}

.amazon-compare-suppliers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.amazon-compare-suppliers article {
  min-width: 0;
  border: 1px solid #dfe5e8;
  border-radius: 6px;
  padding: 9px;
}

.amazon-compare-suppliers strong,
.amazon-compare-suppliers p,
.amazon-compare-suppliers footer {
  display: block;
  margin: 5px 0 0;
  font-size: 0.55rem;
}

.amazon-compare-suppliers strong {
  color: #293b47;
}

.amazon-compare-suppliers p,
.amazon-compare-suppliers footer {
  color: #6b7985;
}

.amazon-compare-suppliers footer {
  display: flex;
  justify-content: space-between;
  gap: 6px;
}

.amazon-compare-suppliers a {
  color: #1d6088;
}

.amazon-product-economics-inputs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.amazon-economics-pending,
.amazon-economics-result {
  margin-top: 8px;
}

.amazon-economics-pending {
  border: 1px dashed #cbd5db;
  border-radius: 5px;
  padding: 9px;
  color: #70808b;
  font-size: 0.57rem;
}

.amazon-economics-result {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #d9e1e6;
  border-radius: 6px;
}

.amazon-economics-result > div {
  border-right: 1px solid #d9e1e6;
  padding: 7px 5px;
  text-align: center;
}

.amazon-economics-result > div:last-child {
  border-right: 0;
}

.amazon-economics-result strong,
.amazon-economics-result span {
  display: block;
}

.amazon-economics-result strong {
  color: #174d6e;
  font-size: 0.68rem;
}

.amazon-economics-result span {
  color: #71808b;
  font-size: 0.48rem;
}

.amazon-compare-body section > p {
  margin: 7px 0 0;
  color: #697984;
  font-size: 0.55rem;
}

.amazon-compare-body section > button[data-start-amazon-project] {
  width: 100%;
  margin-top: 10px;
  border: 1px solid #236a52;
  border-radius: 6px;
  padding: 9px 12px;
  background: #edf8f3;
  color: #17513e;
  cursor: pointer;
  font: inherit;
  font-size: 0.6rem;
  font-weight: 850;
}

.amazon-compare-body section > button[data-start-amazon-project]:disabled {
  border-color: #d3dadd;
  background: #f5f6f7;
  color: #879199;
  cursor: default;
}

.amazon-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.amazon-voc-product article {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
  border: 1px solid #c9dbe5;
  border-radius: 8px;
  padding: 13px;
  background: #f6fafc;
}

.amazon-voc-product img {
  width: 82px;
  height: 82px;
  border-radius: 6px;
  object-fit: contain;
  background: #fff;
}

.amazon-voc-product h3 {
  margin: 6px 0 4px;
  font-size: 0.88rem;
}

.amazon-voc-product h3 a {
  color: #173f59;
}

.amazon-voc-product p {
  margin: 3px 0;
  color: #63727e;
  font-size: 0.63rem;
}

.amazon-voc-product .amazon-voc-warning {
  color: #8a5620;
  font-weight: 700;
}

.amazon-voc-history-section {
  margin: 0 0 16px;
}

.amazon-purchase-question-section {
  margin: 0 0 18px;
  border: 1px solid #d8e3e8;
  border-radius: 8px;
  padding: 13px;
  background: #f8fbfc;
}

.amazon-purchase-question-section > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.amazon-purchase-question-section > header h3 {
  margin: 2px 0 0;
  color: #243746;
  font-size: 0.76rem;
}

.amazon-purchase-question-section > header > span {
  color: #607580;
  font-size: 0.58rem;
  font-weight: 750;
  text-align: right;
}

.amazon-purchase-question-section .research-method-line {
  margin: 0 0 10px;
}

.amazon-purchase-questions {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  max-height: 340px;
}

.amazon-voc-history-section > h3 {
  margin: 0 0 9px;
  color: #243746;
  font-size: 0.76rem;
}

.amazon-voc-history {
  display: grid;
  gap: 9px;
}

.amazon-voc-history-decision {
  border: 1px solid #d6e1e7;
  border-left: 5px solid #7893a3;
  border-radius: 7px;
  padding: 11px 13px;
  background: #f8fbfc;
}

.amazon-voc-history-decision[data-tone="warning"] { border-left-color: #c87a32; }
.amazon-voc-history-decision[data-tone="positive"] { border-left-color: #38805c; }

.amazon-voc-history-decision > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.amazon-voc-history-decision strong,
.amazon-voc-history-decision b {
  color: #294250;
  font-size: 0.65rem;
}

.amazon-voc-history-decision p,
.amazon-voc-history-caveat {
  margin: 7px 0;
  color: #596c78;
  font-size: 0.61rem;
  line-height: 1.45;
}

.amazon-voc-history-comparison,
.amazon-voc-history-periods {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.amazon-voc-history-comparison > div,
.amazon-voc-history-periods > div {
  display: grid;
  gap: 3px;
  border: 1px solid #dde6ea;
  border-radius: 6px;
  padding: 9px 10px;
  background: #fff;
}

.amazon-voc-history-comparison > i {
  display: none;
}

.amazon-voc-history-comparison span,
.amazon-voc-history-periods span,
.amazon-voc-history-comparison small,
.amazon-voc-history-periods small {
  color: #6b7a84;
  font-size: 0.54rem;
  font-style: normal;
}

.amazon-voc-history-comparison strong,
.amazon-voc-history-periods strong {
  color: #21445a;
  font-size: 0.72rem;
}

.amazon-voc-history-periods {
  grid-template-columns: repeat(auto-fit, minmax(95px, 1fr));
}

.amazon-voc-history-caveat {
  margin: 0;
  color: #8a5620;
}

.amazon-voc-layout {
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(320px, 1.28fr);
  gap: 16px;
}

.amazon-voc-layout > section,
.amazon-voc-photo-section {
  min-width: 0;
}

.amazon-voc-layout h3,
.amazon-voc-photo-section h3 {
  margin: 0 0 9px;
  color: #243746;
  font-size: 0.76rem;
}

.amazon-voc-themes,
.amazon-voc-examples {
  display: grid;
  gap: 8px;
}

.amazon-voc-themes article {
  border: 1px solid #dde4e8;
  border-left: 4px solid #d49d55;
  border-radius: 6px;
  padding: 10px 11px;
  background: #fff;
}

.amazon-voc-themes article[data-recurring="true"] {
  border-left-color: #c65b50;
}

.amazon-voc-themes article > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.amazon-voc-themes strong {
  color: #293a47;
  font-size: 0.68rem;
}

.amazon-voc-themes article > span {
  display: block;
  margin-top: 6px;
  color: #697985;
  font-size: 0.59rem;
}

.amazon-voc-examples {
  max-height: 650px;
  overflow: auto;
  padding-right: 4px;
}

.amazon-voc-examples article {
  border: 1px solid #dce4e8;
  border-radius: 7px;
  padding: 11px 12px;
  background: #fff;
}

.amazon-voc-examples h4 {
  margin: 7px 0 4px;
  color: #253845;
  font-size: 0.7rem;
}

.amazon-voc-examples p {
  margin: 0;
  color: #4e606d;
  font-size: 0.64rem;
  line-height: 1.55;
}

.amazon-voc-examples footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 7px;
  color: #78858e;
  font-size: 0.56rem;
}

.amazon-voc-examples footer a {
  color: #1d6088;
  font-weight: 750;
}

.amazon-voc-photo-section {
  margin-top: 18px;
}

.amazon-voc-photos {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.amazon-voc-photos > a {
  overflow: hidden;
  border: 1px solid #d9e1e6;
  border-radius: 7px;
  background: #fff;
  color: #586a77;
  text-decoration: none;
}

.amazon-voc-photos img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  background: #f1f4f6;
}

.amazon-voc-photos span {
  display: block;
  overflow: hidden;
  padding: 6px;
  font-size: 0.52rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.review-evidence-library-section {
  margin-top: 26px;
  border-top: 2px solid #d5e0e6;
  padding-top: 20px;
}

.review-evidence-library-section > header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  margin-bottom: 12px;
}

.review-evidence-library-section h3 {
  margin: 2px 0 0;
  color: #253845;
  font-size: 0.88rem;
}

.review-evidence-library {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.review-evidence-card {
  min-width: 0;
  border: 1px solid #d9e2e7;
  border-radius: 8px;
  padding: 13px;
  background: #fff;
}

.review-evidence-card header h4 {
  margin: 7px 0 4px;
  font-size: 0.74rem;
}

.review-evidence-card header h4 a {
  color: #204e6b;
}

.review-evidence-card header p,
.review-evidence-card > footer {
  margin: 0;
  color: #697984;
  font-size: 0.58rem;
}

.review-evidence-themes {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 9px;
}

.review-evidence-insights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.review-evidence-insights section {
  border: 1px solid #e1e8eb;
  border-radius: 5px;
  padding: 7px;
  background: #f8fafb;
}

.review-evidence-insights strong,
.review-evidence-insights span {
  display: block;
}

.review-evidence-insights strong {
  margin-bottom: 4px;
  color: #314b5b;
  font-size: 0.55rem;
}

.review-evidence-insights span {
  color: #667680;
  font-size: 0.52rem;
  line-height: 1.45;
}

.review-evidence-distributions {
  margin-top: 9px;
  border-left: 3px solid #b5c8d3;
  padding: 5px 8px;
  background: #f7fafb;
}

.review-evidence-distributions p {
  margin: 2px 0;
  color: #62727d;
  font-size: 0.53rem;
  line-height: 1.45;
}

.review-evidence-distributions strong {
  margin-right: 6px;
  color: #304b5b;
}

.review-evidence-photos {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
  margin-top: 9px;
}

.review-evidence-photos img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 4px;
  object-fit: cover;
  background: #f1f4f6;
}

.review-evidence-examples {
  display: grid;
  gap: 7px;
  margin-top: 9px;
}

.review-evidence-examples blockquote {
  margin: 0;
  border-left: 3px solid #9db9ca;
  padding: 7px 9px;
  background: #f7fafb;
}

.review-evidence-examples blockquote p {
  margin: 5px 0;
  color: #4e606b;
  font-size: 0.61rem;
  line-height: 1.45;
}

.review-evidence-examples blockquote a {
  color: #1d6088;
  font-size: 0.55rem;
  font-weight: 750;
}

.review-evidence-card > footer {
  margin-top: 9px;
  border-top: 1px solid #e4e9ec;
  padding-top: 7px;
  font-weight: 700;
}

.seller-authenticity-section {
  margin-top: 28px;
  border-top: 2px solid #d5e0e6;
  padding-top: 20px;
}

.seller-authenticity-section h3 {
  margin: 2px 0 12px;
  color: #253845;
  font-size: 0.88rem;
}

.seller-authenticity-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.seller-authenticity-card {
  min-width: 0;
  border: 1px solid #d9e2e7;
  border-left: 4px solid #c6983d;
  border-radius: 8px;
  padding: 13px;
  background: #fff;
}

.seller-authenticity-card[data-decision="consistent"] { border-left-color: #4f936f; }
.seller-authenticity-card[data-decision="caution"] { border-left-color: #c17b2e; }
.seller-authenticity-card[data-decision="hold"] { border-left-color: #b84f4f; }

.seller-authenticity-card header h4 {
  margin: 8px 0 3px;
  color: #253845;
  font-size: 0.76rem;
}

.seller-authenticity-card header p,
.seller-authenticity-gap {
  margin: 0;
  color: #62737f;
  font-size: 0.6rem;
  line-height: 1.45;
}

.seller-authenticity-card a { color: #1d6088; }

.seller-authenticity-evidence {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 11px 0;
  border: 1px solid #e1e7ea;
  border-radius: 6px;
  background: #f8fafb;
}

.seller-authenticity-evidence > div {
  padding: 8px 6px;
  border-right: 1px solid #e1e7ea;
  text-align: center;
}

.seller-authenticity-evidence > div:last-child { border-right: 0; }

.seller-authenticity-evidence strong,
.seller-authenticity-evidence span { display: block; }
.seller-authenticity-evidence strong { color: #263f4f; font-size: 0.78rem; }
.seller-authenticity-evidence span { margin-top: 2px; color: #6b7a84; font-size: 0.5rem; }

.seller-authenticity-card ul {
  margin: 7px 0;
  padding-left: 18px;
  color: #5b6972;
  font-size: 0.6rem;
  line-height: 1.5;
}

.seller-authenticity-card footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  border-top: 1px solid #e4e9ec;
  padding-top: 8px;
  color: #6c7b85;
  font-size: 0.54rem;
  font-weight: 700;
}

@media (max-width: 1000px) {
  .research-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .research-metric:nth-child(3),
  .research-metric:last-child {
    border-right: 0;
  }

  .research-metric:nth-child(n + 4) {
    border-top: 1px solid var(--research-line);
  }

  .research-master-detail,
  .research-outreach-layout {
    grid-template-columns: 1fr;
  }

  .research-detail-card {
    position: static;
    max-height: none;
  }

  .research-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .amazon-research-row {
    grid-template-columns: 58px 120px minmax(240px, 1fr) minmax(120px, 0.4fr);
  }

  .amazon-keyword-row {
    grid-template-columns: minmax(220px, 1fr) repeat(3, 85px);
  }

  .amazon-keyword-evidence {
    grid-column: 1 / -1;
  }

  .amazon-niche-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .amazon-economics-inputs {
    grid-template-columns: repeat(3, minmax(120px, 1fr));
  }

  .amazon-compare-body {
    grid-template-columns: 1fr;
  }

  .amazon-voc-photos {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .review-evidence-library-section > header {
    align-items: stretch;
    flex-direction: column;
  }

  .amazon-tracker-row {
    grid-template-columns: 130px minmax(240px, 1fr) minmax(130px, 0.4fr);
  }

  .amazon-tracker-row > button {
    grid-column: 2 / -1;
  }

  .amazon-evidence-cell {
    grid-column: 3 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
  }
}

@media (max-width: 760px) {
  .research-workspace-heading,
  .research-panel-heading,
  .research-rfq-form > footer {
    align-items: stretch;
    flex-direction: column;
  }

  .research-heading-actions,
  .research-filter-form {
    justify-content: flex-start;
  }

  .research-trend-list,
  .research-source-grid {
    grid-template-columns: 1fr;
  }

  .trend-radar-signal-grid,
  .trend-radar-components {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trend-radar-columns {
    grid-template-columns: 1fr;
  }

  .research-form-grid {
    grid-template-columns: 1fr;
  }

  .research-form-wide {
    grid-column: auto;
  }

  .amazon-research-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .amazon-research-summary > div:nth-child(2n) {
    border-right: 0;
  }

  .amazon-research-summary > div:nth-child(n + 3) {
    border-top: 1px solid #d8e1e7;
  }

  .amazon-research-row {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .amazon-decision-card {
    grid-template-columns: 70px minmax(0, 1fr);
  }

  .amazon-decision-evidence {
    grid-column: 1 / -1;
    border-top: 1px solid #e1e6ea;
    border-left: 0;
    padding-top: 10px;
    padding-left: 0;
  }

  .amazon-rank-cell {
    grid-column: 2;
  }

  .amazon-product-cell,
  .amazon-review-cell,
  .amazon-evidence-cell {
    grid-column: 1 / -1;
  }

  .amazon-keyword-row,
  .amazon-competitor-row,
  .amazon-tracker-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .amazon-reverse-asin-row {
    grid-template-columns: 1fr 90px;
  }

  .amazon-reverse-evidence {
    grid-column: 1 / -1;
  }

  .amazon-keyword-name,
  .amazon-keyword-evidence,
  .amazon-competitor-row .amazon-product-cell,
  .amazon-competitor-row .amazon-review-cell {
    grid-column: 1 / -1;
  }

  .amazon-tracker-row .amazon-rank-cell,
  .amazon-tracker-row .amazon-product-cell,
  .amazon-tracker-row .amazon-review-cell,
  .amazon-tracker-row > div:first-child:not(.amazon-rank-cell),
  .amazon-tracker-row > p,
  .amazon-tracker-row > button {
    grid-column: 1 / -1;
  }

  .amazon-niche-list {
    grid-template-columns: 1fr;
  }

  .amazon-competitor-anchor article {
    grid-template-columns: 1fr;
  }

  .amazon-voc-layout {
    grid-template-columns: 1fr;
  }

  .amazon-economics-inputs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .amazon-compare-card > header {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .amazon-compare-card > header .amazon-compare-score,
  .amazon-compare-card > header > button {
    grid-column: 2;
    justify-self: start;
  }

  .amazon-unified-components {
    grid-template-columns: 1fr;
  }

  .amazon-unified-components article {
    border-right: 0;
    border-bottom: 1px solid #dfe9e3;
  }

  .amazon-unified-components article:last-child {
    border-bottom: 0;
  }

  .amazon-compare-suppliers {
    grid-template-columns: 1fr;
  }

  .amazon-voc-photos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .review-evidence-library {
    grid-template-columns: 1fr;
  }

  .seller-authenticity-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .amazon-niche-pulse,
  .amazon-niche-competition {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .amazon-niche-pulse > div:nth-child(2),
  .amazon-niche-competition > div:nth-child(2) {
    border-right: 0;
  }

  .amazon-niche-pulse > div:nth-child(n + 3),
  .amazon-niche-competition > div:nth-child(n + 3) {
    border-top: 1px solid #e1e6ea;
  }

  .amazon-niche-band-values {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 9px;
  }

  .amazon-niche-history-chart > div,
  .amazon-niche-deltas,
  .amazon-niche-seasonality {
    align-items: flex-start;
    flex-direction: column;
  }

  .amazon-niche-evidence a {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .amazon-niche-evidence a small {
    grid-column: 1 / -1;
    text-align: left;
  }

  .review-evidence-insights {
    grid-template-columns: 1fr;
  }

  .seller-authenticity-evidence {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .seller-authenticity-evidence > div:nth-child(2) { border-right: 0; }
  .seller-authenticity-evidence > div:nth-child(n + 3) { border-top: 1px solid #e1e7ea; }

  .research-panel,
  .research-workspace-heading {
    padding: 16px 13px;
  }

  .research-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .research-metric,
  .research-metric:nth-child(3) {
    border-right: 1px solid var(--research-line);
  }

  .research-metric:nth-child(2n),
  .research-metric:last-child {
    border-right: 0;
  }

  .research-metric:nth-child(n + 3) {
    border-top: 1px solid var(--research-line);
  }

  .research-filter-form,
  .research-filter-form label,
  .research-filter-form input,
  .research-filter-form select,
  .research-filter-form button,
  .research-filter-form .amazon-extension-download {
    width: 100%;
  }

  .research-detail-grid {
    grid-template-columns: 1fr;
  }

  .supplier-verification-checklist {
    grid-template-columns: 1fr;
  }
}

/* Keep the simplified four-part research navigation above the legacy tab
   cascade. The more-specific component rules live near the top of this file. */
.research-tabs {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: visible;
}

@media (max-width: 760px) {
  .research-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.research-path[hidden] {
  display: none !important;
}

body[data-workspace="research"] .workspace-switcher {
  display: none;
}

.research-heading-actions .research-exit {
  border-color: #b9c7d0;
  background: #fff;
  color: #405667;
}

.research-heading-actions .research-exit:hover {
  border-color: #8ea3b2;
  background: #eef3f6;
  color: #243947;
}

.commercial-freight-quote-desk {
  display: grid;
  gap: 10px;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #d5dee4;
  border-radius: 12px;
  background: #f7fafb;
}

.commercial-freight-quote-desk p { margin: 4px 0; }
.commercial-freight-quote-desk small { color: #61717c; }
.commercial-freight-provider-links { display: flex; flex-wrap: wrap; gap: 8px; }
.commercial-freight-provider-links a {
  display: grid;
  gap: 2px;
  padding: 9px 11px;
  border: 1px solid #b9cbd5;
  border-radius: 9px;
  background: #fff;
  text-decoration: none;
}
.commercial-freight-provider-links span { font-size: .78rem; color: #526a78; }

.commercial-freight-record,
.commercial-freight-blocker,
.commercial-freight-comparison article {
  padding: 11px;
  border: 1px solid #c8d5dc;
  border-radius: 10px;
  background: #fff;
}

.commercial-freight-record summary {
  cursor: pointer;
  font-weight: 850;
  color: #23485d;
}

.commercial-freight-record form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 9px;
  margin-top: 10px;
}

.commercial-freight-record form label {
  display: grid;
  align-content: start;
  gap: 4px;
  color: #425d6c;
  font-size: .76rem;
  font-weight: 750;
}

.commercial-freight-record input,
.commercial-freight-record select {
  width: 100%;
  min-height: 38px;
  padding: 7px 8px;
  border: 1px solid #bacbd4;
  border-radius: 8px;
  background: #fff;
  color: #1e3644;
}

.commercial-freight-record form > button {
  align-self: end;
  min-height: 40px;
}

.commercial-freight-record .commercial-check {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
}

.commercial-freight-record .commercial-check input {
  width: auto;
  min-height: auto;
}

.commercial-dimension-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

.commercial-freight-blocker {
  border-color: #d7b87a;
  background: #fffaf0;
}

.commercial-freight-comparison {
  display: grid;
  gap: 9px;
  margin-top: 8px;
}

.commercial-freight-comparison article {
  display: grid;
  gap: 8px;
}

.commercial-freight-comparison article.is-comparable {
  border-color: #8dbca7;
  box-shadow: inset 4px 0 #3b8d68;
}

.commercial-freight-comparison article.is-incomplete {
  box-shadow: inset 4px 0 #c8943f;
}

.commercial-freight-comparison header,
.commercial-freight-quote-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.commercial-freight-comparison header span {
  color: #526a78;
  font-size: .74rem;
  font-weight: 800;
}

.commercial-freight-quote-row {
  grid-template-columns: minmax(150px, 1fr) auto minmax(170px, .8fr);
  padding-top: 8px;
  border-top: 1px solid #e2e9ed;
}

.commercial-freight-quote-row > span {
  display: grid;
  gap: 3px;
}

.commercial-freight-quote-row > span:last-child {
  justify-items: start;
}

.commercial-freight-quote-row a,
.commercial-freight-quote-row button {
  font-size: .75rem;
  font-weight: 800;
}

@media (max-width: 720px) {
  .commercial-freight-quote-row,
  .commercial-freight-comparison header {
    grid-template-columns: 1fr;
  }
}

.commercial-fulfillment-comparison {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 9px;
  margin: 9px 0;
}

.commercial-fulfillment-comparison article {
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 11px;
  border: 1px solid #c8d5dc;
  border-radius: 10px;
  background: #fff;
}

.commercial-fulfillment-comparison header {
  display: grid;
  gap: 3px;
}

.commercial-fulfillment-comparison header span,
.commercial-fulfillment-comparison dt {
  color: #526a78;
  font-size: .74rem;
  font-weight: 750;
}

.commercial-fulfillment-comparison dl,
.commercial-fulfillment-comparison dl div {
  display: grid;
  gap: 3px;
  margin: 0;
}

.commercial-fulfillment-comparison dl {
  gap: 7px;
}

.commercial-fulfillment-comparison dd {
  margin: 0;
  font-size: .78rem;
  line-height: 1.35;
}

.commercial-fulfillment-comparison footer {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 3px;
}

.commercial-fulfillment-comparison footer a {
  color: #174d6e;
  font-size: .76rem;
  font-weight: 800;
}

.research-delivery-guide,
.research-delivery-step {
  display: grid;
  gap: 8px;
}

.research-delivery-guide {
  margin-top: 12px;
  counter-reset: none;
}

.research-delivery-step {
  padding: 12px;
  border: 1px solid #d5dee4;
  border-radius: 10px;
  background: #f7fafb;
}

.research-delivery-step small {
  color: #61717c;
}

.commercial-review-verdict {
  display: grid;
  gap: 14px;
  margin-top: 12px;
  padding: 0;
}

.commercial-review-verdict:empty { display: none; }
.commercial-review-verdict > div { display: flex; justify-content: space-between; gap: 12px; }
.commercial-review-verdict > div span,
.commercial-review-verdict small { color: #61717c; }
.commercial-review-verdict dl { display: grid; gap: 7px; margin: 0; }
.commercial-review-verdict dl div { display: grid; grid-template-columns: minmax(130px, .35fr) 1fr; gap: 10px; }
.commercial-review-verdict dt { font-weight: 700; }
.commercial-review-verdict dd { margin: 0; }
.commercial-evidence-section { display: grid; gap: 7px; padding-top: 9px; border-top: 1px solid #d5dee4; }
.commercial-evidence-section h4,
.commercial-evidence-section p { margin: 0; }
.commercial-evidence-section h4 { font-size: .78rem; }
.commercial-evidence-section a { color: #174d6e; font-weight: 750; }

.commercial-journey {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.commercial-journey-primary {
  position: sticky;
  top: 8px;
  z-index: 12;
  margin: 18px 0 24px;
  border: 1px solid #d5dee4;
  border-radius: 14px;
  padding: 8px;
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 8px 28px rgb(21 53 73 / 9%);
  backdrop-filter: blur(10px);
}

.commercial-journey button {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  border: 1px solid #d5dee4;
  border-radius: 10px;
  padding: 9px 10px;
  background: #fff;
  color: #596977;
  text-align: left;
}

.commercial-journey button span {
  display: grid;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #eaf0f3;
  font-size: .7rem;
  font-weight: 850;
}

.commercial-journey button strong {
  overflow: hidden;
  font-size: .67rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commercial-journey button.is-complete {
  border-color: #9ccfbc;
  color: #14684f;
}

.commercial-journey button.is-complete span {
  background: #dff3eb;
}

.commercial-journey button.is-current {
  border-color: #173e59;
  background: #173e59;
  color: #fff;
}

.commercial-journey button.is-current span {
  background: #fff;
  color: #173e59;
}

.commercial-journey-gate {
  display: grid;
  gap: 10px;
  margin: -10px 0 24px;
  border: 1px solid #bfd1dc;
  border-left: 6px solid #2b719b;
  border-radius: 14px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgb(21 53 73 / 7%);
}

.commercial-journey-gate[hidden] {
  display: none;
}

.commercial-journey-gate-step {
  color: #2b719b;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.commercial-journey-gate > strong {
  color: #213746;
  font-size: 1.05rem;
}

.commercial-journey-gate > p,
.commercial-journey-gate > small {
  margin: 0;
  color: #596977;
  line-height: 1.55;
}

.commercial-journey-gate > div {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 3px;
}

.commercial-journey-gate button {
  min-height: 40px;
  border: 1px solid #173e59;
  border-radius: 9px;
  padding: 0 14px;
  background: #173e59;
  color: #fff;
  font-weight: 800;
}

.commercial-journey-gate button.secondary-command {
  background: #fff;
  color: #173e59;
}

#sourcingWorkspace[data-commercial-journey-step] .sourcing-launchpad,
#sourcingWorkspace[data-commercial-journey-step] .sourcing-tool-drawer {
  display: none;
}

#sourcingWorkspace[data-commercial-journey-step="1"] #commercialDecisionSection,
#sourcingWorkspace[data-commercial-journey-step="1"] #commercialProjectOverview,
#sourcingWorkspace[data-commercial-journey-step="2"] #commercialDecisionSection,
#sourcingWorkspace[data-commercial-journey-step="3"] #commercialProjectOverview,
#sourcingWorkspace[data-commercial-journey-step="4"] #commercialProjectOverview,
#sourcingWorkspace[data-commercial-journey-step="5"] #commercialDecisionSection {
  display: none !important;
}

#sourcingWorkspace[data-commercial-journey-step="3"] #commercialEconomicsDrawer,
#sourcingWorkspace[data-commercial-journey-step="4"] #commercialRfqDesk {
  display: none;
}

#sourcingWorkspace[data-commercial-journey-step="2"] #commercialProjectOverview > summary,
#sourcingWorkspace[data-commercial-journey-step="5"] #commercialProjectOverview > summary {
  display: none;
}

#sourcingWorkspace[data-commercial-journey-step="2"] #commercialProjectOverview .workspace-metrics,
#sourcingWorkspace[data-commercial-journey-step="2"] #commercialProjectOverview .workspace-decision-bar,
#sourcingWorkspace[data-commercial-journey-step="2"] #commercialProjectOverview .commercial-decision-head,
#sourcingWorkspace[data-commercial-journey-step="2"] #commercialProjectOverview .commercial-pipeline,
#sourcingWorkspace[data-commercial-journey-step="2"] #commercialProjectOverview .commercial-decision-brief {
  display: none;
}

#sourcingWorkspace[data-commercial-journey-step="5"] #commercialProjectOverview .commercial-project-evidence {
  display: none;
}

#sourcingWorkspace[data-commercial-journey-step="2"] #commercialProjectOverview {
  border-top: 5px solid #2b719b;
}

#sourcingWorkspace[data-commercial-journey-step="5"] #commercialProjectOverview {
  border-top: 5px solid #c78522;
}

.commercial-decision-brief {
  display: grid;
  gap: 15px;
  border: 1px solid #d7dee3;
  border-left: 6px solid #c78522;
  border-radius: 14px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgb(21 53 73 / 7%);
}

.commercial-decision-brief.decision-launch { border-left-color: #16835f; }
.commercial-decision-brief.decision-reject { border-left-color: #b63b35; }

.commercial-decision-brief > header,
.commercial-decision-brief > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.commercial-decision-brief > header div,
.commercial-decision-brief > header span,
.commercial-decision-brief > header strong,
.commercial-decision-brief > footer div,
.commercial-decision-brief > footer span,
.commercial-decision-brief > footer strong {
  display: block;
}

.commercial-decision-brief > header span,
.commercial-decision-brief > footer span {
  color: #697784;
  font-size: .65rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.commercial-decision-brief > header strong {
  margin-top: 2px;
  font-size: 1.65rem;
}

.commercial-decision-brief > p {
  max-width: 920px;
  margin: 0;
  color: #263744;
  font-size: .9rem;
  line-height: 1.55;
}

.commercial-decision-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.commercial-decision-columns > section {
  border-radius: 11px;
  padding: 13px;
  background: #f5f8f9;
}

.commercial-decision-columns h4 {
  margin: 0 0 9px;
  font-size: .73rem;
}

.commercial-decision-columns ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.commercial-decision-columns li strong,
.commercial-decision-columns li span {
  display: block;
}

.commercial-decision-columns li strong { font-size: .72rem; }
.commercial-decision-columns li span {
  margin-top: 2px;
  color: #65737e;
  font-size: .63rem;
  line-height: 1.4;
}

.commercial-decision-economics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.commercial-decision-economics > div,
.commercial-decision-withheld {
  border: 1px solid #dce3e7;
  border-radius: 10px;
  padding: 11px 12px;
  background: #fbfcfc;
}

.commercial-decision-economics span,
.commercial-decision-economics strong,
.commercial-decision-economics small,
.commercial-decision-withheld strong,
.commercial-decision-withheld span {
  display: block;
}

.commercial-decision-economics span,
.commercial-decision-economics small,
.commercial-decision-withheld span {
  color: #687681;
  font-size: .64rem;
}

.commercial-decision-withheld {
  border-color: #ead6b5;
  background: #fff9ee;
}

.commercial-decision-withheld span {
  margin-top: 4px;
}

.commercial-decision-brief > footer {
  border-top: 1px solid #e2e7ea;
  padding-top: 14px;
}

.commercial-decision-brief > footer strong {
  margin-top: 3px;
  max-width: 780px;
  font-size: .76rem;
}

.commercial-project-evidence {
  border: 1px solid #d5dee4;
  border-radius: 12px;
  background: #f7fafb;
}

.commercial-project-evidence > summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  cursor: pointer;
}

.commercial-project-evidence > summary span {
  color: #61717c;
  font-size: .68rem;
}

.commercial-project-evidence-body {
  display: grid;
  gap: 10px;
  border-top: 1px solid #d5dee4;
  padding: 13px 14px;
}

.commercial-project-evidence-body > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

@media (max-width: 680px) {
  .commercial-review-verdict > div,
  .commercial-review-verdict dl div { display: grid; grid-template-columns: 1fr; }
  .commercial-journey { grid-template-columns: 1fr; }
  .commercial-journey button strong { white-space: normal; }
  .commercial-decision-columns,
  .commercial-decision-economics { grid-template-columns: 1fr; }
  .commercial-decision-brief > header,
  .commercial-decision-brief > footer,
  .commercial-project-evidence > summary { align-items: stretch; flex-direction: column; }
}
.commercial-decision-checklist {
  margin-top: 1rem;
  border: 1px solid var(--line, #d8dee5);
  border-radius: 14px;
  background: #fff;
}

.commercial-decision-checklist > summary,
.commercial-decision-checklist article {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.commercial-decision-checklist > summary {
  justify-content: space-between;
  padding: 1rem;
  cursor: pointer;
}

.commercial-decision-checklist > div {
  border-top: 1px solid var(--line, #d8dee5);
}

.commercial-decision-checklist article {
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--line, #d8dee5);
}

.commercial-decision-checklist article:last-child { border-bottom: 0; }
.commercial-decision-checklist article > div { flex: 1; }
.commercial-decision-checklist article small { display: block; margin-top: .2rem; color: var(--muted, #657180); }
.commercial-decision-checklist article.is-complete > span { color: #16784b; }

.research-response-tiers {
  grid-column: 1 / -1;
  padding: .85rem;
  border: 1px solid var(--line, #d8dee5);
  border-radius: 12px;
}

.research-response-tier {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) minmax(110px, 1fr) minmax(80px, .7fr) auto;
  gap: .65rem;
  align-items: end;
  margin-top: .65rem;
}

@media (max-width: 700px) {
  .research-response-tier { grid-template-columns: 1fr 1fr; }
}

/* Seller research radar: evidence-first, not a popularity dashboard. */
.research-radar {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 28px 80px;
  color: #172532;
}

.research-radar-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #d9e0e5;
}

.research-radar-head h1 {
  margin: 4px 0 6px;
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  line-height: 1.1;
  letter-spacing: -.045em;
}

.research-radar-head p:not(.eyebrow) {
  max-width: 760px;
  margin: 0;
  color: #657381;
  font-size: .94rem;
  line-height: 1.45;
}

.research-radar-head .eyebrow { margin-bottom: 4px; }
.research-radar-refresh { min-height: 44px; flex: 0 0 auto; }

.research-radar-refresh,
.research-hypothesis-card footer button,
.research-radar-failure button {
  border: 1px solid #164d70;
  border-radius: 10px;
  background: #164d70;
  color: #fff;
  padding: 10px 15px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.research-market-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 760px;
  margin: 14px 0;
  border: 1px solid #ccd7de;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.research-market-switch button {
  display: grid;
  gap: 4px;
  min-height: 60px;
  padding: 10px 16px;
  border: 0;
  border-right: 1px solid #ccd7de;
  background: transparent;
  color: #62717e;
  text-align: left;
  cursor: pointer;
}

.research-market-switch button:last-child { border-right: 0; }
.research-market-switch button strong { color: #243443; font-size: .98rem; }
.research-market-switch button small { font-size: .76rem; line-height: 1.35; }
.research-market-switch button[aria-pressed="true"] {
  box-shadow: inset 0 -4px #1d6a94;
  background: #edf6fb;
}
.research-market-switch button[aria-pressed="true"] strong { color: #155a83; }
.workspace-seller-steps button:disabled {
  cursor: not-allowed;
  opacity: .52;
}

.research-verdict {
  margin: 14px 0 20px;
  border: 1px solid #cfd8de;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 35px rgba(20, 45, 60, .06);
}

.research-verdict-main {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(260px, .85fr);
}

.research-verdict-main > div,
.research-verdict-main > aside { padding: 27px 30px; }
.research-verdict-main > aside {
  display: grid;
  align-content: center;
  gap: 7px;
  border-left: 1px solid #dbe3e8;
  background: #f6f8f9;
}
.research-verdict-main span,
.research-verdict-main aside > span {
  color: #73808b;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.research-verdict-main > div > strong {
  display: block;
  margin-top: 8px;
  color: #172532;
  font-size: clamp(1.45rem, 2.7vw, 2.2rem);
  line-height: 1.12;
}
.research-verdict-main p { max-width: 720px; margin: 11px 0 0; color: #586875; line-height: 1.55; }
.research-verdict-main aside strong { color: #243a49; text-transform: capitalize; }
.research-verdict-main aside small { color: #71808b; }

.research-stale-warning {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 11px 30px;
  border-bottom: 1px solid #ead99e;
  background: #fff7da;
  color: #73570b;
  font-size: .8rem;
}

.research-collection {
  margin: 0 0 32px;
  border: 1px solid #cfd9df;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 35px rgba(20, 45, 60, .055);
}

.research-collection > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 25px;
  border-bottom: 1px solid #dce4e8;
  background: linear-gradient(110deg, #f4f9f7, #f7fafb 58%, #eef6fa);
}

.research-collection > header > div { max-width: 820px; }
.research-collection > header > div > span {
  color: #217151;
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.research-collection > header h2 {
  margin: 5px 0 4px;
  color: #203441;
  font-size: 1.25rem;
}
.research-collection > header p {
  margin: 0;
  color: #647480;
  font-size: .82rem;
  line-height: 1.45;
}

#researchCollectionStatus {
  flex: 0 0 auto;
  padding: 7px 11px;
  border: 1px solid #cbd8d1;
  border-radius: 999px;
  background: #fff;
  color: #4d6659;
  font-size: .72rem;
  white-space: nowrap;
}
#researchCollectionStatus::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: #85929a;
  content: "";
}
#researchCollectionStatus[data-state="fresh"]::before {
  background: #2c9a67;
  box-shadow: 0 0 0 4px rgba(44, 154, 103, .12);
}
#researchCollectionStatus[data-state="delayed"]::before,
#researchCollectionStatus[data-state="no_recent_data"]::before {
  background: #c68b29;
}
#researchCollectionStatus[data-state="error"]::before { background: #b45249; }

.research-collection-activity {
  border-bottom: 1px solid #dce4e8;
  background: #fbfcfc;
}
.research-collection-activity > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 22px 13px;
}
.research-collection-activity > header div {
  display: grid;
  gap: 3px;
}
.research-collection-activity > header span {
  color: #247053;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.research-collection-activity > header strong {
  color: #283d49;
  font-size: .88rem;
}
.research-collection-activity > header small {
  color: #7a8891;
  font-size: .65rem;
}
.research-collection-activity > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #e6ebee;
}
.research-collection-activity article {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 15px 22px;
  border-right: 1px solid #e3e9ec;
}
.research-collection-activity article:last-child { border-right: 0; }
.research-collection-activity article strong {
  color: #163f56;
  font-size: 1.35rem;
  line-height: 1;
}
.research-collection-activity article span {
  color: #6d7b85;
  font-size: .67rem;
  line-height: 1.3;
}
.research-collection-activity > p {
  margin: 0;
  padding: 9px 22px 11px;
  border-top: 1px solid #e6ebee;
  color: #75828a;
  font-size: .65rem;
}

.research-collection-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.research-collection-card {
  min-width: 0;
  padding: 22px;
  border-right: 1px solid #e0e6e9;
}
.research-collection-card:last-child { border-right: 0; }
.research-collection-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.research-collection-card > header > span {
  color: #557281;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.research-collection-card > header > small {
  overflow: hidden;
  color: #839099;
  font-size: .61rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.research-collection-card h3 {
  margin: 8px 0 13px;
  color: #2b3d49;
  font-size: .92rem;
}
.research-collection-primary {
  display: flex;
  align-items: end;
  gap: 8px;
  margin-bottom: 16px;
}
.research-collection-primary strong {
  color: #153d56;
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  line-height: .9;
  letter-spacing: -.045em;
}
.research-collection-primary span {
  max-width: 130px;
  color: #6c7a84;
  font-size: .68rem;
  line-height: 1.25;
}
.research-collection-card dl {
  display: grid;
  gap: 7px;
  margin: 0;
}
.research-collection-card dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-top: 7px;
  border-top: 1px solid #edf0f2;
}
.research-collection-card dt {
  color: #72808a;
  font-size: .68rem;
}
.research-collection-card dd {
  margin: 0;
  color: #314957;
  font-size: .72rem;
  font-weight: 850;
  text-align: right;
}
.research-collection-progress {
  display: grid;
  gap: 5px;
  margin-top: 15px;
}
.research-collection-progress > span {
  height: 6px;
  border-radius: 999px;
  overflow: hidden;
  background: #e7ecef;
}
.research-collection-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #257958, #2583a8);
}
.research-collection-progress small {
  color: #71808a;
  font-size: .64rem;
}
.research-collection > footer {
  display: flex;
  gap: 10px;
  padding: 12px 22px;
  border-top: 1px solid #dfe6ea;
  background: #f7f9fa;
  color: #667681;
  font-size: .73rem;
  line-height: 1.45;
}
.research-collection > footer strong {
  flex: 0 0 auto;
  color: #344d5b;
}
.research-collection-failure {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px;
  color: #5f6f79;
}
.research-collection-failure button {
  border: 1px solid #164d70;
  border-radius: 9px;
  background: #fff;
  color: #164d70;
  padding: 8px 13px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.research-radar-lanes { display: grid; gap: 16px; }
.research-product-browser {
  display: grid;
  grid-template-columns: minmax(240px, .9fr) minmax(300px, 1.3fr) auto;
  gap: 14px;
  align-items: end;
  padding: 14px 18px;
  border: 1px solid #b9ceda;
  border-radius: 16px;
  background: linear-gradient(135deg, #f4f9fc, #fff);
}
.research-product-browser > div,
.research-product-browser label,
.research-product-browser > b {
  display: grid;
  gap: 5px;
}
.research-product-browser > div > span,
.research-product-browser label > span {
  color: #42667b;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.research-product-browser > div > strong {
  color: #203c4e;
  font-size: 1.12rem;
}
.research-product-browser > div > small {
  color: #607682;
  font-size: .74rem;
  line-height: 1.45;
}
.research-product-browser input {
  width: 100%;
  height: 45px;
  border: 1px solid #9fb8c6;
  border-radius: 10px;
  padding: 0 13px;
  background: #fff;
  color: #213945;
  outline: 0;
}
.research-product-browser input:focus {
  border-color: #176a96;
  box-shadow: 0 0 0 3px rgb(23 106 150 / 12%);
}
.research-product-browser > b {
  min-width: 92px;
  justify-items: center;
  padding: 9px 12px;
  border-radius: 11px;
  background: #e5f1f7;
  color: #185d82;
}
.research-product-browser > b > span { font-size: 1.2rem; }
.research-product-browser > b > small {
  color: #587585;
  font-size: .62rem;
}
.research-product-no-match {
  display: grid;
  gap: 4px;
  margin-top: -12px;
  padding: 18px 22px;
  border: 1px dashed #b8c7d0;
  border-radius: 12px;
  color: #657783;
}
.research-product-no-match strong { color: #324b5a; }
.research-product-no-match[hidden],
.research-product-card[hidden] { display: none; }
.research-lane {
  border: 1px solid #d5dde2;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}
.research-lane > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 18px;
  border-bottom: 1px solid #e0e6ea;
  background: #f8fafb;
}
.research-lane > header > div { display: flex; align-items: center; gap: 12px; }
.research-lane > header span {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border: 1px solid #b7c5ce;
  border-radius: 50%;
  color: #687986;
  font-size: .76rem;
  font-weight: 900;
}
.research-lane > header h2 { margin: 0; font-size: 1.05rem; }
.research-lane > header > b {
  min-width: 34px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e9eef1;
  color: #536775;
  text-align: center;
  font-size: .8rem;
}
.research-lane.is-ready > header { box-shadow: inset 4px 0 #369061; }
.research-lane.is-watchlist > header { box-shadow: inset 4px 0 #2f7aa3; }
.research-lane.is-observed > header { box-shadow: inset 4px 0 #788791; }
.research-lane.is-needs > header { box-shadow: inset 4px 0 #c88a25; }
.research-lane.is-movement > header { box-shadow: inset 4px 0 #397da5; }
.research-lane-intro { margin: 0; padding: 10px 18px; border-bottom: 1px solid #e6ebee; color: #6a7781; font-size: .8rem; }
.research-lane-disclosure {
  margin: 0;
  padding: 10px 22px;
  border-bottom: 1px solid #e6ebee;
  background: #f6f8f9;
  color: #5e6f79;
  font-size: .75rem;
}
.research-lane-empty { padding: 25px 22px; color: #687783; }
.research-lane-empty strong { color: #334654; }
.research-lane-empty p { margin: 6px 0 0; line-height: 1.5; }

.research-hypothesis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.research-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.research-product-card {
  display: grid;
  gap: 13px;
  padding: 22px;
  border-right: 1px solid #e2e7ea;
  border-bottom: 1px solid #e2e7ea;
}
.research-product-card:nth-child(2n) { border-right: 0; }
.research-product-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.research-product-card header span {
  color: #256f99;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.research-product-card.is-qualified header span { color: #187548; }
.research-product-card.is-observed header span { color: #667681; }
.research-product-card header small { color: #7a8790; font-weight: 800; }
.research-product-card h3 { margin: 0; color: #263744; font-size: 1.13rem; }
.research-product-card > p { margin: 0; color: #61717d; font-size: .82rem; line-height: 1.5; }
.research-product-facts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
}
.research-product-facts span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px;
  border-radius: 9px;
  background: #f3f6f7;
  color: #6f7c86;
  font-size: .64rem;
}
.research-product-facts b {
  overflow: hidden;
  color: #263945;
  font-size: .88rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.research-missing-proof.is-passed {
  border-left-color: #369061;
  background: #edf8f2;
  color: #296946;
}
.research-commercial-caveat {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-left: 3px solid #b85b4e;
  background: #fff3f1;
  color: #704039;
  font-size: .74rem;
  line-height: 1.4;
}
.research-commercial-caveat.is-compliance {
  border-left-color: #b87921;
  background: #fff8e8;
  color: #6c5427;
}
.research-hypothesis-limit {
  display: grid;
  gap: 2px;
  padding: 9px 11px;
  border-left: 3px solid #82929c;
  background: #f3f6f7;
  color: #52636d;
  font-size: .72rem;
  line-height: 1.4;
}
.research-product-card footer {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: auto;
}
.research-product-card footer button {
  border: 1px solid #176a96;
  border-radius: 9px;
  background: #176a96;
  color: #fff;
  padding: 9px 12px;
  font-weight: 850;
  cursor: pointer;
}
.research-product-card footer a {
  color: #1d6288;
  font-size: .76rem;
  font-weight: 800;
}
.research-hypothesis-card {
  display: grid;
  gap: 12px;
  padding: 22px;
  border-right: 1px solid #e2e7ea;
  border-bottom: 1px solid #e2e7ea;
}
.research-hypothesis-card:nth-child(2n) { border-right: 0; }
.research-hypothesis-card header,
.research-movement-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.research-hypothesis-card header span,
.research-movement-card header span {
  color: #956314;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.research-hypothesis-card.status-validated header span { color: #187548; }
.research-hypothesis-card.status-rejected header span { color: #a3443b; }
.research-hypothesis-card header small,
.research-movement-card header small { color: #7a8790; font-weight: 800; }
.research-hypothesis-card h3,
.research-movement-card h3 { margin: 0; color: #263744; font-size: 1.06rem; }
.research-hypothesis-card p { margin: 0; color: #61717d; line-height: 1.5; }
.research-hypothesis-card > small { color: #78858e; }
.research-card-facts,
.research-movement-card > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.research-card-facts span,
.research-movement-card > div span {
  display: grid;
  gap: 2px;
  padding: 9px;
  border-radius: 9px;
  background: #f3f6f7;
  color: #6f7c86;
  font-size: .67rem;
}
.research-card-facts b,
.research-movement-card > div b { color: #263945; font-size: .94rem; }
.research-missing-proof {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-left: 3px solid #d79b33;
  background: #fff9ec;
  color: #785c28;
  font-size: .74rem;
}
.research-hypothesis-card footer { display: flex; gap: 8px; margin-top: auto; }
.research-hypothesis-card footer button.is-secondary {
  border-color: #c3d0d8;
  background: #fff;
  color: #39566a;
}
.research-hypothesis-card footer button.is-secondary[aria-pressed="true"] { background: #edf5f8; color: #135f86; }

.research-movement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.research-movement-card { display: grid; gap: 13px; padding: 22px; border-right: 1px solid #e2e7ea; border-bottom: 1px solid #e2e7ea; }
.research-movement-card:nth-child(2n) { border-right: 0; }
.research-movement-card header span { color: #2e7198; }
.research-movement-card p { margin: 0; color: #6b7882; font-size: .76rem; line-height: 1.45; }

.research-evidence-health { margin-top: 24px; border: 1px solid #d6dee3; border-radius: 14px; background: #fff; overflow: hidden; }
.research-evidence-health > summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 20px; cursor: pointer; }
.research-evidence-health > summary span { display: grid; gap: 3px; }
.research-evidence-health > summary small { color: #74818b; }
.research-evidence-health > summary b { font-size: 1.25rem; }
.research-evidence-health[open] > summary b { transform: rotate(45deg); }
#researchEvidenceHealthBody { border-top: 1px solid #e0e6ea; padding: 20px; }
.research-health-summary { display: grid; grid-template-columns: 1fr 2fr; gap: 10px; margin-bottom: 14px; }
.research-health-summary > div { display: grid; gap: 4px; padding: 12px; border-radius: 9px; background: #f3f6f7; }
.research-health-summary span { color: #71808a; font-size: .69rem; font-weight: 800; text-transform: uppercase; }
.research-health-summary strong { color: #314654; font-size: .82rem; }
.research-health-table { border: 1px solid #dfe5e9; border-radius: 10px; overflow: hidden; }
.research-health-table > div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 13px; border-bottom: 1px solid #e5eaed; }
.research-health-table > div:last-child { border-bottom: 0; }
.research-health-table span { color: #61717d; }
.research-health-table small { color: #7c8992; }
.research-health-blockers { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.research-health-blockers strong { width: 100%; font-size: .75rem; }
.research-health-blockers span { padding: 5px 8px; border: 1px solid #e2cf9d; border-radius: 999px; background: #fff8e7; color: #765d27; font-size: .68rem; }

.research-dossier { position: relative; margin-top: 24px; padding: 28px; border: 1px solid #bdcbd4; border-radius: 18px; background: #fff; box-shadow: 0 18px 50px rgba(17, 43, 59, .12); }
.research-dossier-close { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #edf1f3; color: #455865; font-size: 1.25rem; cursor: pointer; }
.research-dossier-head { padding-right: 42px; }
.research-dossier-head > span { color: #956314; font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.research-dossier-head h2 { margin: 7px 0; font-size: 1.65rem; }
.research-dossier-head p { max-width: 800px; margin: 0; color: #61717d; line-height: 1.55; }
.research-dossier-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin: 20px 0; }
.research-dossier-facts > div { display: grid; gap: 4px; padding: 11px; border-radius: 9px; background: #f2f5f6; }
.research-dossier-facts span { color: #74818b; font-size: .67rem; text-transform: uppercase; }
.research-dossier-missing { padding: 14px; border-left: 3px solid #d79b33; background: #fff8e8; }
.research-dossier-missing h3,
.research-dossier-evidence h3 { margin: 0 0 6px; font-size: .86rem; }
.research-dossier-missing p { margin: 0; color: #715a28; }
.research-dossier-evidence { margin-top: 22px; }
.research-dossier-evidence-summary { margin: 0 0 10px; color: #647580; font-size: .78rem; line-height: 1.5; }
.research-dossier-evidence article { padding: 14px 0; border-top: 1px solid #e0e5e8; }
.research-dossier-evidence article header,
.research-dossier-evidence article footer { display: flex; justify-content: space-between; gap: 14px; }
.research-dossier-evidence article header span,
.research-dossier-evidence article footer { color: #79868f; font-size: .72rem; }
.research-dossier-evidence article p { margin: 9px 0; color: #384b58; line-height: 1.5; }
.research-dossier-evidence a { color: #17658e; font-weight: 800; }
.research-dossier-limit { display: grid; gap: 4px; padding-top: 16px; border-top: 1px solid #dfe5e8; color: #6f7c85; font-size: .76rem; }
.research-dossier-limit strong { color: #354957; }
.research-pipeline { margin: 22px 0; }
.research-pipeline h3 { margin: 0 0 11px; font-size: .9rem; }
.research-pipeline ol {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.research-pipeline li {
  display: grid;
  grid-template-columns: 25px 1fr;
  gap: 7px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #e0c986;
  border-radius: 10px;
  background: #fff9e9;
}
.research-pipeline li > span {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: #d4952b;
  color: #fff;
  font-weight: 900;
}
.research-pipeline li > div { display: grid; gap: 4px; min-width: 0; }
.research-pipeline li strong { color: #3c4e59; font-size: .72rem; line-height: 1.3; }
.research-pipeline li small { color: #78612d; font-size: .63rem; line-height: 1.35; }
.research-pipeline li.is-passed { border-color: #b8dbc8; background: #eef8f2; }
.research-pipeline li.is-passed > span { background: #2f8a5c; }
.research-pipeline li.is-passed small { color: #347052; }
.research-pipeline li.is-deferred {
  border-color: #d9dfe3;
  background: #f5f7f8;
  opacity: .68;
}
.research-pipeline li.is-deferred > span { background: #9aa7af; }
.research-pipeline li.is-deferred small { color: #6f7c84; }
.research-pipeline-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 9px;
  margin: 18px 0;
}
.research-pipeline-summary > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 9px;
  background: #f2f5f6;
}
.research-pipeline-summary span { color: #74818b; font-size: .67rem; text-transform: uppercase; }
.research-pipeline-summary strong { color: #2d424f; font-size: 1rem; }
.research-radar-method { margin: 18px 2px 0; color: #78858e; font-size: .73rem; }

.research-radar-skeleton { display: grid; gap: 12px; padding: 28px; }
.research-radar-skeleton i { display: block; height: 14px; border-radius: 999px; background: linear-gradient(90deg, #edf1f3 25%, #f8fafb 50%, #edf1f3 75%); background-size: 200% 100%; animation: research-radar-pulse 1.2s infinite linear; }
.research-radar-skeleton i:nth-child(1) { width: 35%; height: 25px; }
.research-radar-skeleton i:nth-child(2) { width: 80%; }
.research-radar-skeleton i:nth-child(3) { width: 60%; }
.research-radar-skeleton.is-list i { width: 100%; height: 42px; }
.research-loading-state { display: grid; gap: 5px; padding: 8px 36px 0 0; }
.research-loading-state > strong { color: #2d424f; font-size: 1rem; }
.research-loading-state > small { color: #6f7e88; line-height: 1.45; }
.research-loading-state .research-radar-skeleton { padding: 18px 0 0; }
@keyframes research-radar-pulse { to { background-position: -200% 0; } }
.research-radar-failure { padding: 28px; }
.research-radar-failure p { color: #667581; }

/* Keep the service warning visible without pushing catalog results away. */
.research-verdict > .research-radar-failure {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 6px 16px;
  padding: 16px 20px;
}
.research-verdict > .research-radar-failure > strong { grid-column: 1; }
.research-verdict > .research-radar-failure > p {
  grid-column: 1;
  margin: 0;
  line-height: 1.45;
}
.research-verdict > .research-radar-failure > button {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  min-height: 44px;
}

@media (max-width: 820px) {
  .research-radar { padding: 18px 12px 60px; }
  .research-radar-head { align-items: stretch; flex-direction: column; gap: 12px; }
  .research-radar-refresh { align-self: start; }
  .research-product-browser {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .research-product-browser > b {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 6px 10px;
  }
  .research-verdict-main { grid-template-columns: 1fr; }
  .research-verdict-main > aside { border-top: 1px solid #dbe3e8; border-left: 0; }
  .research-collection-activity > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-collection-activity article:nth-child(2) { border-right: 0; }
  .research-collection-activity article:nth-child(-n + 2) { border-bottom: 1px solid #e3e9ec; }
  .research-collection-grid { grid-template-columns: 1fr; }
  .research-collection-card {
    border-right: 0;
    border-bottom: 1px solid #e0e6e9;
  }
  .research-collection-card:last-child { border-bottom: 0; }
  .research-hypothesis-grid,
  .research-product-grid,
  .research-movement-grid { grid-template-columns: 1fr; }
  .research-hypothesis-card,
  .research-product-card,
  .research-movement-card { border-right: 0; }
  .research-product-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-pipeline { overflow-x: auto; }
  .research-pipeline ol { min-width: 980px; }
  .research-dossier-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-pipeline-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .research-market-switch { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-market-switch button { padding: 10px 12px; }
  .research-verdict > .research-radar-failure { grid-template-columns: 1fr; }
  .research-verdict > .research-radar-failure > button {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }
  .research-verdict-main > div,
  .research-verdict-main > aside { padding: 21px; }
  .research-collection > header {
    align-items: start;
    flex-direction: column;
    padding: 20px;
  }
  .research-collection-activity > header {
    align-items: start;
    flex-direction: column;
    gap: 5px;
  }
  .research-collection-activity > div { grid-template-columns: 1fr; }
  .research-collection-activity article,
  .research-collection-activity article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #e3e9ec;
  }
  .research-collection-activity article:last-child { border-bottom: 0; }
  .research-collection > footer { flex-direction: column; }
  .research-collection-card > header {
    align-items: start;
    flex-direction: column;
  }
  .research-collection-card > header > small { white-space: normal; }
  .research-card-facts,
  .research-movement-card > div { grid-template-columns: 1fr; }
  .research-hypothesis-card footer { align-items: stretch; flex-direction: column; }
  .research-health-summary,
  .research-dossier-facts { grid-template-columns: 1fr; }
  .research-dossier { padding: 22px 17px; }
  .research-dossier-evidence article header,
  .research-dossier-evidence article footer { align-items: start; flex-direction: column; }
}
