:root {
  --ebay-red: #ff1f1f;
  --ebay-blue: #0057ff;
  --ebay-yellow: #ffb600;
  --ebay-green: #80c41c;
  --bg: #ffffff;
  --panel: #ffffff;
  --panel-soft: #f7fafb;
  --panel-muted: #eef5f6;
  --panel-border: #d5e0e2;
  --ink: #191919;
  --muted: #707070;
  --line: #e5e5e5;
  --baydar-navy: #07164b;
  --baydar-teal: #119c95;
  --baydar-teal-dark: #087772;
  --baydar-teal-soft: #dff5f2;
  --baydar-teal-tint: rgba(17, 156, 149, 0.11);
  --baydar-chip-bg: rgba(17, 156, 149, 0.12);
  --baydar-chip-border: rgba(17, 156, 149, 0.34);
  --baydar-shadow-soft: 0 18px 36px -30px rgba(7, 22, 75, 0.38);
  --input-h: 38px;
  --accent: var(--baydar-teal);
  --accent-dark: var(--baydar-teal-dark);
  --green: #dfeee5;
  --green-ink: #185a34;
  --yellow: #fff4ce;
  --yellow-ink: #7a4d00;
  --red: #f8d7da;
  --red-ink: #8a1f2d;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.public-marketing-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 70px;
  padding: 10px 28px;
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}

.public-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.public-logo-img {
  height: 40px;
  max-width: 220px;
  padding-left: 0;
}

.public-top-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  flex: 1 1 auto;
  justify-content: center;
  min-width: 0;
}

.public-top-nav a,
.public-signin-link {
  color: var(--baydar-navy);
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  padding: 6px 7px;
}

.public-preview-link,
.public-preview-nav-link {
  color: var(--baydar-teal-dark);
  font-weight: 600;
}

.public-nav-cta {
  background: var(--baydar-teal);
  color: #ffffff !important;
  padding: 5px 14px !important;
  border-radius: 999px;
  font-weight: 600;
}
.public-nav-cta:hover { opacity: 0.88; }

.public-top-nav a:not([data-public-section]).active {
  color: var(--baydar-teal-dark);
}

.public-top-nav a[data-public-section].active {
  color: var(--baydar-teal-dark);
  font-weight: 600;
}

.public-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex: none;
}

.public-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid var(--baydar-navy);
  background: var(--baydar-navy);
  color: #ffffff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 650;
  line-height: 1;
}

.shell-home .public-marketing-header {
  display: flex;
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255,255,255,0.96);
  backdrop-filter: saturate(130%) blur(6px);
  -webkit-backdrop-filter: saturate(130%) blur(6px);
}

.shell-home .app-header,
.shell-home .sidebar {
  display: none;
}

.shell-home .app-shell {
  grid-template-columns: minmax(0, 1fr);
  min-height: calc(100vh - 70px);
}

.shell-home main {
  padding: 0;
}

.shell-home [id^="home-"] {
  scroll-margin-top: 90px;
}

.ebay-header {
  height: 74px;
  display: grid;
  grid-template-columns: 300px minmax(240px, 460px) 110px 1fr;
  gap: 14px;
  align-items: center;
  padding: 10px 32px 10px 0;
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}

