:root {
  color-scheme: light;
  --ink: #17211d;
  --muted: #667069;
  --paper: #f3efe6;
  --surface: #fffdf9;
  --line: #cfc7b9;
  --sage: #617767;
  --sage-soft: #dfe6dc;
  --terracotta: #b86143;
  --terracotta-soft: #f2ddd3;
  --gold-soft: #efe3cc;
  --shadow: 0 24px 60px rgba(38, 40, 31, 0.12);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

body {
  background:
    radial-gradient(circle at 10% 0%, rgba(184, 138, 66, 0.16), transparent 28rem),
    radial-gradient(circle at 90% 20%, rgba(97, 119, 103, 0.14), transparent 30rem),
    var(--paper);
  color: var(--ink);
  margin: 0;
  min-height: 100vh;
}

button, input, select { font: inherit; }
button { transition: opacity 140ms ease, transform 140ms ease; }
button:not(:disabled):active { transform: translateY(1px); }

.pipeline-shell {
  margin: 0 auto;
  max-width: 1440px;
  padding: 28px clamp(20px, 4vw, 64px) 64px;
}

.pipeline-nav {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 54px;
}

.pipeline-nav a { color: var(--ink); font-weight: 700; text-decoration: none; }
.pipeline-nav span { color: var(--muted); font-size: 0.82rem; letter-spacing: 0.1em; text-transform: uppercase; }

.pipeline-header {
  align-items: end;
  display: flex;
  gap: 32px;
  justify-content: space-between;
  margin-bottom: 28px;
}

.pipeline-eyebrow { color: var(--terracotta); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.14em; margin: 0 0 12px; text-transform: uppercase; }
.pipeline-header h1 { font-family: Fraunces, Georgia, serif; font-size: clamp(2.6rem, 5vw, 5.4rem); font-weight: 500; letter-spacing: -0.05em; line-height: 0.96; margin: 0; }
.pipeline-intro { color: var(--muted); line-height: 1.6; margin: 20px 0 0; max-width: 720px; }

.pipeline-status {
  background: var(--sage-soft);
  border-radius: 999px;
  color: var(--sage);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 10px 15px;
  text-transform: uppercase;
}

.pipeline-status[data-state="running"] { background: var(--gold-soft); color: #845c18; }
.pipeline-status[data-state="failed"] { background: var(--terracotta-soft); color: #943f2b; }

.pipeline-header-meta { align-items: flex-end; display: grid; flex: 0 0 auto; gap: 9px; justify-items: end; }
.pipeline-quota { color: var(--muted); font-size: 0.74rem; font-weight: 700; text-align: right; }
.pipeline-quota[data-state="exhausted"] { color: #943f2b; }

.pipeline-form {
  align-items: end;
  background: rgba(255, 253, 249, 0.82);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 18px;
}

.pipeline-source-input { display: grid; gap: 13px; min-width: 0; }
.pipeline-source-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.pipeline-source-tabs button {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--muted);
  min-height: 38px;
  padding: 7px 13px;
}
.pipeline-source-tabs button[aria-pressed="true"] {
  background: var(--sage-soft);
  border-color: var(--sage);
  color: var(--ink);
}
.pipeline-field { display: grid; gap: 8px; }
.pipeline-field span { font-size: 0.82rem; font-weight: 700; }
.pipeline-field input { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; color: var(--ink); min-height: 48px; padding: 10px 14px; width: 100%; }
.pipeline-field input:focus { border-color: var(--sage); outline: 3px solid rgba(97, 119, 103, 0.16); }

.pipeline-form button {
  background: var(--ink);
  border: 0;
  border-radius: 12px;
  color: var(--surface);
  cursor: pointer;
  font-weight: 800;
  min-height: 48px;
  padding: 10px 22px;
}
.pipeline-form button:disabled { cursor: wait; opacity: 0.55; }
.pipeline-form-actions { align-items: stretch; display: flex; flex-direction: column; gap: 8px; min-width: 178px; }
.pipeline-form-actions .pipeline-retry-action { background: var(--surface); border: 1px solid var(--terracotta); color: var(--terracotta); }

.pipeline-carousel { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; display: grid; gap: 12px; padding: 13px; }
.pipeline-carousel-heading { align-items: center; display: flex; gap: 16px; justify-content: space-between; }
.pipeline-carousel-heading > div:first-child { display: grid; gap: 3px; }
.pipeline-carousel-heading strong { font-size: 0.84rem; }
.pipeline-carousel-heading span { color: var(--muted); font-size: 0.74rem; }
.pipeline-carousel-selection-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.pipeline-carousel-heading > button,
.pipeline-carousel-selection-actions button {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  cursor: pointer;
  font-weight: 800;
  min-height: 34px;
  padding: 6px 10px;
}
.pipeline-carousel-heading > button:disabled,
.pipeline-carousel-selection-actions button:disabled { cursor: wait; opacity: 0.55; }
.pipeline-carousel-summary { align-items: center; display: grid; gap: 12px; grid-template-columns: minmax(0, auto) minmax(180px, 1fr); }
.pipeline-carousel-summary p { color: var(--muted); font-size: 0.78rem; line-height: 1.45; margin: 0; }
.pipeline-carousel-preview { align-items: center; display: flex; min-height: 52px; padding-left: 7px; }
.pipeline-carousel-preview button {
  aspect-ratio: 1;
  background: #242925;
  border: 2px solid var(--surface);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(37, 40, 34, 0.14);
  cursor: pointer;
  height: 52px;
  margin-left: -7px;
  overflow: hidden;
  padding: 0;
  position: relative;
}
.pipeline-carousel-preview button:first-child { margin-left: 0; }
.pipeline-carousel-preview button:focus-visible { outline: 3px solid rgba(97, 119, 103, 0.24); outline-offset: 2px; z-index: 2; }
.pipeline-carousel-preview img { display: block; height: 100%; object-fit: cover; width: 100%; }
.pipeline-carousel-preview-count { align-content: center; background: var(--sage-soft); border: 2px solid var(--surface); border-radius: 999px; color: var(--ink); display: grid; font-size: 0.72rem; font-weight: 800; height: 38px; justify-content: center; margin-left: -5px; min-width: 38px; padding: 0 7px; position: relative; }
.pipeline-carousel-preview-empty { color: var(--muted); font-size: 0.74rem; font-weight: 700; }
.pipeline-carousel-selection-editor { border-top: 1px solid var(--line); display: grid; gap: 10px; padding-top: 12px; }
.pipeline-carousel-selection-editor[hidden] { display: none; }
.pipeline-carousel-grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(116px, 1fr)); }
.pipeline-carousel-card { background: #f5f1e9; border: 1px solid var(--line); border-radius: 11px; display: grid; gap: 8px; min-width: 0; overflow: hidden; padding: 8px; }
.pipeline-carousel-card.is-selected { border-color: var(--sage); box-shadow: inset 0 0 0 2px var(--sage); }
.pipeline-carousel-card.is-video { opacity: 0.68; }
.pipeline-carousel-thumb {
  aspect-ratio: 1;
  background: #242925;
  border: 0;
  border-radius: 8px;
  min-height: 0 !important;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
}
.pipeline-carousel-thumb img { display: block; height: 100%; object-fit: cover; width: 100%; }
.pipeline-carousel-thumb span { align-content: center; color: var(--surface); display: grid; height: 100%; padding: 8px; text-align: center; }
.pipeline-carousel-card label { align-items: center; cursor: pointer; display: flex; font-size: 0.75rem; font-weight: 800; gap: 7px; }
.pipeline-carousel-card input { accent-color: var(--sage); margin: 0; }
.pipeline-carousel-card small { color: var(--muted); font-size: 0.68rem; }

.pipeline-upload-source { display: grid; gap: 10px; }
.pipeline-upload-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.pipeline-upload-actions button { background: var(--surface); border: 1px solid var(--ink); color: var(--ink); }
.pipeline-source-preview {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 13px;
  display: grid;
  gap: 12px;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  padding: 10px;
}
.pipeline-source-preview img { background: #ece9e1; border-radius: 9px; height: 58px; object-fit: cover; width: 64px; }
.pipeline-source-preview > div { display: grid; gap: 4px; min-width: 0; }
.pipeline-source-preview strong { font-size: 0.82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pipeline-source-preview span { color: var(--muted); font-size: 0.72rem; }
.pipeline-source-preview button { background: transparent; border: 1px solid var(--line); color: var(--terracotta); min-height: 38px; padding: 7px 11px; }
.pipeline-upload-help { color: var(--muted); font-size: 0.75rem; margin: 0; }

.pipeline-error { background: var(--terracotta-soft); border: 1px solid #d59b89; border-radius: 12px; color: #793321; margin: 14px 0 0; padding: 12px 14px; }

.pipeline-grid { display: grid; gap: 18px; grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr); margin-top: 22px; }
.pipeline-panel { background: rgba(255, 253, 249, 0.9); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); min-width: 0; padding: 20px; }
.pipeline-panel-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 16px; }
.pipeline-panel h2 { font-family: Fraunces, Georgia, serif; font-size: 1.45rem; font-weight: 500; margin: 0; }
.pipeline-batch-progress { color: var(--muted); font-size: 0.72rem; font-weight: 800; text-align: right; }

.pipeline-result-tabs { border-bottom: 1px solid var(--line); display: flex; gap: 7px; margin: -2px 0 14px; overflow-x: auto; padding-bottom: 9px; }
.pipeline-result-tab {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.74rem;
  font-weight: 800;
  gap: 7px;
  min-height: 38px;
  padding: 7px 11px;
}
.pipeline-result-tab[aria-selected="true"] { background: var(--ink); border-color: var(--ink); color: var(--surface); }
.pipeline-result-tab::after { background: var(--line); border-radius: 999px; content: ""; height: 8px; width: 8px; }
.pipeline-result-tab[data-state="running"]::after { background: #d9ac5f; }
.pipeline-result-tab[data-state="completed"]::after { background: #76a47f; }
.pipeline-result-tab[data-state="failed"]::after { background: #c65f43; }
.pipeline-result-tab[data-state="blocked"]::after { background: #9b8e7c; }

.pipeline-transcript { display: flex; flex-direction: column; gap: 10px; max-height: 680px; min-height: 420px; overflow-y: auto; }
.pipeline-empty { align-self: center; color: var(--muted); margin: auto; }
.pipeline-message { align-self: flex-start; background: var(--sage-soft); border: 1px solid transparent; border-radius: 16px 16px 16px 4px; max-width: 92%; padding: 11px 13px; }
.pipeline-message.user { align-self: flex-end; background: var(--ink); border-radius: 16px 16px 4px; color: var(--surface); }
.pipeline-message.running { background: var(--gold-soft); }
.pipeline-message.failed { background: var(--terracotta-soft); border-color: #d59b89; }
.pipeline-message p { line-height: 1.45; margin: 0; overflow-wrap: anywhere; }

.pipeline-placeholder { align-content: center; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); display: grid; min-height: 420px; padding: 30px; text-align: center; }
.pipeline-result { display: grid; gap: 16px; }
.canonical-entities-panel { display: grid; gap: 14px; }
.canonical-entities-heading { align-items: center; display: flex; gap: 18px; justify-content: space-between; }
.canonical-entities-heading h3 { font-family: Fraunces, Georgia, serif; font-size: 1.55rem; font-weight: 500; margin: 0; }
.canonical-entities-heading .pipeline-eyebrow { margin-bottom: 5px; }
.canonical-entities-heading button {
  background: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 10px;
  color: var(--ink);
  cursor: pointer;
  font-weight: 800;
  min-height: 40px;
  padding: 8px 12px;
}
.canonical-entities-heading button:disabled { cursor: not-allowed; opacity: 0.45; }
.canonical-entities-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.canonical-entities-status { color: var(--muted); line-height: 1.5; margin: 0; }
.canonical-move-help { color: var(--muted); font-size: 0.74rem; line-height: 1.45; margin: -5px 0 0; }
.canonical-entities-grid { display: grid; gap: 12px; }
.canonical-domain-group { display: grid; gap: 9px; }
.canonical-domain-heading { align-items: baseline; border-bottom: 1px solid var(--line); display: flex; gap: 10px; justify-content: space-between; padding: 5px 2px 8px; }
.canonical-domain-heading h3 { font-family: Fraunces, Georgia, serif; font-size: 1.18rem; font-weight: 500; margin: 0; }
.canonical-domain-heading span { color: var(--muted); font-size: 0.7rem; font-weight: 800; }
.canonical-domain-entities { display: grid; gap: 9px; }
.canonical-entity-card { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.canonical-entity-card.is-drag-over { border-color: var(--sage); box-shadow: 0 0 0 3px rgba(80, 107, 84, 0.16); }
.canonical-entity-heading { align-items: start; cursor: pointer; display: flex; gap: 14px; justify-content: space-between; list-style: none; padding: 14px 42px 14px 14px; position: relative; }
.canonical-entity-heading::-webkit-details-marker { display: none; }
.canonical-entity-heading::after { color: var(--muted); content: "›"; font-size: 1.35rem; line-height: 1; position: absolute; right: 16px; top: 17px; transform: rotate(90deg); transition: transform 140ms ease; }
.canonical-entity-card[open] > .canonical-entity-heading::after { transform: rotate(-90deg); }
.canonical-entity-heading:focus-visible { outline: 3px solid rgba(97, 119, 103, 0.3); outline-offset: -3px; }
.canonical-entity-heading h3 { font-size: 1rem; margin: 0; }
.canonical-entity-heading p { color: var(--muted); font-size: 0.78rem; line-height: 1.5; margin: 5px 0 0; }
.canonical-entity-heading-actions { align-items: flex-end; display: grid; flex: 0 0 auto; gap: 7px; justify-items: end; }
.copy-text-control { align-items: center; display: inline-flex; flex: 0 0 auto; gap: 6px; }
.copy-text-button {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 800;
  min-height: 32px;
  padding: 5px 9px;
}
.copy-text-button:hover { border-color: var(--sage); color: var(--sage); }
.copy-text-button:focus-visible { outline: 3px solid rgba(97, 119, 103, 0.3); outline-offset: 2px; }
.copy-text-button:disabled { cursor: wait; opacity: 0.72; }
.copy-text-status { clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
.canonical-entity-heading-actions .copy-text-button { min-height: 30px; }
.canonical-confidence { background: var(--sage-soft); border-radius: 999px; color: var(--sage); flex: 0 0 auto; font-size: 0.68rem; font-weight: 800; padding: 6px 8px; }
.canonical-segment-count { color: var(--muted); font-size: 0.68rem; font-weight: 800; }
.canonical-entity-body { display: grid; gap: 13px; padding: 0 14px 14px; }
.canonical-entity-controls { align-items: start; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.canonical-entity-extraction, .canonical-segment-action { align-items: start; color: var(--muted); display: flex; font-size: 0.66rem; font-weight: 700; gap: 6px; line-height: 1.35; }
.canonical-entity-extraction input, .canonical-segment-action input { accent-color: var(--sage); flex: 0 0 auto; margin: 1px 0 0; }
.canonical-entity-extraction input:disabled, .canonical-segment-action input:disabled { cursor: not-allowed; opacity: 0.5; }
.canonical-segment-workspace-status { background: var(--sage-soft); border-radius: 999px; color: var(--sage); font-size: 0.64rem; font-weight: 800; justify-self: start; padding: 5px 8px; }
.canonical-segment-workspace-status.unavailable { background: var(--gold-soft); color: #845c18; border-radius: 8px; line-height: 1.35; }
.canonical-segment-gallery { display: grid; gap: 9px; grid-template-columns: repeat(auto-fill, minmax(116px, 148px)); }
.canonical-segment-item { display: grid; gap: 6px; min-width: 0; }
.canonical-segment-thumb { background: #ece9e1; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; display: grid; overflow: hidden; padding: 0; }
.canonical-segment-thumb.is-dragging { opacity: 0.5; }
.canonical-segment-thumb img { aspect-ratio: 1; display: block; object-fit: contain; width: 100%; }
.canonical-segment-thumb span { background: var(--surface); border-top: 1px solid var(--line); color: var(--muted); font-size: 0.68rem; font-weight: 800; padding: 6px; }
.canonical-segment-management { display: grid; gap: 6px; }
.canonical-segment-move { display: grid; gap: 5px; }
.canonical-segment-move button, .canonical-segment-delete { background: var(--surface); border: 1px solid var(--line); border-radius: 7px; color: var(--ink); cursor: pointer; font: inherit; font-size: 0.66rem; font-weight: 800; min-height: 30px; padding: 5px 7px; width: 100%; }
.canonical-segment-move button:focus-visible, .canonical-segment-delete:focus-visible, .canonical-segment-move select:focus-visible { outline: 3px solid rgba(97, 119, 103, 0.3); outline-offset: 2px; }
.canonical-segment-move button:disabled, .canonical-segment-delete:disabled { cursor: not-allowed; opacity: 0.5; }
.canonical-segment-delete { border-color: #b86c59; color: #943f2b; }
.canonical-segment-move select { background: var(--surface); border: 1px solid var(--line); border-radius: 7px; color: var(--ink); font-size: 0.62rem; font-weight: 700; min-height: 30px; min-width: 0; padding: 4px; width: 100%; }
.canonical-segment-empty { color: var(--muted); font-size: 0.72rem; margin: 0; }
.pipeline-image-stage { background: #151a17; border-radius: 14px; height: min(68vh, 680px); min-height: 420px; overflow: hidden; position: relative; }
.pipeline-image-stage img { display: block; height: 100%; object-fit: contain; width: 100%; }
.pipeline-image-stage svg { height: 100%; inset: 0; pointer-events: none; position: absolute; width: 100%; }
.pipeline-image-stage.point-recovery-active { cursor: crosshair; outline: 3px solid rgba(184, 97, 67, 0.34); outline-offset: 3px; }

.point-recovery { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; display: grid; gap: 13px; padding: 15px; }
.point-recovery-heading { align-items: start; display: flex; gap: 18px; justify-content: space-between; }
.point-recovery-heading h3 { font-family: Fraunces, Georgia, serif; font-size: 1.25rem; font-weight: 500; margin: 0; }
.point-recovery-heading p { color: var(--muted); font-size: 0.82rem; line-height: 1.5; margin: 6px 0 0; max-width: 620px; }
.point-recovery button { background: var(--surface); border: 1px solid var(--ink); border-radius: 10px; color: var(--ink); cursor: pointer; font-size: 0.78rem; font-weight: 800; min-height: 40px; padding: 8px 12px; }
.point-recovery button:disabled { cursor: not-allowed; opacity: 0.45; }
.point-recovery-heading > button, .point-recovery-actions button:last-child, .point-recovery-map { background: var(--ink); color: var(--surface); }
.point-recovery-controls { align-items: center; background: #f5f1e9; border-radius: 11px; display: flex; gap: 14px; justify-content: space-between; padding: 11px; }
.point-recovery-controls p { color: var(--muted); font-size: 0.78rem; margin: 0; }
.point-recovery-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 7px; }
.point-recovery-error { background: var(--terracotta-soft); border: 1px solid #d59b89; border-radius: 10px; color: #793321; margin: 0; padding: 10px 11px; }
.point-recovery-results { border-top: 1px solid var(--line); padding-top: 13px; }
.point-recovery-results h4 { font-size: 0.82rem; margin: 0 0 10px; }
.point-recovery-candidates { display: grid; gap: 10px; }
.point-recovery-candidate { align-items: center; background: #f5f1e9; border: 1px solid var(--line); border-radius: 11px; display: grid; gap: 11px; grid-template-columns: 76px minmax(0, 1fr) auto; padding: 10px; }
.point-recovery-candidate > img { background: #242925; border-radius: 8px; height: 72px; object-fit: contain; width: 76px; }
.point-recovery-candidate-copy { display: grid; gap: 5px; min-width: 0; }
.point-recovery-candidate-copy strong { font-size: 0.82rem; }
.point-recovery-candidate-copy small { color: var(--muted); font-size: 0.72rem; }
.point-recovery-candidate-copy select { background: var(--surface); border: 1px solid var(--line); border-radius: 9px; color: var(--ink); max-width: 100%; min-height: 40px; padding: 7px 10px; }
.point-recovery-empty { color: var(--muted); font-size: 0.82rem; line-height: 1.5; margin: 0; }

.pipeline-description, .pipeline-entity-section { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 13px 15px; }
.pipeline-description summary, .pipeline-entity-section summary { cursor: pointer; font-weight: 800; }
.pipeline-description-body { align-items: start; display: flex; gap: 14px; justify-content: space-between; margin-top: 12px; }
.pipeline-description p { color: var(--muted); flex: 1 1 auto; line-height: 1.6; margin: 0; white-space: pre-wrap; }

.pipeline-entity-section { margin: 0; }
.pipeline-entity-content { margin-top: 12px; }
.pipeline-entities { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pipeline-entity { background: var(--surface); border: 1px solid var(--line); border-radius: 11px; padding: 10px; }
.pipeline-entity-card { align-content: start; display: grid; gap: 10px; min-width: 0; }
.pipeline-entity-heading { align-items: start; display: flex; gap: 10px; justify-content: space-between; }
.pipeline-entity-heading .pipeline-entity-select { flex: 1 1 auto; min-width: 0; }
.pipeline-entity-select { align-items: start; cursor: pointer; display: flex; gap: 10px; }
.pipeline-entity-select:has(input:disabled) { cursor: default; }
.pipeline-entity input { margin-top: 3px; }
.pipeline-entity-select span { display: grid; gap: 3px; min-width: 0; }
.pipeline-entity strong { overflow-wrap: anywhere; }
.pipeline-entity small { color: var(--muted); }
.pipeline-segment-thumbnails { display: grid; gap: 7px; grid-template-columns: repeat(auto-fill, minmax(58px, 72px)); }
.pipeline-segment-thumbnail {
  aspect-ratio: 1;
  background-color: #ece9e1;
  background-image: linear-gradient(45deg, rgba(84, 77, 66, 0.08) 25%, transparent 25%), linear-gradient(-45deg, rgba(84, 77, 66, 0.08) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(84, 77, 66, 0.08) 75%), linear-gradient(-45deg, transparent 75%, rgba(84, 77, 66, 0.08) 75%);
  background-position: 0 0, 0 6px, 6px -6px, -6px 0;
  background-size: 12px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: pointer;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
}
.pipeline-segment-thumbnail:focus-visible { outline: 3px solid rgba(97, 119, 103, 0.3); outline-offset: 2px; }
.pipeline-segment-thumbnail img { display: block; height: 100%; object-fit: contain; width: 100%; }
.pipeline-segment-thumbnail.is-selected { border-color: var(--sage); box-shadow: inset 0 0 0 2px var(--sage); }
.pipeline-segment-thumbnail.is-selected::after {
  align-items: center;
  background: var(--sage);
  border-radius: 999px;
  color: var(--surface);
  content: "✓";
  display: flex;
  font-size: 0.7rem;
  font-weight: 900;
  height: 20px;
  justify-content: center;
  position: absolute;
  right: 4px;
  top: 4px;
  width: 20px;
}
.pipeline-segment-thumbnail-status { align-content: center; color: var(--muted); display: grid; font-size: 0.64rem; height: 100%; line-height: 1.3; padding: 6px; text-align: center; }
.pipeline-segment-thumbnail-status.error { color: #943f2b; }

.pipeline-section-copy { color: var(--muted); font-size: 0.86rem; line-height: 1.5; margin: 0 0 10px; }
.pipeline-selection-status { color: #943f2b; font-size: 0.78rem; font-weight: 700; margin: 12px 0 0; }
.pipeline-selection-status[data-state="selected"] { color: var(--sage); }
.pipeline-secondary-action {
  background: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 11px;
  color: var(--ink);
  cursor: pointer;
  font-weight: 800;
  margin-top: 12px;
  min-height: 44px;
  padding: 9px 15px;
}
.pipeline-secondary-action:disabled { cursor: not-allowed; opacity: 0.45; }

.crop-workflow {
  background: rgba(255, 253, 249, 0.92);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow);
  margin-top: 24px;
  padding: clamp(20px, 3vw, 34px);
}
.crop-workflow:focus-visible { outline: 4px solid rgba(97, 119, 103, 0.3); outline-offset: 4px; }
.crop-workflow-heading { align-items: end; display: flex; gap: 28px; justify-content: space-between; }
.crop-workflow-heading h2 { font-family: Fraunces, Georgia, serif; font-size: clamp(1.9rem, 3vw, 3.1rem); font-weight: 500; letter-spacing: -0.035em; margin: 0; }
.crop-workflow-heading > div > p:last-child { color: var(--muted); line-height: 1.55; margin: 12px 0 0; max-width: 720px; }
.crop-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }
.crop-actions button, .search-result-actions button, .search-result-actions a {
  align-items: center;
  background: var(--ink);
  border: 1px solid var(--ink);
  border-radius: 10px;
  color: var(--surface);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  justify-content: center;
  min-height: 40px;
  padding: 8px 13px;
  text-decoration: none;
}
.crop-actions button:nth-child(1) { background: var(--surface); color: var(--ink); }
.crop-actions button:nth-child(2) { background: var(--terracotta); border-color: var(--terracotta); }
.crop-actions button:last-child { background: var(--terracotta); border-color: var(--terracotta); }
.crop-actions button:disabled, .search-result-actions button:disabled { cursor: not-allowed; opacity: 0.42; }
.segment-workspace-status { color: var(--muted); font-size: 0.78rem; font-weight: 750; margin: 15px 0 0; }
.segment-index-collections { border: 1px solid var(--line); border-radius: 13px; display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 16px 0 0; padding: 12px 14px 14px; }
.segment-index-collections[hidden] { display: none; }
.segment-index-collections legend { color: var(--muted); font-size: 0.7rem; font-weight: 800; padding: 0 6px; text-transform: uppercase; }
.segment-index-collections label { align-items: center; display: inline-flex; font-size: 0.74rem; font-weight: 750; gap: 6px; }
.segment-index-collections input { accent-color: var(--terracotta); margin: 0; }
.crop-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.crop-card { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; min-width: 0; overflow: hidden; padding: 16px; }
.segment-workspace-card:has(.crop-search-choice input:checked) { border-color: var(--sage); box-shadow: 0 0 0 3px rgba(80, 107, 84, 0.12); }
.crop-card-heading { align-items: start; display: flex; gap: 16px; justify-content: space-between; }
.crop-card h3 { font-family: Fraunces, Georgia, serif; font-size: 1.35rem; font-weight: 500; margin: 0; }
.crop-dimensions { color: var(--muted); font-size: 0.75rem; margin: 4px 0 0; }
.crop-search-choice { align-items: center; cursor: pointer; display: flex; font-size: 0.76rem; font-weight: 700; gap: 7px; white-space: nowrap; }
.crop-search-managed { color: var(--muted); font-size: 0.7rem; line-height: 1.4; max-width: 180px; text-align: right; }
.crop-comparison { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
.crop-visual { background: #ece9e1; border: 1px solid var(--line); border-radius: 12px; display: grid; margin: 0; min-height: 220px; overflow: hidden; position: relative; }
.crop-visual img { align-self: center; display: block; height: 190px; object-fit: contain; padding: 10px; width: 100%; }
.crop-visual figcaption { background: rgba(255, 253, 249, 0.94); border-top: 1px solid var(--line); color: var(--muted); font-size: 0.72rem; font-weight: 700; padding: 8px 10px; }
.crop-visual-placeholder > div { align-content: center; color: var(--muted); display: grid; font-size: 0.78rem; line-height: 1.5; padding: 18px; text-align: center; }
.crop-qa { align-items: start; display: flex; flex-wrap: wrap; gap: 8px 12px; margin-top: 13px; }
.crop-qa small { color: var(--muted); line-height: 1.45; padding-top: 3px; }
.crop-qa ul { color: var(--muted); flex-basis: 100%; font-size: 0.8rem; line-height: 1.5; margin: 1px 0 0; padding-left: 18px; }
.crop-badge { border-radius: 999px; display: inline-block; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.04em; padding: 6px 9px; text-transform: uppercase; }
.crop-badge.pending { background: var(--gold-soft); color: #845c18; }
.crop-badge.flagged { background: var(--terracotta-soft); color: #943f2b; }
.crop-badge.ready { background: var(--sage-soft); color: var(--sage); }

.search-results-section, .moodboard-section { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 26px; }
.crop-section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 16px; }
.crop-section-heading h3 { font-family: Fraunces, Georgia, serif; font-size: 1.75rem; font-weight: 500; margin: 0; }
.crop-section-heading .pipeline-eyebrow { margin-bottom: 7px; }
.crop-section-heading > span { color: var(--muted); font-size: 0.8rem; font-weight: 800; }
.search-results-intro { color: var(--muted); line-height: 1.5; margin: 7px 0 0; max-width: 660px; }
.segment-index-results { background: linear-gradient(145deg, rgba(239, 244, 237, 0.72), rgba(255, 255, 255, 0)); }
.segment-index-result-group { display: grid; gap: 14px; }
.segment-index-result-group + .segment-index-result-group { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 24px; }
.segment-index-result-heading { align-items: center; display: flex; gap: 12px; }
.segment-index-result-heading img { background: #ece9e1; border: 1px solid var(--line); border-radius: 9px; height: 58px; object-fit: contain; width: 72px; }
.segment-index-result-heading h4 { font-family: Fraunces, Georgia, serif; font-size: 1.2rem; font-weight: 500; margin: 0; }
.segment-index-result-heading p { color: var(--muted); font-size: 0.76rem; margin: 3px 0 0; }
.segment-index-result-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.segment-index-result-card { background: var(--surface); border: 1px solid var(--line); border-radius: 13px; display: grid; min-width: 0; overflow: hidden; }
.segment-index-result-card > img { background: #ece9e1; height: 190px; object-fit: contain; width: 100%; }
.segment-index-result-copy { display: grid; gap: 6px; padding: 11px 12px 12px; }
.segment-index-result-copy strong { font-size: 0.84rem; line-height: 1.35; overflow-wrap: anywhere; }
.segment-index-result-copy small { color: var(--muted); font-size: 0.72rem; line-height: 1.4; overflow-wrap: anywhere; }
.segment-index-result-copy a { color: var(--terracotta); font-size: 0.72rem; font-weight: 800; }
.segment-index-collection { color: var(--sage); font-size: 0.66rem; font-weight: 850; letter-spacing: 0.04em; text-transform: uppercase; }
.segment-index-error, .segment-index-warning { border-radius: 9px; font-size: 0.76rem; line-height: 1.45; margin: 0; padding: 9px 11px; }
.segment-index-error { background: var(--terracotta-soft); color: #793321; }
.segment-index-warning { background: var(--gold-soft); color: #845c18; }
.segment-index-retry { background: var(--surface); border: 1px solid var(--ink); border-radius: 9px; color: var(--ink); cursor: pointer; font-size: 0.74rem; font-weight: 800; justify-self: start; min-height: 36px; padding: 7px 10px; }
.segment-index-retry:disabled { cursor: not-allowed; opacity: 0.45; }
.segment-index-pagination { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; }
.segment-index-pagination button { background: var(--surface); border: 1px solid var(--line); border-radius: 7px; color: var(--ink); cursor: pointer; min-height: 32px; min-width: 32px; }
.segment-index-pagination button.active { background: var(--ink); color: var(--surface); }
.segment-index-pagination button:disabled { cursor: default; opacity: 0.72; }
.china-search-section { background: linear-gradient(145deg, rgba(249, 242, 231, 0.72), rgba(255, 255, 255, 0)); }
.china-search-result-group { display: grid; gap: 14px; }
.china-search-result-group + .china-search-result-group { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 24px; }
.china-search-result-heading { align-items: center; display: flex; gap: 12px; }
.china-search-result-heading img { background: #ece9e1; border: 1px solid var(--line); border-radius: 9px; height: 58px; object-fit: contain; width: 72px; }
.china-search-result-heading h4 { font-family: Fraunces, Georgia, serif; font-size: 1.2rem; font-weight: 500; margin: 0; }
.china-search-result-heading p { color: var(--muted); font-size: 0.76rem; margin: 3px 0 0; }
.china-search-result-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.china-product-card { background: var(--surface); border: 1px solid var(--line); border-radius: 13px; display: grid; min-width: 0; overflow: hidden; }
.china-product-card > img { background: #ece9e1; height: 190px; object-fit: contain; width: 100%; }
.china-product-copy { display: grid; gap: 7px; padding: 11px 12px 12px; }
.china-product-copy > strong { font-size: 0.84rem; line-height: 1.35; overflow-wrap: anywhere; }
.china-product-copy > small { color: var(--muted); font-size: 0.72rem; overflow-wrap: anywhere; }
.china-product-copy > p { display: -webkit-box; font-size: 0.76rem; line-height: 1.45; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.china-product-facts { display: grid; font-size: 0.72rem; gap: 3px 6px; grid-template-columns: auto minmax(0, 1fr); margin: 0; }
.china-product-facts dt { color: var(--muted); font-weight: 700; }
.china-product-facts dd { margin: 0; overflow-wrap: anywhere; }
.china-product-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.china-product-actions a { background: var(--surface); border: 1px solid var(--ink); border-radius: 8px; color: var(--ink); font-size: 0.72rem; font-weight: 700; min-height: 34px; padding: 7px 9px; text-decoration: none; }
.china-search-provider { color: var(--muted); font-size: 0.7rem; }
.search-result-group + .search-result-group { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 24px; }
.search-result-group-heading { align-items: center; display: flex; gap: 12px; margin-bottom: 12px; }
.search-result-group-heading img { background: #ece9e1; border: 1px solid var(--line); border-radius: 9px; height: 58px; object-fit: contain; width: 72px; }
.search-result-group-heading h4 { font-family: Fraunces, Georgia, serif; font-size: 1.2rem; font-weight: 500; margin: 0; }
.search-result-group-heading p { color: var(--muted); font-size: 0.76rem; margin: 3px 0 0; text-transform: capitalize; }
.search-result-grid, .moodboard-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.search-result-card, .moodboard-card { background: var(--surface); border: 1px solid var(--line); border-radius: 13px; display: grid; min-width: 0; overflow: hidden; }
.search-result-card > img, .moodboard-card > img { background: #ece9e1; height: 190px; object-fit: cover; width: 100%; }
.search-result-copy, .moodboard-card-copy { display: grid; gap: 4px; padding: 11px 12px 8px; }
.search-result-copy strong, .moodboard-card-copy strong { font-size: 0.84rem; line-height: 1.35; overflow-wrap: anywhere; }
.search-result-copy small, .moodboard-card-copy small { color: var(--muted); font-size: 0.72rem; overflow-wrap: anywhere; }
.search-result-card-text-only { align-content: start; }
.search-result-card-text-only .search-result-copy { padding-top: 15px; }
.search-result-frequency { color: var(--sage) !important; font-weight: 800; }
.grounded-match-confidence { font-weight: 800; text-transform: capitalize; }
.grounded-match-confidence.high { color: var(--sage) !important; }
.grounded-match-confidence.medium { color: #845c18 !important; }
.grounded-match-evidence { color: var(--muted); display: grid; font-size: 0.72rem; gap: 5px; line-height: 1.4; margin: 5px 0 0; padding-left: 17px; }
.search-result-group-error { color: var(--danger); font-size: 0.76rem; margin: -3px 0 12px; }
.search-result-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; padding: 5px 12px 12px; }
.search-result-actions button, .search-result-actions a { background: var(--surface); color: var(--ink); font-size: 0.72rem; min-height: 34px; padding: 6px 9px; }
.search-result-actions .moodboard-add { background: var(--ink); color: var(--surface); }
.search-result-actions .moodboard-remove { background: var(--surface); border-color: #b86c59; color: #943f2b; }
.search-result-retrieval-choice { align-items: center; cursor: pointer; display: inline-flex; font-size: 0.72rem; font-weight: 750; gap: 6px; margin-right: auto; }
.search-result-retrieval-choice input { accent-color: var(--terracotta); margin: 0; }
.product-retrieval-panel { background: var(--surface); border: 1px solid var(--line); border-radius: 13px; margin-bottom: 14px; overflow: hidden; }
.product-retrieval-controls { align-items: end; display: flex; flex-wrap: wrap; gap: 9px; padding: 13px; }
.product-retrieval-limit { display: grid; font-size: 0.7rem; font-weight: 800; gap: 5px; }
.product-retrieval-limit span { color: var(--muted); }
.product-retrieval-limit select { background: var(--surface); border: 1px solid var(--line); border-radius: 9px; color: var(--ink); min-height: 40px; padding: 7px 30px 7px 10px; }
.product-retrieval-controls button { border: 1px solid var(--ink); border-radius: 10px; cursor: pointer; font-size: 0.78rem; font-weight: 800; min-height: 40px; padding: 8px 13px; }
.product-retrieval-controls button:disabled, .product-retrieval-limit select:disabled { cursor: not-allowed; opacity: 0.45; }
.product-retrieval-secondary { background: var(--surface); color: var(--ink); }
.product-retrieval-submit { background: var(--terracotta); border-color: var(--terracotta) !important; color: var(--surface); }
.product-retrieval-error { background: var(--terracotta-soft); border-top: 1px solid #d59b89; color: #793321; margin: 0; padding: 11px 13px; }
.product-data-details { border-top: 1px solid var(--line); padding: 16px; }
.product-data-heading { align-items: baseline; display: flex; gap: 12px; justify-content: space-between; }
.product-data-heading h5 { font-family: Fraunces, Georgia, serif; font-size: 1.25rem; font-weight: 500; margin: 0; }
.product-data-heading span { color: var(--muted); font-size: 0.72rem; font-weight: 800; }
.product-data-description { line-height: 1.55; margin: 12px 0 0; }
.product-data-empty { color: var(--muted); line-height: 1.5; margin: 10px 0 0; }
.product-data-facts { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; }
.product-data-fact-column { background: #f5f1e9; border-radius: 11px; padding: 13px; }
.product-data-fact-column h6 { font-size: 0.76rem; letter-spacing: 0.06em; margin: 0; text-transform: uppercase; }
.product-data-fact-column ul { display: grid; gap: 10px; list-style: none; margin: 11px 0 0; padding: 0; }
.product-data-fact-column li { display: grid; gap: 3px; }
.product-data-fact-column li > span { font-size: 0.82rem; font-weight: 800; }
.product-data-fact-column small { color: var(--muted); font-size: 0.72rem; line-height: 1.4; }
.product-data-fact-column a, .product-data-sources a { color: var(--terracotta); font-size: 0.72rem; font-weight: 800; overflow-wrap: anywhere; }
.product-data-sources { margin-top: 15px; }
.product-data-sources summary { cursor: pointer; font-size: 0.78rem; font-weight: 800; }
.product-data-sources ol { display: grid; gap: 8px; margin-bottom: 0; padding-left: 22px; }
.product-data-sources li { padding-left: 3px; }
.product-data-sources li small { color: var(--muted); display: block; margin-top: 2px; }
.grounded-source-panel, .grounded-cost-panel { background: var(--surface); border: 1px solid var(--line); border-radius: 13px; margin-bottom: 14px; padding: 15px; }
.grounded-panel-heading { align-items: baseline; display: flex; gap: 10px; justify-content: space-between; }
.grounded-panel-heading h5 { font-family: Fraunces, Georgia, serif; font-size: 1.15rem; font-weight: 500; margin: 0; }
.grounded-panel-heading span { color: var(--muted); font-size: 0.68rem; font-weight: 800; text-align: right; }
.grounded-source-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 13px; }
.grounded-source-column { background: #f5f1e9; border-radius: 10px; min-width: 0; padding: 12px; }
.grounded-source-column h6 { font-size: 0.72rem; letter-spacing: 0.05em; margin: 0; text-transform: uppercase; }
.grounded-source-column ul { display: grid; gap: 11px; list-style: none; margin: 11px 0 0; padding: 0; }
.grounded-source-column li { display: grid; gap: 3px; min-width: 0; }
.grounded-source-column a { color: var(--terracotta); font-size: 0.78rem; font-weight: 800; overflow-wrap: anywhere; }
.grounded-source-column small, .grounded-source-empty { color: var(--muted); font-size: 0.7rem; line-height: 1.45; }
.grounded-source-empty { margin: 10px 0 0; }
.grounded-cost-list { display: grid; gap: 8px; margin-top: 13px; }
.grounded-cost-row { border: 1px solid var(--line); border-radius: 9px; display: grid; gap: 4px; padding: 10px 11px; }
.grounded-cost-row.total { background: var(--sage-soft); border-color: #b7c6b3; }
.grounded-cost-row strong { font-size: 0.76rem; overflow-wrap: anywhere; }
.grounded-cost-row span { font-size: 0.75rem; font-weight: 800; line-height: 1.4; }
.grounded-cost-row small { color: var(--muted); font-size: 0.68rem; line-height: 1.4; }
.grounded-query-details { margin-top: 3px; }
.grounded-query-details summary { color: var(--terracotta); cursor: pointer; font-size: 0.7rem; font-weight: 800; }
.grounded-query-details ol { color: var(--muted); display: grid; font-size: 0.68rem; gap: 4px; margin: 7px 0 0; padding-left: 20px; }
.grounded-cost-note { color: var(--muted); font-size: 0.68rem; line-height: 1.45; margin: 10px 0 0; }
.moodboard-empty { color: var(--muted); line-height: 1.55; margin: 0; }

.pipeline-image-dialog { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); color: var(--ink); max-height: calc(100vh - 40px); max-width: min(980px, calc(100vw - 40px)); padding: 14px; width: max-content; }
.pipeline-image-dialog::backdrop { background: rgba(15, 20, 17, 0.78); }
.pipeline-image-dialog-heading { align-items: center; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 11px; }
.pipeline-image-dialog-heading button { background: var(--surface); border: 1px solid var(--ink); border-radius: 9px; color: var(--ink); cursor: pointer; min-height: 38px; padding: 7px 11px; }
.pipeline-image-dialog img { display: block; max-height: calc(100vh - 120px); max-width: min(920px, calc(100vw - 70px)); object-fit: contain; }

@media (max-width: 900px) {
  .pipeline-grid { grid-template-columns: 1fr; }
  .pipeline-transcript, .pipeline-placeholder, .pipeline-image-stage { min-height: 320px; }
  .crop-workflow-heading { align-items: start; flex-direction: column; }
  .crop-actions { justify-content: flex-start; }
  .search-result-grid, .china-search-result-grid, .segment-index-result-grid, .moodboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .pipeline-shell { padding-inline: 14px; }
  .pipeline-header { align-items: start; flex-direction: column; }
  .pipeline-header-meta { align-items: start; justify-items: start; }
  .pipeline-quota { text-align: left; }
  .pipeline-form { grid-template-columns: 1fr; }
  .pipeline-form-actions { min-width: 0; }
  .pipeline-carousel-heading { align-items: stretch; flex-direction: column; }
  .pipeline-carousel-heading > button { width: 100%; }
  .pipeline-carousel-selection-actions { justify-content: flex-start; }
  .pipeline-carousel-summary { grid-template-columns: 1fr; }
  .pipeline-carousel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pipeline-source-preview { grid-template-columns: 54px minmax(0, 1fr); }
  .pipeline-source-preview img { height: 50px; width: 54px; }
  .pipeline-source-preview button { grid-column: 1 / -1; }
  .pipeline-entities { grid-template-columns: 1fr; }
  .pipeline-description-body { align-items: stretch; flex-direction: column; }
  .pipeline-description-body .copy-text-control { align-self: flex-start; }
  .point-recovery-heading, .point-recovery-controls { align-items: stretch; flex-direction: column; }
  .point-recovery-heading > button { width: 100%; }
  .point-recovery-candidate { grid-template-columns: 64px minmax(0, 1fr); }
  .point-recovery-candidate > img { height: 62px; width: 64px; }
  .point-recovery-map { grid-column: 1 / -1; }
  .crop-grid, .crop-comparison, .search-result-grid, .china-search-result-grid, .segment-index-result-grid, .moodboard-grid, .product-data-facts, .grounded-source-grid { grid-template-columns: 1fr; }
  .crop-card-heading { flex-direction: column; }
  .product-data-heading { align-items: start; flex-direction: column; }
}