/* Right-hand header cluster: bell + My Baydar, filling the previously-empty space. */
.app-header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
}
/* Calm, eBay-top-nav scale: a plain bell icon (no box) and a small text link. */
.header-bell {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border: 0;
  background: transparent;
  color: #6b7480;
  cursor: pointer;
  padding: 0;
}
.header-bell svg { width: 19px; height: 19px; }
.header-bell:hover { color: #07164b; }
.header-bell.has-new { color: #119c95; }
/* Small, quiet count — teal not loud red, and a plain dot once it gets big. */
.header-bell-count {
  position: absolute;
  top: -3px; right: -4px;
  min-width: 15px; height: 15px;
  padding: 0 3px;
  border-radius: 8px;
  background: #119c95; color: #fff;
  font-size: 9px; font-weight: 700; line-height: 15px;
  text-align: center;
  box-shadow: 0 0 0 2px #fff;
}
.header-mybaydar {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 500;
  color: #07164b;
  text-decoration: none;
  padding: 4px 2px;
  white-space: nowrap;
}
.header-mybaydar:hover { color: #119c95; text-decoration: underline; }
.feedback-link {
  font-size: 12px;
  color: #5a677e;
  text-decoration: none;
  white-space: nowrap;
}
.feedback-link:hover { text-decoration: underline; color: #07164b; }

.header-logo-img {
  display: block;
  height: 38px;
  width: auto;
  max-width: 200px;
  padding-left: 40px;
}

.logo-trials {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 2px;
}

.plain-brand {
  display: grid;
  align-content: center;
  gap: 4px;
}

.plain-brand strong {
  color: var(--baydar-navy);
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: 0;
}

.plain-brand span {
  color: var(--muted);
  font-size: 12px;
}

.logo-option {
  display: grid;
  gap: 2px;
}

.active-logo {
  padding-right: 18px;
  border-right: 1px solid var(--line);
}

.logo-label {
  color: var(--muted);
  font-size: 11px;
  line-height: 1;
}

.wordmark {
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  width: max-content;
  font-size: 50px;
  line-height: 0.82;
  font-weight: 700;
  letter-spacing: 0;
  font-family: Arial, Helvetica, sans-serif;
}

.wordmark span {
  display: inline-block;
  margin-left: -6px;
}

.wordmark span:first-child {
  margin-left: 0;
}

.wordmark .b { color: var(--ebay-blue); }
.wordmark .a { color: var(--ebay-yellow); }
.wordmark .y { color: var(--ebay-green); }
.wordmark .d { color: var(--ebay-red); }
.wordmark .a2 { color: var(--ebay-yellow); }
.wordmark .r {
  color: var(--ebay-green);
  transform: scaleX(1.14);
  transform-origin: left bottom;
}

.flipped-b {
  transform: scaleX(-1);
  transform-origin: center bottom;
  margin-left: -10px;
  margin-right: -3px;
}

.wordmark .a2 {
  margin-left: -4px;
}

.wordmark .r {
  margin-left: -5px;
}

.signal-mark {
  width: 38px;
  height: 38px;
  margin-left: -1px;
  margin-bottom: -3px;
  overflow: visible;
}

.signal-mark path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.signal-thick path {
  stroke-width: 8.2;
}

.signal-fine path {
  stroke-width: 1.8;
}

.signal-dual {
  width: 48px;
}

.signal-dual path {
  stroke-width: 6.8;
  opacity: 0.46;
}

.stroke-red,
.dual-red { stroke: var(--ebay-red); }
.stroke-blue,
.dual-blue { stroke: var(--ebay-blue); }
.stroke-yellow,
.dual-yellow { stroke: var(--ebay-yellow); }
.stroke-green,
.dual-green { stroke: var(--ebay-green); }

.global-search {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  height: 42px;
  border: 1px solid #191919;
  border-radius: 22px;
  overflow: hidden;
}

.global-search span {
  color: var(--muted);
  text-align: center;
  font-size: 22px;
}

.global-search input {
  height: 100%;
  border: 0;
  background: #ffffff;
  font-size: 14px;
  outline: none;
}

.search-button {
  height: 42px;
  border-radius: 22px;
  background: var(--accent);
  color: #ffffff;
  border-color: var(--accent);
  font-weight: 700;
  font-size: 17px;
}

button,
input,
select {
  font: inherit;
}

button {
  border: 1px solid var(--line);
  background: #f8fafc;
  color: var(--ink);
  min-height: 36px;
  padding: 0 12px;
  border-radius: 6px;
  cursor: pointer;
}

/* ── Unified action-button shape (oval/pill) ──────────────────────────────────
   Simon prefers the oval/pill style; the app previously mixed 6px square-ish,
   14px, and full-pill buttons. Standardise the action buttons (Search, New
   search, Check now, View matches, Edit search, Review matches, All health,
   row + bulk actions) on one pill radius so they read as one coherent system. */
:root { --btn-radius: 999px; --btn-h: 30px; --chip-h: 26px; --chip-warn-bg: #fdf3e0; --chip-warn-ink: #8a5a08; --chip-warn-border: rgba(180, 130, 20, 0.28); }
button.primary,
button.secondary,
a.secondary,
.btn,
.btn.secondary,
.btn.primary,
.search-button,
.card-actions button,
.card-actions a.secondary,
.compact-row-actions .compact,
.compact-row-actions a.compact,
.health-report-row button,
.health-report-row a.button-link,
.matches-back,
.mark-all-seen,
.new-results-group-matches-btn,
button.danger,
.beta-start-btn {
  border-radius: var(--btn-radius);
}

button:hover {
  border-color: var(--accent);
}

button.primary {
  background: var(--accent);
  color: #ffffff;
  border-color: var(--accent);
}

button.primary:hover {
  background: var(--accent-dark);
}

button.secondary,
a.secondary,
.button-link {
  background: #ffffff;
  color: var(--accent-dark);
  border-color: var(--accent);
}

button.secondary:hover,
button.secondary:focus-visible,
a.secondary:hover,
a.secondary:focus-visible {
  background: var(--baydar-teal-soft);
  border-color: var(--accent-dark);
  color: var(--accent-dark);
}

button.danger {
  color: var(--red-ink);
  border-color: #e4a6ae;
  background: #ffffff;
}

/* Disabled actions (e.g. "Check unavailable" when live checking can't run) must
   read as inert, not like a primary/secondary call to action. */
button:disabled,
button[disabled] {
  background: #f4f5f6;
  color: var(--muted);
  border-color: var(--line);
  cursor: not-allowed;
  opacity: 0.7;
}

button:disabled:hover,
button[disabled]:hover {
  background: #f4f5f6;
  border-color: var(--line);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid #f0b429;
  outline-offset: 2px;
}

.app-shell {
  min-height: calc(100vh - 74px);
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  position: relative; /* positioning context for .app-radar-bg spanning both sidebar + main */
}

.sidebar {
  background: #ffffff;
  color: var(--ink);
  padding: 18px 0 22px 0;
  position: sticky;
  top: 0;
  height: calc(100vh - 74px);
  overflow-y: auto;
}

.sidebar h1,
.sidebar p,
.topbar h2,
.topbar p,
.panel h3 {
  margin: 0;
}

.sidebar-logo {
  display: block;
  width: 225px;
  max-width: 100%;
  height: auto;
  margin-bottom: 12px;
}

.logo-home {
  display: block;
  border: 0;
  background: transparent;
  padding: 0;
  min-height: 0;
}

.logo-home:hover {
  border: 0;
}

.sidebar-subtitle {
  max-width: 210px;
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 24px;
}

.topbar p {
  color: var(--muted);
  margin-top: 3px;
}

.nav {
  display: grid;
  gap: 6px;
  margin-bottom: 28px;
}

.nav a {
  color: #333333;
  text-decoration: none;
  padding: 11px 20px;
  margin-right: 18px;
  font-weight: 700;
  font-size: 17px;
}

.nav a:hover,
.nav a.active {
  background: var(--baydar-teal-soft);
  color: var(--baydar-navy);
  text-decoration: underline;
}

.nav-section-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  padding: 10px 20px 2px;
  pointer-events: none;
  user-select: none;
}

.nav-diagnostics {
  margin-right: 18px;
  margin-top: 14px;
  border-top: 1px solid #e8e8e8;
  padding-top: 6px;
}

.nav-diagnostics-note {
  margin: 4px 0 2px;
  padding: 0 2px;
  font-size: 11px;
  line-height: 1.35;
  color: var(--muted);
}

.nav-diagnostics-summary {
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #aaaaaa;
  padding: 6px 20px 4px;
  cursor: pointer;
  user-select: none;
  list-style: none;
}

.nav-diagnostics-summary::-webkit-details-marker {
  display: none;
}

.nav-diagnostics-summary::after {
  content: " ▸";
  font-size: 9px;
}

.nav-diagnostics[open] .nav-diagnostics-summary::after {
  content: " ▾";
}

.nav-diagnostics a {
  display: block;
  color: #888888;
  text-decoration: none;
  padding: 7px 20px 7px 28px;
  font-weight: 500;
  font-size: 14px;
}

.nav-diagnostics a:hover,
.nav-diagnostics a.active {
  background: var(--baydar-teal-soft);
  color: var(--baydar-navy);
  text-decoration: underline;
}

/* Flat informational links under Account — no headings, no collapsible groups.
   Lighter/secondary than the primary nav, a touch larger than the old grouped
   links for readability. */
.nav-info-links {
  display: grid;
  gap: 2px;
  margin-top: 14px;
  margin-right: 18px;
  padding-top: 8px;
  border-top: 1px solid #e8e8e8;
}

.nav-info-link {
  display: block;
  /* Baydar dark blue, so the secondary product/help links read as a distinct,
     calmer group below the main app nav (which is near-black + teal). */
  color: var(--baydar-navy);
  text-decoration: none;
  padding: 8px 18px;
  border-left: 3px solid transparent;
  border-radius: 0 6px 6px 0;
  font-weight: 500;
  font-size: 15px;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.nav-info-link:hover,
.nav-info-link:focus-visible {
  /* Tasteful blue hover/focus — adds blue weight to the UI without green. */
  background: rgba(7, 22, 75, 0.06);
  border-left-color: var(--baydar-navy);
  color: var(--baydar-navy);
  text-decoration: none;
  outline: none;
}

.nav-info-link.active {
  background: #e9eef9;
  border-left-color: var(--baydar-navy);
  color: var(--baydar-navy);
  font-weight: 600;
}

.diag-page-label {
  font-size: 12px;
  color: #aaaaaa;
  font-style: italic;
}

.browse-smoke-status {
  font-size: 13px;
  color: var(--muted);
  font-style: italic;
}

.developer-status {
  margin-right: 18px;
  color: var(--muted);
  font-size: 13px;
}

.developer-status summary {
  cursor: pointer;
  font-weight: 700;
  color: #555555;
  margin-bottom: 10px;
}

.developer-status button {
  width: 100%;
  margin-top: 8px;
  color: #555555;
  background: #f7f7f7;
}

.status-panel {
  display: grid;
  gap: 10px;
  font-size: 13px;
}

.status-line {
  border: 1px solid var(--panel-border);
  border-left: 3px solid #c5cbd3;
  border-radius: 8px;
  padding: 10px;
  background: var(--panel-soft);
}

.status-line span {
  display: block;
  color: var(--muted);
  margin-bottom: 3px;
}

main {
  min-width: 0;
  padding: 28px 44px 56px 28px;
}

.shell-app main {
  /* Transparent so the app-shell radar motif shows through the content whitespace.
     Content panels (cards) remain opaque and sit cleanly on top. */
  background: transparent;
  position: relative;
  z-index: 1;           /* sits above .app-radar-bg in .app-shell stacking context */
  display: flex;
  flex-direction: column;
}

/* ── App radar background — a large, calm brand motif bleeding from the
      top-left behind both the sidebar and the content, tying the app pages to
      the marketing pages. Sits behind everything; panels stay opaque on top. ── */
.shell-home .app-radar-bg { display: none; }
.app-radar-bg {
  position: fixed;
  top: -200px;
  left: -240px;         /* bleeds from behind the sidebar into the content area */
  width: 780px;
  height: 780px;
  pointer-events: none;
  opacity: 0.48;
  z-index: 0;
}
.app-radar-bg svg { width: 100%; height: 100%; }

/* ── App-shell: faint ambient teal wash so the brand colour carries through ── */
.shell-app .app-shell {
  background:
    radial-gradient(ellipse 900px 760px at 0% 0%, rgba(21, 159, 140, 0.07), transparent 55%),
    radial-gradient(ellipse 760px 600px at 100% 100%, rgba(21, 159, 140, 0.05), transparent 60%);
}

/* A second, fainter radar low-right for balance / vertical continuity */
.shell-home .app-radar-bg-2 { display: none; }
.app-radar-bg-2 {
  position: fixed;
  bottom: -220px;
  right: -160px;
  width: 480px;
  height: 480px;
  pointer-events: none;
  opacity: 0.38;
  z-index: 0;
}
.app-radar-bg-2 svg { width: 100%; height: 100%; }

/* ── Sidebar: slightly translucent so the radar reads faintly behind it,
      tying the nav into the brand atmosphere while keeping text crisp. ── */
.shell-app .sidebar {
  /* Slightly more translucent so the radar reads a touch more under the nav
     (was 0.82) — still keeps navy text crisp. */
  background: rgba(255, 255, 255, 0.76);
  /* Keep the left nav sticky while scrolling long Saved Searches / Search
     Health pages. This rule previously set position:relative, which (higher
     specificity than the base .sidebar) silently cancelled the stickiness.
     align-self:start stops the grid stretching it full-height so it can stick. */
  position: sticky;
  top: 0;
  align-self: start;
  height: calc(100vh - 74px);
  overflow-y: auto;
  z-index: 1;
}

/* ── Sections that contain an lp-radar-wrap need a positioning context ── */
.lp-has-radar {
  position: relative;
  overflow: hidden;
}
/* On the shorter public sections the radar's bright rings used to hit the
   overflow clip and read as an image chopped by a white box. Fade the radar to
   transparent before its own edges so it always feels like a soft background.
   Scoped to .lp-has-radar so the taller home hero (which Simon likes) is left
   exactly as-is. */
.lp-has-radar .lp-radar-wrap {
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 48%, rgba(0,0,0,0.35) 64%, transparent 76%);
  mask-image: radial-gradient(circle at 50% 50%, #000 48%, rgba(0,0,0,0.35) 64%, transparent 76%);
}

.lp {
  position: relative;
  isolation: isolate;
}

.lp > * {
  position: relative;
  z-index: 1;
}

.lp::before {
  content: "";
  position: fixed;
  inset: 74px 0 0 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(17, 156, 149, 0.08), transparent 34%),
    repeating-radial-gradient(circle at 86% 28%, transparent 0 72px, rgba(17, 156, 149, 0.045) 73px 74px);
  opacity: 0.78;
}

.app-view {
  display: none;
}

.app-view.active {
  display: block;
}

/* Active app-shell views expand to fill remaining main height, keeping footer at bottom */
.shell-app .app-view.active {
  flex: 1;
}

.topbar {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.topbar h2 {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -0.01em;
}

.topbar p {
  font-size: 14px;
  line-height: 1.46;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.summary-grid,
.workspace-grid {
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
}

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

.workspace-grid {
  grid-template-columns: minmax(360px, 0.8fr) minmax(420px, 1.2fr);
}

.import-grid {
  align-items: start;
}

.import-intro {
  grid-column: 1 / -1;
  border-top: 1px solid var(--line);
  padding-top: 18px;
  margin-top: 4px;
}

.import-intro h3 {
  margin: 0 0 6px;
  font-size: 18px;
}

.import-intro p {
  max-width: 920px;
  margin: 4px 0 0;
  color: var(--muted);
}

.import-paths {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.import-path {
  border: 1px solid var(--panel-border);
  border-radius: 12px;
  padding: 14px 14px 12px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 5px;
  box-shadow: 0 8px 20px -22px rgba(14, 23, 38, 0.24);
}

.import-path strong,
.import-path span {
  display: block;
}

.import-path span {
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.4;
}

.import-path.active {
  border-color: #3db8b0;
  background: #f5faf9;
}

.import-path-status {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  background: #eef5f6;
  color: #39535b;
}

.import-path.state-connected {
  border-color: #2f9a8d;
  background: #f2faf8;
}

.import-path.state-connected .import-path-status {
  background: #dff5ef;
  color: #0f6f63;
}

.import-path.state-connecting .import-path-status {
  background: #eaf4ff;
  color: #285987;
}

.import-path.state-unavailable,
.import-path.state-error {
  border-color: #d7dce2;
  background: #f8f9fb;
}

.import-path.state-unavailable .import-path-status,
.import-path.state-error .import-path-status {
  background: #f0f2f5;
  color: #55606d;
}

.import-path button {
  align-self: flex-start;
  margin-top: auto;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
}

.import-path.disabled {
  background: #f4f7f8;
  color: #888;
  border-color: var(--line);
}

.import-path.disabled strong {
  color: #666;
}

.import-flow-state {
  margin: 14px 0 0;
  color: var(--ink);
  font-size: 13px;
}

/* Legacy chips — kept for compat if still referenced */
.import-flow-chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: #314856;
  font-weight: 600;
  margin: 2px 4px 2px 0;
}

.import-flow-line {
  display: block;
  line-height: 1.4;
  margin: 2px 0;
}

/* ── New import connection status list ── */
.import-status-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.import-status-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  line-height: 1.4;
}
.import-status-icon { font-size: 12px; flex-shrink: 0; width: 14px; }
.import-status-ok   { color: var(--ink); }
.import-status-ok .import-status-icon { color: var(--baydar-teal); }
.import-status-pending { color: var(--muted); }
.import-status-note    { color: var(--muted); font-size: 12px; }
.import-flow-note {
  font-size: 11.5px;
  color: var(--muted);
  background: var(--surface-alt, #f4f8fb);
  border-left: 3px solid var(--line);
  padding: 6px 10px;
  margin: 8px 0;
  border-radius: 0 4px 4px 0;
  line-height: 1.5;
}
.import-flow-trust {
  font-size: 11.5px;
  color: var(--muted);
  margin: 6px 0 0;
}

/* ── Import fetch panel ── */
.import-fetch-panel { margin-top: 20px; }
.fetch-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.fetch-select-all-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
}
.fetch-filter-input {
  flex: 1;
  min-width: 160px;
  max-width: 340px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 13px;
  background: var(--surface);
  color: var(--ink);
}
.fetch-selected-count {
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
}
.fetch-results-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 420px;
  overflow-y: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 6px 0;
  background: var(--surface);
  margin-bottom: 14px;
}
.fetch-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  cursor: pointer;
  font-size: 13px;
  border-radius: 4px;
  transition: background 0.1s;
}
.fetch-item:hover { background: var(--surface-alt, #f5f8fa); }
.fetch-item-imported { opacity: 0.5; cursor: default; }
.fetch-item-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fetch-empty-state {
  padding: 22px 14px;
  text-align: center;
  color: var(--muted);
  font-size: 14px;
}
.fetch-all-imported-notice {
  padding: 12px 14px;
  margin: 0 0 8px;
  background: var(--surface-alt, #f5f8fa);
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 13px;
  color: var(--ink-2, #4a5568);
  line-height: 1.5;
}
.fetch-all-imported-notice p { margin: 0 0 6px; }
.fetch-all-imported-notice p:last-of-type { margin-bottom: 6px; }
/* Clear success tone after a re-import (distinct from the passive "already in" note). */
.fetch-reimported-notice {
  background: #f2fbf9;
  border-color: rgba(15, 118, 110, 0.28);
  color: #0c7068;
  font-weight: 600;
}
/* Honest "review before importing" note — calm amber, not an error. eBay gives no
   current/deleted signal, so the fetched list may include old searches. */
.fetch-review-notice {
  padding: 12px 14px;
  margin: 0 0 8px;
  background: #fffaf0;
  border: 1px solid rgba(217, 119, 6, 0.32);
  border-left: 3px solid #d97706;
  border-radius: 6px;
  font-size: 13px;
  color: #7c5310;
  line-height: 1.5;
}
.fetch-review-notice p { margin: 0 0 6px; }
.fetch-review-notice p:last-of-type { margin-bottom: 0; }
.fetch-all-imported-notice code {
  display: block;
  background: var(--surface, #fff);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 12px;
  color: var(--ink);
  user-select: all;
}
.fetch-item-badge {
  font-size: 11px;
  color: var(--baydar-teal);
  background: var(--teal-bg, rgba(17,156,149,0.08));
  padding: 1px 7px;
  border-radius: 99px;
  white-space: nowrap;
}
.fetch-item-meta {
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
}
.fetch-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.fetch-actions-help { margin: 8px 0 0; font-size: 12px; line-height: 1.5; }
.fetch-actions-help strong { color: var(--ink); }
.import-result-message {
  margin-top: 10px;
  padding: 10px 14px;
  background: rgba(17,156,149,0.07);
  border: 1px solid var(--baydar-teal);
  border-radius: 6px;
  font-size: 13px;
  color: var(--ink);
}
.import-status-warn { color: var(--amber, #b45309); }
.import-status-warn .import-status-icon { color: var(--amber, #b45309); }

/* Inline fetch/import feedback banner — sits by the Fetch button / above the
   choose-to-import panel so the result is impossible to miss. */
.fetch-feedback {
  margin: 12px 0 4px;
  padding: 11px 14px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid var(--line);
  background: #f4f7f9;
  color: var(--ink);
}
.fetch-feedback-ok { background: rgba(17,156,149,0.10); border-color: var(--baydar-teal, #119c95); color: #0a5f58; }
.fetch-feedback-info { background: #eef3f7; border-color: #c7d3de; color: #2b4763; }
.fetch-feedback-error { background: #fdecec; border-color: #e0a3a3; color: #8a2b2b; }

/* ── Search detail context label ── */
.detail-page-context {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--baydar-teal);
  margin: 0 0 4px;
}
.detail-query-label {
  font-size: 13px;
  color: var(--muted);
  margin: 4px 0 0;
}

/* ── Clear sample searches button ── */
.clear-sample-btn {
  font-size: 12px;
  color: var(--muted);
  border-color: var(--line);
}
.clear-sample-btn:hover {
  color: var(--danger, #c00);
  border-color: var(--danger, #c00);
  background: transparent;
}

/* ── New results empty-state actions ── */
.new-results-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 14px 0 0;
}

.faq-panel {
  margin: 0 0 24px;
}

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

.faq-grid details,
.settings-block {
  border: 1px solid var(--panel-border);
  border-radius: 10px;
  padding: 16px;
  background: var(--panel-soft);
}

.faq-grid summary {
  cursor: pointer;
  font-weight: 700;
}

.faq-grid p,
.settings-block p {
  margin: 8px 0 0;
  color: var(--muted);
}

/* ── FAQ grouped accordion ──────────────────────────────────────── */
.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.faq-section {
  border: 1px solid var(--panel-border);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.faq-section-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--muted);
  padding: 9px 16px;
  margin: 0;
  background: var(--panel-soft);
  border-bottom: 1px solid var(--panel-border);
}

.faq-item {
  border-bottom: 1px solid var(--panel-border);
}

.faq-item:last-child {
  border-bottom: none;
}

.faq-item > summary {
  cursor: pointer;
  padding: 11px 16px;
  font-weight: 600;
  font-size: 14px;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  user-select: none;
  color: var(--ink);
}

.faq-item > summary::-webkit-details-marker { display: none; }

.faq-item > summary::after {
  content: '+';
  margin-left: auto;
  color: var(--muted);
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}

.faq-item[open] > summary::after { content: '−'; }

.faq-item > p,
.faq-item > .faq-item-body {
  margin: 0;
  padding: 2px 16px 14px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.settings-block {
  margin-bottom: 12px;
  background: #fff;
  box-shadow: 0 10px 24px -22px rgba(14, 23, 38, 0.3);
}

.help-contact {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.settings-section-title {
  margin: 0 0 10px;
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #4f5f77;
}

/* My Baydar identity/status card */
.my-baydar-card { margin-bottom: 14px; }
.my-baydar-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.my-baydar-avatar {
  width: 44px; height: 44px; border-radius: 12px; flex: none;
  display: grid; place-items: center;
  background: linear-gradient(135deg, #119c95, #0c7068); color: #fff;
  font-weight: 800; font-size: 22px;
}
.my-baydar-head strong { display: block; font-size: 16px; color: #07164b; }
.my-baydar-stats { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.my-baydar-stat {
  flex: 1 1 160px; padding: 10px 12px; border-radius: 10px;
  background: #f6f8fa; border: 1px solid var(--line);
  display: flex; flex-direction: column; gap: 3px;
}
.my-baydar-stat-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted); }
.my-baydar-stat-value { font-size: 14px; font-weight: 600; color: #07164b; }
.my-baydar-stat.ok .my-baydar-stat-value { color: #0a5f58; }
.my-baydar-stat.warn .my-baydar-stat-value { color: #8a5a08; }
.my-baydar-alert { padding: 12px 14px; border-radius: 10px; border: 1px solid var(--line); background: #f6f8fa; }
.my-baydar-alert.ok { background: rgba(17,156,149,0.08); border-color: rgba(17,156,149,0.5); }
.my-baydar-alert.warn { background: #fdf6e9; border-color: rgba(180,130,20,0.4); }
.my-baydar-alert strong { color: #07164b; }
.my-baydar-alert-summary { margin: 6px 0 8px; font-size: 14px; }
.my-baydar-alert-facts { margin: 0; padding-left: 18px; font-size: 13px; color: var(--muted); }
.my-baydar-alert-facts li { margin: 2px 0; }
.alert-monitor-row { margin: 6px 0 2px; }
.alert-monitor-pill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.01em; }
.alert-monitor-pill.on { background: rgba(17,156,149,0.16); color: #0c6f68; border: 1px solid rgba(17,156,149,0.5); }
.alert-monitor-pill.off { background: #fbeaea; color: #9a2b2b; border: 1px solid rgba(154,43,43,0.35); }
.alert-fail { color: #9a2b2b; font-weight: 600; }
.monitoring-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 10px 0 6px; }
.monitoring-interval { display: inline-flex; flex-direction: column; gap: 3px; font-size: 12px; color: var(--muted); }
.monitoring-interval select { font-size: 13px; padding: 4px 6px; }
.monitoring-status .my-baydar-alert-facts { margin-top: 6px; }
.search-header-pills {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 178px;
}
.priority-badge {
  display: inline-flex; align-items: center; gap: 3px;
  height: var(--chip-h);
  padding: 0 10px; border-radius: 999px; font-size: 11.5px; font-weight: 600; white-space: nowrap;
  background: var(--baydar-chip-bg); color: var(--baydar-teal-dark); border: 1px solid var(--baydar-chip-border);
}
/* Fast alerts configured but inert because live checking is off — muted so it
   never reads as actively fetching. */
.priority-badge.priority-badge-ready {
  background: var(--chip-warn-bg); color: var(--chip-warn-ink); border-color: var(--chip-warn-border);
}
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 7px; vertical-align: middle; }
.status-dot.on { background: #1aa79b; box-shadow: 0 0 0 2px rgba(17,156,149,0.18); }
.status-dot.off { background: #c2c7cc; }
.monitoring-facts { list-style: none; padding-left: 2px; }
.monitoring-facts li { margin: 3px 0; }
/* Grouped Advanced-details facts: small uppercase section labels (Monitoring /
   Alerts / History) that break the flat fact list into scannable groups. */
.monitoring-facts li.monitoring-fact-group {
  margin: 10px 0 3px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--baydar-teal, #0c7068);
}
.monitoring-facts li.monitoring-fact-group:first-child { margin-top: 2px; }
.monitoring-ready { color: var(--baydar-teal, #0c7068); font-weight: 600; }
/* Notifications page cards — stacked full-width panels with room to breathe
   (alert detail used to be cramped inside the Account settings grid). */
.notifications-status-card,
.notifications-live-card,
.notifications-card { margin-bottom: 12px; }
/* Content cards get real internal padding (no hard-left text on broad panels). The
   status card stays flush because its inner summary is already a bordered box. */
.panel.notifications-live-card,
.panel.notifications-card { padding: 16px 18px; }
.notifications-live-card .notifications-card-title { margin-bottom: 2px; }
.notifications-live-card > .quiet-note { margin: 0 0 10px; }
/* Compact inline status chips for Live eBay checking (was stacked hard-left text). */
.live-status-chips { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0 0 8px; }
/* Plain status tags — deliberately NOT pill buttons (buttons use the 999px pill
   radius). No border, small radius, default cursor, with a status dot. */
.live-chip {
  position: relative;
  display: inline-flex; align-items: center; gap: 6px;
  height: var(--chip-h);
  padding: 0 8px; border-radius: 5px;
  font-size: 12.5px; font-weight: 600;
  border: 0; background: transparent; color: var(--ink);
  cursor: default;
}
.live-chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #c2c7cc; flex: none; }
.live-chip-ok { background: #f2fbf9; border-color: var(--baydar-chip-border); color: var(--baydar-teal-dark); }
.live-chip-ok::before { background: var(--baydar-teal); }
.live-chip-warn { background: var(--chip-warn-bg); border-color: var(--chip-warn-border); color: var(--chip-warn-ink); }
.live-chip-warn::before { background: #b45309; }
.live-chip-bad { background: #fdecec; border-color: rgba(185,28,28,0.3); color: #9b1c1c; }
.live-chip-bad::before { background: #b91c1c; }
.live-chip-off::before { background: #c2c7cc; }
/* Safe mode is an intentional local-testing pause, not a warning — calm teal to
   match the Saved searches safe-mode note, never the amber "degraded" tone. */
.live-chip-safe { background: #eef5f6; border-color: var(--panel-border); color: #2f4a52; }
.live-chip-safe::before { background: #4a7a86; }

@keyframes baydar-live-ping {
  0% { box-shadow: 0 0 0 0 rgba(17, 156, 149, 0.32); }
  70% { box-shadow: 0 0 0 7px rgba(17, 156, 149, 0); }
  100% { box-shadow: 0 0 0 0 rgba(17, 156, 149, 0); }
}

.live-chip-ok::before {
  animation: baydar-live-ping 2s ease-out infinite;
}
.notifications-card-title { margin: 0 0 4px; font-size: 16px; font-weight: 700; color: var(--baydar-navy); }

/* ── Notifications: summary status rows ─────────────────────────────────────── */
.account-status-rows { list-style: none; padding: 0; margin: 0 0 10px; display: flex; flex-direction: column; gap: 4px; }
.account-status-rows--compact { font-size: 13px; }
.account-status-rows > div { display: flex; gap: 8px; align-items: baseline; }
.account-status-rows dt { font-weight: 600; color: var(--ink); }
.account-status-rows dd { color: var(--muted); margin: 0; }
.status-row-note { margin: 4px 0 0; font-size: 12px; color: var(--muted); }

/* ── Notifications: summary card (Item 4) ────────────────────────────────────── */
.monitoring-summary-card {
  padding: 16px;
  background:
    radial-gradient(circle at 18px 18px, rgba(17, 156, 149, 0.08), transparent 70px),
    #ffffff;
  border: 1px solid rgba(17, 156, 149, 0.18);
  border-radius: 12px;
  margin-bottom: 14px;
  box-shadow: var(--baydar-shadow-soft);
}
.monitoring-summary-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.monitoring-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 8px;
  margin: 8px 0 10px;
}
.monitoring-summary-grid > div {
  min-height: 54px;
  padding: 9px 10px;
  border: 1px solid var(--panel-border);
  border-radius: 9px;
  background: var(--panel-soft);
}
.monitoring-summary-grid span {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.monitoring-summary-grid strong {
  display: block;
  color: var(--baydar-navy);
  font-size: 13px;
  line-height: 1.25;
}
/* Inline action link inside a status fact — pairs status with action so the grid
   is an operating console, not display-only boxes. */
.monitoring-fact-link {
  font-weight: 600;
  color: var(--accent-dark, #0c7068);
  text-decoration: none;
  white-space: nowrap;
}
.monitoring-fact-link:hover,
.monitoring-fact-link:focus-visible { text-decoration: underline; }
.monitoring-tick-line { margin: 0 0 4px; font-size: 13.5px; font-weight: 600; color: var(--ink); }
.monitoring-next-check { margin: 0; font-size: 12px; color: var(--muted); }
/* Consolidated eBay-checking status: one clear headline + supporting line + the
   single primary control. */
.monitoring-main-state {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--baydar-navy);
}
.monitoring-supporting { margin: 0 0 12px; font-size: 13px; line-height: 1.4; }

/* Checking status: an always-visible sub-panel (replaces the old "Advanced
   details" disclosure) — a quiet grouped block with the connection/cadence
   facts and the check-interval control. */
.monitoring-checking-status {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--panel-border);
}
.monitoring-checking-title {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

/* ── Saved searches: inline check feedback (Item 1) ─────────────────────────── */
.search-check-feedback {
  color: var(--baydar-teal-dark);
  font-size: 11.5px;
  font-weight: 500;
  white-space: nowrap;
}
.saved-search-last-checked {
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--muted);
}

/* ── Account: quiet affordance (Item 5) ─────────────────────────────────────── */
.account-field-affordance {
  font-size: 13px;
  font-weight: 500;
  color: var(--baydar-teal-dark);
  cursor: default;
  opacity: 0.75;
}

/* ── Account: shared settings sections ──────────────────────────────────────── */
/* Every Account card uses one padded, bordered panel system (no hard-left text on
   broad white). */
.panel.account-section { padding: 18px 20px; margin-bottom: 12px; }
.account-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.account-section-title { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: var(--baydar-navy); }
.account-section-head .account-section-title { margin: 0; }
.account-section-note { margin: 12px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--muted); }

/* Account fields — label/value/hint stacks (or disabled future-state inputs). */
.account-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.account-field { display: grid; gap: 4px; align-content: start; }
.account-field-label { font-size: 12px; font-weight: 600; color: var(--muted); }
.account-field input,
.account-field select {
  width: 100%;
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid var(--panel-border);
  border-radius: 7px;
  background: #fff;
  font-size: 14px;
  color: var(--ink);
}
.account-field input:disabled,
.account-field select:disabled { background: var(--panel-soft); color: var(--muted); cursor: not-allowed; }
.account-field-value { font-size: 14px; font-weight: 650; color: var(--ink); padding: 7px 0 1px; }
.account-field-value--ok { color: var(--baydar-teal, #0c7068); }
.account-field-value--warn { color: var(--amber, #b45309); }
/* Future-state value — clearly not an editable field (no dead input box). */
.account-field-value--future { color: var(--muted); font-weight: 600; display: flex; align-items: center; gap: 8px; }
.account-future-tag {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #5a6b86;
  background: #eef2f8;
  border: 1px solid #dbe2ee;
  padding: 1px 7px;
  border-radius: 999px;
}
.account-field-hint { font-size: 11.5px; color: var(--muted); line-height: 1.4; }
@media (max-width: 640px) { .account-fields { grid-template-columns: 1fr; } }

/* eBay account status grid (key/value rows). */
.ebay-account-card { margin-bottom: 12px; }
.ebay-account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin: 0 0 12px;
}
.ebay-account-grid > div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 0;
  border-bottom: 1px solid var(--line);
}
.ebay-account-grid dt { color: var(--muted); font-size: 13px; }
.ebay-account-grid dd { margin: 0; font-size: 13px; font-weight: 600; color: var(--ink); text-align: right; }
.ebay-account-ok { color: var(--baydar-teal, #0c7068); font-weight: 600; }
.ebay-account-warn { color: var(--amber, #b45309); font-weight: 600; }
.account-field--marketplace { max-width: 320px; margin-bottom: 4px; }
.ebay-account-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 12px 0 0; }
/* Anchor "buttons" need full button treatment: the global a.secondary rule only
   sets colours (no padding/display/border-width/text-decoration), so a long label
   like "Fetch saved searches" wrapped and the inline pill clipped to one line.
   Style anchors AND buttons here at normal compact action-button sizing (--btn-h)
   so the eBay-account row matches the rest of Baydar's controls — no giant pills. */
.ebay-account-actions a,
.ebay-account-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--btn-h);
  padding: 0 12px;
  border: 1px solid var(--accent);
  border-radius: var(--btn-radius);
  background: #fff;
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.ebay-account-actions a:hover,
.ebay-account-actions button:hover { background: var(--baydar-teal-soft); border-color: var(--accent-dark); }
.ebay-account-actions a.ebay-action-primary,
.ebay-account-actions button.ebay-action-primary {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
.ebay-account-actions a.ebay-action-primary:hover,
.ebay-account-actions button.ebay-action-primary:hover { background: var(--accent-dark); color: #fff; }
/* The plain-English help line under the actions sits on its own row. */
.ebay-account-actions .account-action-help { flex-basis: 100%; margin: 4px 0 0; }
@media (max-width: 640px) { .ebay-account-grid { grid-template-columns: 1fr; } }

.account-trust-list { margin: 0; padding-left: 18px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.account-trust-list li { margin-bottom: 2px; }

.monitoring-interval-row { margin-bottom: 12px; }
.monitoring-interval-row .monitoring-interval { display: grid; gap: 4px; max-width: 280px; }

/* ── Standard disclosure ─────────────────────────────────────────────────────
   ONE consistent collapsible style for every user-facing "Advanced/details"
   section (Notifications advanced details, email + Pushover setup, New search
   Advanced filters). Full-width header row, readable arrow, clear focus state —
   replaces the assortment of tiny near-invisible triangles. */
.disclosure {
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  background: var(--panel-soft);
  margin-top: 10px;
}
.disclosure > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 14px;
  font-weight: 700;
  color: var(--baydar-navy);
  border-radius: 8px;
}
.disclosure > summary::-webkit-details-marker { display: none; }
.disclosure > summary::marker { content: ""; }
/* A clearly-visible chevron drawn with borders (not a tiny ▸ glyph). 10px box +
   2.5px strokes reads at a real, consistent size and rotates open→closed. */
.disclosure > summary::before {
  content: "";
  flex: none;
  width: 7px;
  height: 7px;
  margin: 0 3px 1px 0;
  border-right: 1.6px solid var(--accent-dark, #119c95);
  border-bottom: 1.6px solid var(--accent-dark, #119c95);
  transform: rotate(-45deg);
  transition: transform 0.15s ease;
}
.disclosure[open] > summary::before { transform: rotate(45deg); }
.disclosure > summary:focus-visible {
  outline: 2px solid var(--accent-dark, #119c95);
  outline-offset: 2px;
}
/* Inner content of every standard disclosure gets consistent padding. */
.disclosure > *:not(summary),
.disclosure-body { padding: 0 14px 14px; }

.settings-block h4 {
  margin: 0;
}

.disabled-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.metric,
.panel {
  background: var(--panel);
}

.metric {
  padding: 12px 14px;
  border: 1px solid var(--panel-border);
  border-radius: 8px;
}

.metric span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 4px;
}

/* Useful summary numbers, not billboards. Counts stay readable; long text values
   (e.g. "7 minutes ago") render smaller so they don't dominate or wrap hugely. */
.metric strong {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
}
#latestPoll {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}

.panel {
  padding: 0;
  margin-bottom: 14px;
  border: 1px solid var(--panel-border);
  border-radius: 12px;
  box-shadow: 0 12px 30px -24px rgba(14, 23, 38, 0.25);
  overflow: hidden;
}

.panel-head {
  padding: 14px 18px;
  border-bottom: 1px solid var(--panel-border);
  background: linear-gradient(180deg, #ffffff, #f9fbfc);
}

.panel-head h3 {
  font-size: 19px;
  line-height: 1.22;
  font-weight: 640;
}

.saved-search-toolbar {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 8px 0 16px;
}

.fast-alerts-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 10px 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fafb;
}
.fast-alerts-summary-copy h3 {
  margin: 0 0 2px;
  font-size: 15px;
  font-weight: 650;
}
.fast-alerts-summary-copy p {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
}
.fast-alerts-summary-actions {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}

.fast-alerts-selection-hint {
  margin-top: 4px;
}

.fast-alerts-summary-actions:not(.has-selection) > button {
  display: none;
}

.fast-alerts-more summary {
  min-height: 30px;
}

.fast-alerts-more-menu {
  position: absolute;
  right: 0;
  margin-top: 6px;
  min-width: 250px;
  z-index: 8;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 28px -20px rgba(12, 22, 34, 0.45);
  display: grid;
  gap: 6px;
}

.fast-alerts-more-menu button {
  width: 100%;
  justify-content: flex-start;
}

.search-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.search-filter-group {
  display: flex;
  gap: 3px;
}

.search-filter-btn {
  padding: 4px 12px;
  /* Pill filter chips (eBay-style), consistent with the action-button radius
     instead of the old intermediate 14px that read as a third button shape. */
  border-radius: var(--btn-radius, 999px);
  border: 1px solid var(--line);
  background: var(--panel-soft);
  font-size: 0.8rem;
  cursor: pointer;
  color: var(--muted);
  white-space: nowrap;
}
.search-filter-btn:hover { background: var(--panel-muted); }
.search-filter-btn.active {
  background: var(--baydar-teal);
  color: #fff;
  border-color: var(--baydar-teal);
}

.search-filter-reset {
  font-size: 0.78rem;
  padding: 4px 10px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
  color: var(--muted);
}
.search-filter-reset:hover { background: var(--panel-muted); }

.sort-control {
  min-height: 34px;
  border-radius: 22px;
  background: #f7f7f7;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  color: var(--muted);
  font-size: 12px;
}

.sort-control select {
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 12px;
}

.sort-control input {
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 12px;
  min-width: 160px;
  outline: none;
}

.saved-search-filter-control {
  padding-right: 12px;
}

.saved-search-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.view-mode-control {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}

.view-mode-btn {
  border: 0;
  background: transparent;
  color: var(--muted);
  min-height: 32px;
  padding: 0 11px;
  font-size: 12px;
  border-radius: 0;
}

.view-mode-btn + .view-mode-btn {
  border-left: 1px solid var(--line);
}

.view-mode-btn.active {
  background: var(--baydar-teal-soft);
  color: var(--baydar-teal-dark);
  font-weight: 700;
}

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

.panel h3 {
  font-size: 16px;
}

/* ── New Search: import-first workflow routes ── */
.new-search-routes-panel {
  margin-bottom: 10px;
}
.new-search-routes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
/* Both route cards share ONE consistent surface so they don't read as two
   different "panel generations" (blue vs green). The primary route is marked by a
   teal border + accent bar only — same fill as the secondary. */
.new-search-route {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  border-radius: 10px;
  border: 1px solid var(--panel-border);
  background: var(--panel-soft);
  position: relative;
}
.new-search-route--primary {
  border-color: var(--baydar-teal);
  box-shadow: inset 3px 0 0 var(--baydar-teal);
}
.new-search-route-icon {
  flex-shrink: 0;
  margin-top: 2px;
}
.new-search-route-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.new-search-route-body strong {
  font-size: 14px;
  font-weight: 650;
  color: var(--ink);
}
.new-search-route-body span {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
}
.new-search-divider {
  text-align: center;
  color: var(--muted);
  font-size: 13px;
  padding: 14px 0 4px;
}
.new-search-divider span {
  background: #fff;
  padding: 0 12px;
  position: relative;
}
.search-form,
.url-import-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.search-form label,
.url-import-form label {
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 500;
}

.form-wide {
  grid-column: 1 / -1;
}

/* Min/Max price as a pair, with Max given more visual weight (Simon mostly
   cares about the price ceiling). */
.price-pair {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 14px;
  align-items: start;
}
.price-pair > label { margin: 0; }
.price-pair .price-min { opacity: 0.9; }
.price-pair .price-max input { border-color: var(--baydar-teal, #119c95); }
.price-emphasis {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #0a5f58;
  background: rgba(17, 156, 149, 0.12);
  border-radius: 4px;
  padding: 1px 6px;
  margin-left: 4px;
}
.new-search-url-panel { margin-bottom: 14px; }
@media (max-width: 560px) { .price-pair { grid-template-columns: 1fr; } }

.search-form input,
.search-form select,
.search-form textarea,
.url-import-form input,
.url-import-form select,
.url-import-form textarea {
  width: 100%;
  min-height: 40px;
  border: 1.5px solid #b9ccd0;  /* slightly stronger than panel-border for clear field edges */
  border-radius: 7px;
  padding: 10px 13px;
  color: var(--ink);
  background: #ffffff;
  font-size: 14px;
  box-shadow: 0 1px 3px rgba(7, 22, 75, 0.05);
}
.search-form input:focus,
.search-form select:focus,
.search-form textarea:focus,
.url-import-form input:focus,
.url-import-form select:focus,
.url-import-form textarea:focus {
  outline: none;
  border-color: var(--baydar-teal);
  box-shadow: 0 0 0 3px rgba(17, 156, 149, 0.16), 0 1px 3px rgba(7, 22, 75, 0.06);
}

.url-import-form {
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 14px 18px 16px;
}

.search-limit-notice {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.url-import-result {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.35;
}

.url-import-result[hidden] {
  display: none;
}

.url-import-result-success {
  border-color: rgba(17, 156, 149, 0.35);
  background: rgba(17, 156, 149, 0.08);
  color: #0a5f58;
}

.url-import-result-error {
  border-color: rgba(183, 56, 51, 0.35);
  background: #fff4f2;
  color: #8f2d2a;
}

.url-import-result button {
  grid-column: auto;
  flex: 0 0 auto;
}

.url-import-form textarea {
  resize: vertical;
  line-height: 1.4;
  min-height: 60px;
  max-height: 180px;
}

.search-form button,
.url-import-form button {
  grid-column: 1 / -1;
}

.import-form-panel {
  grid-column: 1 / -1;
}

.import-form-panel .panel-head {
  padding: 12px 18px;
}

.import-form-panel h3 {
  font-size: 17px;
}

.url-import-form label {
  gap: 5px;
  font-size: 13px;
}

.url-import-form input,
.url-import-form textarea {
  min-height: 36px;
  padding: 7px 10px;
}

.url-import-form button.primary {
  min-height: 34px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 700;
}

/* ── New Search visual polish: AI builder + balanced filter editor ───────────
   Keep the SearchDome parity controls visible, but make this page feel like one
   calm buyer-facing form instead of stacked implementation panels. */
#view-new-search {
  --new-search-control-h: 30px;
  --new-search-control-border: var(--line);
  --new-search-radius: 6px;
  --new-search-row-gap: 10px;
  --new-search-help: #60747b;
}

#view-new-search :is(input, select, textarea, button) {
  box-sizing: border-box;
}

#view-new-search :is(.panel-head, .ai-search-builder, .search-form) {
  padding-left: 22px;
  padding-right: 22px;
}

#view-new-search .panel-head {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 6px;
}

#view-new-search .panel-head h3 {
  margin-bottom: 0;
}

#view-new-search .panel-head .meta {
  max-width: 820px;
  line-height: 1.42;
}

.ai-search-builder-panel {
  margin-bottom: 14px;
}

.ai-search-builder-panel .panel-head {
  align-items: flex-start;
}

.ai-search-builder {
  display: grid;
  gap: var(--new-search-row-gap);
  padding-top: 0;
  padding-bottom: 18px;
}

.ai-search-builder label {
  display: grid;
  gap: 6px;
  margin: 0;
}

.ai-search-builder textarea {
  width: 100%;
  min-height: 88px;
  max-height: 150px;
  resize: vertical;
  line-height: 1.42;
  border: 1px solid var(--new-search-control-border);
  border-radius: var(--new-search-radius);
  padding: 9px 10px;
  color: var(--ink);
  background: #fff;
  font-size: 14px;
  box-shadow: inset 0 1px 0 rgba(7, 22, 75, 0.03);
}

.ai-search-builder textarea:focus {
  outline: none;
  border-color: var(--baydar-teal);
  box-shadow: 0 0 0 3px rgba(17, 156, 149, 0.16), 0 1px 3px rgba(7, 22, 75, 0.06);
}

.ai-search-builder-actions {
  display: flex;
  align-items: center;
  gap: 10px 14px;
  flex-wrap: wrap;
}

.ai-search-builder-actions button {
  min-height: 32px;
  padding: 0 12px;
  border-radius: var(--new-search-radius);
  flex: 0 0 auto;
}

.ai-search-builder-actions .quiet-note {
  margin: 0;
  max-width: 680px;
  line-height: 1.4;
  color: var(--new-search-help);
}

.ai-search-builder-summary {
  border: 1px solid rgba(17, 156, 149, 0.24);
  border-radius: 9px;
  background: rgba(17, 156, 149, 0.07);
  padding: 10px 12px;
}

.ai-search-builder-summary p {
  margin: 0 0 6px;
}

.ai-search-builder-summary-list,
.ai-search-builder-confirm-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 3px;
  font-size: 13px;
  line-height: 1.45;
}

.ai-search-builder-confirm-head {
  margin-top: 8px !important;
}

.create-search-panel .panel-head {
  align-items: flex-start;
}

.create-search-panel .search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

#view-new-search .search-form-grid {
  grid-template-columns: minmax(320px, 1.1fr) minmax(300px, 0.9fr);
  gap: 12px;
  align-items: start;
}

#view-new-search .search-form-grid-name {
  grid-column: 1 / -1;
}

#view-new-search .search-form label,
#view-new-search .url-import-form label {
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
}

#view-new-search .form-label-line {
  min-height: 16px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

#view-new-search .search-form :is(input:not([type="checkbox"]), select, textarea),
#view-new-search .url-import-form :is(input:not([type="checkbox"]), select, textarea) {
  width: 100%;
  height: var(--new-search-control-h);
  min-height: var(--new-search-control-h);
  border: 1px solid var(--new-search-control-border);
  border-radius: var(--new-search-radius);
  padding: 4px 9px;
  color: var(--ink);
  background-color: #fff;
  font-size: 14px;
  line-height: 1.2;
  box-shadow: inset 0 1px 0 rgba(7, 22, 75, 0.03);
}

#view-new-search .search-form select,
#view-new-search .url-import-form select {
  appearance: none;
  padding-right: 34px;
  background-image:
    linear-gradient(45deg, transparent 50%, #60747b 50%),
    linear-gradient(135deg, #60747b 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 13px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

#view-new-search .search-form :is(input, select, textarea):focus,
#view-new-search .url-import-form :is(input, select, textarea):focus {
  outline: none;
  border-color: var(--baydar-teal);
  box-shadow: 0 0 0 3px rgba(17, 156, 149, 0.14), inset 0 1px 0 rgba(7, 22, 75, 0.03);
}

#view-new-search .search-form .field-help,
#view-new-search .url-import-form .field-help,
#view-new-search .search-form .meta,
#view-new-search .url-import-form .meta {
  color: var(--new-search-help);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
}

#view-new-search .search-form .field-help {
  margin: 0;
}

#view-new-search .search-form button,
#view-new-search .url-import-form button,
#view-new-search .cat-suggest-control button {
  min-height: 30px;
  padding: 0 11px;
  border-radius: var(--new-search-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.15;
}

.create-search-panel .search-filter-row {
  align-items: stretch;
  padding: 12px;
}

#view-new-search .price-pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  border-color: var(--panel-border);
  background: var(--panel-muted);
}

#view-new-search .price-pair > label {
  display: grid;
  align-content: start;
}

#view-new-search .price-pair .price-min {
  opacity: 1;
}

#view-new-search .price-pair .price-max input {
  border-color: var(--new-search-control-border);
}

#view-new-search .price-pair .field-help {
  min-height: 0;
}

#view-new-search .price-emphasis {
  font-size: 12px;
  font-weight: 650;
  text-transform: none;
  letter-spacing: 0;
  color: var(--new-search-help);
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin-left: 3px;
}

#view-new-search .cat-suggest-control {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

#view-new-search .cat-suggest-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

#view-new-search .advanced-filters.disclosure {
  margin-top: 2px;
  overflow: hidden;
  border-color: var(--panel-border);
  background: var(--panel-muted);
}

#view-new-search .advanced-filters > summary {
  min-height: 38px;
  padding: 9px 14px;
  background: #f6fbfc;
  border-bottom: 1px solid var(--panel-border);
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
}

#view-new-search .advanced-filters > .edit-section {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 14px;
  padding: 0 14px 14px;
  background: var(--panel-muted);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
}

#view-new-search .advanced-filters > .edit-section:first-of-type {
  margin-top: 12px;
  padding-top: 0;
  border-top: 1px solid var(--panel-border);
}

#view-new-search .advanced-filters .edit-section h4 {
  grid-column: 1 / -1;
  padding: 10px 14px;
  margin: 0 -14px 4px;
  font-size: 14px;
  font-weight: 700;
  color: var(--baydar-navy);
  background: #f6fbfc;
  border-bottom: 1px solid var(--panel-border);
  border-radius: 8px 8px 0 0;
}

#view-new-search .advanced-filters .edit-section label {
  display: grid;
  align-content: start;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
}

#view-new-search .advanced-filters .field-help {
  margin: 0;
  font-size: 11.5px;
  line-height: 1.35;
  color: var(--new-search-help);
}

#view-new-search .advanced-filters .edit-section p.field-help {
  grid-column: 1 / -1;
  margin: 0;
  padding: 8px 10px;
  border-radius: 7px;
  background: #fff;
}

.create-search-panel .form-footer {
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  padding-top: 2px;
}

.create-search-panel .form-footer button {
  grid-column: auto;
  min-width: 118px;
}

@media (max-width: 1180px) {
  #view-new-search .advanced-filters > .edit-section {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }
}

@media (max-width: 960px) {
  #view-new-search .advanced-filters > .edit-section {
    grid-template-columns: repeat(2, minmax(190px, 1fr));
  }
}

@media (max-width: 820px) {
  .new-search-routes,
  .search-form-grid,
  .price-pair,
  .create-search-panel .advanced-filters > .edit-section {
    grid-template-columns: 1fr;
  }
  #view-new-search .ai-search-builder,
  #view-new-search .panel-head,
  #view-new-search .create-search-panel .search-form {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 720px) {
  #view-new-search .price-pair,
  #view-new-search .search-form-grid,
  #view-new-search .advanced-filters > .edit-section {
    grid-template-columns: 1fr;
  }
}

/* Advanced filters now uses the shared .disclosure style (see above); this only
   keeps the first inner section flush under the summary. */
.advanced-filters > .edit-section:first-of-type { padding-top: 4px; }

.search-list {
  display: grid;
  gap: 4px;
  padding: 4px 0 2px;
}

/* The base .panel clips with overflow:hidden (rounded corners); that also clipped
   the saved-search row "More" dropdown. Let this panel show overflow so the menu
   is never partly hidden by the card/panel edge. */
.search-list-panel { overflow: visible; }

.search-card {
  border: 1px solid #dfe8ea;
  border-radius: 12px;
  padding: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfd 100%);
  display: grid;
  grid-template-columns: 138px minmax(0, 1fr) 218px;
  gap: 12px;
  align-items: center;
  position: relative;
  box-shadow: 0 1px 0 rgba(7, 22, 75, 0.03);
}

/* Bulk-selection checkbox overlaid on the thumbnail corner — keeps the
   existing 3-column grid intact across list/grid/responsive layouts. */
.row-select {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 3;
  display: inline-flex;
  padding: 2px;
  line-height: 0;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 5px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22);
  cursor: pointer;
}
.row-select-checkbox { width: 16px; height: 16px; margin: 0; cursor: pointer; accent-color: #119c95; }
.search-card.row-selected {
  /* Soft background tint instead of a strong outline ring — calmer, more eBay-like. */
  border-color: rgba(17, 156, 149, 0.4);
  background: rgba(17, 156, 149, 0.06);
  box-shadow: var(--baydar-shadow-soft);
}

/* Bulk actions bar */
.bulk-actions-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid rgba(17, 156, 149, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(17, 156, 149, 0.1), rgba(255, 255, 255, 0.96)),
    #fbfdfd;
  box-shadow: 0 12px 28px -26px rgba(7, 22, 75, 0.45);
}
.bulk-actions-spacer { flex: 1 1 auto; }
.bulk-select-all-label { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; cursor: pointer; }
.bulk-selected-count { font-size: 13px; color: var(--muted); }
.bulk-actions-bar .link-btn {
  background: none;
  border: 0;
  color: #119c95;
  cursor: pointer;
  font: inherit;
  text-decoration: underline;
}

.search-card:hover {
  border-color: var(--panel-border);
  box-shadow: var(--baydar-shadow-soft);
}

.search-card header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.search-card h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: 0;
  color: var(--baydar-navy);
}

.search-thumb {
  width: 132px;
  height: 112px;
  border-radius: 12px;
  background: var(--panel-soft);
  display: grid;
  place-items: center;
  color: var(--baydar-teal-dark);
  font-size: 46px;
  overflow: hidden;
  border: 1px solid rgba(17, 156, 149, 0.16);
  padding: 0;
  flex: none;
  align-self: center;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.7);
}

.search-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cat-tile {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  border-radius: 10px;
}

.image-frame-with-fallback {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.image-frame-with-fallback > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.baydar-image-placeholder {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  width: 100%;
  height: 100%;
  min-height: inherit;
  overflow: hidden;
  isolation: isolate;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 50%, rgba(17, 156, 149, 0.14), transparent 58%),
    linear-gradient(145deg, rgba(223, 245, 242, 0.84), rgba(255, 255, 255, 0.94));
  color: var(--baydar-teal-dark);
  border: 1px solid rgba(17, 156, 149, 0.18);
  text-align: center;
}

.baydar-placeholder-radar {
  position: absolute;
  inset: 13%;
  border-radius: 50%;
  border: 1px solid rgba(17, 156, 149, 0.14);
}

.baydar-placeholder-radar::before,
.baydar-placeholder-radar::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(17, 156, 149, 0.12);
}

.baydar-placeholder-radar::before { inset: 19%; }
.baydar-placeholder-radar::after { inset: 38%; }

.baydar-placeholder-initial {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.68);
  color: var(--baydar-navy);
  font-size: 21px;
  font-weight: 800;
  box-shadow: 0 6px 16px -14px rgba(7, 22, 75, 0.8);
}

.baydar-placeholder-detail {
  display: none;
  position: relative;
  z-index: 1;
  max-width: calc(100% - 14px);
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #45606c;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.result-thumb .baydar-placeholder-initial,
.match-group-thumb .baydar-placeholder-initial {
  width: 32px;
  height: 32px;
  font-size: 16px;
}

.result-thumb.small .baydar-placeholder-initial {
  width: 28px;
  height: 28px;
  font-size: 14px;
}

.result-thumb.small .baydar-placeholder-detail {
  display: none;
}

.baydar-image-placeholder.cat-soft::before {
  display: none;
}
/* Read-only imported eBay filters with explicit used-vs-preserved status. */
.preserved-ebay { margin: 8px 0 14px; }
.preserved-subhead {
  margin: 14px 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: #2e3f57;
}
.preserved-ebay-rows {
  display: grid;
  gap: 6px;
  margin: 8px 0;
}
.preserved-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border-radius: 10px;
  background: #f8fafd;
  border: 1px solid #e1e8f2;
}
.preserved-row-main {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #2c3a52;
  font-size: 12px;
  min-width: 0;
}
.preserved-row-main span:last-child {
  word-break: break-word;
}
.preserved-state {
  flex: none;
  font-size: 11px;
  font-weight: 500;
  padding: 0;
  border-radius: 0;
  border: 0;
  color: #5a677e;
  background: transparent;
  letter-spacing: 0.01em;
  cursor: default;
  user-select: none;
  pointer-events: none;
}
.preserved-state.used {
  color: #0f6761;
}
.preserved-state.preserved {
  color: #55637a;
}
.preserved-chip-key { font-weight: 700; color: #5a6b86; }

.cat-tile-noimg { position: relative; }
.cat-tile-noimg .cat-tile-code { opacity: 0.32; }
.cat-tile-noimg-label {
  position: absolute; left: 0; right: 0; bottom: 6px;
  text-align: center; font-size: 10px; font-weight: 600; letter-spacing: 0.01em;
  color: rgba(255,255,255,0.95); text-shadow: 0 1px 2px rgba(0,0,0,0.35);
}
/* Placeholder when search has never been checked: show "Check now" hint */
.tile-unchecked { opacity: 0.6; position: relative; flex-direction: column; gap: 4px; }
.tile-unchecked-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.85;
  line-height: 1;
}

/* Never-checked search: a deliberate, clickable "action" tile — reads as an
   invitation to fetch live photos, not a faded/broken image placeholder. */
.search-check-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  height: 100%;
  padding: 6px;
  text-align: center;
  border-radius: 10px;
  color: #0c7068;
  background: linear-gradient(140deg, #eaf6f4 0%, #d6efea 100%);
  border: 1px dashed rgba(17, 156, 149, 0.55);
  box-sizing: border-box;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}
.search-thumb:hover .search-check-tile,
.search-open-target:hover .search-check-tile {
  background: linear-gradient(140deg, #ddf0ec 0%, #c4e7e0 100%);
  border-color: rgba(17, 156, 149, 0.9);
  color: #0a5f58;
}
.search-check-tile-icon { width: 26px; height: 26px; line-height: 0; }
.search-check-tile-icon svg { width: 100%; height: 100%; display: block; }
.search-check-tile-main {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.05;
}
.search-check-tile-sub {
  font-size: 9.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.8;
  line-height: 1;
}
/* Larger variant used in Search Detail head */
.search-check-tile.cat-tile-large { gap: 6px; }
.search-check-tile.cat-tile-large .search-check-tile-icon { width: 36px; height: 36px; }
.search-check-tile.cat-tile-large .search-check-tile-main { font-size: 15px; }
.search-check-tile.cat-tile-large .search-check-tile-sub { font-size: 11px; }
/* Compact 66px grid thumbs: drop the sub-label and shrink so it never crowds */
.search-list-grid .search-check-tile { gap: 2px; padding: 3px; }
.search-list-grid .search-check-tile-icon { width: 18px; height: 18px; }
.search-list-grid .search-check-tile-main { font-size: 10px; }
.search-list-grid .search-check-tile-sub { display: none; }

/* Hydrating ("Checking…") tile + spinner */
.search-check-tile-spinner {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2.5px solid rgba(17, 156, 149, 0.25);
  border-top-color: #119c95;
  animation: hydrate-spin 0.8s linear infinite;
}
@keyframes hydrate-spin { to { transform: rotate(360deg); } }
.row-hydrating { opacity: 0.92; }
.row-hydrating :is(.search-thumb, .result-thumb, .match-group-thumb) {
  position: relative;
}
.row-hydrating .search-thumb::after,
.row-hydrating .result-thumb::after,
.row-hydrating .match-group-thumb::after {
  content: "";
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  border: 1px solid rgba(17, 156, 149, 0.32);
  animation: baydar-row-sweep 1.15s ease-out 1;
  pointer-events: none;
}
@keyframes baydar-row-sweep {
  0% { opacity: 0.85; transform: scale(0.55); }
  100% { opacity: 0; transform: scale(1.18); }
}
/* Error tile (auth / network) — amber, clearly actionable */
.search-check-tile--error {
  background: linear-gradient(140deg, #fdf0d8, #f7e4bf);
  border-color: rgba(180, 130, 20, 0.6);
  color: #8a5a08;
}

/* Honest "live checking off" banner above the saved-search list */
.saved-search-live-note {
  margin: 0 0 12px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #fdf6e9;
  border: 1px solid rgba(180, 130, 20, 0.32);
  font-size: 14px;
  color: #6b4a08;
}
/* Degraded / rate-limited live checking — a stronger amber so it reads as "eBay is
   the problem, Baydar is fine and retrying", not a user mistake. */
.saved-search-live-note--degraded {
  background: #fcefe0;
  border-color: rgba(180, 95, 20, 0.5);
  color: #7a3d08;
}
.saved-search-live-note--degraded a { color: #7a3d08; font-weight: 600; }
/* Safe mode is intentional local testing — calm teal/blue, NOT the amber warning. */
.saved-search-live-note--safe {
  background: #eef5f6;
  border-color: var(--panel-border);
  color: #2f4a52;
}
.saved-search-live-note--safe a { color: var(--accent-dark, #119c95); font-weight: 600; }
.saved-search-live-note a { color: #8a5a08; font-weight: 600; }

.cat-watch  { background: linear-gradient(135deg, #b8975a, #9a7c48); }
.cat-tech   { background: linear-gradient(135deg, #2d7dd2, #1f62b0); }
.cat-gaming { background: linear-gradient(135deg, #7c4fc4, #6340a8); }
.cat-camera { background: linear-gradient(135deg, #8b6952, #7a5c44); }
.cat-bike   { background: linear-gradient(135deg, #3d8c5e, #32784f); }
.cat-vehicle { background: linear-gradient(135deg, #2b4a7a, #1f3860); }
.cat-home   { background: linear-gradient(135deg, #c4647a, #ad5268); }
.cat-office { background: linear-gradient(135deg, #4a637c, #3b5268); }
.cat-audio  { background: linear-gradient(135deg, #5c5fc4, #4a4daa); }
.cat-default { background: linear-gradient(135deg, #6b7280, #555d6b); }

/* Calm, deterministic soft-tint placeholders for searches with no recognised
   category and no checked image yet. Light brand-adjacent tints with a muted
   initial — reads as intentional and varied, not a wall of broken grey. */
.cat-soft {
  color: #4a5568;
  font-weight: 700;
  font-size: 24px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
/* Designed placeholder: faint concentric radar rings behind the initial, so an
   unchecked search reads as an intentional brand tile, not a blank/broken box. */
.cat-soft::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 50%, currentColor 0 1.5px, transparent 2px),
    repeating-radial-gradient(circle at 50% 50%, transparent 0 13px, currentColor 13px 13.8px);
  opacity: 0.1;
  pointer-events: none;
}
.cat-soft-1 { background: linear-gradient(135deg, #e8f3f2, #d6eae8); color: #2f6f68; }
.cat-soft-2 { background: linear-gradient(135deg, #ecf2f6, #dbe7ef); color: #34567a; }
.cat-soft-3 { background: linear-gradient(135deg, #eaf2f4, #d8e8ea); color: #2c6470; }
.cat-soft-4 { background: linear-gradient(135deg, #edf1f5, #dee6ee); color: #3d5a72; }
.cat-soft-5 { background: linear-gradient(135deg, #e9f3f0, #d7eae4); color: #336b5d; }
.cat-soft-6 { background: linear-gradient(135deg, #eef3f3, #dfe9ea); color: #3f5f66; }

.search-open-target,
.title-link {
  cursor: pointer;
}

.title-link {
  border: 0;
  background: transparent;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  text-align: left;
}

.title-link:hover {
  color: var(--accent-dark);
  text-decoration: underline;
}

.search-main {
  display: grid;
  gap: 1px;
}

.meta {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.35;
}

.card-actions {
  display: grid;
  gap: 4px;
  align-content: center;
}

.action-open {
  min-height: 28px;
  font-size: 12px;
  padding: 0 9px;
}

/* eBay-style compact row: one clear primary action (View matches) that fills the
   available width, plus a compact "More actions" menu — not a cluster of buttons.
   Keeps the saved-search list scannable; detailed controls live on the detail page. */
.compact-row-actions {
  display: flex;
  align-items: stretch;
  gap: 5px;
}

.compact-row-actions .compact {
  min-height: var(--btn-h);
  padding: 0 10px;
  font-size: 11px;
  justify-content: center;
  text-align: center;
}
.compact-row-actions .primary.compact { flex: 1 1 auto; }

/* Keep "More actions" the same height/baseline as the other compact row buttons
   so it sits in the cluster instead of floating lower/right (Simon's screenshot). */
.compact-row-actions .more-actions { align-self: center; }
.compact-row-actions .more-actions summary {
  min-height: var(--btn-h);
  padding: 0 10px;
  font-size: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Allow anchor tags as styled compact buttons inside card row actions */
.compact-row-actions a.compact {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

/* "More actions" sits beside the primary View matches button as a compact menu. */
.compact-more {
  margin-left: 0;
  flex: none;
}

.compact-more summary {
  min-height: var(--btn-h);
  padding: 0 10px;
  font-size: 11px;
}

.more-actions {
  position: relative;
}

.more-actions summary {
  cursor: pointer;
  min-height: var(--btn-h);
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  list-style: none;
  font-size: 12px;
  padding: 0 10px;
}

.more-actions[open] {
  z-index: 5;
}

.more-actions[open] summary {
  border-color: var(--accent);
}

/* Trigger label swaps to "Hide actions" when the menu is open (Task: don't keep
   saying "More actions" when clicking collapses). CSS-only, no JS. */
.more-actions summary .less-label { display: none; }
.more-actions[open] summary .more-label { display: none; }
.more-actions[open] summary .less-label { display: inline; }

.more-actions button {
  width: 100%;
  margin-top: 4px;
  background: #ffffff;
  min-height: 28px;
  font-size: 11.5px;
}

/* Saved-search row overflow: one compact trigger, a proper dropdown menu (not a
   giant expanding button stack, and no "More actions/Hide actions" label swap). */
.row-overflow { position: relative; margin-left: auto; }
.row-overflow > summary.row-overflow-trigger {
  cursor: pointer;
  list-style: none;
  display: inline-grid;
  place-items: center;
  min-height: var(--btn-h);
  padding: 0 12px;
  font-size: 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
}
.row-overflow > summary.row-overflow-trigger::-webkit-details-marker { display: none; }
.row-overflow[open] > summary.row-overflow-trigger { border-color: var(--accent); }
.row-overflow .row-overflow-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 20;
  display: flex;
  flex-direction: column;
  min-width: 180px;
  padding: 6px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.row-overflow .row-overflow-menu button,
.row-overflow .row-overflow-menu a {
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  border-radius: 6px;
  min-height: 32px;
  padding: 0 10px;
  font-size: 12.5px;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  align-items: center;
  text-decoration: none;
}
.row-overflow .row-overflow-menu button:hover,
.row-overflow .row-overflow-menu a:hover { background: var(--panel-soft); }
.row-overflow .row-overflow-menu button[disabled] {
  color: var(--muted);
  cursor: not-allowed;
  opacity: 0.6;
}
.row-overflow .row-overflow-menu button[disabled]:hover { background: transparent; }
.row-overflow .row-overflow-menu button.row-overflow-danger { color: #b42318; }
.row-overflow .row-overflow-menu button.row-overflow-danger:hover { background: #fdeceb; }

.edit-form {
  grid-column: 1 / -1;
  display: none;
  gap: 10px;
  margin-top: 10px;
  padding: 12px;
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
}

.search-card.editing .edit-form {
  display: grid;
}

.edit-section {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: start; /* size each field to its own content — no slung rows */
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 0 14px 14px;
  margin: 12px 0;
  background: var(--panel-muted);
}

/* Keep Min price (£) and Max price (£) side by side as one deliberate row. */
.edit-price-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.edit-section h4 {
  grid-column: 1 / -1;
  color: var(--baydar-navy);
  font-weight: 700;
  font-size: 14px;
  margin: 0 -14px 4px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--panel-border);
  background: #f6fbfc;
  border-radius: 8px 8px 0 0;
}

.edit-form label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 12px;
}

.edit-form input,
.edit-form select,
.edit-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 7px 9px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
}
/* All single-line controls (text, number, select, combo) share one firm height
   so the Filters grid reads as even rows; textareas are the only multi-line ones. */
.edit-form input:not([type="checkbox"]):not([type="radio"]),
.edit-form select {
  /* Compact to sit close to the Category-filters controls (Simon: main Filters
     were noticeably taller). Still comfortably readable/clickable at 12px. */
  height: 30px;
  min-height: 30px;
  padding-top: 4px;
  padding-bottom: 4px;
  line-height: 1.2;
}
.edit-form textarea {
  height: auto;
  min-height: 64px; /* Notes is intentionally taller */
}
/* Hide native number spinners — they're not useful for price/radius/days/feedback. */
.edit-form input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.edit-form input[type="number"]::-webkit-outer-spin-button,
.edit-form input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.edit-form .wide {
  grid-column: 1 / -1;
}

/* Safari/WebKit paints autofill-eligible fields (it recognises "Postcode" as an
   address field) with its native pale-yellow background, which reads like an
   error/dirty marker next to the white fields. Baydar applies no such highlight;
   this keeps autofilled edit-form fields visually consistent without disabling
   autofill itself. */
.edit-form input:-webkit-autofill,
.edit-form input:-webkit-autofill:hover,
.edit-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--ink);
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  box-shadow: 0 0 0 1000px #ffffff inset;
  caret-color: var(--ink);
}

.field-help {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  margin-top: 4px;
  padding: 0 1px;  /* subtle horizontal inset keeps help text off field edge */
  font-weight: 400;
}

.row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: flex-start;
  min-width: 160px;
}

.row-actions button,
.row-actions .button-link {
  min-height: 30px;
  padding: 0 8px;
  font-size: 12px;
  display: inline-grid;
  place-items: center;
  text-align: center;
  text-decoration: none;
}

.selected-action {
  background: var(--baydar-teal-soft);
  color: var(--baydar-teal-dark);
  border-color: var(--baydar-teal);
  font-weight: 700;
}

.row-actions .compact {
  flex-basis: 100%;
}

.inline-status {
  display: inline-flex;
  margin-top: 6px;
  flex-basis: 100%;
}

.pill {
  display: inline-flex;
  align-items: center;
  min-height: var(--chip-h);
  border-radius: 999px;
  padding: 0 10px;
  background: #eef4f6;
  color: #244452;
  border: 1px solid rgba(47, 74, 82, 0.12);
  font-size: 11.5px;
  white-space: nowrap;
  font-weight: 600;
}

.pill.live,
.pill.alert {
  background: var(--baydar-chip-bg);
  color: var(--baydar-teal-dark);
  border-color: var(--baydar-chip-border);
}
/* All current listings filtered out — amber so it reads as "needs a look",
   not a silent "fine". */
.pill.warn {
  background: var(--chip-warn-bg);
  color: var(--chip-warn-ink);
  border-color: var(--chip-warn-border);
}

button.pill.pill-link {
  border: none;
  cursor: pointer;
  font: inherit;
  letter-spacing: inherit;
}
button.pill.pill-link:hover { opacity: 0.8; }

.pill.mock,
.pill.dev {
  background: #f1f4f6;
  color: #586a72;
  border-color: #dce5e8;
}

.updates-panel {
  margin: 18px 0 22px;
  max-width: 980px;
}

.updates-panel .panel-head {
  padding: 12px 16px;
}

.updates-panel .panel-head h3 {
  font-size: 18px;
}

.new-results-intro {
  padding: 12px 16px 8px;
  border-bottom: 1px solid #eaf0f2;
  background: linear-gradient(180deg, #fbfdfe, #ffffff);
}

.new-results-intro .page-explainer {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #5f6f76;
}

.update-list {
  display: grid;
  gap: 8px;
  padding: 10px 12px 12px;
  border-top: 0;
}

.update-row {
  display: grid;
  /* Column 1 must match the 112px .result-thumb — was 94px, so the image
     overflowed its track and the title/meta overlapped it (Zoom 9050 bug). */
  grid-template-columns: 112px minmax(0, 1fr) 140px;
  gap: 14px;
  align-items: start;
  padding: 10px;
  border: 1px solid #e6edf0;
  border-radius: 10px;
  background: #ffffff;
}

.update-row a,
.update-row span {
  display: block;
}

.update-row .result-thumb {
  display: grid;
  place-items: center;
}

.clickable {
  cursor: pointer;
}

.update-row a {
  color: var(--ink);
  text-decoration: none;
  margin: 3px 0;
}

.update-row a:hover {
  text-decoration: underline;
}

.pill.digest {
  background: var(--yellow);
  color: var(--yellow-ink);
}

.pill.suppress {
  background: var(--red);
  color: var(--red-ink);
}

.feed-table-wrap {
  overflow: auto;
}

/* ── Listing-card layout (replaces feed-table rows) ─────────────────────────── */

.feed-list {
  display: flex;
  flex-direction: column;
}

.listing-card {
  display: grid;
  grid-template-columns: 132px 1fr auto;
  gap: 16px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  align-items: start;
}

.listing-card:last-child {
  border-bottom: none;
}

.listing-card-photo {
  width: 132px;
  flex-shrink: 0;
}

/* Square product tile that mirrors the Saved searches row image treatment
   (object-fit: cover) so eBay photos fill the box consistently instead of
   floating as tiny letterboxed stamps. A SQUARE box means cover can only ever
   take a centred square crop — it can never produce a long narrow strip — so
   rows look uniform and review-useful while staying compact. */
.listing-card .result-thumb {
  width: 132px;
  height: 132px;
}

.listing-card .result-thumb img {
  object-fit: contain;
  background: #fff;
}

.listing-card-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.listing-card-title {
  font-size: 14px;
  font-weight: 500;
}

.listing-card-title .listing-link {
  color: var(--navy);
  text-decoration: none;
}

.listing-card-title .listing-link:hover {
  text-decoration: underline;
}

.listing-card-meta {
  font-size: 13px;
  color: var(--text);
}

.listing-card-status {
  font-size: 12px;
  color: var(--muted);
}

.listing-card-why {
  margin-top: 2px;
  font-size: 12px;
}

.listing-card-why > summary {
  width: max-content;
  cursor: pointer;
  color: var(--muted);
  font-weight: 600;
}

.listing-card-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
  min-width: 120px;
}

/* ── Quiet status text (not a pill/badge) ───────────────────────────────────── */

.search-status-meta {
  color: var(--muted);
  font-size: 12px;
}

/* ── Match group overview card row ──────────────────────────────────────────── */

.match-group-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
}

.match-group-row:hover {
  background: var(--panel-soft);
}

.matches-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  align-items: center;
  padding: 12px 14px;
  margin-bottom: 10px;
  border: 1px solid rgba(17, 156, 149, 0.16);
  border-radius: 12px;
  background:
    radial-gradient(circle at 20px 18px, rgba(17, 156, 149, 0.08), transparent 52px),
    #fbfdfd;
  color: var(--muted);
  font-size: 13px;
  box-shadow: var(--baydar-shadow-soft);
}

.matches-summary-main {
  color: var(--ink);
  font-weight: 700;
}

.matches-back-row {
  width: 100%;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.matches-title {
  color: var(--baydar-navy);
  font-size: 18px;
  font-weight: 800;
}
.matches-title-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  background: #ffffff;
}
.matches-edit-search { flex: 0 0 auto; }

.matches-help {
  width: 100%;
  margin: 0;
  color: var(--muted);
}

.matches-summary-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.matches-summary-counts span,
.match-filters button {
  border: 1px solid #d8e3e6;
  border-radius: 999px;
  padding: 3px 9px;
  background: #ffffff;
  color: #4c636b;
  min-height: 28px;
  font-size: 12px;
  font-weight: 700;
}

.match-filters button.active {
  border-color: var(--baydar-teal);
  background: var(--baydar-chip-bg);
  color: var(--baydar-teal-dark);
}

.match-filters button[data-match-filter="new"]:not([data-filter-count="0"]) {
  border-color: rgba(17, 156, 149, 0.46);
  box-shadow: inset 0 0 0 1px rgba(17, 156, 149, 0.1);
}

.feed-table {
  width: 100%;
  min-width: 1020px;
  border-collapse: separate;
  border-spacing: 0 8px;
}

/* drill-down column widths: Item flex | Price fixed | Reasons min | Status fixed | eBay fixed | Actions min */
.feed-table td:nth-child(2),
.feed-table th:nth-child(2) { width: 72px; white-space: nowrap; }
.feed-table td:nth-child(4),
.feed-table th:nth-child(4) { width: 72px; }
.feed-table td:nth-child(6),
.feed-table th:nth-child(6) { min-width: 160px; }

.feed-table th,
.feed-table td {
  text-align: left;
  border-bottom: 1px solid rgba(213, 224, 226, 0.58);
  padding: 10px;
  vertical-align: top;
  background: #ffffff;
}

.feed-table tbody tr:hover {
  background: #f7fbfb;
}

.feed-table tbody tr:hover td {
  background: #f7fbfb;
}

.feed-table th {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  background: transparent;
  border-bottom: 0;
}

.match-group-row strong {
  display: block;
  margin-bottom: 4px;
}

.match-group-row {
  cursor: pointer;
  transition: background 140ms ease;
}

.match-group-row:hover {
  background: #f6fbfa;
}

.match-group-title {
  border: 0;
  background: transparent;
  color: var(--accent-dark);
  min-height: 0;
  padding: 0;
  font-weight: 800;
  text-align: left;
  /* Match the Saved-searches row title scale so the two surfaces feel consistent
     (these grouped rows used to read as small secondary/developer data). */
  font-size: 15px;
}

.match-group-title:hover {
  text-decoration: underline;
}

.match-group-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 2px;
}

.match-group-inner {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 4px 0;
}

/* Larger, readable thumbnail aligned with the Saved-searches row scale — grouped
   Matches rows stay compact but no longer look like tiny secondary data. */
.match-group-thumb {
  flex: none;
  width: 84px;
  height: 84px;
  border-radius: 9px;
  overflow: hidden;
  background: var(--panel-soft);
  display: flex;
  align-items: center;
  justify-content: center;
}

.match-group-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #ffffff;
}

.match-group-initials {
  font-size: 18px;
  font-weight: 700;
  color: var(--accent-dark);
  opacity: 0.7;
}

.match-cat-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #fff;
  border-radius: 8px;
}

.match-group-text {
  flex: 1;
  min-width: 0;
}

.lp-feature-trust-note {
  font-size: 13px;
  color: var(--lp-ink-4);
  text-align: center;
  margin-top: 20px;
}

.page-explainer {
  margin: 0 0 14px;
  color: var(--muted);
}

.listing-cell {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
}

.result-thumb {
  width: 112px;
  height: 112px;
  border-radius: 10px;
  overflow: hidden;
  background: #f2f4f5;
}

.result-thumb.small {
  width: 86px;
  height: 86px;
}

.result-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #ffffff;
}

.pill.subtle {
  display: inline-flex;
  margin-left: 6px;
  padding: 2px 6px;
  font-size: 11px;
}

.listing-link {
  color: var(--accent-dark);
  font-weight: 650;
  text-decoration: none;
}

.listing-link:hover {
  text-decoration: underline;
}

.event-list {
  display: grid;
  gap: 8px;
}

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

.learning-item {
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 12px;
  background: var(--panel-soft);
}

.learning-item strong {
  display: block;
  margin-bottom: 4px;
}

.learning-item span {
  color: var(--muted);
}

.event {
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 10px;
  background: var(--panel-soft);
}

.event.warning {
  background: #fff8e6;
  border-color: #f0c36a;
}

.event.danger {
  background: #fff0f0;
  border-color: #e89595;
}

.event strong {
  display: block;
  margin-bottom: 4px;
}

.api-readiness-panel {
  margin: 24px 0 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: #555555;
}

.search-detail-panel {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 22px 28px;
  margin: 16px 0 28px;
}

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

.detail-head h3 {
  font-size: 28px;
  margin: 4px 0;
}

.detail-head p {
  margin: 0;
  color: var(--muted);
}

.detail-head-left {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  flex: 1;
  min-width: 0;
}

.detail-preview-thumb {
  width: 112px;
  height: 112px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--panel-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.detail-preview-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #ffffff;
  display: block;
}

.detail-preview-thumb .cat-tile {
  font-size: 28px;
  border-radius: 8px;
}

.detail-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-self: flex-start;
  gap: 8px;
  flex-shrink: 0;
}

.back-link {
  border: 0;
  background: transparent;
  color: var(--accent-dark);
  padding: 0;
  min-height: 0;
}

.button-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 12px;
  color: var(--ink);
  text-decoration: none;
  background: #f8fafc;
}

.button-link:hover {
  border-color: var(--accent-dark);
  background: var(--baydar-teal-soft);
  color: var(--accent-dark);
}

a[aria-disabled="true"],
a.is-disabled {
  pointer-events: none;
  opacity: 0.58;
  cursor: not-allowed;
}

.detail-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.metric.mini {
  padding: 12px 16px;
  background: var(--surface-alt, #f6f8fa);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.metric.mini span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted);
}

.metric.mini strong {
  display: block;
  font-size: 16px;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.detail-grid {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(360px, 0.8fr);
  gap: 20px;
  margin-bottom: 20px;
}

/* ── Reframed Search Details: buyer-facing criteria + results ── */
.detail-criteria-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 4px 0 20px;
  padding: 14px 16px;
  background: var(--surface-alt, #f6f8fa);
  border: 1px solid var(--line);
  border-radius: 10px;
}
.detail-criteria-item { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.detail-criteria-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted);
}
.detail-criteria-item > span:last-child { overflow-wrap: anywhere; font-size: 14px; }
.detail-results-area { margin-bottom: 20px; }
.detail-results-header {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 6px;
}
.detail-section-heading { margin: 0; font-size: 16px; }
.detail-results-explainer {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 13px;
}
.detail-hidden-note {
  font-size: 12.5px;
  color: var(--muted);
}
/* Honest parity note: some imported eBay filters (e.g. Vehicle Mileage ranges)
   can't be applied through eBay's API, so Baydar's count can differ from the
   website. Calm/muted, not an error. */
.detail-parity-note {
  margin: 0 0 10px;
  padding: 7px 10px;
  font-size: 12.5px;
  color: var(--muted);
  background: var(--panel-muted);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
}
.detail-hidden-link {
  color: var(--baydar-teal);
  text-decoration: none;
}
.detail-hidden-link:hover { text-decoration: underline; }
.detail-status-pill { vertical-align: middle; margin-left: 8px; font-size: 11px; }
.detail-paused-note {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 0 16px;
  padding: 10px 14px;
  background: #fdf6e9;
  border: 1px solid rgba(180, 130, 20, 0.32);
  border-radius: 8px;
  font-size: 14px;
  color: #6b4a08;
}
.detail-paused-note button { flex: none; }
.detail-live-off-note {
  margin: 10px 0 0;
  font-size: 13px;
  color: #8a5a08;
}
.detail-live-off-note a { color: #8a5a08; font-weight: 600; }

.detail-results-empty {
  padding: 22px 18px;
  text-align: center;
  background: var(--surface-alt, #f6f8fa);
  border: 1px dashed var(--line);
  border-radius: 10px;
  color: var(--muted);
}
.detail-results-empty p { margin: 0 0 12px; }
.detail-results-empty p:last-child { margin-bottom: 0; }
.detail-empty-title { display: block; font-size: 15px; color: #07164b; margin-bottom: 6px; }
/* Hidden-only state: amber-tinted so it reads as "look at these", not empty. */
.detail-results-hidden-only {
  background: #fdf6e9;
  border: 1px solid rgba(180, 130, 20, 0.3);
  text-align: left;
}
.detail-results-hidden-only .detail-empty-title { color: #8a5a08; }
.detail-reveal-hidden { margin-top: 4px; }
.detail-hidden-results { margin-top: 16px; }
.detail-hidden-results[hidden] { display: none; }

/* Never-checked search detail: a clear, inviting "Not checked yet" state —
   the whole panel is clickable to run the first check. */
.detail-not-checked {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 32px 20px;
  cursor: pointer;
  background: linear-gradient(150deg, #eaf6f4 0%, #f3faf8 100%);
  border: 1px dashed rgba(17, 156, 149, 0.55);
  transition: background 0.16s ease, border-color 0.16s ease;
}
.detail-not-checked:hover,
.detail-not-checked:focus-visible {
  background: linear-gradient(150deg, #ddf0ec 0%, #eaf6f4 100%);
  border-color: rgba(17, 156, 149, 0.9);
  outline: none;
}
.detail-not-checked-icon { line-height: 0; }
.detail-not-checked-title {
  font-size: 16px;
  font-weight: 700;
  color: #07164b;
}
.detail-not-checked-text {
  margin: 0;
  max-width: 380px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}
.detail-not-checked-btn {
  display: inline-block;
  margin-top: 4px;
  padding: 8px 18px;
  border-radius: 8px;
  font-weight: 600;
  pointer-events: none; /* the whole panel handles the click */
}

/* ── One canonical buyer-facing status: saved-search detail + Account ──────── */
.watching-status-panel,
.account-watching-summary {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  margin: 0 0 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfcfd;
}
.account-watching-summary { margin-bottom: 12px; }

.watching-status-head,
.account-watching-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.watching-status-head button,
.account-watching-head button { flex: none; }

.watching-status-label,
.account-watching-label { font-size: 15px; }

.watching-status-reason,
.account-watching-reason { margin: 0; color: var(--muted); font-size: 14px; }
.watching-status-secondary { margin: 0; }
.account-status-rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 4px 0 0;
}
.account-status-rows > div {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.7);
  padding: 8px 10px;
}
/* Notification channels need room for the channel list — full width below the
   two single-line stat cells. */
.account-status-channels { grid-column: 1 / -1; }
.account-status-rows dt {
  margin: 0 0 2px;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
}
.account-status-rows dd {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}
.account-channels-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 3px;
}
.account-channel {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  padding-left: 16px;
  position: relative;
}
.account-channel::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(120, 120, 120, 0.45);
}
.account-channel-on::before { background: #15968a; }
.account-channels-note { margin: 4px 0 0; font-weight: 600; }
@media (max-width: 720px) {
  .account-status-rows { grid-template-columns: 1fr; }
}

/* Per-row tone: subtle green when On, amber when it needs the buyer's attention. */
.account-status-rows .account-status-on { border-color: rgba(15, 118, 110, 0.3); background: #f2fbf9; }
.account-status-rows .account-status-warn { border-color: rgba(180, 130, 20, 0.32); background: #fdf6e9; }

/* Headline tone: green when alerts are ready, amber for every actionable gap. */
.account-alert-alerts-ready { border-color: rgba(15, 118, 110, 0.35); background: #f2fbf9; }
.account-alert-live-checking-is-off,
.account-alert-live-checking-unavailable,
.account-alert-no-searches-on-fast-alerts,
.account-alert-watching-is-off,
.account-alert-alerts-paused,
.account-alert-no-alert-channel-active-yet { border-color: rgba(180, 130, 20, 0.32); background: #fdf6e9; }
/* Degraded / rate-limited — a clearer amber so the user can't mistake it for healthy. */
.account-alert-ebay-rate-limit-reached,
.account-alert-live-checking-degraded { border-color: rgba(180, 95, 20, 0.5); background: #fcefe0; }

/* Retained legacy tones for the per-search watching-status panel. */
.watching-status-active { border-color: rgba(15, 118, 110, 0.35); background: #f2fbf9; }
.watching-status-not-fully-active,
.watching-status-paused { border-color: rgba(180, 130, 20, 0.32); background: #fdf6e9; }
.detail-technical {
  border-top: 1px solid var(--line);
  padding-top: 14px;
  margin-top: 8px;
}
.detail-technical > summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  list-style: none;
}
.detail-technical > summary::-webkit-details-marker { display: none; }
.detail-technical > summary::before { content: "▸ "; }
.detail-technical[open] > summary::before { content: "▾ "; }
.detail-technical-body { padding-top: 14px; display: flex; flex-direction: column; gap: 16px; }

.detail-grid h4,
.result-section h4 {
  margin: 0 0 10px;
}

.filter-table {
  display: grid;
  border-top: 1px solid var(--line);
}

.filter-table div {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}

.filter-table strong,
.filter-table span,
.filter-table em {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

.filter-table span,
.filter-table em {
  color: var(--muted);
  font-style: normal;
}

.filter-status {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  margin-right: 6px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

.filter-status-preserved { background: var(--green); color: var(--green-ink); }
.filter-status-weak { background: var(--yellow); color: var(--yellow-ink); }
.filter-status-missing { background: var(--panel-muted); color: var(--muted); }
.filter-status-unmapped { background: var(--baydar-teal-soft); color: var(--baydar-teal-dark); }

/* ── Detail collapsed sections (check history, filter details) ── */

.detail-full-filters > summary,
.detail-recent-checks > summary {
  cursor: pointer;
  font-size: 0.85rem;
  color: var(--muted);
  padding: 6px 0;
  list-style: none;
  user-select: none;
}

.detail-full-filters > summary::-webkit-details-marker,
.detail-recent-checks > summary::-webkit-details-marker { display: none; }

.detail-full-filters > summary::before,
.detail-recent-checks > summary::before { content: "▸ "; font-size: 9px; }

details[open].detail-full-filters > summary::before,
details[open].detail-recent-checks > summary::before { content: "▾ "; }

/* ── Detail inline edit panel ─────────────────────────────────── */

.detail-edit-panel {
  background: var(--panel-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 16px;
}
/* The real edit form is hidden by default (.edit-form { display:none }) and only
   revealed inside an editing saved-search row. On the saved-search DETAIL page it
   lives in .detail-edit-panel, which is shown/hidden via the [hidden] attribute,
   so the form itself must be visible whenever that panel is open — otherwise the
   buyer opens "Edit search" and sees only intro text with no fields. */
.detail-edit-panel .edit-form {
  display: grid;
  /* The detail panel is already a bordered, rounded surface. The form's own
     square-corner frame just inside it was redundant nesting — drop it so the
     Filters section sits at the panel level, not inside a second box. */
  border: none;
  padding: 0;
  margin-top: 0;
  background: transparent;
}
.detail-edit-intro p {
  margin: 6px 0 12px;
  font-size: 13px;
  color: var(--muted);
}

/* Selected saved-search filters shown as compact buyer-facing rows. */
.config-imported { grid-column: 1 / -1; }

/* Neutral postage/landed-total context on an ACCEPTED listing — item price is
   within the limit (Min/Max use item price), so this must not read as a warning. */
.result-postage-note {
  color: var(--muted);
  font-weight: 500;
}

/* Tighter "Edit saved search" intro + a top Save action (no scrolling to save). */
.detail-edit-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 4px 0 6px;
}
.detail-edit-intro .detail-section-heading {
  margin: 0;
}
.edit-form-top-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}

/* Category filters: a deliberate, boxed subsection (Category selector first,
   then Filter summary + grouped category-specific fields). */
.category-filters-box {
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  /* Same calm pale blue/green family as the Filters section above (--panel-muted),
     so it no longer reads white-on-white but never clashes or visually dominates.
     Inner fields stay white for contrast/readability. */
  background: var(--panel-muted);
  padding: 6px 9px;
  margin-top: 4px;
  display: grid;
  gap: 5px;
}
.category-filters-box > h5 {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--baydar-navy);
}
.category-filters-box .category-select-field {
  max-width: 360px;
}
/* Category filters is a sibling section after the general Filters section (no
   longer a nested box inside it), spaced like the other edit sections. */
.edit-category-section {
  margin: 12px 0;
}
.selected-filter-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  margin-bottom: 6px;
}
.selected-filter-row {
  display: grid;
  grid-template-columns: minmax(110px, 0.55fr) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 3px 9px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
}
/* Match the main Filters labels (muted, 12px, regular weight) so Category filters
   reads as the same component, not a darker/heavier separate one. Section
   headings (h5) stay slightly stronger. */
.selected-filter-key { font-weight: 500; font-size: 12px; color: var(--muted); }
.selected-filter-val { font-size: 12px; color: var(--ink); min-width: 0; display: flex; flex-wrap: wrap; gap: 3px; align-items: center; }
/* Chips for multi-value imported eBay filters (pipe-separated OR selections). */
.import-filter-chip {
  display: inline-block; padding: 1px 6px; border-radius: 4px;
  background: var(--baydar-chip-bg); border: 1px solid var(--baydar-chip-border);
  color: var(--baydar-teal-dark); font-size: 11px; white-space: nowrap; line-height: 1.6;
}
/* "!" wildcard token — shown as "any" in muted italic to distinguish it from real values. */
.import-filter-chip-wildcard {
  background: #f3f4f6; border-color: #d1d5db; color: #6b7280; font-style: italic;
}
.edit-section-subgroup {
  grid-column: 1 / -1;
  display: grid;
  gap: 6px;
  margin-top: 3px;
  padding-top: 6px;
  border-top: 1px solid var(--line);
}
.edit-section-subgroup h5 {
  margin: 0;
  color: var(--baydar-navy);
  font-size: 13px;
}
.edit-exact-link {
  margin: 0;
}
.category-filter-editor {
  grid-column: 1 / -1;
  display: grid;
  gap: 5px;
}
.category-filter-groups {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
/* Read-only "Filter summary" overview above the editable fields. */
.category-filter-summary {
  display: grid;
  gap: 6px;
}
.category-filter-summary-heading {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.category-filter-summary-empty {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
}
.category-filter-list {
  list-style: none;
  margin: 0;
  padding: 5px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
}
/* One consistent summary chip style — informational, not a toggle/button. */
.category-filter-list-item {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
  color: var(--ink);
  font-size: 12px;
  padding: 3px 8px;
  cursor: default;
}
.category-filter-list-label {
  color: var(--muted);
  font-weight: 500;
}
.category-filter-list-value {
  color: var(--ink);
  font-weight: 600;
}
.category-filter-group-pill {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  padding: 5px 10px;
}
.category-filter-group {
  display: grid;
  gap: 2px;
}
.category-filter-group h5 {
  margin: 0;
  font-size: 12px;
  color: var(--baydar-navy);
}
.category-filter-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
}
/* Empty category groups collapse into a <details> so the editor isn't a wall of
   blank "Any" controls. The summary mirrors the group heading, with a clear
   "add filters" affordance and no big vertical footprint until expanded. */
.category-filter-group-empty {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 8px;
  background: #f8fafc;
}
.category-filter-group-summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: var(--baydar-navy);
}
/* A group with selected values reads as a normal heading + its state-aware summary
   (rendered inline). Only EMPTY groups get the muted "add filters" affordance. */
.category-filter-group-empty > .category-filter-group-summary {
  color: var(--ink-muted, #64748b);
}
.category-filter-group-empty > .category-filter-group-summary::after {
  content: " — add filters";
  font-weight: 400;
  color: var(--ink-muted, #94a3b8);
}
.category-filter-group-empty[open] > .category-filter-group-summary::after {
  content: "";
}
/* Preserved-from-eBay block: imported filters Baydar can't edit yet, surfaced
   read-only so they're never silently lost. */
.preserved-filters {
  margin-top: 8px;
}
.preserved-filters-heading {
  margin: 0;
  font-size: 12px;
  color: var(--baydar-navy);
}
/* Genuinely compact rows (~24% shorter): the dominant height was the inner
   control, which inherited the Filters grid's firm 36px from `.edit-form select`.
   We override BOTH height and min-height here (and trim row padding) so the row
   actually shrinks. Two-column desktop layout and readable 12px text are kept. */
.category-filter-control,
.category-filter-controls > label {
  display: grid;
  grid-template-columns: minmax(110px, 0.55fr) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 2px 8px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.category-filter-control select,
.category-filter-control input,
.category-filter-controls > label select,
.category-filter-controls > label input {
  height: 28px;
  min-height: 28px;
  padding: 2px 8px;
  font-size: 12px;
  line-height: 1.2;
  box-sizing: border-box;
}
.category-filter-control-multi {
  align-items: start;
}
.category-filter-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
}
/* Compact multi-select for high-cardinality finite fields (e.g. Year): a small
   collapsed summary that opens to a scrollable checkbox panel, instead of a wall
   of ~127 checkboxes. */
.category-multiselect {
  min-width: 0;
}
.category-multiselect-summary {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 2px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
  font-size: 12px;
  color: var(--ink);
  width: max-content;
  max-width: 100%;
}
.category-multiselect-summary::-webkit-details-marker { display: none; }
.category-multiselect-summary::after {
  content: "▾";
  color: var(--ink-muted, #94a3b8);
  font-size: 11px;
}
.category-multiselect[open] > .category-multiselect-summary::after { content: "▴"; }
.category-multiselect-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
  max-height: 220px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.category-filter-check {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 4px 9px;
  border: 1px solid #d9e4e4;
  border-radius: 7px;
  background: #ffffff;
  color: var(--baydar-navy);
  font-size: 11px;
  line-height: 1.15;
}
.category-filter-check input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  min-height: 1px;
  margin: 0;
  padding: 0;
}
.category-filter-check::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 3px;
  border: 1px solid #b8cbca;
  background: #ffffff;
  box-sizing: border-box;
  flex: 0 0 auto;
}
.category-filter-check:has(input:checked) {
  background: var(--baydar-chip-bg);
  border-color: var(--baydar-chip-border);
  color: var(--baydar-teal-dark);
  box-shadow: inset 0 0 0 1px rgba(17, 156, 149, 0.1);
}
.category-filter-check:has(input:checked)::before {
  content: "✓";
  display: grid;
  place-items: center;
  background: var(--baydar-teal);
  border-color: var(--baydar-teal);
  color: #ffffff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}
.selected-filter-status {
  font-size: 10.5px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
  background: #eef1f4;
  color: #5a6b7b;
}

.bulk-delete-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(15, 23, 42, 0.32);
}
.bulk-delete-confirm {
  width: min(440px, 100%);
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.22);
}
.bulk-delete-confirm h3 {
  margin: 0 0 8px;
  font-size: 18px;
  color: var(--ink);
}
.bulk-delete-confirm p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.bulk-delete-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.bulk-fast-confirm { width: min(480px, 100%); }
.bulk-fast-skipped-head {
  margin: 12px 0 4px !important;
  font-weight: 600;
  color: var(--ink) !important;
}
.bulk-fast-skipped-list {
  margin: 0;
  padding-left: 18px;
  max-height: 180px;
  overflow-y: auto;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
}
.bulk-fast-skipped-list strong { color: var(--ink); }
.email-advanced-body { margin-top: 10px; display: grid; gap: 10px; }
.email-remaining-list { margin: 4px 0 0; padding-left: 18px; font-size: 13px; color: var(--muted); }
.email-preview-body {
  margin: 4px 0 0;
  padding: 10px 12px;
  background: var(--surface-2, #f6f8fa);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 12.5px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--ink);
}
.email-test-area { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

@media (max-width: 760px) {
  .selected-filter-grid,
  .category-filter-controls { grid-template-columns: 1fr; }
  .selected-filter-row,
  .category-filter-control,
  .category-filter-controls > label { grid-template-columns: minmax(90px, 0.45fr) minmax(0, 1fr); }
  .selected-filter-status { grid-column: 2; width: max-content; }
}

/* ── Detail collapsed filter list ────────────────────────────── */

.detail-full-filters,
.detail-recent-checks {
  margin: 0;
}

.api-preview.compact {
  min-height: 180px;
}

.result-sections {
  display: grid;
  gap: 18px;
}

/* ── Dry-run search selector ─────────────────────────────────── */

.dry-run-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 8px 0 4px;
}

.dry-run-select-label {
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
}

.dry-run-select-label select {
  font-size: 12px;
  padding: 3px 6px;
  border: 1px solid var(--panel-border);
  border-radius: 5px;
  background: var(--panel-soft);
}

/* ── Browse readiness panel (Account page) ───────────────────── */

.browse-readiness-notice {
  font-size: 12px;
  color: var(--muted);
  margin: 6px 0 8px;
  font-style: italic;
}

.browse-readiness-rows {
  display: grid;
  gap: 4px;
  margin-bottom: 8px;
}

.browse-readiness-row {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 8px;
  font-size: 13px;
  padding: 4px 0;
  border-bottom: 1px solid var(--line);
}

.browse-readiness-row span:first-child {
  color: var(--muted);
  font-weight: 500;
}

.browse-status-ok { color: var(--green, #2a7a2a); font-weight: 600; }
.browse-status-off { color: var(--muted); }

.browse-readiness-blockers {
  margin: 6px 0;
  padding-left: 18px;
  font-size: 12px;
  color: var(--muted);
}

.browse-readiness-next-step {
  font-size: 12px;
  margin: 8px 0 0;
  padding: 6px 8px;
  border-radius: 6px;
  background: var(--panel-muted, #f5f5f5);
}

.browse-readiness-next-step.browse-readiness-ok { border-left: 3px solid var(--green, #2a7a2a); }
.browse-readiness-next-step.browse-readiness-blocked { border-left: 3px solid var(--panel-border); }

.browse-token-expired-notice {
  color: #92400e;
  background: #fef3c7;
  border: 1px solid #fcd34d;
  padding: 6px 10px;
  border-radius: 6px;
  margin: 4px 0 8px;
  font-size: 12px;
  font-style: normal;
}

.browse-readiness-checklist {
  display: grid;
  gap: 2px;
  margin: 6px 0 10px;
}

.browse-readiness-check {
  font-size: 12px;
  padding: 1px 0;
}

.browse-readiness-check-done { color: var(--green, #2a7a2a); }
.browse-readiness-check-warn { color: #92400e; }
.browse-readiness-check-pending { color: var(--muted); }
.browse-readiness-check-blocked { color: #c0392b; }

/* ── Browse query mapping panel (search detail) ──────────────── */

.browse-query-breakdown {
  margin: 0 0 18px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.browse-query-breakdown summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  user-select: none;
}

.browse-conf-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 10px;
  white-space: nowrap; /* prevent "Browse" and "Low/Medium/High" splitting across lines */
  display: inline-block;
}

.browse-conf-high { background: var(--green, #d1fad1); color: #1a5c1a; }
.browse-conf-medium { background: var(--yellow, #fef3c7); color: #7c5700; }
.browse-conf-low { background: #fee2e2; color: #7c1f1f; }

.browse-query-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 10px;
}

.browse-query-col h5 {
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.browse-filter-item {
  display: flex;
  gap: 8px;
  align-items: baseline;
  padding: 4px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}

.browse-filter-item code {
  font-size: 11px;
  background: var(--panel-soft);
  padding: 1px 5px;
  border-radius: 4px;
  color: var(--muted);
  word-break: break-all;
}

.browse-filter-item.local .browse-filter-name { color: var(--muted); }

.browse-filter-name {
  font-weight: 500;
  min-width: 120px;
  flex-shrink: 0;
}

.browse-query-warn {
  margin-top: 8px;
  font-style: italic;
}

.browse-query-footer {
  margin-top: 6px;
  font-style: italic;
  border-top: 1px solid var(--line);
  padding-top: 6px;
}

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

.result-row {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.result-row a {
  color: var(--ink);
  font-weight: 650;
  text-decoration: none;
}

.result-row a:hover {
  text-decoration: underline;
}

.technical-details {
  margin-top: 18px;
  color: var(--muted);
}

.technical-details summary {
  cursor: pointer;
  font-weight: 700;
}

.api-preview {
  margin: 12px 0 0;
  padding: 12px;
  min-height: 96px;
  overflow: auto;
  background: #f7f7f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: #252525;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
}

.diagnostic-title {
  color: #111827;
  font-weight: 700;
}

.toast {
  position: fixed;
  right: 20px;
  /* Top-right (under the header) so confirmations are seen near the action,
     not buried at the bottom of long Saved searches / Search Health lists. */
  top: 76px;
  z-index: 1200;
  background: #f7fcfb;
  color: var(--baydar-navy);
  border: 1px solid rgba(17, 156, 149, 0.28);
  border-left: 4px solid var(--baydar-teal);
  border-radius: 10px;
  padding: 11px 14px;
  max-width: 420px;
  box-shadow: 0 18px 42px -28px rgba(7, 22, 75, 0.48);
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 160ms ease, transform 160ms ease;
  pointer-events: none;
}

.toast.show {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 980px) {
  .public-marketing-header {
    min-height: auto;
    padding: 12px 18px;
    align-items: flex-start;
    flex-direction: column;
  }

  .public-top-nav {
    gap: 8px;
  }

  .public-header-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .public-header-cta {
    font-size: 15px;
    padding: 8px 14px;
  }

  .ebay-header {
    /* Drop the redundant standalone "Search" button (the input has its own
       affordance) so logo / search / bell+My Baydar don't crush on narrow widths. */
    grid-template-columns: auto minmax(0, 1fr) auto;
    height: auto;
    padding: 12px 18px;
  }
  .ebay-header .search-button { display: none; }
  .app-header-right { gap: 10px; }
  .header-mybaydar { padding: 6px 10px; }

  .header-logo-img {
    height: 32px;
    padding-left: 0;
  }

  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
    padding: 14px 18px;
  }

  .summary-grid,
  .workspace-grid,
  .import-paths,
  .settings-grid {
    grid-template-columns: 1fr;
  }

  .topbar {
    display: grid;
  }

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

  .card-actions {
    grid-column: 2;
  }

  .saved-search-controls {
    width: 100%;
    justify-content: flex-start;
  }

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

  .actions {
    flex-wrap: wrap;
  }

  .updates-panel {
    max-width: none;
  }

  .new-results-header {
    grid-template-columns: 1fr;
    align-items: start;
  }

  /* Mobile: compact sidebar nav */
  .sidebar {
    border-bottom: 1px solid var(--panel-border);
  }
  .nav {
    gap: 2px;
    margin-bottom: 12px;
  }
  .nav a {
    font-size: 15px;
    padding: 8px 14px;
    margin-right: 10px;
  }
  .nav-section-label {
    padding: 7px 14px 2px;
    font-size: 9.5px;
  }
  .sidebar-subtitle {
    display: none;
  }
}

@media (max-width: 640px) {
  main {
    padding: 14px;
  }

  .global-search {
    grid-template-columns: 38px minmax(0, 1fr);
  }

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

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

  .search-thumb,
  .card-actions {
    grid-column: auto;
  }

  .compact-more {
    margin-left: 0;
  }
}

/* ── Import review view ─────────────────────────────────────── */

.review-safety-banner {
  background: var(--yellow);
  color: var(--yellow-ink);
  border: 1px solid #e8d08a;
  border-radius: 6px;
  padding: 10px 16px;
  font-size: 13px;
  margin-bottom: 16px;
  text-align: center;
}

.review-safety-banner-demo {
  background: var(--panel-bg);
  color: var(--muted);
  border-color: var(--line);
  font-size: 12px;
}

.review-card-ebay-link {
  display: inline-block;
  font-size: 12px;
  color: var(--teal);
  text-decoration: none;
  padding: 4px 10px;
  border: 1px solid var(--teal);
  border-radius: 4px;
  transition: background 0.15s, color 0.15s;
}
.review-card-ebay-link:hover {
  background: var(--teal);
  color: #fff;
}
.review-card-ebay-disabled {
  display: inline-block;
  font-size: 12px;
  color: var(--muted);
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: 4px;
  cursor: default;
  opacity: 0.6;
}

.new-results-no-check-state {
  padding: 32px 24px;
  text-align: center;
}
.new-results-no-check-heading {
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 8px;
}
.new-results-no-check-detail {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
  max-width: 420px;
  margin-inline: auto;
}

.review-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}

.review-metric {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.review-metric span {
  font-size: 12px;
  color: var(--muted);
}

.review-metric strong {
  font-size: 26px;
  font-weight: 700;
}

.review-metric-ready strong { color: var(--green-ink); }
.review-metric-partial strong { color: var(--yellow-ink); }
.review-metric-blocked strong { color: var(--red-ink); }

.review-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.review-filter-group {
  display: flex;
  gap: 4px;
}

.review-filter-btn {
  border: 1px solid var(--panel-border);
  background: var(--panel);
  border-radius: 5px;
  padding: 5px 11px;
  font-size: 12px;
  cursor: pointer;
  color: var(--muted);
  line-height: 1.4;
  transition: background 0.1s, color 0.1s, border-color 0.1s;
}

.review-filter-btn.active,
.review-filter-btn:hover {
  background: var(--baydar-teal-soft);
  color: var(--baydar-teal-dark);
  border-color: var(--baydar-teal-dark);
}

.review-filter-search {
  flex: 1;
  min-width: 160px;
  border: 1px solid var(--panel-border);
  border-radius: 5px;
  padding: 5px 10px;
  font-size: 13px;
  background: var(--panel);
  color: var(--ink);
}

.review-filter-count {
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
}

.review-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.review-card {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: 10px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.review-card-ready { border-left: 4px solid var(--green-ink); }
.review-card-partial { border-left: 4px solid var(--yellow-ink); }
.review-card-blocked { border-left: 4px solid var(--red-ink); }

.review-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.review-card-name {
  font-weight: 600;
  font-size: 14px;
}

.review-pill-ready { background: var(--green); color: var(--green-ink); }
.review-pill-partial { background: var(--yellow); color: var(--yellow-ink); }
.review-pill-blocked { background: var(--red); color: var(--red-ink); }

.review-card-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.review-field {
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
  border-radius: 4px;
  padding: 3px 8px;
  font-size: 12px;
  display: inline-flex;
  gap: 5px;
  align-items: baseline;
}

.review-field-label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.review-card-aspects,
.review-card-unknown,
.review-card-ignored,
.review-card-unmapped {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  font-size: 13px;
}

.review-section-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.aspect-tag {
  background: var(--baydar-teal-soft);
  color: var(--baydar-teal-dark);
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
}

.mapped-aspect-tag {
  background: #d1fae5;
  color: #065f46;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
  border: 1px solid #6ee7b7;
}

.aspect-field-arrow {
  opacity: 0.6;
  font-size: 11px;
}

.unknown-tag {
  background: var(--yellow);
  color: var(--yellow-ink);
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
}

.review-card-ignored,
.review-card-unmapped {
  font-size: 12px;
  color: var(--muted);
}

.review-card-reasons {
  margin: 0;
  padding: 0 0 0 16px;
  font-size: 13px;
  color: var(--muted);
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.review-card-suggestion {
  font-size: 13px;
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.review-card-triage {
  display: flex;
  gap: 6px;
  margin-top: 10px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.triage-btn {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 5px;
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
  color: var(--muted);
  transition: background 0.1s, color 0.1s, border-color 0.1s;
}

.triage-btn:hover {
  background: var(--hover);
  color: var(--ink);
}

.triage-approve-btn.active {
  background: #d1fae5;
  color: #065f46;
  border-color: #6ee7b7;
}

.triage-skip-btn.active {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #93c5fd;
}

.triage-flag-btn.active {
  background: #fef3c7;
  color: #92400e;
  border-color: #fcd34d;
}

.review-card.triage-approve {
  border-left-color: #10b981;
}

.review-card.triage-skip {
  border-left-color: #3b82f6;
}

.review-card.triage-flag {
  border-left-color: #f59e0b;
}

.triage-summary-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  background: var(--surface-alt);
  border-radius: 6px;
  font-size: 13px;
  margin-bottom: 10px;
}

.triage-label {
  color: var(--muted);
  font-weight: 500;
}

.triage-stat {
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
}

.triage-stat.triage-approve {
  background: #d1fae5;
  color: #065f46;
}

.triage-stat.triage-skip {
  background: #eff6ff;
  color: #1d4ed8;
}

.triage-stat.triage-flag {
  background: #fef3c7;
  color: #92400e;
}

.triage-reset-btn {
  margin-left: auto;
  border: 1px solid var(--line);
  background: none;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
  cursor: pointer;
  color: var(--muted);
}

.triage-reset-btn:hover {
  background: var(--hover);
  color: var(--ink);
}

.drawer-triage-section .drawer-triage-actions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

@media (max-width: 700px) {
  .review-summary-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── Import staging ──────────────────────────────────────────── */

.review-selection-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
  border-radius: 7px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.selection-count {
  font-size: 13px;
  color: var(--muted);
  flex: 1;
}

.review-card.selected {
  outline: 2px solid var(--baydar-teal-dark);
  outline-offset: -1px;
}

.review-card-select {
  display: flex;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
}

.review-card-checkbox {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--baydar-teal-dark);
}

.import-queue-panel {
  background: var(--panel-muted);
  border: 2px solid var(--baydar-teal-dark);
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 20px;
}

.import-queue-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.import-queue-header h3 {
  margin: 0 0 4px;
  font-size: 15px;
}

.import-queue-badge {
  display: inline-block;
  background: var(--baydar-teal-dark);
  color: #fff;
  border-radius: 10px;
  padding: 1px 8px;
  font-size: 12px;
  font-weight: 700;
  margin-left: 4px;
}

.import-queue-note {
  font-size: 12px;
  color: var(--baydar-teal-dark);
  font-weight: 600;
  margin: 0;
}

.import-queue-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.disabled-action {
  opacity: 0.55;
  cursor: not-allowed;
}

.import-queue-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.queue-section-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--green-ink);
  margin: 8px 0 4px;
}

.queue-section-caution {
  color: var(--yellow-ink);
}

.queue-item {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-left: 3px solid var(--panel-border);
  border-radius: 6px;
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.queue-item-ready  { border-left-color: var(--green-ink); }
.queue-item-partial { border-left-color: var(--yellow-ink); }
.queue-item-blocked { border-left-color: var(--red-ink); }

.queue-item-name {
  font-size: 13px;
  font-weight: 600;
}

.queue-item-meta {
  font-size: 12px;
  color: var(--muted);
}

.queue-item-aspects {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 2px;
}

/* ── Audit log view ──────────────────────────────────────────── */

.audit-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

.audit-quota-section {
  margin-bottom: 20px;
}

.audit-quota-block {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.audit-quota-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  color: var(--muted);
}

.audit-quota-label strong {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}

.audit-quota-bar-track {
  height: 8px;
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
  border-radius: 4px;
  overflow: hidden;
}

.audit-quota-bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s;
}

.audit-quota-ok { background: var(--green-ink); }
.audit-quota-warning { background: var(--yellow-ink); }
.audit-quota-danger { background: var(--red-ink); }

.audit-quota-meta {
  font-size: 12px;
  color: var(--muted);
}

.audit-event-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.audit-event {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-left: 4px solid var(--panel-border);
  border-radius: 10px;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.audit-type-import { border-left-color: var(--baydar-teal-dark); }
.audit-type-bucket { border-left-color: var(--baydar-teal-dark); }
.audit-type-quota  { border-left-color: var(--green-ink); }
.audit-type-warning { border-left-color: var(--yellow-ink); }
.audit-type-error  { border-left-color: var(--red-ink); }
.audit-type-poll   { border-left-color: var(--muted); }

.audit-event-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.audit-event-type {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-right: 8px;
}

.audit-event-action {
  font-size: 14px;
  font-weight: 600;
}

.audit-event-time {
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
}

.audit-event-flags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.audit-flag {
  font-size: 11px;
  border-radius: 4px;
  padding: 2px 7px;
}

.audit-flag-safe {
  background: var(--green);
  color: var(--green-ink);
}

.audit-flag-risk {
  background: var(--red);
  color: var(--red-ink);
}

.audit-event-notes {
  font-size: 13px;
  color: var(--muted);
}

.audit-event-issues {
  margin: 0;
  padding: 0 0 0 16px;
  font-size: 13px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.audit-warning { color: var(--yellow-ink); }
.audit-error   { color: var(--red-ink); }

@media (max-width: 700px) {
  .audit-summary-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── Audit staging event type ────────────────────────────────── */

.audit-type-staging { border-left-color: var(--baydar-teal); }

/* ── Review summary grid: 8-metric two-row layout ───────────── */

.review-summary-grid {
  grid-template-columns: repeat(4, 1fr);
}

.review-metric-staged strong { color: var(--baydar-teal-dark); }

/* ── Import queue bucket pills ───────────────────────────────── */

.import-queue-bucket-summary {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 4px 0 6px;
}

.queue-bucket-pill {
  font-size: 11px;
  font-weight: 700;
  border-radius: 4px;
  padding: 2px 8px;
}

.queue-bucket-ready   { background: var(--green); color: var(--green-ink); }
.queue-bucket-partial { background: var(--yellow); color: var(--yellow-ink); }
.queue-bucket-blocked { background: var(--red); color: var(--red-ink); }

.queue-item-reason {
  font-size: 11px;
  color: var(--muted);
  font-style: italic;
}

/* ── Approval gate panel ─────────────────────────────────────── */

.approval-gate {
  margin-top: 16px;
  padding: 14px 16px;
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
}

.approval-gate-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.approval-gate-progress {
  font-size: 11px;
  font-weight: 600;
  color: var(--yellow-ink);
  background: var(--yellow);
  border-radius: 4px;
  padding: 1px 6px;
  text-transform: none;
  letter-spacing: 0;
}

.approval-gate-checklist {
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.approval-item {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  padding: 5px 10px;
  border-radius: 5px;
}

.approval-item-icon {
  flex-shrink: 0;
  font-size: 14px;
}

.approval-item-note {
  font-size: 11px;
  opacity: 0.75;
}

.approval-item-ok {
  background: var(--green);
  color: var(--green-ink);
}

.approval-item-pending {
  background: var(--panel-soft);
  color: var(--muted);
}
.approval-item-done {
  background: var(--green);
  color: var(--green-ink);
}

.approval-gate-note {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
  font-style: italic;
}
.approval-gate-write-section {
  margin-top: 10px;
  padding: 10px 12px;
  background: var(--surface-alt, #f8f9fa);
  border: 1px solid var(--border);
  border-radius: 6px;
}
.approval-gate-write-note {
  font-size: 12px;
  color: var(--muted);
  margin: 0 0 8px;
}

/* ── Candidate detail drawer ─────────────────────────────────── */

.candidate-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(7, 22, 75, 0.3);
  z-index: 40;
}

.candidate-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(460px, 92vw);
  background: var(--panel);
  border-left: 1px solid var(--panel-border);
  z-index: 50;
  overflow-y: auto;
  box-shadow: -4px 0 24px rgba(0,0,0,0.10);
}

.candidate-drawer-inner {
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.candidate-drawer-close {
  align-self: flex-end;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 14px;
  cursor: pointer;
  color: var(--muted);
  min-height: 0;
  margin-bottom: 14px;
}

.candidate-drawer-close:hover {
  background: var(--panel-soft);
  color: var(--ink);
}

.drawer-candidate-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.drawer-flags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.drawer-demo-note {
  font-size: 12px;
  color: var(--muted);
  background: var(--panel-bg);
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 8px 12px;
  margin: 0 0 16px;
}

.drawer-preview-placeholder {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--panel-bg);
  border: 1px dashed var(--line);
  border-radius: 6px;
  padding: 14px 16px;
  margin-bottom: 16px;
  font-size: 13px;
  color: var(--muted);
}
.drawer-preview-placeholder-icon {
  font-size: 18px;
  flex-shrink: 0;
}

.drawer-ebay-link {
  display: inline-block;
  font-size: 13px;
  color: var(--teal);
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}
.drawer-ebay-link:hover { opacity: 0.8; }
.drawer-ebay-disabled {
  font-size: 13px;
  color: var(--muted);
  font-style: italic;
}

.drawer-technical-details {
  border-top: 1px solid var(--line);
  margin-top: 4px;
}
.drawer-technical-details > summary {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
  padding: 12px 0 10px;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 6px;
  user-select: none;
}
.drawer-technical-details > summary::before {
  content: "▸";
  display: inline-block;
  transition: transform 0.15s;
}
.drawer-technical-details[open] > summary::before {
  transform: rotate(90deg);
}

.drawer-section {
  border-top: 1px solid var(--line);
  padding: 14px 0;
}

.drawer-section-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 8px;
}

.drawer-section-note {
  font-size: 11px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--muted);
}

.drawer-field-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.drawer-field-row {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 8px;
  font-size: 13px;
}

.drawer-field-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.drawer-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.drawer-muted {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}

/* ── eBay item specifics panel ───────────────────────────────── */

.item-specifics-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.item-specifics-group {
  border-left: 2px solid var(--panel-border);
  padding-left: 10px;
}

.item-specifics-group-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin: 0 0 6px;
}

.item-specific-row {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 4px 8px;
  align-items: baseline;
  padding: 3px 0;
  border-bottom: 1px solid var(--line);
}

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

.item-specific-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}

.item-specific-value {
  font-size: 13px;
  color: var(--ink);
}

.aspect-raw-key {
  grid-column: 1 / -1;
  font-size: 11px;
  color: var(--muted);
  font-family: monospace;
}

.item-specif-mapped .item-specific-label::after {
  content: " ✓";
  color: var(--baydar-teal);
  font-weight: 400;
}

.item-specifics-note {
  margin-top: 6px;
}

/* ── Taxonomy enrichment ─────────────────────────────────────── */

.taxonomy-source-badge {
  font-size: 11px;
  font-weight: 400;
  color: var(--muted);
  background: var(--panel-muted);
  border: 1px solid var(--panel-border);
  border-radius: 4px;
  padding: 1px 6px;
  margin-left: 6px;
  vertical-align: middle;
  white-space: nowrap;
}

.taxonomy-source-live {
  background: var(--green);
  color: var(--green-ink);
  border-color: var(--green);
}
.taxonomy-source-fixture {
  background: var(--panel-muted);
  color: var(--muted);
}
.taxonomy-source-unknown {
  background: transparent;
  color: var(--muted);
  font-style: italic;
}
.taxonomy-source-alias {
  background: var(--blue-subtle, #e8f4fd);
  color: var(--blue-ink, #0d5c8a);
  border-color: var(--blue-subtle, #b3d7f0);
}

.taxonomy-invalid-badge {
  font-size: 11px;
  font-weight: 600;
  color: var(--red-ink);
  background: var(--red);
  border-radius: 4px;
  padding: 1px 6px;
  margin-left: 6px;
  vertical-align: middle;
  white-space: nowrap;
}

.taxonomy-validation-warning {
  font-size: 12px;
  color: var(--red-ink);
  background: var(--red);
  border-radius: 4px;
  padding: 6px 10px;
  margin-bottom: 8px;
}

.review-metric-taxonomy-live strong { color: var(--green-ink); }
.review-metric-invalid-values strong { color: var(--red-ink); }

.taxonomy-aspect-hint {
  grid-column: 1 / -1;
  font-size: 11px;
  color: var(--muted);
  margin-top: 1px;
}

.taxonomy-aspect-not-found {
  opacity: 0.6;
  font-style: italic;
}

.taxonomy-value-valid {
  color: var(--green-ink);
  font-weight: 600;
}

.taxonomy-value-unknown {
  color: var(--yellow-ink);
  font-weight: 600;
}

.taxonomy-mode-badge {
  margin-left: 4px;
  font-size: 10px;
  font-weight: 600;
  border-radius: 3px;
  padding: 0px 4px;
  vertical-align: middle;
}
.taxonomy-mode-selection {
  color: var(--baydar-navy);
  background: var(--panel-muted);
}
.taxonomy-mode-free {
  color: var(--muted);
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
}

.taxonomy-required-badge {
  margin-left: 4px;
  font-size: 10px;
  font-weight: 700;
  color: var(--red-ink);
  background: var(--red);
  border-radius: 3px;
  padding: 0px 4px;
  vertical-align: middle;
}

.taxonomy-multi-badge {
  margin-left: 4px;
  font-size: 10px;
  font-weight: 600;
  color: var(--baydar-teal-dark);
  background: var(--baydar-teal-soft);
  border-radius: 3px;
  padding: 0px 4px;
  vertical-align: middle;
}

.taxonomy-sample-values {
  grid-column: 1 / -1;
  font-size: 10px;
  color: var(--muted);
  margin-top: 2px;
  font-style: italic;
}

.drawer-suggestion {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}

body.drawer-open {
  overflow: hidden;
}

/* ── Review card name as button ──────────────────────────────── */

.review-card-name-btn {
  background: transparent;
  border: 0;
  padding: 0;
  min-height: 0;
  font-size: inherit;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  flex: 1;
}

.review-card-name-btn:hover {
  color: var(--baydar-teal-dark);
  text-decoration: underline;
}

/* ── Category profiles page ──────────────────────────────────── */

.category-profiles-view {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px;
  max-width: 900px;
}

.category-profile-card {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 20px 24px;
}

.category-profile-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.category-profile-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.category-profile-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--baydar-navy);
}

.category-profile-counts {
  display: flex;
  gap: 6px;
  align-items: center;
}

.category-count-mapped {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 10px;
  background: var(--green);
  color: var(--green-ink);
}

.category-count-preserved {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 10px;
  background: var(--yellow);
  color: var(--yellow-ink);
}

.category-profile-ids {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

.category-id-tag {
  font-size: 11px;
  font-family: monospace;
  background: var(--panel-muted);
  border: 1px solid var(--panel-border);
  border-radius: 4px;
  padding: 2px 6px;
  color: var(--muted);
}

.category-no-taxonomy {
  font-size: 11px;
  color: var(--muted);
  font-style: italic;
}

.category-profile-desc {
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 14px;
}

.category-profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 14px;
}

@media (max-width: 600px) {
  .category-profile-grid { grid-template-columns: 1fr; }
}

.category-col-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted);
  margin: 0 0 8px;
}

.category-field-list {
  margin: 0;
  padding: 0 0 0 16px;
  font-size: 13px;
  line-height: 1.7;
}

.category-field-mapped { color: var(--green-ink); }
.category-field-preserved { color: var(--yellow-ink); }
.category-all-mapped {
  font-size: 0.82rem;
  color: var(--green-ink);
  background: var(--green);
  border-radius: 4px;
  padding: 3px 8px;
  margin: 0;
  display: inline-block;
}

.category-profile-example {
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.category-example-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  font-size: 12px;
  gap: 8px;
}

.category-example-label {
  font-weight: 600;
  color: var(--muted);
}

.category-example-ready .category-example-val { color: var(--green-ink); }
.category-example-partial .category-example-val { color: var(--yellow-ink); }

/* ── Taxonomy status page ────────────────────────────────────── */

.taxonomy-status-view {
  padding: 24px;
  max-width: 900px;
}

.taxonomy-status-summary {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.review-metric-safe strong { color: var(--baydar-teal-dark); }

.taxonomy-status-notice {
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
  border-left: 3px solid var(--baydar-teal);
  border-radius: 6px;
  padding: 12px 16px;
  font-size: 13px;
  margin-bottom: 20px;
  line-height: 1.6;
}

.taxonomy-status-notice code {
  background: var(--panel-muted);
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 12px;
}

.taxonomy-status-live {
  border-left-color: var(--green);
  background: color-mix(in srgb, var(--green) 8%, var(--panel-soft));
}

.taxonomy-status-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-bottom: 24px;
}

.taxonomy-status-table th {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 2px solid var(--panel-border);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
}

.taxonomy-status-table td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
}

.taxonomy-row-hit { background: #f8fffc; }
.taxonomy-row-miss { background: #fff; }
.taxonomy-row-expired { background: var(--yellow); }

.taxonomy-status-pill {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  border-radius: 4px;
  padding: 2px 7px;
}

.taxonomy-status-hit { background: var(--green); color: var(--green-ink); }
.taxonomy-status-miss { background: var(--panel-muted); color: var(--muted); }
.taxonomy-status-expired { background: var(--yellow); color: var(--yellow-ink); }

.taxonomy-table-id { font-family: monospace; color: var(--muted); }

.taxonomy-approval-block {
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 16px 20px;
}

.taxonomy-approval-block h4 {
  margin: 0 0 12px;
  font-size: 14px;
}

.taxonomy-approval-block code {
  background: var(--panel-muted);
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 12px;
  font-family: monospace;
}

/* ── Search tips page ────────────────────────────────────────── */

.search-tips-view {
  padding: 24px;
  max-width: 900px;
}

.search-tips-intro {
  font-size: 14px;
  color: var(--muted);
  margin-bottom: 20px;
}

.search-tips-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 16px;
}

.search-tip-card {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 18px 20px;
}

.search-tip-title {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--baydar-navy);
}

.search-tip-body {
  font-size: 14px;
  line-height: 1.62;
  color: var(--ink);
}

.search-tip-body code {
  background: var(--panel-muted);
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 12px;
  font-family: monospace;
}

/* ── Search tips playbook + accordion ──────────────────────────── */
.search-tips-playbook {
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 20px;
}

.search-tips-playbook-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: 0.07em;  /* aligned with faq-section-title pattern */
}

.search-tips-playbook-list {
  margin: 0;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.search-tips-playbook-list li {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
}

.search-tips-accordion {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--panel-border);
  border-radius: 10px;
  overflow: hidden;
}

.search-tip-item {
  border-bottom: 1px solid var(--panel-border);
  background: #fff;
}

.search-tip-item:last-child { border-bottom: none; }

.search-tip-summary {
  cursor: pointer;
  padding: 11px 16px;
  font-weight: 600;
  font-size: 14px;
  color: var(--baydar-navy);
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  user-select: none;
}

.search-tip-summary::-webkit-details-marker { display: none; }

.search-tip-summary::after {
  content: '+';
  margin-left: auto;
  color: var(--muted);
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}

.search-tip-item[open] .search-tip-summary::after { content: '−'; }

.search-tip-item .search-tip-body {
  padding: 0 16px 14px;
}

/* ── How it works: does/does-not split ────────────────────────── */
.product-does-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.product-does {
  border: 1px solid var(--panel-border);
  border-radius: 10px;
  padding: 16px;
  background: var(--panel-soft);
}

.product-does-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--muted);
  margin: 0 0 10px;
}

.product-does-list {
  margin: 0;
  padding-left: 16px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.product-does-list li {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
}

@media (max-width: 640px) {
  .product-does-split { grid-template-columns: 1fr; }
}

/* ── Review card improvements (Task 1) ────────────────────────── */

.review-card {
  border-left-width: 3px;
}

.review-card-category-badge {
  font-size: 11px;
  font-weight: 600;
  background: var(--panel-muted);
  border: 1px solid var(--panel-border);
  border-radius: 4px;
  padding: 2px 6px;
  color: var(--muted);
  margin-left: auto;
}

.review-card-aspects-summary {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 4px 0;
}

.review-card-triage-pill {
  font-size: 11px;
  font-weight: 600;
  border-radius: 10px;
  padding: 2px 8px;
  margin-left: 6px;
}

.review-card-triage-pill-approve { background: var(--green); color: var(--green-ink); }
.review-card-triage-pill-skip { background: var(--panel-muted); color: var(--muted); }
.review-card-triage-pill-flag { background: var(--yellow); color: var(--yellow-ink); }

/* ── Improved drawer sections (Task 2) ────────────────────────── */

.drawer-section-group {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.drawer-field-group-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted);
  margin: 14px 0 6px;
}

.drawer-field-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 4px 8px;
  padding: 5px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}

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

.drawer-field-label { font-weight: 600; color: var(--ink); }

.drawer-status-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

/* ── Audit event improvements (Task 9) ───────────────────────── */

.audit-event-source-badge {
  font-size: 11px;
  background: var(--panel-muted);
  border: 1px solid var(--panel-border);
  border-radius: 4px;
  padding: 1px 6px;
  color: var(--muted);
}

.audit-type-filter-bar {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding: 10px 24px;
}

.audit-type-filter-btn {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  color: var(--muted);
}

.audit-type-filter-btn.active {
  background: var(--baydar-navy);
  border-color: var(--baydar-navy);
  color: #fff;
}

/* ── Import readiness dashboard (Task 6) ─────────────────────── */

.review-metric-taxonomy strong { color: var(--baydar-teal-dark); }

.review-card-summary {
  font-size: 13px;
  color: var(--muted);
  margin: 2px 0 6px;
  padding: 0 8px;
}

.review-card-aspects-summary {
  padding: 0 8px 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

/* ── Health summary panel ─────────────────────────────────────── */

.import-health-summary {
  padding: 8px 12px;
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  margin-bottom: 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.health-summary-title {
  font-size: 0.78rem;
  color: var(--muted);
  flex-shrink: 0;
}
.health-summary-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.health-summary-pill {
  font-size: 0.73rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  white-space: nowrap;
  border: none;
  cursor: pointer;
  transition: opacity 0.1s;
}
.health-summary-pill:hover { opacity: 0.8; }
.health-summary-pill.active { outline: 2px solid var(--baydar-teal-dark); outline-offset: 1px; }
.health-summary-healthy { background: var(--green); color: var(--green-ink); }
.health-summary-partial { background: var(--yellow); color: var(--yellow-ink); }
.health-summary-blocked { background: var(--red); color: var(--red-ink); }
.health-summary-issues {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 0.72rem;
  color: var(--muted);
}
.health-summary-issue {
  background: var(--panel-muted);
  border-radius: 4px;
  padding: 1px 6px;
}
.health-summary-no-issues {
  font-size: 0.72rem;
  color: var(--green-ink);
  background: var(--green);
  border-radius: 4px;
  padding: 2px 8px;
}
.health-summary-issue-count {
  font-size: 0.72rem;
  color: var(--yellow-ink);
  background: var(--yellow);
  border-radius: 4px;
  padding: 1px 6px;
  font-weight: 600;
}

/* ── Health badge on review cards ─────────────────────────────── */

.review-card-health-badge {
  font-size: 0.7rem;
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: 600;
  white-space: nowrap;
}
.review-card-health-healthy { background: var(--green); color: var(--green-ink); }
.review-card-health-partial { background: var(--yellow); color: var(--yellow-ink); }
.review-card-health-blocked { background: var(--red); color: var(--red-ink); }

/* ── Queue item polish ────────────────────────────────────────── */

.queue-item-why-staged {
  font-size: 0.78rem;
  margin: 3px 0 5px;
  color: var(--muted);
  line-height: 1.4;
}
.queue-item-why-staged-ready { color: var(--green-ink); }
.queue-item-why-staged-partial { color: var(--yellow-ink); }
.queue-item-why-staged-blocked { color: var(--red-ink); font-weight: 600; }
.queue-item-unresolved {
  margin-top: 4px;
  font-size: 0.78rem;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.queue-item-unresolved-label {
  font-weight: 600;
  color: var(--yellow-ink);
  flex-shrink: 0;
}

/* ── Saved-search health view ─────────────────────────────────── */

.search-health-view {
  padding: 8px 0;
}

.health-summary-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  margin-bottom: 10px;
  background: #fbfcfd;
  border-radius: 10px;
  border: 1px solid var(--border);
}

.health-summary-note {
  color: var(--muted);
  font-size: 13.5px;
}

.health-pill {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 12px;
  font-size: 0.74rem;
  font-weight: 600;
  white-space: nowrap;
}
.health-pill-healthy { background: var(--green); color: var(--green-ink); }
/* "Suggestions" is a calm, neutral hint — not an alarming yellow warning. Only
   "Fix needed" (blocked) uses an alert colour, for genuinely broken searches. */
.health-pill-warn    { background: #eef1f6; color: #3f5170; border: 1px solid #d8deea; }
.health-pill-blocked { background: var(--red); color: var(--red-ink); }
.health-pill-paused  { background: #e8ebef; color: #51607a; }

.health-summary-flags {
  font-size: 0.78rem;
  color: var(--muted);
  flex: 1;
  min-width: 200px;
}

.health-report-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.health-report-row {
  display: grid;
  /* First column must match the 148px thumbnail or the photo overflows and
     overlaps the title/suggestions (the overlap Simon reported). */
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 16px;
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #fff;
  align-items: start;
}
.health-report-row:hover {
  box-shadow: 0 14px 28px -24px rgba(21, 34, 52, 0.32);
}
.health-report-healthy { border-left: 3px solid var(--green); }
.health-report-warn    { border-left: 3px solid var(--yellow); }
.health-report-blocked { border-left: 3px solid var(--red); }
.health-report-paused  { border-left: 3px solid #c2cad6; }

.health-report-thumb {
  /* Match Saved searches thumbnail size (148px) so Search Health rows don't
     look inferior — the inner avatar/cat-tile is already 148px. */
  width: 148px;
  height: 148px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}
.health-report-body { min-width: 0; }

.health-report-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.health-report-name {
  font-weight: 600;
  font-size: 1.02rem;
  flex: 1;
}

.health-report-meta {
  font-size: 0.85rem;
  color: var(--muted);
  margin-bottom: 8px;
}

.health-issue-details summary {
  cursor: pointer;
  color: var(--baydar-teal-dark, #0c6f68);
  font-weight: 600;
  font-size: 0.85rem;
  margin-bottom: 8px;
  display: inline-flex;
  align-items: center;
  padding: 3px 12px;
  border: 1px solid var(--line);
  border-radius: var(--btn-radius, 999px);
  list-style: none;            /* hide the tiny native triangle */
  background: #fff;
}
.health-issue-details summary::-webkit-details-marker { display: none; }
.health-issue-details summary::marker { content: ""; }
.health-issue-details summary:hover { border-color: var(--baydar-teal, #119c95); }
/* "Show N suggestions" when collapsed → "Hide suggestions" when open. */
.health-issue-details summary .hs-hide { display: none; }
.health-issue-details[open] summary .hs-show { display: none; }
.health-issue-details[open] summary .hs-hide { display: inline; }
.health-issue-ok-line { font-size: 0.85rem; color: #2e7d6b; margin: 4px 0 8px; font-weight: 600; }

.health-flag {
  color: var(--yellow-ink);
  font-weight: 600;
}

.health-issue-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.health-issue {
  font-size: 0.9rem;
  line-height: 1.45;
  padding: 6px 0 6px 10px;
  border-left: 2px solid transparent;
  margin-bottom: 4px;
}
.health-issue::before { margin-right: 5px; }
.health-issue-error  { border-left-color: var(--red-ink); }
.health-issue-warn   { border-left-color: var(--yellow-ink); }
.health-issue-info   { border-left-color: var(--panel-border); }
.health-issue-ok     { border-left-color: var(--green-ink); }
.health-issue-error::before  { content: "✕"; color: var(--red-ink); }
.health-issue-warn::before   { content: "⚠"; color: var(--yellow-ink); }
.health-issue-info::before   { content: "ℹ"; color: var(--muted); }
.health-issue-ok::before     { content: "✓"; color: var(--green-ink); }
.health-issue-acked { opacity: 0.5; }
.health-issue-tone-info { color: var(--muted); font-weight: 400; font-size: 0.75rem; }
.health-issue-why {
  display: block;
  font-size: 0.75rem;
  color: var(--muted);
  margin-top: 2px;
}
.health-issue-action {
  font-size: 0.74rem;
  color: #5f6f7a;
  margin-top: 3px;
  padding: 4px 7px;
  background: #f8fbfc;
  border-radius: 4px;
  display: inline-block;
}
.health-pill-acked { background: var(--panel-muted); color: var(--muted); }

/* Inline health badge on search cards */
.search-health-badge {
  display: inline-block;
  font-size: 0.72rem;
  padding: 1px 6px;
  border-radius: 10px;
  vertical-align: middle;
  margin-left: 4px;
  font-weight: 600;
}
.search-health-ok   { background: var(--green); color: var(--green-ink); }
.search-health-warn { background: var(--yellow); color: var(--yellow-ink); }
/* Calm, neutral context (informational suggestions only) — deliberately NOT
   yellow, so a fast 60-second cadence never reads as a warning. */
.search-health-info { background: var(--panel-soft); color: var(--muted); font-weight: 500; }

/* ── Search health row actions ────────────────────────────────── */

.health-report-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

/* ── Detail drawer health section ─────────────────────────────── */

.detail-health-section {
  padding: 10px 14px;
  margin: 10px 0 16px;
  background: var(--panel-soft);
  border-radius: 8px;
  border: 1px solid var(--line);
}

.detail-health-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.detail-health-label {
  font-weight: 600;
  font-size: 0.85rem;
  flex: 1;
}

.detail-health-issues {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.detail-health-issue {
  font-size: 0.8rem;
  padding: 2px 0;
}
.detail-health-issue::before { margin-right: 5px; }
.detail-health-error::before  { content: "✕"; color: var(--red-ink); }
.detail-health-warn::before   { content: "⚠"; color: var(--yellow-ink); }
.detail-health-info::before   { content: "ℹ"; color: var(--muted); }

/* ── Edit form footer (cancel button) ────────────────────────── */

.edit-form-footer {
  display: flex;
  gap: 8px;
  align-items: center;
  grid-column: 1 / -1;
  padding-top: 4px;
}

/* ── Editing state highlight ──────────────────────────────────── */

.search-card.editing {
  border-left: 3px solid var(--baydar-teal);
  background: var(--baydar-teal-soft);
}

/* ── Matches empty state ──────────────────────────────────────── */

.matches-empty-cell {
  padding: 28px 16px;
  text-align: center;
}

.matches-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  max-width: 420px;
  margin: 0 auto;
}

/* ── Scheduler status block ───────────────────────────────────── */

.scheduler-status-block {
  margin-top: 4px;
}

.scheduler-status-active {
  font-weight: 600;
  color: var(--green-ink);
  margin: 0 0 4px;
}

.scheduler-status-inactive {
  font-weight: 600;
  color: var(--muted);
  margin: 0 0 4px;
}

.scheduler-requirements {
  list-style: none;
  padding-left: 0;
  margin: 6px 0 8px;
  font-size: 13px;
}
.scheduler-requirements li { padding: 2px 0; }
.scheduler-requirements li::before { content: "○ "; color: var(--muted); }
.scheduler-requirements code { font-size: 12px; background: var(--panel-muted); padding: 1px 4px; border-radius: 3px; }

.health-ack-global-note {
  font-size: 11px;
  color: var(--muted);
  margin: 10px 0 0;
  padding: 6px 10px;
  background: var(--panel-muted);
  border-radius: 4px;
}

/* ── Match reason chips ──────────────────────────────────────── */

.reason-chip {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  margin: 1px 2px 1px 0;
  white-space: nowrap;
  cursor: default;
}
.reason-chip-positive { background: var(--green); color: var(--green-ink); }
.reason-chip-negative { background: var(--red); color: var(--red-ink); }
.reason-chip-caution  { background: var(--yellow); color: var(--yellow-ink); }
.reason-chip-neutral  { background: var(--panel-muted); color: var(--muted); }
.reasons-cell {
  min-width: 120px;
  max-width: 240px;
  color: var(--muted);
  font-size: 12.5px;
}
.reasons-cell .reason-chip,
.reasons-cell .pill {
  background: #f6f9f9;
  border-color: #d8e3e6;
  color: #4c636b;
}

/* ── New search form — padding and input clarity ─────────────── */
/* New Search basic form shares ONE pale blue/green panel treatment with the route
   cards and Advanced filters — no white-vs-pale "different UI generation" split. */
.create-search-panel { background: var(--panel-soft); }
.create-search-panel .panel-head { padding: 18px 22px 0; }
.create-search-panel .search-form {
  padding: 16px 22px 26px;
  background: var(--panel-soft);
  gap: 14px;
}
.create-search-panel input:not([type="checkbox"]),
.create-search-panel select,
.create-search-panel textarea {
  min-height: var(--input-h);
}
/* The Advanced filters box reads as a distinct section on the pale form via its
   own border + slightly deeper muted fill (matching Edit saved-search filters). */
.create-search-panel .advanced-filters.disclosure { background: var(--panel-muted); }

.create-search-panel .tips-cross-link {
  margin-left: 0;
}

/* Two-column grid for query/category/name fields (Item 3). */
.search-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.search-form-grid label { margin: 0; }
.search-form-grid-name { grid-column: 1 / -1; }

.search-filter-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--panel-border);
  border-radius: 10px;
  background: var(--panel-muted);
}
.search-filter-row label { margin: 0; }

/* Form footer: Save + Cancel pinned to bottom of form (Item 3). */
.form-footer {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-top: 4px;
}

@media (max-width: 560px) {
  .search-form-grid { grid-template-columns: 1fr; }
  .search-form-grid-name { grid-column: 1; }
  .search-filter-row { grid-template-columns: 1fr; }
  .lp-vs-comparison-strip { grid-template-columns: 1fr; }
}

/* ── New search live preview ─────────────────────────────────── */

.new-search-preview { margin-top: 6px; }
.new-search-item-filters { margin-top: 8px; }
.new-search-preview-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.preview-issue {
  padding: 5px 9px;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.4;
}
.preview-issue-warn { background: var(--yellow); color: var(--yellow-ink); }
.preview-issue-info { background: var(--panel-muted); color: var(--muted); }
.preview-issue-ok   { background: var(--green); color: var(--green-ink); }

/* ── Safety boundaries block ─────────────────────────────────── */

.safety-boundary-list {
  padding-left: 16px;
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.7;
}
.safety-boundary-list li { margin-bottom: 2px; }

/* ── Health acknowledgement UI ───────────────────────────────── */

/* Muted suggestion: gently dimmed, NO strikethrough (per Simon's steer). */
/* Ignored suggestions stay readable — a small "Ignored" pill, not a faded row. */
.detail-health-muted { opacity: 0.78; }
.detail-health-muted .detail-health-msg::after {
  content: "Ignored"; margin-left: 8px; font-size: 10px; font-weight: 700;
  color: #5a6b86; background: #eef2f8; border: 1px solid #dbe2ee;
  padding: 1px 7px; border-radius: 999px; vertical-align: middle;
}
/* "Ignore / undo" is a clear small secondary button, not a faded underline link. */
.health-ack-link {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--btn-radius, 999px);
  padding: 2px 10px;
  margin-left: 8px;
  font-size: 11px;
  color: var(--muted);
  cursor: pointer;
}
.health-ack-link:hover { color: var(--ink); border-color: var(--baydar-teal, #119c95); }
.health-ack-label {
  font-size: 10px;
  font-style: italic;
  margin-left: 4px;
  opacity: 0.75;
}
.health-ack-btn {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 11px;
  cursor: pointer;
  background: var(--panel-muted);
  color: var(--muted);
  border: 1px solid var(--border);
}
.health-ack-btn:hover { background: var(--border); }
.health-ack-clear-btn { font-style: italic; }

/* ── Health issue row layout + action button ─────────────────── */

.detail-health-issue {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 2px;
}

.detail-health-actions {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  margin-left: 4px;
}

.health-action-btn {
  display: inline-block;
  padding: 3px 12px;
  border-radius: var(--btn-radius, 999px);
  font-size: 11px;
  cursor: pointer;
  background: var(--baydar-teal-soft);
  color: var(--baydar-teal-dark);
  border: 1px solid var(--baydar-teal-soft);
  font-weight: 500;
  line-height: 1.4;
}

.health-action-btn:hover {
  border-color: var(--baydar-teal);
}

/* ── Detail health readiness collapse ────────────────────────── */

.detail-health-readiness-details {
  margin-top: 6px;
}

.detail-health-readiness-details > summary {
  cursor: pointer;
  font-size: 11px;
  color: var(--muted);
  list-style: none;
  padding: 3px 0;
  user-select: none;
}

.detail-health-readiness-details > summary::-webkit-details-marker { display: none; }
.detail-health-readiness-details > summary::before { content: "▸ "; font-size: 9px; }
details[open].detail-health-readiness-details > summary::before { content: "▾ "; }

.detail-health-ack-note {
  font-size: 11px;
  color: var(--muted);
  margin: 4px 0 0;
  padding: 4px 8px;
  background: var(--panel-muted);
  border-radius: 3px;
}

/* ── Sample data notice ───────────────────────────────────────── */
.sample-data-notice {
  background: var(--yellow);
  color: var(--yellow-ink);
  border: 1px solid rgba(122, 77, 0, 0.2);
  border-radius: 6px;
  padding: 8px 14px;
  font-size: 13px;
  margin-bottom: 12px;
}
.detail-health-empty {
  font-size: 12px;
  color: var(--muted);
  margin: 4px 0 0;
}

.detail-health-readiness {
  display: grid;
  gap: 3px;
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
  font-size: 0.8rem;
}

/* ── Detail drawer result reasons ────────────────────────────── */

.detail-result-reasons { margin-top: 3px; }

/* ── New search preview summary ──────────────────────────────── */

.new-search-preview-inner { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.new-search-cat-suggest { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.cat-suggest-label { font-size: 12px; color: var(--muted); }
.cat-suggest-chip {
  font-size: 12px;
  font-weight: 600;
  color: #0a5f58;
  background: rgba(17, 156, 149, 0.10);
  border: 1px solid rgba(17, 156, 149, 0.4);
  border-radius: 999px;
  padding: 3px 10px;
  cursor: pointer;
}
.cat-suggest-chip:hover { background: rgba(17, 156, 149, 0.18); }
.new-search-ebay-suggest { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; }

/* Explicit "Suggest category" control (New/Edit Search) */
.cat-suggest-control { margin-top: 6px; }
.cat-suggest-btn { font-size: 12px; }
.cat-suggest-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.cat-suggest-label-muted { opacity: 0.8; }
.cat-suggest-note { font-size: 12px; color: var(--muted); }
.cat-suggest-set { font-size: 12px; color: #0a5f58; }
.cat-suggest-dismiss,
.cat-suggest-undo {
  font-size: 12px;
  color: var(--muted);
  background: none;
  border: none;
  text-decoration: underline;
  cursor: pointer;
  padding: 2px 4px;
}
.cat-suggest-dismiss:hover,
.cat-suggest-undo:hover { color: var(--ink, #07164b); }
.ebay-cat-chip {
  font-size: 12px;
  font-weight: 600;
  color: #07164b;
  background: rgba(7, 22, 75, 0.06);
  border: 1px solid rgba(7, 22, 75, 0.22);
  border-radius: 999px;
  padding: 3px 10px;
}
.new-search-preview-ebay { display: flex; flex-direction: column; gap: 2px; padding-top: 8px; margin-top: 2px; border-top: 1px solid rgba(7, 22, 75, 0.08); }
.new-search-preview-ebay a { font-weight: 600; color: #119c95; text-decoration: none; }
.new-search-preview-ebay a:hover { text-decoration: underline; }
.new-search-summary {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 12px;
  font-size: 12px;
  background: var(--panel-muted);
  border-radius: 4px;
  padding: 8px 10px;
}
.new-search-summary div { display: contents; }
.new-search-summary dt { color: var(--muted); font-weight: 500; }
.new-search-summary dd { margin: 0; }

.item-filters-panel {
  border: 1px solid #e1e8f2;
  border-radius: 8px;
  background: #f8fbfd;
  padding: 10px 12px;
  display: grid;
  gap: 8px;
}
.item-filters-panel h4 {
  margin: 0;
  font-size: 13px;
  color: #1d314f;
}
.item-filter-level {
  display: grid;
  gap: 4px;
}
.item-filter-level strong {
  font-size: 12px;
  color: #3a4d67;
}
.filter-level-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.filter-level-chip {
  font-size: 11px;
  border-radius: 999px;
  padding: 2px 8px;
  border: 1px solid transparent;
}
.filter-level-chip-checked {
  background: rgba(17, 156, 149, 0.12);
  color: #0a5f58;
  border-color: rgba(17, 156, 149, 0.28);
}
.filter-level-chip-preserved {
  background: rgba(7, 22, 75, 0.06);
  color: #2f4463;
  border-color: rgba(7, 22, 75, 0.2);
}
.filter-level-chip-unavailable {
  background: #f2f4f8;
  color: #5b677c;
  border-color: #d7dde8;
}
.item-filters-panel-edit {
  margin: 10px 0 8px;
}

/* ── New Results header bar + update row ─────────────────────── */

.new-results-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px 10px;
  padding: 10px 12px;
  border: 1px solid #e6edf0;
  border-radius: 10px;
  background: #f9fcfd;
  margin: 0 0 8px;
}
.new-results-meta { font-size: 12px; color: #53656d; font-weight: 600; }
.new-results-goto-matches { font-size: 12px; color: var(--accent-dark); text-decoration: none; font-weight: 600; white-space: nowrap; }
.new-results-goto-matches:hover { text-decoration: underline; }

.update-content { flex: 1; min-width: 0; }
.update-header { display: flex; align-items: center; gap: 6px; margin-bottom: 2px; }
.update-search-link {
  background: none;
  border: none;
  padding: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
  cursor: pointer;
  text-align: left;
}
.update-search-link:hover { text-decoration: underline; }
.update-source-badge { font-size: 10px; padding: 1px 5px; }
.update-meta { font-size: 12px; color: var(--muted); margin: 2px 0; }
.update-reasons { margin-top: 3px; }
.update-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex-shrink: 0; }
.update-ebay-link { font-size: 11px; white-space: nowrap; }

/* ── Workflow guide (New Results details/summary) ────────────── */

.workflow-guide {
  margin: 10px 0 0;
  border: 1px solid #e6edf0;
  border-radius: 10px;
  background: #f8fbfc;
  overflow: hidden;
}
.workflow-guide summary {
  cursor: pointer;
  color: #4c6169;
  font-size: 12.5px;
  font-weight: 600;
  user-select: none;
  list-style: none;
  padding: 8px 12px;
}
.workflow-guide summary::-webkit-details-marker { display: none; }
.workflow-guide summary::after {
  content: "▾";
  float: right;
  color: #7f9199;
}
.workflow-guide:not([open]) summary::after {
  content: "▸";
}
.workflow-guide summary:hover { color: var(--ink); }
.workflow-steps {
  margin: 0;
  padding: 2px 14px 10px 30px;
  line-height: 1.55;
  color: #465860;
}
.workflow-steps li { margin-bottom: 4px; }

/* ── Cross-links (New Search ↔ Search Tips) ──────────────────── */

.tips-cross-link { font-size: 12px; color: var(--muted); margin: 4px 0 8px; }
.tips-cross-link a { color: var(--accent); }
.search-tips-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.search-tips-intro p { margin: 0; color: var(--muted); font-size: 13px; flex: 1; min-width: 200px; }
.search-tips-new-search-link { font-size: 12px; white-space: nowrap; flex-shrink: 0; }

/* ── Matches group navigation (Prev / N of N / Next) ────────── */

.group-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--muted);
  padding: 4px 0;
}
.group-nav button {
  min-height: 28px;
  padding: 0 10px;
  font-size: 12px;
}
.group-nav-pos {
  min-width: 100px;
  text-align: center;
  color: var(--muted);
  font-size: 12px;
}

/* ── Matches show-more row ───────────────────────────────────── */

.show-more-row,
.show-more-row td {
  text-align: center;
  padding: 10px;
  background: var(--panel-soft);
  border-bottom: 1px solid var(--line);
}
.show-more-row button {
  min-height: 28px;
  font-size: 12px;
  padding: 0 12px;
}

/* ── Result section count badge ──────────────────────────────── */

.result-section-count {
  display: inline-block;
  background: var(--panel-muted);
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: 999px;
  vertical-align: middle;
  margin-left: 4px;
}

/* ── Result section show-more details block ──────────────────── */

.result-section-more {
  margin-top: 6px;
  border-top: 1px solid var(--line);
  padding-top: 4px;
}
.result-section-more summary {
  cursor: pointer;
  font-size: 12px;
  color: var(--accent-dark);
  padding: 6px 0;
  user-select: none;
}
.result-section-more[open] summary {
  margin-bottom: 4px;
}

/* ── Result section empty state ──────────────────────────────── */

.result-section-empty {
  color: var(--muted);
  font-size: 13px;
  margin: 6px 0 0;
  padding: 8px 0;
}

/* ── Aspect chips in detail result rows ──────────────────────── */

.result-row-aspects {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}
.result-row-aspects .aspect-tag {
  font-size: 11px;
  background: var(--panel-muted);
  color: var(--muted);
  padding: 1px 6px;
  border-radius: 999px;
  border: 1px solid var(--line);
}

/* ── Open on eBay link in detail result rows ─────────────────── */

.result-row-ebay-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  margin-top: 6px;
  text-decoration: none;
}
.result-row-meta-quiet .timing-proof {
  margin-top: 6px;
}

.drawer-triage-more {
  margin-top: 6px;
  display: inline-block;
}

/* ── Search Health cross-link in detail drawer ───────────────── */

.detail-health-link {
  font-size: 13px;
  margin-left: auto;
  white-space: nowrap;
}
/* Make the advanced disclosure an obvious, clickable control (not tiny text). */
.detail-health-readiness-details > summary {
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--baydar-teal-dark, #0a5f58);
  padding: 8px 10px;
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f4f7f9;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.detail-health-readiness-details > summary::-webkit-details-marker { display: none; }
.detail-health-readiness-details[open] > summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.detail-health-readiness-details[open] .readiness-summary-icon { transform: rotate(90deg); }
.readiness-summary-icon { transition: transform 0.15s; display: inline-block; }
.detail-health-link:hover { text-decoration: underline; }

/* ── Drawer triage buttons in detail result rows (SIM-81) ──────── */

.drawer-triage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
  min-width: 240px;
}
.drawer-triage button {
  font-size: 12px;
  padding: 4px 8px;
  border-radius: var(--btn-radius, 999px);
  cursor: pointer;
}
.drawer-triage button:last-child { grid-column: 1 / -1; }
.drawer-triage button.selected-action {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
.drawer-triage button[disabled] {
  opacity: 0.7;
  cursor: default;
}

/* ── Matches overview sort controls (SIM-82) ────────────────── */

.matches-sort {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.matches-sort-label {
  font-size: 12px;
  color: var(--muted);
}
.matches-sort button {
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 4px;
  background: transparent;
  border: 1px solid var(--border);
  cursor: pointer;
}
.matches-sort button.active {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
/* eBay-style single "Sort by" dropdown. */
.matches-sort-dropdown { gap: 8px; }
.matches-sort-dropdown .matches-sort-label { font-weight: 600; color: var(--ink, #1d1d1d); }
.sort-select {
  font-size: 13px;
  padding: 5px 28px 5px 10px;
  border-radius: 6px;
  border: 1px solid var(--border, #d0d3d7);
  background: #fff;
  cursor: pointer;
  min-width: 180px;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23666' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 9px center;
}
.sort-select:hover { border-color: #9aa0a6; }
.sort-select:focus { outline: 2px solid rgba(17,156,149,0.4); outline-offset: 1px; }

/* ── Search Health history count row (SIM-83) ───────────────── */

.health-history-count {
  font-size: 12px;
  color: var(--muted);
  margin: 4px 0 6px;
}
.health-history-count a {
  color: var(--accent-dark);
  text-decoration: none;
}
.health-history-count a:hover { text-decoration: underline; }

/* ── Open on eBay column in Matches drill-down (SIM-84) ─────── */

.ebay-col {
  width: 130px;
  text-align: left;
  white-space: nowrap;
  padding-left: 8px !important;
}
.feed-ebay-link {
  font-size: 16px;
  color: var(--accent-dark);
  text-decoration: none;
  display: inline-block;
  padding: 2px 4px;
}
.feed-ebay-link:hover { opacity: 0.75; }

/* ── New Results triage buttons (SIM-85) ────────────────────── */

.update-triage {
  display: flex;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.update-triage button {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
  cursor: pointer;
}

/* ── New Results mark-all-seen button (SIM-86) ──────────────── */

.new-results-mark-all {
  font-size: 12px;
  padding: 3px 9px;
  min-height: 28px;
}

/* ── New Results search groups (SIM-90) ─────────────────────── */

.new-results-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 4px 4px;
  border-top: 1px solid #eef3f5;
  margin-top: 2px;
}
.new-results-group-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.new-results-group-count {
  font-size: 12px;
  color: var(--muted);
}
.new-results-group-matches-btn {
  font-size: 12px;
  padding: 2px 9px;
  min-height: 28px;
  white-space: nowrap;
}
.new-results-group-cleared {
  padding: 9px 11px;
  font-size: 12.5px;
  color: #5c6d74;
  background: #f5faf9;
  border: 1px solid #e1ecea;
  border-radius: 8px;
  margin-bottom: 8px;
}

.new-results-empty-state .event {
  margin: 0;
  border-radius: 10px;
  border-color: #dfe8ec;
  background: #f7fbfd;
  padding: 12px;
}

.new-results-empty-state .meta {
  color: #4f646c;
  line-height: 1.45;
}
.new-results-empty-rich {
  padding: 18px;
  border: 1px solid #dfe8ec;
  background: #f7fbfd;
  border-radius: 10px;
}
.new-results-empty-rich p { margin: 0 0 14px; color: #3f5560; line-height: 1.5; }
.new-results-empty-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

/* ── Score breakdown (SIM-101) ───────────────────────────────── */

.score-breakdown {
  margin-top: 6px;
  font-size: 12px;
}
.score-breakdown summary {
  cursor: pointer;
  color: var(--muted);
  user-select: none;
  padding: 2px 0;
  list-style: none;
}
.score-breakdown summary::before {
  content: "▶ ";
  font-size: 10px;
}
.score-breakdown[open] summary::before {
  content: "▼ ";
}
.score-breakdown-rows {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 12px;
  margin-top: 4px;
  padding: 4px 0;
}
.score-breakdown-row {
  display: contents;
}
.score-breakdown-label {
  color: var(--ink);
}
.score-breakdown-value {
  font-variant-numeric: tabular-nums;
  text-align: right;
  font-weight: 500;
}
.score-breakdown-value.positive {
  color: var(--green-ink);
}
.score-breakdown-value.negative {
  color: var(--red-ink);
}
/* Humanised match detail body: plain reasons first, raw maths nested. */
.why-matched-body { margin-top: 4px; }
.why-matched-reasons {
  margin: 0 0 6px;
  padding-left: 18px;
  display: grid;
  gap: 2px;
  color: var(--ink);
}
.why-matched-reasons li { line-height: 1.35; }
.score-maths > summary {
  cursor: pointer;
  font-size: 12px;
  color: var(--muted);
  list-style: none;
}
.score-maths > summary::-webkit-details-marker { display: none; }
.score-maths > summary::before { content: "▸ "; }
.score-maths[open] > summary::before { content: "▾ "; }


/* ── Landing / front door (SIM-111) ─────────────────────── */

.landing-page {
  position: relative;
  display: grid;
  gap: 34px;
  max-width: 1180px;
  overflow: hidden;
}

.landing-radar {
  position: absolute;
  top: -150px;
  right: -140px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(17, 156, 149, 0.2);
  border-radius: 50%;
  pointer-events: none;
}

.landing-radar::before,
.landing-radar::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(7, 22, 75, 0.11);
  border-radius: 50%;
}

.landing-radar::before {
  inset: 86px;
}

.landing-radar::after {
  inset: 172px;
}

.landing-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(380px, 0.95fr) minmax(420px, 1.05fr);
  gap: 32px;
  align-items: center;
  min-height: 640px;
  border: 1px solid var(--panel-border);
  background:
    linear-gradient(135deg, rgba(223, 245, 242, 0.88), rgba(255, 255, 255, 0.96) 46%, rgba(238, 245, 246, 0.72)),
    #ffffff;
  border-radius: 18px;
  padding: 56px;
  overflow: hidden;
}

.landing-hero::after {
  content: "";
  position: absolute;
  right: 36px;
  top: 44px;
  width: 180px;
  height: 180px;
  border-top: 10px solid rgba(17, 156, 149, 0.14);
  border-right: 10px solid rgba(17, 156, 149, 0.14);
  border-radius: 0 170px 0 0;
  transform: rotate(24deg);
  pointer-events: none;
}

.landing-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
}

.landing-kicker {
  width: max-content;
  max-width: 100%;
  border: 1px solid rgba(17, 156, 149, 0.28);
  background: rgba(255, 255, 255, 0.82);
  color: var(--baydar-teal-dark);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.landing-copy h1 {
  margin: 0;
  color: var(--baydar-navy);
  line-height: 1;
}

.hero-main-tagline,
.hero-sub-tagline {
  display: block;
}

.hero-main-tagline {
  font-size: 64px;
  text-transform: uppercase;
}

.hero-sub-tagline {
  margin-top: 8px;
  font-size: 32px;
  text-transform: uppercase;
}

.landing-lede {
  margin: 0;
  max-width: 620px;
  color: #344044;
  font-size: 18px;
  line-height: 1.45;
}

.landing-summary {
  margin: -6px 0 0;
  max-width: 620px;
  color: #344044;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
}

.landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.landing-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 24px;
  padding: 0 20px;
  font-weight: 800;
  text-decoration: none;
  border: 1px solid var(--panel-border);
}

.landing-btn.primary {
  background: var(--baydar-teal);
  border-color: var(--baydar-teal);
  color: #ffffff;
}

.landing-btn.secondary {
  background: #ffffff;
  color: var(--baydar-navy);
}

.landing-trust-cues {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 620px;
}

.landing-trust-cues span {
  border: 1px solid var(--panel-border);
  background: rgba(255, 255, 255, 0.78);
  color: #344044;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 13px;
  font-weight: 700;
}

.landing-visual {
  position: relative;
  z-index: 1;
}

.signal-sweep {
  position: absolute;
  top: -34px;
  right: -14px;
  width: 220px;
  height: 220px;
  border-top: 8px solid rgba(17, 156, 149, 0.28);
  border-right: 8px solid rgba(17, 156, 149, 0.28);
  border-radius: 0 220px 0 0;
  transform: rotate(13deg);
  pointer-events: none;
}

.landing-dashboard-card {
  position: relative;
  display: grid;
  gap: 18px;
  border: 1px solid rgba(7, 22, 75, 0.16);
  background: rgba(255, 255, 255, 0.9);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 28px 70px rgba(7, 22, 75, 0.14);
}

.landing-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.landing-card-head img {
  width: 124px;
  height: auto;
}

.status-dot {
  border: 1px solid rgba(17, 156, 149, 0.28);
  background: var(--baydar-teal-soft);
  color: var(--baydar-teal-dark);
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 800;
}

.alert-flow {
  display: grid;
  gap: 9px;
}

.flow-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  border: 1px solid var(--panel-border);
  background: var(--panel-soft);
  border-radius: 12px;
  padding: 11px;
}

.flow-step.active {
  border-color: rgba(17, 156, 149, 0.36);
  background: #effbf9;
}

.flow-number {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--baydar-navy);
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
}

.flow-step strong {
  display: block;
  color: var(--baydar-navy);
  margin-bottom: 2px;
}

.flow-step p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.phone-alert {
  justify-self: end;
  width: min(270px, 100%);
  border: 1px solid rgba(7, 22, 75, 0.18);
  background: var(--baydar-navy);
  color: #ffffff;
  border-radius: 22px;
  padding: 22px 16px 16px;
  box-shadow: 0 18px 40px rgba(7, 22, 75, 0.22);
}

.phone-notch {
  display: block;
  width: 52px;
  height: 5px;
  margin: -8px auto 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.42);
}

.phone-alert p {
  margin: 6px 0 14px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 13px;
}

.phone-alert button {
  width: 100%;
  color: #ffffff;
  background: var(--baydar-teal);
  border-color: var(--baydar-teal);
}

.landing-section,
.landing-final-cta {
  position: relative;
  border: 1px solid var(--panel-border);
  background: var(--panel-soft);
  border-radius: 16px;
  padding: 28px;
}

.comparison-band {
  display: grid;
  grid-template-columns: minmax(320px, 0.8fr) minmax(420px, 1.2fr);
  gap: 24px;
  align-items: start;
}

.landing-section h2,
.landing-final-cta h2 {
  margin: 10px 0 8px;
  color: var(--baydar-navy);
  font-size: 34px;
  line-height: 1.1;
}

.landing-section p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.comparison-cards,
.landing-card-grid {
  display: grid;
  gap: 14px;
}

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

.comparison-cards article,
.landing-card-grid article {
  border: 1px solid var(--panel-border);
  background: #ffffff;
  border-radius: 12px;
  padding: 17px;
}

.comparison-cards h3,
.landing-card-grid h3 {
  margin: 0 0 8px;
  color: var(--baydar-navy);
}

.comparison-cards ul {
  margin: 0;
  padding-left: 18px;
  color: #3f4b4f;
  line-height: 1.7;
}

.section-heading {
  margin-bottom: 18px;
}

.landing-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.landing-card-grid.six {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.landing-card-grid article span {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--baydar-teal-dark);
  font-weight: 900;
}

.landing-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: var(--baydar-navy);
  color: #ffffff;
}

.landing-final-cta h2,
.landing-final-cta .landing-kicker {
  color: #ffffff;
}

.landing-final-cta .landing-kicker {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
}

/* ── Product positioning pages (SIM-110) ─────────────────────── */

.product-page {
  display: grid;
  gap: 16px;
  max-width: 1120px;
  overflow-x: auto;
}

.product-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.product-card,
.positioning-strip {
  border: 1px solid var(--panel-border);
  background: var(--panel-soft);
  border-radius: 10px;
  padding: 16px;
}

.product-card h3 {
  margin: 0 0 8px;
  color: var(--baydar-navy);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}

/* Step number badge used in How it works product cards */
.step-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  min-width: 24px;
  border-radius: 6px;
  background: var(--baydar-navy);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: 0;
}

.product-card p,
.positioning-strip {
  color: var(--muted);
  line-height: 1.52;
  font-size: 14px;
}

/* 60-second alerts: the landing "Gone in 60 seconds." hero, adapted to sit inside
   the app shell content column (left sidebar stays visible). Reuses the standalone
   lp-hero / lp-phone-alert / lp-timeline component classes; only the headline is
   re-scoped here because .lp h1.lp-h1 is ancestor-scoped to the public landing. */
.sixty-app-hero {
  margin-bottom: 16px;
  padding: 22px 24px;
  border: 1px solid var(--panel-border);
  border-radius: 12px;
  background:
    radial-gradient(circle at 26px 22px, rgba(17, 156, 149, 0.06), transparent 160px),
    var(--panel-soft);
}
.sixty-app-h1 {
  font-size: 44px;
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.03em;
  color: var(--baydar-navy);
  margin: 0 0 8px;
}
.sixty-app-lead-p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--muted);
  max-width: 560px;
  margin: 0 0 10px;
}
/* Stack the hero earlier than the public landing does — the app content column is
   narrower than full-bleed, so two columns get cramped below ~1000px. */
@media (max-width: 1000px) {
  .sixty-app-hero .lp-hero-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 560px) {
  .sixty-app-h1 { font-size: 34px; }
}

.product-step-list {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.product-step {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  border: 1px solid var(--panel-border);
  background: var(--panel-soft);
  border-radius: 10px;
  padding: 14px 16px;
}
.product-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  background: var(--baydar-navy);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  margin-top: 2px;
}
.product-step h3 {
  margin: 0 0 4px;
  color: var(--baydar-navy);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
.product-step p {
  margin: 0;
  color: var(--muted);
  line-height: 1.52;
  font-size: 14px;
}

/* How it works: two-column desktop layout — numbered steps + a plain, real
   "Baydar workflow" rail (no fake screenshots). Stacks on narrow screens. */
.hiw-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 14px;
}
.hiw-grid .product-step-list { margin-top: 0; }
.hiw-context {
  border: 1px solid var(--panel-border);
  border-radius: 12px;
  background: var(--panel-soft);
  padding: 16px 18px;
  position: sticky;
  top: 16px;
}
.hiw-context-title {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted);
}
.hiw-flow {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hiw-flow-node {
  display: flex;
  gap: 12px;
  padding: 0 0 16px;
  position: relative;
}
.hiw-flow-node::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 16px;
  bottom: 0;
  width: 2px;
  background: var(--panel-border);
}
.hiw-flow-node--end { padding-bottom: 0; }
.hiw-flow-node--end::before { display: none; }
.hiw-flow-dot {
  width: 14px;
  height: 14px;
  min-width: 14px;
  margin-top: 3px;
  border-radius: 50%;
  background: var(--baydar-teal);
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px var(--panel-border);
  z-index: 1;
}
.hiw-flow-node strong {
  display: block;
  color: var(--baydar-navy);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}
.hiw-flow-node span {
  color: var(--muted);
  font-size: 12px;
}
@media (max-width: 860px) {
  .hiw-grid { grid-template-columns: 1fr; }
  .hiw-context { position: static; }
}

.positioning-strip strong {
  color: var(--baydar-navy);
}

.comparison-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  background: var(--panel);
  border: 1px solid var(--panel-border);
}

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

.comparison-table th {
  color: var(--baydar-navy);
  background: var(--panel-soft);
}
.comparison-table td:first-child { font-weight: 650; color: var(--ink); white-space: nowrap; }
.comparison-table tr:last-child td { border-bottom: 0; }

/* Honest closing note under comparison/benefits pages. */
.product-page-footnote {
  margin: 14px 2px 0;
  padding: 12px 14px;
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--muted);
}
.product-page-footnote strong { color: var(--ink); }

@media (max-width: 980px) {
  .landing-hero,
  .comparison-band,
  .comparison-cards,
  .landing-card-grid,
  .landing-card-grid.six {
    grid-template-columns: 1fr;
  }

  .landing-hero {
    min-height: 0;
    padding: 32px;
  }

  .landing-copy h1 {
    font-size: inherit;
  }

  .hero-main-tagline {
    font-size: 42px;
  }

  .hero-sub-tagline {
    font-size: 24px;
  }

  .landing-final-cta {
    display: grid;
  }

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


/* ═══════════════════════════════════════════════════════════════
   Baydar Claude Design System — lp-* prefix (SIM-landing-cd)
   All tokens are scoped to landing page elements only.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --lp-teal:       var(--baydar-teal);
  --lp-teal-2:     var(--baydar-teal-dark);
  --lp-teal-3:     #6FC9BE;
  --lp-teal-soft:  var(--baydar-teal-soft);
  --lp-navy:       #0B1F3F;
  --lp-navy-2:     #0A1A35;
  --lp-ink:        #111827;
  --lp-ink-2:      #374151;
  --lp-ink-3:      #6B7280;
  --lp-ink-4:      #9CA3AF;
  --lp-paper:      #FFFFFF;
  --lp-paper-2:    #F9FAFB;
  --lp-bg:         #F3F4F6;
  --lp-line:       #E5E7EB;
  --lp-line-2:     #D1D5DB;
  --lp-amber:      #C98A12;
  --lp-amber-soft: #FEF3C7;
  --lp-red:        #DC2626;
  --lp-red-soft:   #FEE2E2;
  --lp-green:      #059669;
  --lp-green-soft: #D1FAE5;
  --lp-shadow-1:   0 1px 3px rgba(11,31,63,0.06), 0 1px 2px rgba(11,31,63,0.04);
  --lp-shadow-2:   0 4px 14px rgba(11,31,63,0.09), 0 2px 6px rgba(11,31,63,0.05);
  --lp-shadow-3:   0 16px 36px rgba(11,31,63,0.13), 0 4px 12px rgba(11,31,63,0.08);
  --lp-mono:       'JetBrains Mono', 'Fira Code', 'SF Mono', ui-monospace, monospace;
}

/* ── Keyframes ── */
@keyframes lp-radar-sweep {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes lp-float-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes lp-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  60%      { opacity: 0; transform: scale(2.2); }
}

/* ── Root container ── */
.lp {
  display: flex;
  flex-direction: column;
  color: var(--lp-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
  overflow-x: hidden;
}

.lp-wrap {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}

/* ── Typography ── */
.lp h1.lp-h1 {
  font-size: 86px;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.035em;
  color: var(--lp-ink);
  margin: 0 0 14px;
}
/* Hero headline stays upright, bold and confident — italics cheapen it. */
.lp-h1-accent {
  color: var(--lp-teal);
  font-style: normal;
}
.lp-h1-sub {
  font-size: 30px;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--lp-ink-3);
  line-height: 1.1;
  margin-bottom: 22px;
}
.lp-accent { color: var(--lp-teal-2); }

.lp-eyebrow {
  font-family: var(--lp-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lp-teal-2);
  margin-bottom: 10px;
  display: block;
}

.lp-display {
  font-size: 42px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: var(--lp-ink);
  margin: 0 0 14px;
}

.lp-label {
  font-family: var(--lp-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ── Badge (hero eyebrow pill) ── */
.lp-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--lp-paper);
  border: 1px solid var(--lp-line);
  font-size: 12px;
  color: var(--lp-ink-3);
  box-shadow: var(--lp-shadow-1);
  margin-bottom: 26px;
}
.lp-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lp-teal);
  flex: none;
}
.lp-badge-label {
  font-family: var(--lp-mono);
  font-size: 10px;
  font-weight: 600;
  color: var(--lp-teal-2);
  letter-spacing: 0.05em;
}

/* ── Buttons ── */
.lp-btn-primary,
.lp-btn-ghost,
.lp-btn-primary-inv,
.lp-btn-outline-inv {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 999px;
  font-size: 14.5px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  border: 1px solid transparent;
  transition: opacity 0.15s;
  box-sizing: border-box;
}
.lp-btn-primary {
  background: var(--lp-teal);
  color: white;
  border-color: var(--lp-teal);
}
.lp-btn-ghost {
  background: transparent;
  color: var(--lp-ink-2);
  border-color: var(--lp-line-2);
}
.lp-btn-primary-inv {
  background: white;
  color: var(--lp-ink);
  border-color: white;
}
.lp-btn-outline-inv {
  background: transparent;
  color: white;
  border-color: rgba(255,255,255,0.22);
}
.lp-btn-primary:hover,
.lp-btn-ghost:hover,
.lp-btn-primary-inv:hover,
.lp-btn-outline-inv:hover { opacity: 0.82; }

.lp-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.lp-preview-bridge {
  margin: -8px 0 20px;
  font-size: 14px;
  color: var(--lp-ink-3);
}

.lp-preview-bridge a {
  color: var(--lp-teal-2);
  font-weight: 600;
  text-decoration: none;
}

.lp-preview-bridge a:hover {
  text-decoration: underline;
}

/* ── Trust items ── */
.lp-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  align-items: center;
  color: var(--lp-ink-3);
  font-size: 13px;
}
.lp-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.lp-trust-check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--lp-teal-soft);
  color: var(--lp-teal-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  flex: none;
  line-height: 1;
}

/* ── Sections ── */
.lp-section {
  padding: 88px 0;
}

.shell-home #view-home .lp-section {
  padding: 72px 0;
}

.shell-home #view-home .lp-hero.lp-section {
  padding-top: 86px;
  padding-bottom: 76px;
}

/* ── Hero ── */
.lp-hero {
  position: relative;
  background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
  border-bottom: 1px solid var(--lp-line);
  overflow: hidden;
}
.lp-hero-grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(21,159,140,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21,159,140,0.04) 1px, transparent 1px);
  background-size: 56px 56px;
  pointer-events: none;
}
.lp-hero-grid {
  display: grid;
  grid-template-columns: minmax(380px, 1fr) 1fr;
  gap: 48px;
  align-items: center;
  position: relative;
}
.lp-hero-copy { padding-top: 8px; }

.lp-hero-visual {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Radar */
.lp-radar-wrap {
  position: absolute;
  width: 580px;
  height: 580px;
  pointer-events: none;
  z-index: 0;
}
/* Preserve previous right-side hero radar placement for easy rollback. */
.lp-radar-wrap--right {
  top: -100px;
  right: -180px;
}
/* Experiment: shift radar origin to the left to strengthen Baydar/radar cue. */
.lp-radar-wrap--left {
  top: -100px;
  left: -170px;
}
.lp-radar-sweep-arm {
  transform-origin: 290px 290px;
  animation: lp-radar-sweep 8s linear infinite;
}

/* Phone alert */
.lp-phone-alert {
  background: rgba(255,255,255,0.95);
  border: 1px solid var(--lp-line);
  border-radius: 18px;
  padding: 12px 14px;
  box-shadow: var(--lp-shadow-3), 0 0 0 1px rgba(11,31,63,0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: lp-float-in 0.6s ease both;
  position: relative;
  z-index: 5;
}
.lp-pa-header {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 6px;
}
.lp-pa-icon {
  width: 26px; height: 26px;
  border-radius: 7px;
  background: var(--lp-navy);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.02em;
  overflow: hidden;
}
/* Prominent listing-style thumbnail — feels like a real eBay item photo */
.lp-pa-listing {
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: 11px;
  overflow: hidden;
  margin: 4px 0 10px;
  background: var(--lp-paper-2, #eef1f5);
  border: 1px solid var(--lp-line);
}
.lp-pa-listing-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lp-pa-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--lp-ink);
}
.lp-pa-time {
  margin-left: auto;
  font-family: var(--lp-mono);
  font-size: 10.5px;
  color: var(--lp-ink-4);
}
.lp-pa-body {
  font-size: 12.5px;
  color: var(--lp-ink-2);
  line-height: 1.4;
}
.lp-pa-body strong { color: var(--lp-ink); font-weight: 600; }
.lp-pa-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.lp-pa-chip {
  font-family: var(--lp-mono);
  font-size: 10.5px;
  font-weight: 600;
  color: var(--lp-teal-2);
  background: var(--lp-teal-soft);
  padding: 2px 7px;
  border-radius: 999px;
}
.lp-pa-link {
  margin-left: auto;
  font-size: 11.5px;
  color: var(--lp-teal-2);
  font-weight: 500;
  text-decoration: none;
}

/* 4-step timeline */
.lp-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 12px 12px 14px;
  background: var(--lp-paper);
  border: 1px solid var(--lp-line);
  border-radius: 14px;
  box-shadow: var(--lp-shadow-1);
  z-index: 5;
}
.lp-tl-line {
  position: absolute;
  left: 32px; right: 32px;
  top: 28px; height: 1px;
  background: linear-gradient(90deg, var(--lp-line-2), var(--lp-teal) 30%, var(--lp-teal) 70%, var(--lp-line-2));
  opacity: 0.65;
  pointer-events: none;
}
.lp-tl-step {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0 8px;
  position: relative;
}
.lp-tl-num {
  width: 26px; height: 26px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--lp-mono);
  font-size: 11px;
  font-weight: 700;
  box-shadow: 0 0 0 4px var(--lp-paper);
  z-index: 1;
}
.lp-tl-num.ink  { background: var(--lp-ink);  color: white; }
.lp-tl-num.teal { background: var(--lp-teal); color: white; }
.lp-tl-row {
  display: flex;
  align-items: baseline;
  gap: 5px;
  flex-wrap: wrap;
}
.lp-tl-tag {
  font-family: var(--lp-mono);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--lp-ink-2);
}
.lp-tl-tag.teal { color: var(--lp-teal-2); }
.lp-tl-ts {
  font-family: var(--lp-mono);
  font-size: 9.5px;
  color: var(--lp-ink-4);
}
.lp-tl-text {
  font-size: 11.5px;
  color: var(--lp-ink-2);
  font-weight: 500;
  line-height: 1.3;
}

/* ── Command centre comparison ── */
.lp-compare-section {
  background: linear-gradient(180deg, #F2F4F7 0%, var(--lp-paper) 100%);
}
.lp-compare-grid {
  display: grid;
  grid-template-columns: 1fr 44px 1fr;
  align-items: stretch;
}

.lp-compare-section .lp-section-heading {
  margin-bottom: 26px;
}
.lp-compare-card {
  background: var(--lp-paper);
  border: 1px solid var(--lp-line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--lp-shadow-1);
}
.lp-compare-card.baydar {
  border-color: var(--lp-teal);
  box-shadow: 0 24px 48px -24px rgba(21,159,140,0.28), var(--lp-shadow-2);
}
.lp-compare-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
}
.lp-compare-arrow-btn {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--lp-paper);
  border: 1px solid var(--lp-line);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--lp-shadow-1);
  color: var(--lp-teal-2);
  font-size: 16px;
}
.lp-cc-head {
  padding: 12px 16px;
  border-bottom: 1px solid var(--lp-line);
  display: flex;
  align-items: center;
  gap: 10px;
}
.lp-cc-head.baydar {
  background: linear-gradient(90deg, rgba(21,159,140,0.08), transparent 70%);
}
.lp-cc-row {
  padding: 11px 16px;
  border-top: 1px solid var(--lp-line);
  display: flex;
  align-items: center;
  gap: 12px;
}
.lp-cc-row:first-of-type { border-top: none; }
.lp-cc-icon {
  width: 40px; height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  font-size: 16px;
}
.lp-cc-icon.neutral { background: var(--lp-bg); color: var(--lp-ink-4); }
.lp-cc-icon.healthy { background: linear-gradient(135deg,#EEF1F4,#DBE2EB); color: var(--lp-ink-3); }
.lp-cc-icon.hot     { background: linear-gradient(135deg,#D6EEEA,#A4D8D0); color: var(--lp-teal-2); }
.lp-cc-icon.weak    { background: linear-gradient(135deg,#FBEED4,#E8C780); color: var(--lp-amber); }
.lp-cc-row-name { font-size: 13.5px; font-weight: 600; color: var(--lp-ink); }
.lp-cc-row-meta { font-size: 12px; color: var(--lp-ink-4); }
.lp-cc-chip {
  font-family: var(--lp-mono);
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
}
.lp-cc-chip.plain { border: 1px solid var(--lp-line); color: var(--lp-ink-4); }
.lp-cc-chip.teal  { background: var(--lp-teal-soft); border: 1px solid rgba(21,159,140,0.3); color: var(--lp-teal-2); }
.lp-cc-chip.dark  { background: var(--lp-ink); color: white; border: none; }
.lp-cc-chip.amber { background: var(--lp-amber-soft); border: 1px solid rgba(201,138,18,0.3); color: var(--lp-amber); }
.lp-cc-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  flex: none;
}
.lp-cc-dot.hot-pulse {
  background: var(--lp-teal-3);
  animation: lp-pulse 1.6s infinite;
}
.lp-cc-footer {
  padding: 8px 16px;
  font-family: var(--lp-mono);
  font-size: 11px;
  border-top: 1px dashed var(--lp-line);
  text-align: center;
}
.lp-cc-footer.plain  { color: var(--lp-ink-4); }
.lp-cc-footer.baydar { color: var(--lp-teal-2); background: rgba(21,159,140,0.04); }

.lp-ebay-compare {
  margin-top: 34px;
  padding: 24px;
  border: 1px solid var(--lp-line);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff 0%, #f9fbfd 100%);
}

.lp-ebay-compare h3 {
  margin: 0 0 8px;
  font-size: 24px;
  color: var(--lp-navy);
}

.lp-ebay-compare > p {
  margin: 0 0 16px;
  color: var(--lp-ink-3);
  font-size: 15px;
  line-height: 1.5;
}

.lp-ebay-compare-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lp-ebay-compare-card {
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  background: var(--lp-paper);
  padding: 16px 16px 14px;
}

.lp-ebay-compare-card h4 {
  margin: 0 0 10px;
  font-size: 16px;
  color: var(--lp-ink);
}

.lp-ebay-compare-card ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 7px;
  color: var(--lp-ink-2);
  font-size: 13.5px;
}

.lp-ebay-compare-card.baydar {
  border-color: rgba(21,159,140,0.35);
  background: linear-gradient(180deg, rgba(21,159,140,0.06), rgba(21,159,140,0.02));
}

/* ── Dark band ── */
.lp-band-dark {
  background: linear-gradient(180deg, var(--lp-navy) 0%, var(--lp-navy-2) 100%);
  color: white;
  position: relative;
  overflow: hidden;
}
.lp-band-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(60% 80% at 90% 0%, rgba(21,159,140,0.18), transparent 60%),
    radial-gradient(40% 60% at 0% 100%, rgba(21,159,140,0.10), transparent 60%);
}
.lp-band-glow-center {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(60% 80% at 50% 0%, rgba(21,159,140,0.16), transparent 60%);
}

/* ── Hot Watches ── */
.lp-hw-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 72px;
  align-items: center;
  position: relative;
}
.lp-hw-eyebrow {
  font-family: var(--lp-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lp-teal-3);
  margin-bottom: 14px;
}
.lp-hw-h2 {
  font-size: 46px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: white;
  margin: 0 0 18px;
}
.lp-hw-body {
  font-size: 16px;
  line-height: 1.55;
  color: rgba(255,255,255,0.78);
  max-width: 500px;
  margin-bottom: 10px;
}
.lp-hw-sub {
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(255,255,255,0.5);
  max-width: 500px;
  margin-bottom: 24px;
}
.lp-hw-points {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.lp-hw-point {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.lp-hw-point-num {
  flex: none;
  font-family: var(--lp-mono);
  font-size: 10.5px;
  font-weight: 600;
  color: var(--lp-teal-3);
  padding: 3px 8px;
  border: 1px solid rgba(21,159,140,0.35);
  border-radius: 999px;
  background: rgba(21,159,140,0.08);
}
.lp-hw-point-title { color: white; font-size: 14px; font-weight: 500; margin-bottom: 2px; }
.lp-hw-point-body  { color: rgba(255,255,255,0.6); font-size: 13px; line-height: 1.45; }

.lp-hw-visual {
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  padding: 22px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.lp-hw-vis-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}
.lp-hw-vis-title-group {
  display: flex;
  align-items: center;
  gap: 10px;
}
.lp-hw-vis-icon {
  width: 30px; height: 30px;
  border-radius: 7px;
  background: rgba(21,159,140,0.15);
  color: var(--lp-teal-3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.lp-hw-vis-name {
  font-weight: 500;
  font-size: 13.5px;
  color: white;
}
.lp-hw-vis-sub {
  font-family: var(--lp-mono);
  font-size: 11px;
  color: rgba(255,255,255,0.5);
}
.lp-hw-vis-badge {
  font-family: var(--lp-mono);
  font-size: 10.5px;
  font-weight: 600;
  color: var(--lp-teal-3);
  background: rgba(21,159,140,0.15);
  border: 1px solid rgba(21,159,140,0.35);
  padding: 3px 9px;
  border-radius: 999px;
}
.lp-hw-timer {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 12px 0 18px;
  position: relative;
}
.lp-hw-timer-inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.lp-hw-timer-label {
  font-family: var(--lp-mono);
  font-size: 9.5px;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
}
.lp-hw-timer-count {
  font-family: var(--lp-mono);
  font-size: 38px;
  font-weight: 600;
  color: white;
  letter-spacing: -0.03em;
  line-height: 1;
}
.lp-hw-timer-stat {
  font-family: var(--lp-mono);
  font-size: 10px;
  color: var(--lp-teal-3);
}
.lp-hw-events {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.lp-hw-event {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  border-radius: 7px;
  font-size: 12.5px;
}
.lp-hw-event.match {
  background: rgba(21,159,140,0.10);
  border: 1px solid rgba(21,159,140,0.25);
  color: white;
}
.lp-hw-event.noop {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.5);
}
.lp-hw-event-ts {
  font-family: var(--lp-mono);
  font-size: 10.5px;
  color: rgba(255,255,255,0.45);
  width: 48px;
  flex: none;
}
.lp-hw-event-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  flex: none;
}
.lp-hw-event.match .lp-hw-event-dot { background: var(--lp-teal-3); }
.lp-hw-event.noop  .lp-hw-event-dot { background: rgba(255,255,255,0.2); }

/* ── How it works ── */
.lp-how-section {
  background: var(--lp-paper);
  border-top: 1px solid var(--lp-line);
  border-bottom: 1px solid var(--lp-line);
}
.lp-how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.lp-how-card {
  background: var(--lp-paper);
  border: 1px solid var(--lp-line);
  border-radius: 18px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: var(--lp-shadow-1);
}
.lp-how-num {
  font-family: var(--lp-mono);
  font-size: 10.5px;
  font-weight: 600;
  color: var(--lp-teal-2);
  background: var(--lp-teal-soft);
  padding: 3px 10px;
  border-radius: 999px;
  letter-spacing: 0.05em;
  display: inline-block;
  width: fit-content;
}
.lp-how-card h3 {
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.015em;
  margin: 0;
  line-height: 1.2;
  color: var(--lp-ink);
}
.lp-how-card p {
  color: var(--lp-ink-3);
  font-size: 13.5px;
  line-height: 1.55;
  margin: 0;
}
.lp-how-visual {
  margin-top: auto;
  border: 1px solid var(--lp-line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--lp-paper-2);
}
.lp-how-vis-head {
  padding: 9px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--lp-mono);
  font-size: 11px;
  border-bottom: 1px solid var(--lp-line);
}
.lp-how-vis-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px 12px;
  border-top: 1px dashed var(--lp-line);
  font-family: var(--lp-mono);
  font-size: 11px;
  color: var(--lp-ink-2);
}
.lp-how-vis-row:first-of-type { border-top: none; }
.lp-ok   { color: var(--lp-green); }
.lp-warn { color: var(--lp-amber); }
.lp-pend { color: var(--lp-ink-4); }

/* How vis — cadence */
.lp-cadence-row {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  border-radius: 7px;
  border: 1px solid var(--lp-line);
  margin: 8px;
}
.lp-cadence-row + .lp-cadence-row { margin-top: 0; }
.lp-cadence-row.hot {
  border-color: rgba(21,159,140,0.3);
  background: linear-gradient(90deg, rgba(21,159,140,0.07), rgba(21,159,140,0.02));
}
.lp-cadence-icon {
  width: 28px; height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex: none;
}
.lp-cadence-icon.plain { background: var(--lp-bg); color: var(--lp-ink-4); }
.lp-cadence-icon.hot   { background: var(--lp-teal); color: white; }
.lp-cadence-title { font-size: 12px; font-weight: 500; color: var(--lp-ink); }
.lp-cadence-sub   { font-size: 10.5px; font-family: var(--lp-mono); color: var(--lp-ink-4); }
.lp-cadence-sub.hot { color: var(--lp-teal-2); }
.lp-cadence-timer {
  margin-left: auto;
  font-family: var(--lp-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--lp-teal-2);
  background: white;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(21,159,140,0.35);
}

/* How vis — review */
.lp-review-head {
  padding: 9px 12px;
  background: linear-gradient(180deg,#0B1F3F,#0A1A35);
  color: white;
  font-size: 11.5px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.lp-review-head-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--lp-teal-3);
}
.lp-review-row {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  border-top: 1px solid var(--lp-line);
  font-size: 11.5px;
  color: var(--lp-ink-2);
}
.lp-review-thumb {
  width: 26px; height: 26px;
  border-radius: 5px;
  background: var(--lp-bg);
  flex: none;
}
.lp-review-badge {
  margin-left: auto;
  font-family: var(--lp-mono);
  font-size: 10px;
  border: 1px solid var(--lp-line);
  border-radius: 999px;
  padding: 1px 7px;
  color: var(--lp-ink-4);
}
.lp-review-link {
  font-family: var(--lp-mono);
  font-size: 10.5px;
  color: var(--lp-teal-2);
}

/* ── Feature grid ── */
.lp-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--lp-line);
  border: 1px solid var(--lp-line);
  border-radius: 18px;
  overflow: hidden;
}
.lp-feature-card {
  background: var(--lp-paper);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 200px;
}
.lp-feature-icon {
  width: 38px; height: 38px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.lp-feature-icon.ink   { background: rgba(11,31,63,0.06);  color: var(--lp-ink); }
.lp-feature-icon.teal  { background: var(--lp-teal-soft);  color: var(--lp-teal-2); }
.lp-feature-icon.amber { background: var(--lp-amber-soft); color: var(--lp-amber); }
.lp-feature-icon.green { background: var(--lp-green-soft); color: var(--lp-green); }
.lp-feature-card h4 {
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--lp-ink);
}
.lp-feature-card p {
  font-size: 13px;
  line-height: 1.55;
  color: var(--lp-ink-3);
  margin: 0;
}

/* ── Final CTA ── */
.lp-final-cta {
  text-align: center;
  padding: 96px 0;
}
.lp-final-h2 {
  font-size: 60px;
  font-weight: 700;
  line-height: 1.0;
  letter-spacing: -0.032em;
  color: white;
  margin: 14px auto 16px;
  max-width: 820px;
}
.lp-final-body {
  font-size: 17px;
  line-height: 1.55;
  color: rgba(255,255,255,0.7);
  max-width: 540px;
  margin: 0 auto 36px;
}
.lp-final-actions {
  display: inline-flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.lp-final-trust {
  margin-top: 26px;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── Section heading helper ── */
.lp-section-heading {
  text-align: center;
  margin-bottom: 44px;
}
.lp-section-heading .lp-display {
  max-width: 680px;
  margin: 10px auto 12px;
}
.lp-section-sub {
  color: var(--lp-ink-3);
  font-size: 15.5px;
  line-height: 1.55;
  max-width: 540px;
  margin: 0 auto;
}

.lp-compare-link {
  margin-top: 20px;
}

.lp-vs-ebay-page .lp-section {
  border-top: 1px solid var(--lp-line);
  padding: 60px 0;
}

.lp-vs-ebay-page .lp-vs-hero {
  border-top: none;
  padding-top: 32px;  /* give the intro card clear breathing room at the top */
  padding-bottom: 20px; /* deliberate gap before the Feature comparison heading */
}

.lp-vs-problem-solution {
  border-top: none;
  padding-top: 10px;
}

.lp-vs-ebay-page .lp-section-heading {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.lp-vs-ebay-page .lp-section-heading .lp-section-sub {
  max-width: 720px;
}

.lp-vs-hero-shell {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(13, 23, 44, 0.02), rgba(21, 159, 140, 0.035));
  border: 1px solid rgba(21, 159, 140, 0.2);
  border-radius: 20px;
  box-shadow: var(--lp-shadow-1);
  padding: 22px 26px;
  margin-bottom: 0; /* section owns the bottom gap; hero card goes edge-to-edge inside lp-wrap */
}

.lp-vs-hero-shell .lp-eyebrow {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.07em;
  font-family: inherit;
  color: var(--lp-teal-2);
  text-transform: uppercase;
  margin-bottom: 14px;
}

.lp-vs-radar-bg {
  position: absolute;
  top: -86px;
  left: -94px;
  width: 300px;
  height: 300px;
  opacity: 0.3;
  pointer-events: none;
}

.lp-vs-hero-note {
  margin: 9px auto 0;
  max-width: 640px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--lp-ink-2);
  font-weight: 600;
}

.lp-vs-kicker {
  margin: 4px 0 2px;
  font-size: 14px;
  color: var(--lp-ink-3);
  font-weight: 600;
}

.lp-vs-hero-shell .lp-actions {
  justify-content: center;
  margin-top: 10px;
  margin-bottom: 0; /* lp-actions default 24px would add dead space inside the card */
}

.lp-vs-transition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.lp-vs-transition-card {
  background: var(--lp-paper);
  border: 1px solid var(--lp-line);
  border-radius: 16px;
  box-shadow: var(--lp-shadow-1);
  padding: 22px 20px;
}

.lp-vs-transition-card h3 {
  margin: 8px 0 12px;
  color: var(--lp-ink);
  font-size: 22px;
  line-height: 1.24;
}

.lp-vs-transition-card ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: var(--lp-ink-2);
  font-size: 14px;
  line-height: 1.48;
}

.lp-vs-transition-card-baydar {
  border-color: rgba(21, 159, 140, 0.4);
  background: linear-gradient(180deg, rgba(21, 159, 140, 0.08), rgba(21, 159, 140, 0.02));
  box-shadow: 0 24px 48px -24px rgba(21, 159, 140, 0.28), var(--lp-shadow-2);
}

.lp-vs-table-section .lp-section-heading {
  margin-bottom: 10px;
}

.lp-vs-ebay-page .lp-vs-table-section {
  padding-top: 28px;     /* space between hero and table now that the duplicate h2 is removed */
  padding-bottom: 48px;
  border-top: none;
}

/* Feature comparison section heading above the table */
.lp-vs-feature-heading {
  font-size: 26px;
  font-weight: 700;
  color: var(--lp-ink);
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 2px solid rgba(21, 159, 140, 0.22);
}
/* Teal left accent bar for the Feature comparison heading */
.lp-vs-feature-heading::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 0.8em;
  background: var(--lp-teal-2);
  border-radius: 2px;
  margin-right: 12px;
  vertical-align: middle;
  position: relative;
  top: -1px;
}

.lp-vs-table-section .lp-wrap {
  max-width: 1120px;
}

.lp-benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.lp-benefit-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lp-benefit-card {
  background: var(--lp-paper);
  border: 1px solid var(--lp-line);
  border-radius: 16px;
  box-shadow: var(--lp-shadow-1);
  padding: 22px;
}

.lp-benefit-card h3 {
  margin: 0 0 12px;
  color: var(--lp-ink);
  font-size: 20px;
  letter-spacing: 0;
}

.lp-benefit-card p {
  margin: 0;
  color: var(--lp-ink-3);
  line-height: 1.55;
  font-size: 14px;
}

.lp-benefit-card ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: var(--lp-ink-2);
  font-size: 14px;
  line-height: 1.5;
}

.lp-benefit-card-featured {
  border-color: rgba(21, 159, 140, 0.45);
  background: linear-gradient(180deg, rgba(21, 159, 140, 0.08), rgba(21, 159, 140, 0.03));
}

.lp-who-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.lp-who-card {
  background: var(--lp-paper);
  border: 1px solid var(--lp-line);
  border-radius: 14px;
  padding: 20px 18px;
}

.lp-who-icon {
  font-size: 22px;
  margin-bottom: 6px;
  color: var(--baydar-teal-dark);
}

.lp-who-card h4 {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 700;
  color: var(--lp-ink);
  letter-spacing: 0;
}

.lp-who-card p {
  margin: 0;
  color: var(--lp-ink-3);
  font-size: 13.5px;
  line-height: 1.52;
}

.lp-vs-proof-note {
  font-size: 12.5px;
  color: var(--lp-ink-4);
  margin: 0 0 14px;
  letter-spacing: 0.01em;
}

.lp-vs-table-wrap {
  border: 1px solid var(--lp-line);
  border-radius: 16px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--lp-paper);
  box-shadow: 0 24px 46px -34px rgba(11, 31, 63, 0.3);
}

.lp-vs-comparison-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--lp-line);
  border-bottom: 1px solid var(--lp-line);
}

.lp-vs-comparison-strip article {
  padding: 16px 18px;
  background: #ffffff;
}

.lp-vs-comparison-strip .lp-vs-strip-baydar {
  background:
    radial-gradient(circle at 16px 16px, rgba(17, 156, 149, 0.1), transparent 70px),
    #fbfdfd;
}

.lp-vs-strip-label {
  display: block;
  margin-bottom: 5px;
  color: var(--lp-ink-4);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lp-vs-comparison-strip strong {
  display: block;
  margin-bottom: 4px;
  color: var(--baydar-navy);
}

.lp-vs-comparison-strip p {
  margin: 0;
  color: var(--lp-ink-3);
  font-size: 13px;
  line-height: 1.45;
}

.lp-vs-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px;
  table-layout: fixed; /* colgroup drives column widths; prevents auto-layout drift */
}

.lp-vs-table th,
.lp-vs-table td {
  text-align: left;
  vertical-align: top;
  padding: 8px 14px;
  border-top: 1px solid var(--lp-line);
  font-size: 13px;
  line-height: 1.4;
}

.lp-vs-table tbody td {
  padding: 6px 14px;
}

.lp-vs-table thead th {
  border-top: none;
  background: var(--lp-paper-2);
  color: var(--lp-ink-3);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 10px 14px;
  vertical-align: middle;
}

.lp-vs-table thead th + th,
.lp-vs-table tbody td + td {
  border-left: 1px solid rgba(11, 31, 63, 0.06);
}

.lp-vs-table tbody tr:nth-child(even) td {
  background: rgba(11, 31, 63, 0.01);
}

.lp-vs-table tbody tr:hover td {
  background: rgba(11, 31, 63, 0.018);
}

.timing-proof {
  margin-top: 6px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #fbfcfe;
  padding: 4px 7px;
}

.timing-proof summary {
  cursor: pointer;
  font-size: 11.5px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
}

.timing-proof summary::-webkit-details-marker {
  display: none;
}

.timing-proof-status {
  margin-left: auto;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
}

.timing-proof ul {
  margin: 8px 0 4px;
  padding-left: 16px;
  display: grid;
  gap: 4px;
}

.timing-proof li {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.35;
}

.lp-vs-table tbody tr td {
  transition: background-color 120ms ease;
}

.lp-vs-table tbody td:first-child {
  width: 68%;
  color: var(--lp-ink);
  font-weight: 400;
}

.lp-vs-table tbody td:nth-child(2) {
  width: 16%;
  color: var(--lp-ink-3);
  text-align: center;
  vertical-align: middle;
}

.lp-vs-table tbody td:nth-child(3) {
  width: 16%;
  color: var(--lp-ink-2);
  text-align: center;
  vertical-align: middle;
  background: rgba(21, 159, 140, 0.06);
}

.lp-vs-th-baydar { color: var(--lp-teal-2); background: rgba(21, 159, 140, 0.06); }
/* Centre all column 2+3 headers and ticks — nth-child selectors override any inherited alignment */
.lp-vs-table thead th:nth-child(2),
.lp-vs-table thead th:nth-child(3),
.lp-vs-table thead th.lp-vs-th-baydar { text-align: center; vertical-align: middle; }
/* Remove word-break restrictions on status columns so header text wraps cleanly */
.lp-vs-table thead th:nth-child(2),
.lp-vs-table thead th:nth-child(3) { word-break: normal; }
.lp-vs-td-yes    { color: var(--lp-teal-2); font-weight: 600; font-size: 15px; }
.lp-vs-td-no     { color: var(--lp-ink-4);  font-weight: 400; font-size: 13px; letter-spacing: 0.02em; }
.lp-vs-td-na     { color: var(--lp-ink-4);  font-weight: 400; font-size: 11px; }
.lp-vs-td-limited{ color: var(--lp-ink-3);  font-weight: 400; font-size: 11px; font-style: italic; }
small.lp-vs-td-sub {
  display: block;
  font-size: 12px;
  color: var(--lp-ink-4);
  font-weight: 400;
  margin-top: 2px;
  line-height: 1.4;
}

#view-searches .topbar h2,
#view-search-health .topbar h2 {
  font-size: 20px;
}

#view-searches .topbar p {
  font-size: 13.5px;
  max-width: 760px;
}

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

.search-list-grid .search-card {
  grid-template-columns: 72px minmax(0, 1fr);
  padding: 8px;
  align-items: start;
}

.search-list-grid .search-thumb {
  width: 80px;
  height: 80px;
}

.search-list-grid .card-actions {
  grid-column: 1 / -1;
}

.lp-faq-list {
  display: grid;
  gap: 12px;
}

.lp-faq-list details {
  background: var(--lp-paper);
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  box-shadow: var(--lp-shadow-1);
  padding: 0 18px;
}

.lp-faq-list summary {
  cursor: pointer;
  font-size: 18px;
  font-weight: 600;
  color: var(--lp-ink);
  padding: 16px 0;
  list-style: none;
}

.lp-faq-list summary::-webkit-details-marker {
  display: none;
}

.lp-faq-list p {
  margin: 0 0 16px;
  color: var(--lp-ink-3);
  line-height: 1.55;
  font-size: 14px;
}

/* ── Problem/Solution ── */
.lp-ps-section { border-top: 1px solid var(--lp-line); }
.lp-ps-grid {
  display: grid;
  grid-template-columns: 270px 1fr;
  gap: 72px;
  align-items: flex-start;
}
.lp-ps-sticky {
  position: sticky;
  top: 40px;
}
.lp-ps-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.lp-ps-card {
  padding: 24px;
  border-radius: 16px;
  border: 1px solid var(--lp-line);
  background: var(--lp-paper);
  box-shadow: var(--lp-shadow-1);
}
.lp-ps-card.solution {
  background: linear-gradient(180deg, var(--lp-navy) 0%, var(--lp-navy-2) 100%);
  color: white;
  border: none;
  box-shadow: var(--lp-shadow-3);
  position: relative;
  overflow: hidden;
}
.lp-ps-card.solution::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(80% 60% at 100% 0%, rgba(21,159,140,0.18), transparent 60%);
  pointer-events: none;
}
.lp-ps-card-label {
  font-family: var(--lp-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.lp-ps-card-label.neg { color: var(--lp-red); }
.lp-ps-card-label.pos { color: var(--lp-teal-3); }
.lp-ps-card-title {
  font-size: 15.5px;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.lp-ps-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.lp-ps-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  line-height: 1.5;
}
.lp-ps-bullet {
  flex: none;
  width: 18px; height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  margin-top: 1px;
}
.lp-ps-bullet.neg { background: var(--lp-red-soft); color: var(--lp-red); }
.lp-ps-bullet.pos { background: rgba(21,159,140,0.18); color: var(--lp-teal-3); }

/* ── Matches buyer-facing improvements ── */
/* "View on eBay" on Matches rows uses Baydar's secondary outline oval — the same
   language as the Search detail / Saved searches "View on eBay" controls — so it
   stays clearly clickable without the filled-teal button dominating the row. */
.lp-matches-open-ebay {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  background: #fff;
  color: var(--accent-dark);
  border: 1px solid var(--accent);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.lp-matches-open-ebay:hover { background: var(--baydar-teal-soft); border-color: var(--accent-dark); }

/* ── Health coaching card ── */
.health-coaching-card {
  background: var(--lp-paper);
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  padding: 18px 20px;
  margin-bottom: 12px;
  box-shadow: var(--lp-shadow-1);
}
.health-coaching-card.needs-review {
  border-color: rgba(201,138,18,0.4);
  background: linear-gradient(to right, rgba(254,243,199,0.4), var(--lp-paper));
}
.health-coaching-card.blocked {
  border-color: rgba(220,38,38,0.3);
  background: linear-gradient(to right, rgba(254,226,226,0.3), var(--lp-paper));
}
.health-coaching-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--lp-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 999px;
  margin-bottom: 8px;
}
.health-coaching-status.healthy {
  background: var(--lp-green-soft);
  color: var(--lp-green);
}
.health-coaching-status.needs-review {
  background: var(--lp-amber-soft);
  color: var(--lp-amber);
}
.health-coaching-status.blocked {
  background: var(--lp-red-soft);
  color: var(--lp-red);
}

.demo-preview-note {
  margin-top: 8px;
  color: #5f6f7a;
  font-size: 12.5px;
  line-height: 1.45;
}

.account-panel .panel-head {
  background: linear-gradient(180deg, #ffffff, #f7fbfd);
}

.account-panel .settings-grid {
  gap: 12px;
  padding: 14px;
}

.account-panel .settings-block {
  padding: 16px 18px;
  border-radius: 12px;
  /* min-height removed — let blocks size to their content naturally */
}

.account-panel .settings-block h4 {
  font-size: 15px;
}

.account-panel .meta,
.account-panel .quiet-note {
  font-size: 13px;
  line-height: 1.44;
}

/* Secondary settings block (e.g. underlying live eBay access) — visually
   subordinate so it never competes with the primary Watching card. */
.account-panel .settings-block--secondary {
  background: transparent;
  border: 1px dashed var(--line);
  box-shadow: none;
}
.settings-block-subhead {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  text-transform: none;
}

/* ── Responsive ── */
@media (max-width: 860px) {
  .lp h1.lp-h1 { font-size: 52px; }
  .lp-h1-sub { font-size: 22px; }
  .lp-display { font-size: 30px; }
  .lp-final-h2 { font-size: 36px; }
  .lp-hw-h2 { font-size: 30px; }

  .lp-hero-grid,
  .lp-hw-grid,
  .lp-ps-grid { grid-template-columns: 1fr; }

  .lp-who-grid { grid-template-columns: 1fr; }

  .lp-compare-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .lp-compare-arrow { display: none; }

  .lp-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .lp-benefit-grid,
  .lp-benefit-grid-4 {
    grid-template-columns: 1fr;
  }
  .lp-who-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lp-vs-transition-grid {
    grid-template-columns: 1fr;
  }
  .lp-ebay-compare-grid {
    grid-template-columns: 1fr;
  }
  .lp-how-grid {
    grid-template-columns: 1fr;
  }
  .lp-ps-cards {
    grid-template-columns: 1fr;
  }
  .lp-radar-wrap { display: none; }
}

/* ── Beta status section ── */
.lp-beta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 44px;
}
.lp-beta-col {
  background: var(--lp-paper-2);
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  padding: 28px;
}
.lp-beta-col--works { border-color: rgba(21, 159, 140, 0.3); }
.lp-beta-col-head {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--lp-ink);
  margin-bottom: 18px;
}
.lp-beta-col-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: none;
}
.lp-beta-col-dot--ok    { background: var(--lp-teal-2); }
.lp-beta-col-dot--gated { background: var(--lp-ink-4); }
.lp-beta-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.lp-beta-list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--lp-ink-2);
}
.lp-beta-check { color: var(--lp-teal-2); font-weight: 600; flex: none; }
.lp-beta-gate  { color: var(--lp-ink-4); flex: none; }

/* ── Beta CTA card ── */
.lp-beta-cta-card {
  background: var(--lp-paper-2);
  border: 1px solid var(--lp-line);
  border-radius: 16px;
  padding: 52px 48px;
  text-align: center;
}

@media (max-width: 720px) {
  .lp-beta-grid { grid-template-columns: 1fr; }
  .lp-beta-cta-card { padding: 32px 20px; }
}

/* ── OAuth error notice ── */
.oauth-error-notice {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 8px 10px;
  border-left: 3px solid #dc2626;
  background: #fef2f2;
  border-radius: 3px;
  font-size: 12px;
  color: #7f1d1d;
  align-self: stretch;
}
/* These notices set display:flex, which overrode the [hidden] attribute and left
   empty coloured strips (a stray pink error bar on the Import card). Honour hidden. */
.oauth-error-notice[hidden],
.oauth-local-mode-notice[hidden],
.oauth-expiry-notice[hidden] { display: none; }

/* ── Local-mode OAuth notice ── */
/* "eBay connected" is a positive, expected state — not a warning. Use the calm
   teal/green info treatment, never the amber error look. */
.oauth-local-mode-notice {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 8px 10px;
  border-left: 3px solid var(--baydar-teal, #119c95);
  background: #f2fbf9;
  border-radius: 3px;
  font-size: 12px;
  color: #0c7068;
  align-self: stretch;
}
.oauth-local-mode-notice strong {
  font-size: 12px;
  font-weight: 700;
}

/* ── Connection expiry warning notice ── */
.oauth-expiry-notice {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 8px 10px;
  border-left: 3px solid var(--baydar-teal, #119c95);
  background: rgba(17, 156, 149, 0.06);
  border-radius: 3px;
  font-size: 12px;
  color: #34504d;
  align-self: stretch;
}

/* ── eBay/Safari browser-session reality, shown right by Connect ── */
/* Pre-connect browser-session note: neutral/quiet, not a warning colour. */
.ebay-session-note[hidden] { display: none; }
.ebay-session-note {
  align-self: stretch;
  margin: 2px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}
/* Neutral pending guidance while a connect is in flight (teal info, never red/amber). */
.ebay-pending-note[hidden] { display: none; }
.ebay-pending-note {
  align-self: stretch;
  margin: 2px 0 0;
  padding: 8px 10px;
  border-left: 3px solid var(--baydar-teal, #119c95);
  background: rgba(17, 156, 149, 0.06);
  border-radius: 3px;
  font-size: 12px;
  line-height: 1.45;
  color: #34504d;
}
.ebay-switch-text { margin: 0 0 8px; font-size: 12.5px; line-height: 1.55; color: var(--muted); }
/* Long-wait recovery row — calm (not red), shown only after ~60s pending. */
.ebay-long-wait-actions[hidden] { display: none; }
.ebay-long-wait-actions { display: flex; gap: 8px; flex-wrap: wrap; align-self: stretch; margin: 2px 0 0; }
.ebay-long-wait-actions .btn { display: inline-flex; align-items: center; min-height: var(--btn-h); padding: 0 12px; font-size: 12px; }
/* Live "waiting for eBay" spinner — small, calm, beside the status. */
.import-path-status-row { display: flex; align-items: center; gap: 7px; align-self: stretch; }
.ebay-connect-spinner[hidden] { display: none; }
.ebay-connect-spinner {
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  border: 2px solid rgba(17, 156, 149, 0.25);
  border-top-color: var(--baydar-teal, #119c95);
  animation: ebay-connect-spin 0.8s linear infinite;
}
@keyframes ebay-connect-spin { to { transform: rotate(360deg); } }
/* Reduced motion: no spin — a static teal dot; the elapsed-second counter in the
   pending note still shows the wait is progressing. */
@media (prefers-reduced-motion: reduce) {
  .ebay-connect-spinner {
    animation: none;
    border: none;
    background: var(--baydar-teal, #119c95);
  }
}
.ebay-different-account { align-self: stretch; margin-top: 4px; }
.ebay-switch-lead { margin: 0 0 2px; font-size: 12.5px; font-weight: 600; color: var(--ink); }
.ebay-switch-steps {
  margin: 4px 0 6px;
  padding-left: 18px;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--muted);
}
.ebay-switch-steps li { margin-bottom: 2px; }
.ebay-switch-pw { margin: 0 0 8px; font-size: 12px; color: var(--muted); }
.ebay-switch-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
/* Keep the disclosure's buttons/links at the compact action size, consistent with
   the rest of the eBay connection panel — no oversized pills. */
.ebay-switch-actions .btn {
  display: inline-flex;
  align-items: center;
  min-height: var(--btn-h);
  padding: 0 12px;
  font-size: 12px;
}

/* Fetch failure recovery: clear, prominent, with Reconnect as primary action */
.fetch-error-block[hidden] { display: none; }
.fetch-error-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-self: stretch;
  margin-top: 6px;
  padding: 12px 14px;
  border: 1px solid #e4a3a0;
  border-left: 3px solid #c0392b;
  background: #fcebea;
  border-radius: 8px;
  font-size: 13px;
  color: #7a241f;
}
.fetch-error-block strong { color: #9a2620; font-size: 13px; }
.fetch-error-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.oauth-expiry-notice strong {
  font-size: 12px;
  font-weight: 700;
}
.oauth-expiry-notice code {
  font-family: monospace;
  background: rgba(0,0,0,0.06);
  padding: 1px 3px;
  border-radius: 2px;
}

/* ── Beta first-run onboarding panel ── */
.beta-first-run-panel {
  background: var(--panel-soft);
  border: 1px solid var(--panel-border);
  border-radius: 10px;
  padding: 24px 28px 20px;
  margin-bottom: 20px;
}
.beta-first-run-heading {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 12px;
}
.beta-steps {
  margin: 0 0 18px;
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.5;
}
.beta-start-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.beta-start-btn {
  display: inline-block;
  padding: 7px 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.12s;
}
.beta-start-btn:hover { opacity: 0.82; }
.beta-start-primary {
  background: var(--baydar-teal);
  color: #fff;
}
.beta-start-secondary {
  background: var(--panel-muted);
  color: var(--ink);
  border: 1px solid var(--panel-border);
}

/* ── LP Footer ── */
.lp-footer {
  border-top: 1px solid var(--lp-line);
  padding: 22px 0;
  background: var(--lp-bg);
}
.lp-footer .lp-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--lp-ink-4);
  font-family: var(--lp-mono);
}
.lp-footer-brand {
  font-weight: 700;
  color: var(--lp-ink-2);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  margin-right: 4px;
}
.lp-footer-contact {
  color: var(--lp-teal-2);
  text-decoration: none;
}
.lp-footer-contact:hover { text-decoration: underline; }

/* ── App shell footer (shown in shell-app, hidden in shell-home) ── */
.shell-home .app-shell-footer { display: none; }

.app-shell-footer {
  border-top: 1px solid var(--panel-border);
  margin-top: 48px;
  padding: 16px 0 4px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--muted);
  font-family: "JetBrains Mono", "Fira Mono", "Cascadia Code", ui-monospace, monospace;
}
.app-shell-footer-brand {
  font-weight: 700;
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  margin-right: 2px;
}
.app-shell-footer-copy { flex: 1; }
.app-shell-footer-link {
  color: var(--baydar-teal);
  text-decoration: none;
  font-weight: 500;
}
.app-shell-footer-link:hover { text-decoration: underline; }

/* ── Account status module ── */
.account-plan-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  background: var(--baydar-teal-soft);
  color: var(--baydar-teal-dark);
  margin: 4px 0 6px;
  letter-spacing: 0.02em;
}
.account-status-module {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
}
.account-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 13.5px;
  padding: 5px 0;
  border-bottom: 1px solid var(--line);
}
.account-status-row:last-child { border-bottom: none; }
.account-status-badge {
  flex-shrink: 0;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}
.status-soon     { background: #fff4ce; color: #7a4d00; }
.status-optional { background: var(--baydar-teal-soft); color: var(--baydar-teal-dark); }
.status-planned  { background: #eef0f6; color: #4a5068; }
.status-live     { background: var(--green); color: var(--green-ink); }
.status-warn     { background: #fff3cd; color: #856404; }
.status-ok       { background: rgba(17,156,149,0.12); color: var(--baydar-teal); }

/* ── Notifications card ── */
/* Beta contact setup — normal product settings, not provider diagnostics. */
.alert-contact-card {
  display: grid;
  gap: 12px;
}
.notifications-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
/* Quiet divider between the checking-status and alert-channels halves of the one
   combined "Checking and alerts" panel. */
.checking-alerts-divider {
  height: 1px;
  margin: 16px 0;
  background: var(--panel-border);
}
.notifications-subhead {
  margin: 0 0 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--baydar-navy);
}
.alert-contact-form {
  display: grid;
  gap: 12px;
}
.alert-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}
.alert-contact-grid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}
.alert-contact-grid input,
.alert-contact-grid select {
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}
.alert-contact-grid input:focus,
.alert-contact-grid select:focus {
  border-color: var(--baydar-teal);
  outline: 2px solid rgba(17,156,149,0.14);
  outline-offset: 1px;
}
.alert-contact-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.alert-contact-save-result {
  font-size: 13px;
  font-weight: 600;
}
.alert-contact-save-result--success { color: #0f6f68; }
.alert-contact-save-result--error { color: #9a2620; }
.alert-contact-summary {
  margin-top: 16px;
  padding: 10px 12px;
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  background: var(--panel-soft);
}
.alert-contact-summary-label {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.alert-contact-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.alert-contact-summary-grid div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.alert-contact-summary-grid span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
}
.alert-contact-summary-grid strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  color: var(--ink);
}
@media (max-width: 860px) {
  .alert-contact-grid,
  .alert-contact-summary-grid { grid-template-columns: 1fr; }
}

/* Compact channel cards (current + future state at a glance), 2-up grid. */
.notification-channels-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0 0;
}
.notification-channel-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  background: var(--panel-soft);
}
.notification-channel-row--advanced { background: #fff; }
@media (max-width: 720px) { .notification-channels-list { grid-template-columns: 1fr; } }
.notification-channel-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.notification-channel-name {
  font-size: 13.5px;
  font-weight: 550;
  color: var(--ink);
}
.notification-channel-desc {
  font-size: 12.5px;
  color: var(--muted);
  line-height: 1.45;
}
.notification-channel-controls {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  flex-shrink: 0;
}
.notification-channel-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--muted);
}
.notification-channel-toggle select {
  min-height: 30px;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  text-transform: none;
  letter-spacing: 0;
}
.notification-channel-toggle select:focus {
  border-color: var(--baydar-teal);
  outline: 2px solid rgba(17,156,149,0.14);
  outline-offset: 1px;
}
.account-plan-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.account-danger-reset {
  margin-top: 10px;
  border-color: #e7c4ca;
  background: #fffafa;
}
.account-danger-reset > summary {
  color: var(--red-ink);
  font-size: 13px;
}
.account-danger-reset > summary::before {
  border-color: var(--red-ink);
}
.account-danger-reset > p,
.account-reset-confirm {
  margin: 0 12px 10px;
}
.account-reset-confirm[hidden] { display: none; }
.account-reset-confirm {
  padding: 10px 12px;
  border: 1px solid #e7c4ca;
  border-radius: 8px;
  background: #ffffff;
}
.account-reset-confirm strong { display: block; color: var(--ink); font-size: 13.5px; }
.account-reset-confirm p { margin: 4px 0 10px; }
.account-reset-confirm-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.account-danger-reset #startFreshAccountBtn {
  margin: 0 12px 12px;
}
/* Post-reset success state (replaces the reset button). */
.account-reset-done[hidden] { display: none; }
.account-reset-done {
  margin-top: 8px;
  padding: 10px 12px;
  border-left: 3px solid var(--baydar-teal, #119c95);
  background: rgba(17, 156, 149, 0.06);
  border-radius: 4px;
}
.account-reset-done strong { display: block; font-size: 13.5px; color: var(--ink); }
.account-reset-done p { margin: 3px 0 8px; }
.account-reset-done-actions { display: flex; gap: 8px; flex-wrap: wrap; }
/* Pushover + email disclosures use the shared .disclosure style (arrow, border,
   spacing). Only body spacing is kept here — no competing summary/::before rules
   that would override the standard chevron. */
.pushover-advanced-body > .meta { margin-bottom: 12px; }
.pushover-dev-note { margin-top: 12px; }
.pushover-field-hint {
  display: block;
  font-size: 12px;
  font-weight: 400;
  color: var(--muted);
  margin-bottom: 4px;
}

/* ── Pushover settings ── */
.pushover-status-area { margin: 4px 0 8px; }
.pushover-setup-steps { margin: 6px 0 0; padding-left: 18px; font-size: 13px; line-height: 1.7; color: var(--ink-2, #4a5568); }

/* ── Pushover setup form ── */
.pushover-setup-form { margin-top: 2px; }
.pushover-setup-form > .meta { margin: 0 0 14px; }
.pushover-config-form { display: flex; flex-direction: column; gap: 12px; }
.pushover-field-label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 0.875rem;
  font-weight: 550;
  color: var(--ink);
}
.pushover-key-input {
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 0.9rem;
  font-family: ui-monospace, monospace;
  background: var(--surface-alt, #f6f8fa);
  color: var(--ink);
  outline: none;
  transition: border-color 0.15s, background 0.15s;
  letter-spacing: 0.04em;
}
.pushover-key-input:focus {
  border-color: var(--baydar-teal, #119c95);
  background: #fff;
}
.pushover-form-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 2px;
}
.pushover-save-result { font-size: 13px; font-weight: 550; }
.pushover-save-result--success { color: #0f6f68; }
.pushover-save-result--error { color: #9a2620; }
.pushover-help-details { margin-top: 14px; }
.pushover-help-details summary {
  cursor: pointer;
  font-size: 0.82rem;
  color: var(--muted);
  user-select: none;
}

/* ── Pushover configured state ── */
.pushover-masked-area { margin-top: 8px; }
.pushover-masked-status { margin: 0; }
.pushover-live-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.pushover-live-row .meta { margin: 0; flex: 1; min-width: 0; }

.pushover-test-area[hidden] { display: none; }
.pushover-test-area { margin-top: 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.test-alert-result { font-size: 13px; font-weight: 600; line-height: 1.45; }
.test-alert-result--error {
  display: block;
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  background: #fcebea;
  border: 1px solid #e4a3a0;
  color: #9a2620;
}
.test-alert-result--success {
  display: block;
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(17,156,149,0.10);
  border: 1px solid var(--baydar-teal, #119c95);
  color: #0f6f68;
}

/* ── Title-adjacent eBay link (small ↗ on search cards) ── */
.title-ebay-link {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  color: var(--muted);
  text-decoration: none;
  margin-left: 4px;
  vertical-align: middle;
  opacity: 0.55;
  line-height: 1;
  transition: color 0.15s, opacity 0.15s;
}
.title-ebay-link:hover {
  color: var(--teal);
  opacity: 1;
}

/* ── Search health — avatar initials ── */
.health-report-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.health-report-avatar {
  flex-shrink: 0;
  width: 148px;
  height: 148px;
  border-radius: 10px;
  background: var(--panel-muted);
  color: var(--baydar-navy);
  font-size: 46px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: -0.01em;
  border: 0;
  user-select: none;
}
.health-report-healthy .health-report-avatar { background: var(--green); color: var(--green-ink); border-color: transparent; }
.health-report-warn    .health-report-avatar { background: var(--yellow); color: var(--yellow-ink); border-color: transparent; }
.health-report-blocked .health-report-avatar { background: var(--red); color: var(--red-ink); border-color: transparent; }
/* Photo avatars crop to fill (like Saved searches .search-thumb img). */
.health-report-avatar--img { object-fit: cover; padding: 0; border: 0; }

/* ── Reduced motion: stop landing-page radar sweep ── */
@media (prefers-reduced-motion: reduce) {
  .lp-radar-sweep-arm,
  .baydar-radar-sweep-arm,
  .live-chip-ok::before,
  .search-check-tile-spinner,
  .row-hydrating .search-thumb::after,
  .row-hydrating .result-thumb::after,
  .row-hydrating .match-group-thumb::after {
    animation: none;
  }
}

/* ── Import path card glyphs ── */
.import-path-glyph {
  display: block;
  width: 44px;
  height: 44px;
  margin-bottom: 6px;
  flex-shrink: 0;
  opacity: 0.8;
}
.import-path.disabled .import-path-glyph {
  opacity: 0.42;
}

/* ── Health avatar: category-tile variant (112px avatar context) ── */
.health-report-avatar.cat-tile {
  width: 148px;
  height: 148px;
  min-width: 148px;
  font-size: 44px;
  border-radius: 10px;
  /* Override health-status colour tints so cat gradient shows cleanly */
  background: initial;
}
.health-report-healthy .health-report-avatar.cat-tile,
.health-report-warn    .health-report-avatar.cat-tile,
.health-report-blocked .health-report-avatar.cat-tile {
  /* re-apply the cat gradient — health row colour is on the row border, not the avatar */
  border-color: transparent;
}
.health-report-avatar.cat-watch   { background: linear-gradient(135deg, #b8975a, #9a7c48); }
.health-report-avatar.cat-tech    { background: linear-gradient(135deg, #2d7dd2, #1f62b0); }
.health-report-avatar.cat-gaming  { background: linear-gradient(135deg, #7c4fc4, #6340a8); }
.health-report-avatar.cat-camera  { background: linear-gradient(135deg, #8b6952, #7a5c44); }
.health-report-avatar.cat-bike    { background: linear-gradient(135deg, #3d8c5e, #32784f); }
.health-report-avatar.cat-vehicle { background: linear-gradient(135deg, #2b4a7a, #1f3860); }
.health-report-avatar.cat-home    { background: linear-gradient(135deg, #c4647a, #ad5268); }
.health-report-avatar.cat-office  { background: linear-gradient(135deg, #4a637c, #3b5268); }
.health-report-avatar.cat-audio   { background: linear-gradient(135deg, #5c5fc4, #4a4daa); }
.health-report-avatar.cat-soft-1 { background: linear-gradient(135deg, #e8f3f2, #d6eae8); color: #2f6f68; }
.health-report-avatar.cat-soft-2 { background: linear-gradient(135deg, #ecf2f6, #dbe7ef); color: #34567a; }
.health-report-avatar.cat-soft-3 { background: linear-gradient(135deg, #eaf2f4, #d8e8ea); color: #2c6470; }
.health-report-avatar.cat-soft-4 { background: linear-gradient(135deg, #edf1f5, #dee6ee); color: #3d5a72; }
.health-report-avatar.cat-soft-5 { background: linear-gradient(135deg, #e9f3f0, #d7eae4); color: #336b5d; }
.health-report-avatar.cat-soft-6 { background: linear-gradient(135deg, #eef3f3, #dfe9ea); color: #3f5f66; }

/* ── Health avatar: image variant ── */
/* Fill the 148px thumb wrapper exactly like Saved Searches (.search-thumb img),
   so Search Health photos are the same size/crop and not a small 96px inset. */
.health-report-avatar--img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}

/* ── Session 18: UX polish ──────────────────────────────────────── */

/* Cat-tile placeholders: slightly desaturated when hovering to signal
   they are intentional placeholders, not failed image loads */
.cat-tile[title] {
  cursor: help;
}

/* Detail action buttons — ensure they stay visually anchored to top-right */
.detail-head .detail-actions {
  padding-top: 2px;
}

/* Edit filters toggle — smooth transition for open/close state */
.detail-actions button[data-detail-toggle-edit]:not(:disabled) {
  transition: background 0.15s, color 0.15s;
}

/* ── Site-wide ambient radar layer ───────────────────────────────────────────── */

.baydar-radar-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  opacity: 0.04;
}

.shell-home .baydar-radar-layer {
  opacity: 0.09;
}

/* Sweep arm: only animated on marketing routes */
.baydar-radar-sweep-arm {
  transform-box: view-box;
  transform-origin: 0 0;
}

.shell-home .baydar-radar-sweep-arm {
  animation: baydar-sweep 75s linear infinite;
}

@keyframes baydar-sweep {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .baydar-radar-sweep-arm {
    animation: none;
  }
}

/* ── How it works: 3-step visual ─────────────────────────────────────────────── */

.hiw-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 24px;
}

.hiw-step {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 20px;
  padding: 32px 0;
  border-bottom: 1px solid var(--line, rgba(213,224,226,0.6));
}

.hiw-step:last-child { border-bottom: none; }

.hiw-step-num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--navy, #07164b);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.hiw-step-body { display: flex; flex-direction: column; gap: 16px; }

.hiw-step-caption {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--navy, #07164b);
  align-self: center;
}

.hiw-step-visual {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: rgba(17, 156, 149, 0.04);
  border-radius: 10px;
  border: 1px solid rgba(17, 156, 149, 0.12);
}

.hiw-import-list { display: flex; flex-direction: column; gap: 8px; width: 100%; }

.hiw-import-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--ink);
}

.hiw-watch-visual { justify-content: center; gap: 24px; }

.hiw-match-visual { flex-direction: column; align-items: flex-start; gap: 10px; }

.hiw-match-card {
  background: #fff;
  border: 1px solid var(--line, rgba(213,224,226,0.6));
  border-radius: 8px;
  padding: 12px 14px;
  width: 100%;
}

.hiw-match-title { font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 4px; }

.hiw-match-meta { font-size: 12px; color: var(--muted); }

.hiw-phone-notif {
  background: rgba(255,255,255,0.95);
  border: 1px solid var(--line, rgba(213,224,226,0.6));
  border-radius: 14px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 4px 16px rgba(7,22,75,0.12);
  font-size: 12px;
}

.hiw-notif-app { font-weight: 700; color: var(--navy, #07164b); }
.hiw-notif-body { color: var(--ink); }

.hiw-detail-more { margin-top: 24px; }
.hiw-detail-summary {
  font-size: 13px;
  color: var(--muted);
  cursor: pointer;
  padding: 8px 0;
  list-style: none;
}
.hiw-detail-summary::-webkit-details-marker { display: none; }

/* ── vs-ebay-saved-searches: side-by-side hero ───────────────────────────────── */

.vs-same-listing-hero {
  padding: 32px 0 24px;
}

.vs-same-listing-headline {
  font-size: 22px;
  font-weight: 700;
  color: var(--navy, #07164b);
  margin: 0 0 20px;
}

.vs-same-listing-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.vs-same-listing-card {
  background: #fff;
  border: 1px solid var(--line, rgba(213,224,226,0.6));
  border-radius: 10px;
  padding: 16px;
  position: relative;
}

.vs-baydar-card {
  border-color: rgba(17,156,149,0.35);
  box-shadow: 0 2px 12px rgba(17,156,149,0.08);
}

.vs-card-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  margin-bottom: 10px;
}

.baydar-card-label { color: var(--baydar-teal, #0c7068); }

.vs-mock-result {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.vs-mock-thumb {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}

.vs-mock-body { flex: 1; min-width: 0; }
.vs-mock-title { font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
.vs-mock-price { font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
.vs-mock-meta { font-size: 12px; color: var(--muted); }
.vs-found-tag { color: var(--baydar-teal, #0c7068); font-weight: 600; }

.vs-detail-table {
  margin-top: 28px;
  border-top: 1px solid var(--line, rgba(213,224,226,0.5));
  padding-top: 16px;
}

.vs-detail-summary {
  font-size: 13px;
  color: var(--muted);
  cursor: pointer;
  padding: 8px 0;
  list-style: none;
}

.vs-detail-summary::-webkit-details-marker { display: none; }

.vs-footnote-table {
  font-size: 12px;
  opacity: 0.85;
}

/* ── Account: spacing improvements ──────────────────────────────────────────── */

.panel.account-section {
  padding: 22px 24px;
  margin-bottom: 16px;
  line-height: 1.55;
}

.account-section-title { margin: 0 0 14px; }

.account-fields { gap: 14px 28px; }

.account-section-note { margin: 14px 0 0; line-height: 1.6; }

.account-field-hint { line-height: 1.5; }

@media (max-width: 640px) {
  .vs-same-listing-split { grid-template-columns: 1fr; }
  .hiw-step { grid-template-columns: 1fr; }
}
