:root {
  color-scheme: light;
  --background: 220 18% 97%;
  --foreground: 222 28% 13%;
  --card: 0 0% 100%;
  --muted: 220 14% 93%;
  --muted-foreground: 220 12% 40%;
  --secondary: 220 14% 94%;
  --border: 220 14% 89%;
  --primary: 221 92% 55%;
  --accent: 221 80% 95%;
  --success: 152 76% 39%;
  --warning: 43 96% 50%;
  --destructive: 0 84% 60%;
  --radius: 8px;
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);
  --shadow-card: 0 1px 3px 0 rgb(0 0 0 / .06), 0 1px 2px -1px rgb(0 0 0 / .04);
  --shadow-pop: 0 8px 24px -8px rgb(0 0 0 / .16), 0 2px 6px -2px rgb(0 0 0 / .08);
  --rail-width: 310px;
  --font-sans: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace;
  font: 400 13px/1.45 var(--font-sans);
}

/* Keep the screen report readable when inline elements sit beside each other. */
.public-report-position-grid article > strong,
.public-report-position-grid article > span,
.public-report-position-grid article > small,
.public-report-key-facts > div > strong,
.public-report-key-facts > div > span,
.public-report-key-facts > div > small {
  display: block;
}
.public-report-position-grid article > span { margin-top: 7px; font-weight: 750; }
.public-report-position-grid article > small { margin-top: 9px; color: #738197; font-size: 10px; line-height: 1.45; }
.public-report-key-facts > div > span { margin-top: 5px; }
.public-report-key-facts > div > small { margin-top: 6px; color: #738197; font-size: 9px; line-height: 1.35; }
.public-report-spread-title strong,
.public-report-spread-title span { display: block; }
.public-report-spread-title span { margin-left: auto; }
.public-report-price-spread { margin-top: 18px; padding-top: 15px; border-top: 1px solid #e0e7f1; }
.public-report-spread-title { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; color: #52667f; }
.public-report-spread-title strong { font-size: 9px; letter-spacing: .035em; text-transform: uppercase; }
.public-report-spread-title span { font-size: 8px; }
.public-report-spread-row { display: grid !important; grid-template-columns: 100px minmax(0, 1fr) 118px; align-items: center; gap: 8px; min-height: 48px; }
.public-report-spread-row > div { min-width: 0; }
.public-report-spread-row > div:first-child strong,
.public-report-spread-row > div:first-child small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.public-report-spread-row > div:first-child strong { color: #263e5c; font-size: 9px; }
.public-report-spread-row > div:first-child small { margin-top: 2px; color: #8694a6; font-size: 7px; }
.public-report-spread-track { position: relative; height: 24px; overflow: hidden; border: 1px solid #d9e2ed; border-radius: 5px; background: linear-gradient(90deg, #e2f3ec 0 49.75%, #9eafc2 49.75% 50.25%, #f7e8e3 50.25% 100%); }
.public-report-spread-track > b { position: absolute; width: 6px; height: 6px; border: 1px solid #fff; border-radius: 50%; background: var(--dot-color); box-shadow: 0 1px 2px rgb(18 37 61 / .24); opacity: .78; transform: translate(-50%, -50%); }
.public-report-spread-row > div:last-child { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.public-report-spread-row > div:last-child strong { color: #173452; font-size: 10px; white-space: nowrap; }
.public-report-spread-row > div:last-child small { max-width: 118px; margin-top: 2px; color: #718197; font-size: 7px; line-height: 1.25; }
.public-report-price-spread > p { margin: 10px 0 0; color: #718197; font-size: 8px; line-height: 1.45; }
.public-report-close-call-grid { grid-template-columns: 1fr !important; }
.public-report-close-call-grid > article { grid-template-columns: minmax(210px, .65fr) minmax(0, 1.35fr) !important; }

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; }
body { margin: 0; background: hsl(var(--background)); color: hsl(var(--foreground)); -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
button, select { cursor: pointer; }
svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.sidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 10;
  width: var(--rail-width); display: flex; flex-direction: column;
  padding: 12px 8px; border-right: 1px solid hsl(var(--border));
  background: hsl(var(--card)); box-shadow: 0 1px 2px rgb(0 0 0 / .05);
}
.brand {
  display: flex; align-items: center; padding: 4px 6px 14px;
  color: hsl(var(--foreground)); text-decoration: none;
}
.brand img { display: block; width: 132px; height: auto; object-fit: contain; }
.nav-label { padding: 12px 8px 4px; color: #8b91a2; font-size: 9px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.sidebar nav { flex: 0 0 auto; }
.nav-item {
  display: flex; align-items: center; gap: 10px; width: 100%; padding: 7px 10px;
  border-radius: 6px; color: hsl(222 20% 28%); font-size: 12px; font-weight: 400; text-decoration: none;
  transition: background 120ms ease, color 120ms ease;
}
.nav-item.disabled {
  border: 0; background: transparent; color: hsl(var(--muted-foreground) / .55);
  cursor: pointer; text-align: left;
}
.nav-item.disabled:hover { background: hsl(var(--muted)); color: hsl(var(--muted-foreground)); }
.nav-item:hover { background: hsl(var(--accent) / .6); color: hsl(221 70% 40%); }
.nav-item.active { background: hsl(var(--primary)); color: white; }
.sidebar-settings-toggle { display: none; }
.sidebar-settings {
  flex: 1; min-height: 0; margin: 14px -2px 8px 0; padding-right: 5px;
  overflow-y: auto; scrollbar-width: thin;
}
.sidebar-readonly-note {
  margin: 0 8px 10px;
  padding: 8px;
  border: 1px solid hsl(var(--border));
  border-radius: 6px;
  background: hsl(var(--background));
  color: hsl(var(--muted-foreground));
  font-size: 10px;
}
.sidebar-section-heading {
  padding: 15px 8px 6px; color: hsl(var(--muted-foreground));
  font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.sidebar-agent { border-top: 1px solid hsl(var(--border) / .7); }
.sidebar-agent:last-child { border-bottom: 1px solid hsl(var(--border) / .7); }
.sidebar-agent summary {
  display: flex; align-items: center; gap: 8px; padding: 8px;
  border-radius: 5px; list-style: none; cursor: pointer;
}
.sidebar-agent summary::-webkit-details-marker { display: none; }
.sidebar-agent summary::before { content: "›"; color: hsl(var(--muted-foreground)); font-size: 17px; line-height: 1; transition: transform 120ms ease; }
.sidebar-agent[open] summary::before { transform: rotate(90deg); }
.sidebar-agent summary:hover { background: hsl(var(--accent) / .5); }
.sidebar-agent summary > span { display: flex; flex: 1; min-width: 0; flex-direction: column; }
.sidebar-agent summary strong { font-size: 12px; }
.sidebar-agent summary small { overflow: hidden; color: hsl(var(--muted-foreground)); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-agent summary > i { width: 7px; height: 7px; border-radius: 50%; background: hsl(var(--muted-foreground) / .35); }
.sidebar-agent summary > i.enabled { background: hsl(var(--success)); }
.sidebar-agent-body { padding: 0 5px 8px 25px; }
.sidebar-module { display: flex; align-items: center; justify-content: space-between; padding: 5px 6px; color: hsl(var(--muted-foreground)); font-size: 10px; }
.sidebar-setting-row { display: grid; grid-template-columns: minmax(0, 1fr) 26px; align-items: center; gap: 2px; }
.sidebar-setting-edit {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  min-width: 0; padding: 5px 6px; border: 0; border-radius: 4px;
  background: transparent; color: hsl(var(--foreground)); text-align: left;
}
.sidebar-setting-edit:hover, .sidebar-history:hover { background: hsl(var(--accent) / .6); }
.sidebar-setting-edit:disabled, .sidebar-history:disabled, .switch:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.sidebar-setting-edit span { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-setting-edit strong { flex: 0 0 auto; color: hsl(var(--primary)); font-size: 10px; font-variant-numeric: tabular-nums; }
.sidebar-setting-display { cursor: default; }
.sidebar-history { display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: hsl(var(--muted-foreground)); }
.sidebar-history svg { width: 13px; height: 13px; }
.sidebar-empty { margin: 3px 6px; color: hsl(var(--muted-foreground)); font-size: 10px; line-height: 1.4; }
.sidebar-foot {
  display: flex; align-items: center; gap: 8px; width: 100%; padding: 10px 8px 2px;
  border-top: 1px solid hsl(var(--border)); text-transform: none;
}
.sidebar-foot form { margin-left: auto; }
.account-action {
  padding: 5px 8px; border: 1px solid hsl(var(--border)); border-radius: 5px;
  background: hsl(var(--card)); color: hsl(var(--foreground)); font-size: 10px;
}
.account-action:hover { border-color: hsl(var(--primary)); color: hsl(var(--primary)); }
.login-action { background: hsl(var(--primary)); border-color: hsl(var(--primary)); color: white; }
.login-action:hover { background: hsl(var(--primary) / .9); color: white; }
.visitor-avatar { background: hsl(var(--muted-foreground)); }

.live-demo-body { min-height: 100vh; background: hsl(var(--background)); }

/* ── Hero band ───────────────────────────────────────────────────────── */
.live-demo-hero {
  position: relative; overflow: hidden; color: #fff;
  background:
    radial-gradient(110% 140% at 90% -20%, rgba(79,70,229,.55) 0%, transparent 55%),
    radial-gradient(80% 120% at 8% 120%, rgba(26,94,255,.5) 0%, transparent 55%),
    linear-gradient(160deg, #0A1232 0%, #0D1845 55%, #0A1232 100%);
}
.live-demo-hero-inner { position: relative; max-width: 1320px; margin: 0 auto; padding: 36px 28px 40px; z-index: 2; }
.live-demo-hero-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 34px; }
.live-demo-hero-logo { height: 22px; width: auto; display: block; }
.live-demo-hero-tag {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  font: 600 10px var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.75);
}
.live-demo-hero-tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: hsl(var(--primary)); }
.live-demo-hero-pitch { max-width: 640px; }
.live-demo-hero-pitch .eyebrow { color: rgba(155,185,255,.8); }
.live-demo-hero-pitch h1 {
  margin: 10px 0 0; font: 700 clamp(28px, 4.2vw, 44px)/1.12 var(--font-sans); letter-spacing: -.025em;
  background: linear-gradient(90deg, #fff 0%, #C5D9FE 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.live-demo-hero-pitch p { margin: 14px 0 0; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.7; max-width: 560px; }
.live-demo-pulse {
  margin-top: 26px; max-width: 460px; padding: 12px 16px; border-radius: 10px;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.live-demo-pulse-head { display: flex; align-items: center; justify-content: space-between; }
.live-demo-pulse-head .label { font: 600 10px var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.live-demo-pulse-head .cycle {
  display: inline-flex; align-items: center; gap: 6px; font: 500 11px var(--font-mono);
  letter-spacing: 0; text-transform: none; color: rgba(255,255,255,.6);
}
.live-demo-pulse-head .cycle i { width: 6px; height: 6px; border-radius: 50%; background: hsl(var(--success)); box-shadow: 0 0 0 0 rgb(16 185 129 / .55); animation: live-demo-pulse-dot 1.8s ease-out infinite; }
.live-demo-pulse-head .cycle.stale i, .live-demo-pulse-head .cycle.never_run i, .live-demo-pulse-head .cycle.unavailable i { background: hsl(var(--warning)); animation: none; }
.live-demo-pulse-head .cycle.failed i { background: hsl(var(--destructive)); animation: none; }
@keyframes live-demo-pulse-dot { 0% { box-shadow: 0 0 0 0 rgb(16 185 129 / .55); } 100% { box-shadow: 0 0 0 8px rgb(16 185 129 / 0); } }
.live-demo-pulse-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.08); font: 500 12px var(--font-sans); color: rgba(255,255,255,.85); }
.live-demo-pulse-row .name { display: flex; align-items: center; gap: 8px; }
.live-demo-pulse-row .dot { width: 7px; height: 7px; border-radius: 50%; background: hsl(var(--success)); }
.live-demo-pulse-row .dot.stale, .live-demo-pulse-row .dot.never_run, .live-demo-pulse-row .dot.unavailable { background: hsl(var(--warning)); }
.live-demo-pulse-row .dot.failed { background: hsl(var(--destructive)); }
.live-demo-pulse-row .val { font-family: var(--font-mono); font-size: 11px; color: rgba(255,255,255,.6); font-variant-numeric: tabular-nums; }
.live-demo-hero-inner .live-demo-message { max-width: 460px; }

.live-demo-main { max-width: 1320px; margin: 0 auto; padding: 30px 28px 64px; }
.live-demo-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 24px; }
.live-demo-sidebar {
  position: sticky; top: 24px; padding: 20px; border: 1px solid hsl(var(--border)); border-radius: 12px;
  background: hsl(var(--card)); box-shadow: var(--shadow-sm); max-height: calc(100vh - 48px); overflow-y: auto;
}
.live-demo-sidebar-head { margin-bottom: 14px; }
.live-demo-content { display: grid; gap: 24px; min-width: 0; }
.live-demo-card, .live-demo-results {
  padding: 24px; border: 1px solid hsl(var(--border)); border-radius: 12px;
  background: hsl(var(--card)); box-shadow: var(--shadow-card);
}
.live-demo-form { display: grid; grid-template-columns: 1.2fr 1fr 1fr auto; align-items: end; gap: 14px; }
.live-demo-form label { display: grid; gap: 6px; }
.live-demo-form label span { color: hsl(var(--muted-foreground)); font-size: 11px; font-weight: 700; }
.live-demo-vat-label { display: flex; align-items: center; gap: 4px; }
.live-demo-vat-select {
  appearance: none; -webkit-appearance: none; -moz-appearance: none;
  height: auto; padding: 0 13px 0 0; border: none; border-radius: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath d='M0 0L4 6L8 0Z' fill='%232366f6'/%3E%3C/svg%3E") no-repeat right center / 8px 6px;
  color: hsl(var(--primary)); font-size: 11px; font-weight: 700; cursor: pointer;
}
.live-demo-vat-select:focus { outline: none; }
.live-demo-form label span.live-demo-optional { margin-right: auto; color: hsl(var(--muted-foreground)); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.live-demo-field-hint { color: hsl(var(--muted-foreground)); font-size: 10px; font-weight: 500; line-height: 1.35; }
.live-demo-form input {
  width: 100%; height: 40px; padding: 0 12px; border: 1px solid hsl(var(--border));
  border-radius: 8px; background: white; color: hsl(var(--foreground));
}
.live-demo-form input:focus { outline: none; border-color: hsl(var(--primary)); box-shadow: 0 0 0 2px hsl(var(--primary) / .2); }
.live-demo-form button { height: 40px; white-space: nowrap; }
.live-demo-sidebar-groups { margin: 0 -6px; }
.live-demo-sidebar .sidebar-agent-body { padding: 2px 5px 8px 18px; }
.live-demo-field {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 5px 6px; border-radius: 4px; font-size: 10px;
}
.live-demo-field:hover { background: hsl(var(--accent) / .5); }
.live-demo-field span { overflow: hidden; color: hsl(var(--foreground)); text-overflow: ellipsis; white-space: nowrap; }
.live-demo-field input, .live-demo-field select {
  flex: 0 1 auto; min-width: 0; max-width: 96px; height: 22px; padding: 0 4px;
  border: 0; border-radius: 4px; background: transparent;
  color: hsl(var(--primary)); font-size: 10px; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums;
}
.live-demo-field input:hover, .live-demo-field input:focus,
.live-demo-field select:hover, .live-demo-field select:focus {
  background: white; border: 1px solid hsl(var(--border)); outline: none;
}
.live-demo-field-bool input { flex: 0 0 auto; max-width: none; }
.live-demo-switch-input {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
  clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap;
}
.live-demo-switch-track {
  display: inline-block; flex: 0 0 auto; width: 36px; height: 20px; border-radius: 999px;
  background: hsl(var(--muted-foreground) / .35); position: relative; cursor: pointer; transition: background .2s;
}
.live-demo-switch-thumb {
  position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%;
  background: white; box-shadow: 0 1px 2px rgb(0 0 0 / .2); transition: transform .2s;
}
.live-demo-switch-track-small { width: 28px; height: 16px; }
.live-demo-switch-thumb-small { top: 2px; left: 2px; width: 12px; height: 12px; }
.live-demo-switch-input:checked + .live-demo-switch-track { background: hsl(var(--primary)); }
.live-demo-switch-input:checked + .live-demo-switch-track .live-demo-switch-thumb { transform: translateX(16px); }
.live-demo-switch-input:checked + .live-demo-switch-track-small .live-demo-switch-thumb-small { transform: translateX(12px); }
.live-demo-switch-input:focus-visible + .live-demo-switch-track { outline: 2px solid hsl(var(--primary) / .5); outline-offset: 2px; }
.live-demo-switch-input:disabled + .live-demo-switch-track { opacity: .5; cursor: not-allowed; }
.live-demo-message { margin-top: 16px; padding: 12px 14px; border-radius: 7px; }
.live-demo-message.error { background: hsl(var(--destructive) / .1); color: hsl(0 65% 38%); }
.live-demo-message.notice { background: hsl(var(--warning) / .16); color: hsl(35 75% 30%); }
.live-demo-capacity { margin-top: 12px; color: hsl(var(--muted-foreground)); font-size: 11px; font-weight: 700; }
.live-demo-results { margin-top: 22px; }
.live-demo-export-toolbar { display: flex; justify-content: flex-end; margin-bottom: 10px; }
.live-demo-export-target { background: white; }
.live-demo-result-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.live-demo-result-heading h2 { margin: 4px 0 0; font-size: 24px; }
.live-demo-result-ean { margin: 4px 0 0; color: hsl(var(--muted-foreground)); font-size: 12px; }
.live-demo-result-heading a { color: hsl(var(--primary)); font-weight: 700; text-decoration: none; }
.live-demo-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 22px 0; }
.live-demo-summary article { display: grid; gap: 4px; padding: 14px; border-radius: 8px; background: hsl(var(--background)); }
.live-demo-summary span { color: hsl(var(--muted-foreground)); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.live-demo-summary strong { font-size: 18px; }
.live-demo-summary small { color: hsl(var(--muted-foreground)); }
.live-demo-summary .recommended { background: hsl(var(--primary)); color: white; }
.live-demo-summary .recommended span, .live-demo-summary .recommended small { color: rgb(255 255 255 / .8); }
.live-demo-panel { padding: 18px; border: 1px solid hsl(var(--border)); border-radius: 9px; }
.live-demo-panel h3 { margin: 0; font-size: 15px; }
.live-demo-panel > p { margin: 4px 0 14px; color: hsl(var(--muted-foreground)); font-size: 11px; }
.live-demo-agents { display: grid; gap: 8px; }
.live-demo-agents article { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 11px; border-radius: 7px; background: hsl(var(--background)); }
.live-demo-agents article div { display: flex; align-items: baseline; gap: 7px; }
.live-demo-agents article span { color: hsl(var(--muted-foreground)); font-size: 10px; }
.live-demo-agents article b { color: hsl(var(--primary)); font-size: 11px; }
.live-demo-agents article p { grid-column: 1 / -1; margin: 0; color: hsl(var(--muted-foreground)); font-size: 11px; }

@media (max-width: 1000px) {
  .live-demo-layout { grid-template-columns: 1fr; }
  .live-demo-sidebar { position: static; max-height: none; }
}
@media (max-width: 800px) {
  .live-demo-form, .live-demo-summary { grid-template-columns: 1fr 1fr; }
  .live-demo-form button { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .live-demo-hero-inner, .live-demo-main { padding-left: 18px; padding-right: 18px; }
  .live-demo-hero-brand { margin-bottom: 24px; }
  .live-demo-form, .live-demo-summary { grid-template-columns: 1fr; }
}
.login-required-message {
  margin: 8px 4px 2px; padding: 8px; border-radius: 5px;
  background: hsl(var(--accent)); color: hsl(221 70% 35%); font-size: 10px;
}
.avatar {
  display: grid; place-items: center; flex: 0 0 26px; height: 26px; border-radius: 50%;
  background: hsl(var(--primary)); color: white; font-size: 11px; font-weight: 600;
}
.store-copy { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.store-copy strong { overflow: hidden; font-size: 11px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; text-transform: none; }
.store-copy > span { color: hsl(var(--muted-foreground)); font-size: 9px; }

main { min-width: 0; margin-left: var(--rail-width); padding: 0 24px 32px; }
.page-header {
  display: flex; align-items: center; gap: 24px; max-width: none;
  margin: 0 -24px 16px; padding: 10px 20px;
  border-bottom: 1px solid hsl(var(--border)); background: hsl(var(--card));
}
.page-header h1 { margin: 0; font-size: 13px; font-weight: 500; letter-spacing: 0; }
.page-header p { margin: 2px 0 0; color: hsl(var(--muted-foreground)); font-size: 11px; }
.eyebrow { display: none; }
.header-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.price-update-form { margin: 0; }
.price-update-form .button { min-height: 30px; }
.count-badge {
  padding: 2px 8px; border-radius: 4px; background: hsl(var(--secondary));
  color: hsl(220 20% 34%); font-size: 10px; font-weight: 400; font-variant-numeric: tabular-nums;
}
select, input {
  min-height: 36px; padding: 0 12px; border: 1px solid hsl(var(--border));
  border-radius: var(--radius); outline: none; background: hsl(var(--card)); color: hsl(var(--foreground));
}
select:focus, input:focus { border-color: hsl(var(--primary)); box-shadow: 0 0 0 2px hsl(var(--primary) / .25); }

.card, .notice, .toast, .summary-grid, .back-link { max-width: 1560px; margin-left: auto; margin-right: auto; }
.card {
  margin-bottom: 16px; overflow: hidden; border: 1px solid hsl(var(--border));
  border-radius: var(--radius); background: hsl(var(--card)); box-shadow: var(--shadow-card);
}
.card-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 14px; border-bottom: 1px solid hsl(var(--border) / .6); }
.card-heading h2 { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 14px; font-weight: 500; }
.card-heading p { margin: 3px 0 0; color: hsl(var(--muted-foreground)); font-size: 11px; }
.live-dot { display: flex; align-items: center; gap: 6px; color: hsl(var(--muted-foreground)); font-size: 10px; }
.live-dot i { width: 7px; height: 7px; border-radius: 50%; background: hsl(var(--success)); box-shadow: 0 0 0 3px hsl(var(--success) / .14); }
.product-tools { display: flex; align-items: center; gap: 18px; }
.last-updated { color: hsl(var(--muted-foreground)); font-size: 10px; white-space: nowrap; }
.last-updated strong { color: hsl(var(--foreground)); font-weight: 500; }
.notice {
  display: flex; gap: 10px; align-items: flex-start; margin-bottom: 16px; padding: 10px 12px;
  border: 1px solid hsl(var(--warning) / .4); border-radius: var(--radius);
  background: hsl(var(--warning) / .08); color: hsl(38 68% 30%); font-size: 11px;
}
.stale-notice { border-color: hsl(var(--destructive) / .35); background: hsl(var(--destructive) / .08); color: hsl(0 65% 38%); }
.notice svg { flex: 0 0 auto; margin-top: 2px; }
.toast {
  margin-bottom: 16px; padding: 12px 14px; border: 1px solid hsl(var(--success) / .35);
  border-radius: var(--radius); background: hsl(var(--card)); color: hsl(152 70% 30%);
  box-shadow: var(--shadow-pop); font-size: 12px; font-weight: 500; transition: opacity 180ms ease;
}
.toast.dismiss { opacity: 0; }
.connected-shop {
  display: flex; align-items: center; gap: 8px; max-width: 1560px; margin: 0 auto 12px;
  padding: 8px 12px; border: 1px solid hsl(var(--border)); border-radius: var(--radius);
  background: hsl(var(--card)); font-size: 11px;
}
.connected-shop span { color: hsl(var(--muted-foreground)); }
.connected-shop a { color: hsl(var(--primary)); font-weight: 500; }
.connected-shop .change-shop-button { margin-left: auto; border: 0; background: transparent; cursor: pointer; }

.table-filters {
  display: flex; align-items: flex-end; gap: 10px; padding: 9px 12px;
  border-bottom: 1px solid hsl(var(--border)); background: hsl(var(--background) / .55);
}
.table-filters label { display: flex; flex-direction: column; gap: 3px; }
.table-filters label span { color: hsl(var(--muted-foreground)); font-size: 9px; font-weight: 500; text-transform: uppercase; }
.table-filters input, .table-filters select { min-height: 29px; padding: 0 9px; border-radius: 5px; font-size: 11px; }
.table-filters input { width: 170px; }
.table-filters .product-name-filter { flex: 1; }
.table-filters .product-name-filter input { width: min(100%, 330px); }
.filter-button { min-height: 30px; }
.filter-count { margin-left: auto; padding-bottom: 6px; color: hsl(var(--muted-foreground)); font-size: 10px; white-space: nowrap; }
.table-wrap, .supplier-table-wrap { overflow-x: auto; }
table { width: 100%; min-width: 930px; border-collapse: collapse; font-size: 12px; }
#product-table { table-layout: fixed; }
#product-table th:nth-child(1) { width: 140px; }
#product-table th:nth-child(2) { width: 300px; }
#product-table th:nth-child(3) { width: 125px; }
#product-table th:nth-child(4) { width: 88px; }
#product-table th:nth-child(5) { width: 120px; }
#product-table th:nth-child(6), #product-table th:nth-child(7) { width: 130px; }
#product-table th:nth-child(8) { width: 165px; }
#product-table td { white-space: nowrap; }
.product-name-cell { overflow: hidden; }
.product-name-cell .product-link { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
th {
  padding: 7px 10px; border-bottom: 1px solid hsl(var(--border)); background: hsl(var(--card));
  color: hsl(var(--muted-foreground)); font-size: 9px; font-weight: 500;
  letter-spacing: .04em; text-align: left; text-transform: uppercase; white-space: nowrap;
}
td { padding: 7px 10px; border-bottom: 1px solid hsl(var(--border) / .4); vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: hsl(var(--accent) / .3); }
.number { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sort-button { padding: 0; border: 0; background: transparent; color: inherit; font-size: inherit; font-weight: inherit; letter-spacing: inherit; text-decoration: none; text-transform: inherit; }
.sort-button span { display: inline-block; width: 10px; margin-left: 2px; color: hsl(var(--muted-foreground) / .65); }
.sort-button:hover, .sort-button.active { color: hsl(var(--primary)); }
td.number small { display: block; margin-top: 2px; color: hsl(var(--muted-foreground)); font-size: 10px; }
.mono { font-family: var(--font-mono); font-size: 10px; font-weight: 400; font-variant-numeric: tabular-nums; }
.pricing-status, .offer-status, .inactive-badge, .stale-badge {
  display: inline-flex; align-items: center; min-height: 22px; padding: 2px 8px;
  border-radius: 999px; font-size: 10px; font-weight: 500; white-space: nowrap;
}
.pricing-status.automatic, .offer-status.available { color: hsl(152 70% 27%); background: hsl(var(--success) / .14); }
.pricing-status.manual, .offer-status.out { color: hsl(0 65% 40%); background: hsl(var(--destructive) / .12); }
.pricing-status.conflict { color: hsl(38 75% 30%); background: hsl(var(--warning) / .18); }
.vega-status {
  display: inline-flex; align-items: center; min-height: 22px; padding: 2px 8px;
  border-radius: 999px; font-size: 10px; font-weight: 500; white-space: nowrap;
}
.vega-status.active { color: hsl(152 70% 27%); background: hsl(var(--success) / .14); }
.vega-status.paused { color: hsl(0 65% 40%); background: hsl(var(--destructive) / .12); }
.vega-status.pending, .vega-status.reactivating { color: hsl(38 75% 30%); background: hsl(var(--warning) / .18); }
.offer-status.excluded, .inactive-badge { color: hsl(var(--muted-foreground)); background: hsl(var(--muted)); }
.status-detail { display: block; margin-top: 4px; color: hsl(var(--muted-foreground)); font-size: 10px; }
.fixed-price { display: block; margin-top: 4px; color: hsl(0 65% 40%); font-size: 10px; font-weight: 500; }
.reactivate-button { margin-top: 5px; padding: 0; border: 0; background: transparent; color: hsl(var(--primary)); font-size: 10px; font-weight: 500; }
.automatic-column, .pricing-toggle-cell { width: 88px; text-align: center; }
.pricing-toggle-controls { display: inline-flex; align-items: center; gap: 6px; vertical-align: middle; white-space: nowrap; }
.pricing-toggle-cell form { display: inline-flex; }
.pricing-toggle-cell .reactivate-button { margin: 0; }
.pricing-switch { vertical-align: middle; }
.manual-detail { margin: 8px 0; color: hsl(0 65% 40%); font-size: 12px; line-height: 1.4; }
.manual-add-form { display: flex; align-items: center; gap: 10px; padding: 14px; }
.manual-add-form input { flex: 1; min-width: 0; }
.manual-add-form .button { white-space: nowrap; }
.manual-row { cursor: pointer; }
.manual-row:focus-visible { outline: 2px solid hsl(var(--primary)); outline-offset: -2px; }
.manual-row .product-link { display: inline; }
.row-actions { width: 90px; text-align: right; }
.row-actions form { display: inline-flex; margin: 0; }
.manual-detail-row td { padding: 0; border-bottom: 1px solid hsl(var(--border) / .4); background: hsl(var(--background) / .4); }
.manual-detail-row:hover { background: none; }
.proposal.changed .new-price-value { color: hsl(152 62% 32%); font-weight: 500; }
.publish-one-form { display: inline; margin-left: 6px; }
.publish-one-button {
  padding: 2px 7px; border: 1px solid hsl(var(--primary)); border-radius: 4px;
  background: hsl(var(--primary)); color: white; font-size: 9px; cursor: pointer;
}
.price-direction { display: inline-block; min-width: 1em; text-align: center; }
.stale-badge { min-height: auto; margin-left: 4px; border: 0; border-radius: 4px; background: hsl(var(--warning) / .15); color: hsl(38 75% 30%); font-size: 9px; text-transform: uppercase; vertical-align: 1px; }
.stale-info:hover, .stale-info:focus-visible { background: hsl(var(--warning) / .28); outline: none; }
.explain-link, .text-button { margin-left: 6px; color: hsl(var(--primary)); font-size: 10px; font-weight: 500; text-decoration: none; }
.product-link { color: hsl(var(--foreground)); text-decoration: none; }
.product-link:hover, .explain-link:hover, .text-button:hover, .back-link:hover { color: hsl(var(--primary)); text-decoration: underline; }
.pagination { display: grid; grid-template-columns: 100px 1fr 100px; align-items: center; gap: 12px; padding: 10px 12px; border-top: 1px solid hsl(var(--border)); text-align: center; }
.pagination .button:last-child { grid-column: 3; }
.pagination > span { color: hsl(var(--muted-foreground)); font-size: 11px; }
.product-cards { display: none; }
.scope-name { color: hsl(var(--muted-foreground)); font-size: 11px; }
.empty-state, .empty-agent { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 38px 20px; color: hsl(var(--muted-foreground)); text-align: center; }
.empty-state strong, .empty-agent strong { color: hsl(var(--foreground)); }

.tabs { display: flex; gap: 6px; padding: 14px 18px 0; overflow-x: auto; scrollbar-width: thin; }
.tab { position: relative; min-width: 75px; padding: 7px 10px; border: 1px solid hsl(var(--border)); border-radius: 6px; background: hsl(var(--card)); color: hsl(var(--muted-foreground)); text-align: left; }
.tab span, .tab small { display: block; white-space: nowrap; }
.tab span { font-size: 11px; font-weight: 500; }
.tab small { margin-top: 1px; color: hsl(var(--muted-foreground)); font-size: 9px; }
.tab i { position: absolute; top: 7px; right: 7px; width: 6px; height: 6px; border-radius: 50%; background: hsl(var(--muted-foreground) / .35); }
.tab i.enabled { background: hsl(var(--success)); }
.tab.active { border-color: hsl(var(--primary) / .45); background: hsl(var(--accent)); color: hsl(221 70% 40%); }
.settings-panel { display: none; padding: 16px 18px 18px; }
.settings-panel.active { display: block; }
.module-row { display: flex; align-items: center; gap: 16px; margin-bottom: 8px; padding: 12px 14px; border-radius: 6px; background: hsl(var(--background)); }
.module-row > div { display: flex; flex: 1; flex-direction: column; gap: 2px; }
.module-row strong { font-weight: 500; }
.module-row span { color: hsl(var(--muted-foreground)); font-size: 11px; }
.switch { width: 36px; height: 20px; padding: 2px; border: 0; border-radius: 999px; background: hsl(var(--muted-foreground) / .35); transition: .2s; }
.switch span { display: block; width: 16px; height: 16px; border-radius: 50%; background: white; box-shadow: 0 1px 2px rgb(0 0 0 / .2); transition: .2s; }
.switch.on { background: hsl(var(--primary)); }
.switch.on span { transform: translateX(16px); }
.setting-list { max-height: 430px; overflow-y: auto; }
.setting-row { display: grid; grid-template-columns: minmax(260px,1fr) minmax(180px,auto) 72px; align-items: center; gap: 16px; padding: 10px 2px; border-bottom: 1px solid hsl(var(--border) / .55); }
.setting-row:last-child { border-bottom: 0; }
.setting-copy, .setting-value { display: flex; flex-direction: column; gap: 3px; }
.setting-copy strong, .setting-value strong { font-weight: 500; }
.setting-copy span, .setting-value small { color: hsl(var(--muted-foreground)); font-size: 10px; line-height: 1.35; }
.setting-value { text-align: right; font-variant-numeric: tabular-nums; }
.setting-actions { display: flex; justify-content: flex-end; gap: 3px; }
.icon-button { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: hsl(var(--muted-foreground)); }
.icon-button:hover { background: hsl(var(--accent) / .5); color: hsl(var(--primary)); }

dialog { width: min(520px, calc(100% - 24px)); padding: 0; border: 1px solid hsl(var(--border)); border-radius: var(--radius); box-shadow: var(--shadow-pop); }
dialog::backdrop { background: hsl(222 47% 8% / .5); backdrop-filter: blur(2px); }
.dialog-card { display: flex; flex-direction: column; gap: 12px; padding: 20px; }
.dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 4px; }
.dialog-head h2 { margin: 0; font-size: 18px; font-weight: 600; }
.dialog-close { border: 0; background: transparent; color: hsl(var(--muted-foreground)); font-size: 24px; line-height: 1; }
.dialog-card label { font-size: 12px; font-weight: 500; }
.dialog-card label span { color: hsl(var(--muted-foreground)); font-weight: 400; }
.dialog-card input, .dialog-card select { width: 100%; }
.competitor-picker { border: 1px solid hsl(var(--border)); border-radius: var(--radius); background: white; }
.competitor-picker summary { padding: 10px 12px; cursor: pointer; font-size: 13px; font-weight: 500; }
.competitor-options { display: flex; flex-direction: column; max-height: 240px; overflow-y: auto; padding: 4px 12px 10px; border-top: 1px solid hsl(var(--border)); }
.competitor-option { display: flex; align-items: center; gap: 9px; padding: 7px 2px; cursor: pointer; }
.dialog-card .competitor-option input { width: auto; }
.dialog-help { margin: 0; color: hsl(var(--muted-foreground)); font-size: 12px; line-height: 1.5; }
.strategy-help { display: grid; gap: 8px; padding: 10px 12px; border: 1px solid hsl(var(--border)); border-radius: var(--radius); background: hsl(var(--background) / .55); }
.strategy-help-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.strategy-help-list li { display: grid; gap: 2px; padding: 8px 9px; border-radius: 10px; background: hsl(var(--card)); border: 1px solid hsl(var(--border) / .8); }
.strategy-help-list li.active { border-color: hsl(var(--primary) / .5); background: hsl(var(--primary) / .06); }
.strategy-help-list strong { font-size: 12px; font-weight: 600; }
.strategy-help-list span { color: hsl(var(--muted-foreground)); font-size: 11px; line-height: 1.45; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 12px; border-radius: var(--radius); font-size: 11px; font-weight: 500; }
.button.secondary { border: 1px solid hsl(var(--border)); background: white; color: hsl(var(--foreground)); }
.button.secondary:hover { background: hsl(var(--accent) / .4); }
.button.primary { border: 1px solid hsl(var(--primary)); background: hsl(var(--primary)); color: white; }
.button.primary:hover { background: hsl(var(--primary) / .9); }
.button:disabled { cursor: wait; opacity: .65; }
.history-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.history-list li { display: flex; flex-direction: column; gap: 3px; padding: 11px 0; border-bottom: 1px solid hsl(var(--border)); }
.history-list span, .muted { color: hsl(var(--muted-foreground)); font-size: 11px; }

.group-help { line-height: 1.55; }
.group-form { padding: 18px; }
.group-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.group-form label, .override-fields label { display: flex; flex-direction: column; gap: 4px; }
.group-form label > span, .override-fields label > span { color: hsl(var(--muted-foreground)); font-size: 11px; font-weight: 600; }
.override-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 0; padding: 14px; border: 1px solid hsl(var(--border)); border-radius: var(--radius); }
.override-fields legend { padding: 0 6px; color: hsl(var(--muted-foreground)); font-size: 11px; font-weight: 600; }
.group-form-actions { display: flex; justify-content: flex-end; margin-top: 14px; }
.group-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1560px; margin: 0 auto; }
.group-list .card { width: 100%; margin-bottom: 0; }
.group-summary-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px; }
.group-summary-main h2 { margin: 0 0 3px; font-size: 14px; }
.group-summary-main p { margin: 0; font-size: 11px; color: hsl(var(--muted-foreground)); }
.group-agents { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px !important; }
.agent-tag {
  display: inline-block; padding: 2px 7px; border-radius: 99px;
  background: hsl(221 70% 92%); color: hsl(221 70% 35%);
  font-size: 10px; font-weight: 500; text-transform: capitalize;
}
.group-tag { background: hsl(142 60% 88%); color: hsl(142 60% 28%); }
.group-summary-actions { display: flex; align-items: center; gap: 8px; }
.group-summary-actions form { margin: 0; }
.button.danger { border: 1px solid hsl(var(--destructive) / .4); background: white; color: hsl(0 65% 40%); }
.button.danger:hover { background: hsl(var(--destructive) / .08); }

.login-body {
  min-height: 100vh;
  overflow-x: hidden;
  display: grid;
  place-items: center;
  padding: 32px 20px;
  background: hsl(220 18% 97%);
}
.login-main {
  width: min(100%, 475px);
}
.login-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.login-heading { max-width: 475px; }
.login-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  padding: 5px 10px;
  border-radius: 999px;
  background: hsl(221 80% 95%);
  color: hsl(221 70% 40%);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.login-eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: hsl(var(--primary)); }
.login-heading h1 { margin: 0; font-size: 29px; line-height: 1.12; letter-spacing: -.035em; }
.login-heading > p:last-child { margin: 8px 0 0; color: hsl(var(--muted-foreground)); font-size: 14px; line-height: 1.5; }
.login-google-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  width: 100%;
  min-height: 50px;
  margin-top: 32px;
  padding: 0 18px;
  border: 1px solid hsl(220 14% 78%);
  border-radius: 9px;
  background: hsl(var(--primary));
  color: white;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 2px 4px hsl(221 80% 35% / .2);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}
.login-google-button svg { width: 18px; height: 18px; flex: 0 0 auto; }
.login-google-button:hover { border-color: hsl(221 80% 48%); background: hsl(221 80% 48%); box-shadow: 0 5px 14px -8px hsl(221 80% 40% / .5); transform: translateY(-1px); }
.login-google-button:focus-visible { outline: 3px solid hsl(var(--primary) / .28); outline-offset: 3px; }
.login-note { margin: 18px 0 0; color: hsl(var(--muted-foreground)); font-size: 11px; text-align: center; }
.login-config-note { margin: 8px 0 0; color: hsl(var(--muted-foreground)); font-size: 11px; text-align: center; }
.login-error { margin-top: 20px; padding: 10px 12px; border: 1px solid hsl(var(--destructive) / .25); border-radius: 8px; background: hsl(var(--destructive) / .06); color: hsl(0 65% 40%); font-size: 12px; }
@media (max-width: 520px) {
  .login-body { padding: 14px; }
  .login-heading h1 { font-size: 25px; }
}

.back-link { display: block; padding-top: 16px; margin-bottom: 10px; color: hsl(var(--primary)); font-size: 11px; font-weight: 500; text-decoration: none; }
.product-page-header { margin-bottom: 16px; }
.pricing-control { display: flex; align-items: stretch; flex-direction: column; gap: 0; padding: 0; }
.pricing-control h2 { margin: 0 0 2px; font-size: 13px; font-weight: 500; }
.pricing-control p { margin: 0; color: hsl(var(--muted-foreground)); font-size: 11px; }
.pricing-control-row { display: flex; align-items: center; gap: 16px; padding: 12px 16px; flex-wrap: wrap; }
.pricing-control-status { flex: 0 0 auto; min-width: 180px; }
.pricing-control-actions { display: flex; align-items: flex-end; gap: 10px; flex: 1; flex-wrap: wrap; }
.fixed-price-form { display: flex; align-items: flex-end; gap: 8px; flex-wrap: wrap; }
.fixed-price-form label { color: hsl(var(--muted-foreground)); font-size: 11px; font-weight: 500; }
.fixed-price-form input { width: 130px; }
.fixed-price-form input[name="reason"] { width: 200px; }
.fixed-price-form .button { margin-left: auto; white-space: nowrap; }
.cogs-summary { position: relative; }
.summary-cogs-trigger { display: flex; align-items: flex-start; border: 0; background: transparent; padding: 0; color: hsl(var(--foreground)); cursor: pointer; }
.summary-cogs-trigger strong { font-size: 18px; font-weight: 600; }
.summary-cogs-trigger:hover strong, .summary-cogs-trigger:focus strong { color: hsl(var(--primary)); }
.dialog-assumed-cogs { margin-top: 4px; }
.dialog-assumed-cogs summary { color: hsl(var(--primary)); cursor: pointer; font-size: 12px; }
.dialog-assumed-cogs label { display: block; margin-top: 10px; }
.dialog-assumed-cogs .dialog-help { margin-top: 6px; }
.inline-cogs-form { display: inline-flex; align-items: baseline; gap: 5px; margin-top: 4px; }
.inline-cogs-form input { width: 92px; border: 0; border-bottom: 1px dashed hsl(var(--muted-foreground)); border-radius: 0; padding: 0 2px; color: hsl(var(--foreground)); font-size: 18px; font-weight: 600; background: transparent; }
.inline-cogs-form input:focus { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; border-bottom-style: solid; }
.inline-cogs-form span { font-size: 14px; }
.assumed-cogs { margin-top: 6px; font-size: 11px; }
.assumed-cogs summary { color: hsl(var(--muted-foreground)); cursor: pointer; }
.assumed-cogs-form { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; }
.assumed-cogs-form input { width: 45px; padding: 3px 5px; }
.assumed-cogs-form button { border: 0; background: none; color: hsl(var(--primary)); cursor: pointer; padding: 3px 0; }
.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.summary-grid article { display: flex; flex-direction: column; gap: 7px; padding: 14px 16px; border: 1px solid hsl(var(--border)); border-radius: var(--radius); background: hsl(var(--card)); box-shadow: var(--shadow-card); }
.summary-grid span { color: hsl(var(--muted-foreground)); font-size: 11px; font-weight: 500; }
.summary-grid strong { font-size: 16px; font-weight: 500; font-variant-numeric: tabular-nums; }
.summary-grid small { color: hsl(var(--muted-foreground)); font-size: 10px; }
.summary-value { display: flex; align-items: baseline; gap: 10px; }
.summary-grid .recommendation-summary { border-color: hsl(var(--success) / .35); background: hsl(var(--success) / .08); }
.summary-grid .recommendation-summary strong { color: hsl(152 70% 30%); }
.summary-grid .dashboard-attention-summary { border-color: hsl(var(--warning) / .4); background: hsl(var(--warning) / .1); }
.summary-grid .dashboard-attention-summary strong { color: hsl(38 75% 30%); }
.supplier-table { min-width: 920px; }
.supplier-table td:first-child strong, .supplier-table td:first-child small { display: block; }
.supplier-table td:first-child small { margin-top: 3px; color: hsl(152 70% 30%); font-size: 10px; font-weight: 600; }
.supplier-table .selected-offer { background: hsl(var(--success) / .06); }
.explanation-card { overflow: visible; }
.market-chart { width: min(100%, 1020px); margin: 0 auto; padding: 24px 34px; overflow: hidden; }
.market-axis { position: relative; height: 28px; margin: 12px 0 0 188px; color: hsl(var(--muted-foreground)); font-size: 11px; }
.market-axis span { position: absolute; top: 11px; }
.market-axis span:first-child { left: 0; }
.market-axis span:last-child { right: 0; }
.market-axis i { position: absolute; top: 3px; right: 0; left: 0; height: 1px; background: hsl(var(--muted-foreground) / .55); }
.market-axis i::after { content: ""; position: absolute; top: 50%; right: 0; width: 7px; height: 7px; border-top: 1px solid hsl(var(--muted-foreground)); border-right: 1px solid hsl(var(--muted-foreground)); transform: translateY(-50%) rotate(45deg); }
.market-zone-labels { position: relative; height: 62px; margin-left: 188px; }
.market-zone-labels strong {
  position: absolute; top: 0; overflow: hidden; padding-top: 3px;
  color: hsl(var(--foreground) / .75); font-size: 11px; font-weight: 600;
  text-align: left; white-space: normal; line-height: 1.15;
  writing-mode: vertical-rl; transform: rotate(180deg); max-height: 62px;
}
.market-zone-labels .market-gap-label { color: hsl(var(--muted-foreground)); font-weight: 500; }
.market-table { position: relative; border-top: 1px solid hsl(var(--border)); }
.market-zone-backgrounds { position: absolute; inset: 0 0 0 188px; overflow: hidden; pointer-events: none; }
.market-zone-backgrounds i { position: absolute; top: 0; bottom: 0; }
.market-zone-backgrounds .leaders { background: hsl(158 40% 91%); }
.market-zone-backgrounds .chasers { background: hsl(174 32% 93%); }
.market-zone-backgrounds .peloton { background: hsl(211 45% 92%); }
.market-zone-backgrounds .grupetto { background: hsl(38 70% 94%); }
.market-zone-backgrounds .dropped { background: hsl(24 38% 93%); }
.market-zone-backgrounds .market-gap { top: 0; bottom: 0; border-right: 1px dashed hsl(var(--muted-foreground) / .35); border-left: 1px dashed hsl(var(--muted-foreground) / .35); background: hsl(var(--muted) / .28); }
.market-row { position: relative; display: grid; grid-template-columns: 188px 1fr; min-height: 40px; border-bottom: 1px solid hsl(var(--border)); }
.market-row-label { overflow: hidden; padding: 10px 14px 8px 0; color: hsl(var(--foreground) / .72); font-size: 14px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.market-row-label small { margin-left: 5px; padding: 1px 5px; border-radius: 999px; background: hsl(var(--muted)); color: hsl(var(--muted-foreground)); font-size: 9px; font-weight: 600; text-transform: uppercase; }
.market-row.recommended .market-row-label, .market-row.current .market-row-label { color: hsl(var(--foreground)); font-weight: 700; }
.market-row.cost { min-height: 48px; margin-bottom: 8px; border-bottom: 2px solid hsl(var(--border)); }
.market-row.cost .market-row-label { padding-top: 13px; color: hsl(var(--muted-foreground)); }
.market-row-track { position: relative; }
.market-row-point { position: absolute; top: 50%; display: flex; align-items: center; transform: translate(-7px, -50%); white-space: nowrap; }
.market-row-point.align-right { flex-direction: row-reverse; transform: translate(calc(-100% + 7px), -50%); }
.market-row-point i { width: 12px; height: 12px; border-radius: 50%; background: #438ddd; }
.market-row-point strong { margin-left: 7px; padding: 2px 6px; border-radius: 5px; background: hsl(var(--card) / .94); font-size: 13px; font-variant-numeric: tabular-nums; }
.market-row-point.align-right strong { margin-right: 7px; margin-left: 0; }
.market-row-point strong small { color: inherit; font-size: 12px; font-weight: 600; }
.market-row-point.excluded i { background: #aeb6c3; box-shadow: 0 0 0 1px #aeb6c3; }
.market-row-point.current i { background: #e5484d; box-shadow: 0 0 0 1px #e5484d; }
.market-row-point.current strong { color: #c9363c; }
.market-row-point.recommended i { background: #07966b; box-shadow: 0 0 0 1px #07966b; }
.market-row-point.recommended strong { color: #087757; }
.market-row-point.cost i { width: 9px; height: 9px; border-radius: 1px; background: #8b7e66; box-shadow: none; transform: rotate(45deg); }
.market-row-point.cost strong { color: hsl(var(--muted-foreground)); font-weight: 600; }
.market-note { margin: 12px 0 0 188px; color: hsl(var(--muted-foreground)); font-size: 11px; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 18px; color: hsl(var(--muted-foreground)); font-size: 11px; }
.chart-legend span { display: flex; align-items: center; gap: 6px; }
.chart-legend i { width: 9px; height: 9px; border-radius: 50%; }
.legend-current { background: #e5484d; }.legend-recommended { background: #07966b; }.legend-cost { border-radius: 1px !important; background: #8b7e66; transform: rotate(45deg); }.legend-competitor { background: #3575ed; }.legend-excluded { background: #aeb6c3; }
.agent-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.agent-decision { padding: 18px; border-bottom: 1px solid hsl(var(--border)); }
.agent-decision:nth-child(odd) { border-right: 1px solid hsl(var(--border)); }
.agent-decision.inactive { background: hsl(var(--background)); }
.agent-decision.inactive h3, .agent-decision.inactive > p { color: hsl(var(--muted-foreground)); }
.agent-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.agent-heading h3 { margin: 0 0 2px; font-size: 13px; font-weight: 500; }
.agent-heading span { color: hsl(var(--muted-foreground)); font-size: 11px; }
.agent-heading > strong { color: hsl(152 70% 30%); font-variant-numeric: tabular-nums; white-space: nowrap; }
.agent-decision > p { margin: 13px 0 5px; color: hsl(222 25% 24%); font-size: 12px; line-height: 1.55; }
.agent-decision > small { color: hsl(var(--muted-foreground)); font-size: 10px; }
.agent-range { margin-top: 18px; }
.range-track { position: relative; height: 8px; border-radius: 999px; background: hsl(var(--muted)); }
.range-fill { position: absolute; top: 0; height: 8px; border-radius: 999px; background: hsl(var(--primary) / .4); }
.range-point { position: absolute; top: 50%; width: 13px; height: 13px; border: 3px solid white; border-radius: 50%; background: hsl(var(--primary)); box-shadow: 0 0 0 1px hsl(var(--primary)); transform: translate(-50%, -50%); }
.range-values { display: flex; justify-content: space-between; gap: 12px; margin-top: 7px; color: hsl(var(--muted-foreground)); font-size: 10px; }
.range-values strong { color: hsl(220 20% 35%); font-variant-numeric: tabular-nums; }

@media (max-width: 900px) {
  .sidebar { position: static; width: auto; height: 58px; flex-direction: row; align-items: center; padding: 8px 12px; border-right: 0; border-bottom: 1px solid hsl(var(--border)); }
  .brand { padding: 0; }
  .brand img { width: 128px; }
  .nav-label { display: none; }
  .sidebar nav { display: flex; flex: 0 0 auto; gap: 4px; margin-left: 12px; }
  .nav-item { width: auto; padding: 7px 9px; }
  .sidebar-settings-toggle {
    display: inline-flex; align-items: center; gap: 6px; margin-left: 4px; padding: 7px 9px;
    border: 0; border-radius: 6px; background: transparent; color: hsl(222 25% 24%); font-size: 13px;
  }
  .sidebar-settings-toggle:hover, .sidebar-settings-toggle[aria-expanded="true"] { background: hsl(var(--accent)); color: hsl(var(--primary)); }
  .sidebar-settings {
    display: none; position: fixed; z-index: 20; top: 58px; right: 0; bottom: 0;
    width: min(360px, 100vw); margin: 0; padding: 14px 10px;
    border-left: 1px solid hsl(var(--border)); background: hsl(var(--card)); box-shadow: var(--shadow-pop);
  }
  .sidebar-settings.open { display: block; }
  .sidebar-foot { width: auto; margin-left: auto; padding: 0; border: 0; }
  main { margin-left: 0; padding: 0 20px 28px; }
  .page-header { margin: 0 -20px 16px; }
}

@media (max-width: 680px) {
  main { padding: 0 12px 28px; }
  .page-header { align-items: flex-start; flex-direction: column; gap: 8px; margin: 0 -12px 12px; padding: 10px 12px; }
  .header-actions { margin-left: 0; }
  .card-heading { align-items: flex-start; padding: 14px; }
  .product-tools { align-items: flex-end; flex-direction: column; gap: 4px; }
  .live-dot { display: none; }
  .table-filters { flex-wrap: wrap; }
  .table-filters label, .table-filters .product-name-filter { flex: 1 1 140px; }
  .table-filters input, .table-filters .product-name-filter input { width: 100%; }
  .filter-count { flex-basis: 100%; margin-left: 0; padding-bottom: 0; }
  .table-wrap { display: none; }
  .product-cards { display: grid; gap: 10px; padding: 12px; }
  .product-card { padding: 14px; border: 1px solid hsl(var(--border)); border-radius: var(--radius); }
  .product-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
  .product-card-head > div { display: flex; flex-direction: column; gap: 4px; }
  .product-card dl { display: grid; grid-template-columns: 1fr 1fr; margin: 14px 0 8px; border-top: 1px solid hsl(var(--border)); }
  .product-card dl div { padding: 10px 6px 4px 0; }
  .product-card dt { color: hsl(var(--muted-foreground)); font-size: 10px; text-transform: uppercase; }
  .product-card dd { margin: 3px 0 0; font-weight: 600; font-variant-numeric: tabular-nums; }
  .product-card .final.changed dd { color: hsl(152 70% 30%); font-weight: 600; }
  .text-button { margin: 6px 0 0; padding: 0; }
  .tabs { padding: 13px 12px 0; }
  .settings-panel { padding: 14px 12px; }
  .setting-row { grid-template-columns: 1fr 72px; gap: 10px; }
  .setting-value { grid-column: 1; text-align: left; }
  .setting-actions { grid-column: 2; grid-row: 1 / span 2; }
  .summary-grid { grid-template-columns: 1fr 1fr; }
  .market-chart { padding: 24px 14px 20px; }
  .market-axis, .market-zone-labels { margin-left: 138px; }
  .market-zone-backgrounds { left: 138px; }
  .market-row { grid-template-columns: 138px minmax(0, 1fr); }
  .agent-list { grid-template-columns: 1fr; }
  .agent-decision:nth-child(odd) { border-right: 0; }
  .group-form-grid, .override-fields { grid-template-columns: 1fr; }
  .group-list { grid-template-columns: 1fr; }
  .group-summary-card, .group-summary-actions { align-items: stretch; flex-direction: column; }
  .pricing-control-row, .pricing-control-actions, .fixed-price-form { align-items: stretch; flex-direction: column; }
  .pricing-control-status { min-width: unset; }
  .fixed-price-form input, .fixed-price-form input[name="reason"] { width: 100%; }
  .store-copy { display: none; }
}

.eanone-body { min-height: 100vh; background: radial-gradient(circle at 50% 15%, hsl(var(--primary) / .1), transparent 32rem), hsl(var(--background)); }
.eanone-main { width: auto; margin: 0 0 0 var(--rail-width); padding: 32px 16px 80px; }
.eanone-brand { display: inline-flex; align-items: center; gap: 10px; color: hsl(var(--foreground)); text-decoration: none; }
.eanone-brand img { width: min(240px, 62vw); height: auto; mix-blend-mode: multiply; }
.eanone-search { margin-top: clamp(70px, 15vh, 150px); text-align: center; }
.eanone-search h1 { margin: 8px 0; font-size: clamp(36px, 6vw, 58px); }
.eanone-search > p { max-width: 600px; margin: 0 auto 30px; color: hsl(var(--muted-foreground)); }
.eanone-form { max-width: 720px; margin: 0 auto; }
.eanone-search-row { display: flex; gap: 10px; padding: 8px; border: 1px solid hsl(var(--border)); border-radius: 18px; background: hsl(var(--card)); box-shadow: 0 16px 40px hsl(222 35% 25% / .12); }
.eanone-search-row input { flex: 1; min-width: 0; border: 0; padding: 0 14px; font-size: 18px; outline: 0; }
.eanone-search-row .button { min-width: 80px; }
.custom-price-fields { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; padding: 18px; border: 1px solid hsl(var(--border)); border-radius: 14px; background: hsl(var(--card)); text-align: left; }
.custom-price-fields:not([hidden]) { display: grid; }
.custom-price-fields p { grid-column: 1 / -1; margin: 0 0 4px; color: hsl(var(--muted-foreground)); }
.custom-price-fields label { display: grid; gap: 6px; font-weight: 700; }
.custom-price-fields input { width: 100%; }
.custom-price-submit { grid-column: 1 / -1; justify-self: end; margin-top: 4px; }
.eanone-error { max-width: 720px; margin: 16px auto 0; padding: 14px 18px; border: 1px solid hsl(0 65% 82%); border-radius: 12px; background: hsl(0 100% 97%); color: hsl(0 63% 34%); text-align: left; }
.eanone-examples { margin-top: 32px; color: hsl(var(--muted-foreground)); }
.eanone-examples > span { display: block; margin-bottom: 12px; }
.eanone-examples > div { display: grid; grid-template-columns: repeat(5, minmax(0, 220px)); justify-content: center; gap: 8px; }
.eanone-examples button { display: grid; gap: 2px; width: 100%; padding: 9px 13px; border: 1px solid hsl(var(--border)); border-radius: 10px; background: hsl(var(--card)); color: hsl(var(--foreground)); cursor: pointer; text-align: left; }
.eanone-examples button:hover { border-color: hsl(var(--primary)); }
.eanone-examples small { overflow: hidden; color: hsl(var(--muted-foreground)); text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 600px) {
  .eanone-search { margin-top: 60px; }
  .eanone-search-row { border-radius: 14px; }
  .custom-price-fields { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .eanone-main { margin-left: 0; }
}

/* Independent public pricing report */
.public-report-body { --report-ink: #16233a; --report-blue: #155eef; --report-navy: #071a36; margin: 0; background: #f4f7fb; color: var(--report-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.public-report-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.public-report-hero { overflow: hidden; padding: 28px 0 54px; background: radial-gradient(circle at 85% 15%, #2277ff 0, transparent 30%), linear-gradient(125deg, #06162f 0%, #0a2854 58%, #114c98 100%); color: #fff; }
.public-report-brand { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.public-report-brand img { width: 180px; height: auto; }
.public-report-brand span { padding: 7px 12px; border: 1px solid rgb(255 255 255 / .28); border-radius: 999px; background: rgb(255 255 255 / .08); }
.public-report-intro { max-width: 900px; margin: 80px 0 40px; }
.public-report-kicker { margin: 0 0 13px; color: #88b8ff; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.public-report-intro h1 { max-width: 820px; margin: 0; color: #fff; font-size: clamp(38px, 6vw, 72px); font-weight: 760; letter-spacing: -.045em; line-height: .98; }
.public-report-intro > p:last-child { max-width: 760px; margin: 25px 0 0; color: #c9d9ef; font-size: clamp(16px, 2vw, 20px); line-height: 1.6; }
.public-report-meta { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-top: 1px solid rgb(255 255 255 / .18); }
.public-report-meta div { padding: 18px 24px 0 0; }
.public-report-meta dt { color: #87a4c8; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.public-report-meta dd { margin: 7px 0 0; font-weight: 650; }
.public-report-main { padding-top: 30px; padding-bottom: 70px; }
.public-report-disclaimer { display: grid; grid-template-columns: 190px 1fr; gap: 24px; margin-bottom: 28px; padding: 18px 22px; border: 1px solid #cfdbec; border-left: 4px solid var(--report-blue); border-radius: 10px; background: #fff; }
.public-report-disclaimer strong { font-size: 13px; }
.public-report-disclaimer p { margin: 0; color: #54647c; font-size: 13px; line-height: 1.55; }
.public-report-section { margin-top: 22px; padding: clamp(22px, 4vw, 42px); border: 1px solid #dde5f0; border-radius: 16px; background: #fff; box-shadow: 0 12px 38px rgb(19 45 78 / .05); }
.public-report-section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
.public-report-section-head > div { display: flex; align-items: baseline; gap: 12px; }
.public-report-section-head > div > span { color: var(--report-blue); font-size: 11px; font-weight: 850; }
.public-report-section h2 { margin: 0; color: var(--report-navy); font-size: clamp(23px, 3vw, 34px); letter-spacing: -.025em; }
.public-report-section-head > p { max-width: 470px; margin: 0; color: #67768b; font-size: 13px; text-align: right; }
.public-report-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.public-report-stat-grid article { display: flex; min-height: 132px; flex-direction: column; padding: 20px; border-radius: 12px; background: #f2f6fc; }
.public-report-stat-grid strong { color: var(--report-blue); font-size: 38px; line-height: 1; }
.public-report-stat-grid span { margin-top: 9px; font-size: 13px; font-weight: 750; }
.public-report-stat-grid small { margin-top: auto; padding-top: 14px; color: #74839a; font-size: 10px; }
.public-report-insight-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.public-report-insight-card { padding: 24px; border: 1px solid #d9e3ef; border-radius: 12px; background: #fbfcfe; }
.public-report-insight-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid #e1e8f1; }.public-report-insight-head > div { display: grid; grid-template-columns: auto 1fr; align-items: end; column-gap: 12px; }.public-report-insight-head > div > span { grid-column: 1 / -1; margin-bottom: 6px; color: #122942; font-size: 17px; font-weight: 800; }.public-report-insight-head > div > strong { color: #155eef; font-size: 48px; line-height: .9; }.public-report-insight-head > div > small { max-width: 100px; color: #5e7087; font-size: 9px; font-weight: 800; line-height: 1.3; text-transform: uppercase; }.public-report-insight-head > p { max-width: 140px; margin: 0; color: #78879b; font-size: 10px; text-align: right; }
.public-report-key-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }.public-report-key-facts > div { min-height: 85px; padding: 13px; border-radius: 8px; background: #eef3f9; }.public-report-key-facts > div:last-child { grid-column: 1 / -1; }.public-report-key-facts strong { display: block; color: #15375e; font-size: 20px; }.public-report-key-facts > div:last-child strong { font-size: 14px; }.public-report-key-facts span { display: block; margin-top: 5px; color: #64768d; font-size: 9px; line-height: 1.45; }
.public-report-strength { margin: 12px 0 0; padding: 11px 13px; border-left: 3px solid #07966b; border-radius: 6px; background: #eaf7f2; }.public-report-strength strong, .public-report-strength span { display: block; }.public-report-strength strong { color: #086d51; font-size: 11px; }.public-report-strength span { margin-top: 4px; color: #4f6b64; font-size: 9px; line-height: 1.5; }
.public-report-benchmarks { margin-top: 18px; }.public-report-common-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #5e7087; }.public-report-common-title > span { font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.public-report-common-title > small { font-size: 8px; }.public-report-common-axis { display: flex; align-items: center; justify-content: space-between; margin: 10px 108px 3px 108px; color: #66788e; font-size: 7px; }.public-report-common-axis strong { color: #3e526b; font-size: 7px; }.public-report-common-row { display: grid; grid-template-columns: 100px 1fr 100px; align-items: center; gap: 8px; min-height: 38px; }.public-report-common-row > div { min-width: 0; }.public-report-common-row > div strong, .public-report-common-row > div small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.public-report-common-row > div strong { color: #3d526d; font-size: 9px; }.public-report-common-row > div small { margin-top: 2px; color: #8995a5; font-size: 7px; }.public-report-common-track { position: relative; height: 22px; border-radius: 5px; background: linear-gradient(90deg, #e3f4ed 0 49.7%, #aebccc 49.7% 50.3%, #f7e8e3 50.3% 100%); }.public-report-common-track::before, .public-report-common-track::after { content: ""; position: absolute; top: 0; bottom: 0; width: 1px; background: #cbd5e2; }.public-report-common-track::before { left: 0; }.public-report-common-track::after { right: 0; }.public-report-common-track > b { position: absolute; z-index: 2; border: 1px solid #fff; box-shadow: 0 1px 2px rgb(18 37 61 / .22); transform: translate(-50%, -50%); }.public-report-common-track > b.product-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--dot-color); opacity: .62; }.public-report-common-track > b.median { top: 50%; z-index: 3; width: 10px; height: 10px; border-width: 2px; border-radius: 2px; background: hsl(358 74% 59%); opacity: 1; transform: translate(-50%, -50%) rotate(45deg); }.public-report-common-row > span { display: flex; flex-direction: column; align-items: flex-end; }.public-report-common-row > span strong { color: #253b57; font-size: 9px; white-space: nowrap; }.public-report-common-row > span small { margin-top: 1px; color: #74849a; font-size: 7px; white-space: nowrap; }.public-report-common-legend { display: flex; justify-content: flex-end; gap: 12px; margin-top: 5px; color: #718197; font-size: 7px; }.public-report-common-legend span { display: flex; align-items: center; gap: 4px; }.public-report-common-legend i { width: 6px; height: 6px; border-radius: 50%; background: #6788b5; }.public-report-common-legend span:last-child i { width: 8px; height: 8px; border: 1px solid #fff; border-radius: 1px; background: hsl(358 74% 59%); box-shadow: 0 0 0 1px rgb(70 82 99 / .18); transform: rotate(45deg); }.public-report-benchmarks > p { margin: 10px 0 0; color: #738299; font-size: 8px; line-height: 1.45; }
.public-report-category-label { margin: 28px 0 -4px; padding: 10px 13px; border-left: 4px solid #155eef; border-radius: 5px; background: #eef4ff; color: #15375e; font-size: 17px; line-height: 1.2; }
.public-report-deep-market { margin-top: 16px; overflow: hidden; border: 1px solid #d5deea; border-radius: 7px; background: #fff; }
.public-report-deep-title { padding: 11px 13px; border-bottom: 1px solid #e1e7ef; color: #263b56; font-size: 10px; font-weight: 750; }
.public-report-deep-zone-labels { display: grid; grid-template-columns: repeat(5, 1fr); margin: 12px 13px 5px 132px; color: #69798e; font-size: 8px; text-align: center; }
.public-report-deep-chart { position: relative; margin: 0 13px; }
.public-report-deep-zones { position: absolute; top: 0; right: 0; bottom: 0; left: 132px; display: grid; grid-template-columns: repeat(5, 1fr); pointer-events: none; }
.public-report-deep-zones i { border-right: 1px solid rgb(63 83 110 / .12); }
.public-report-deep-zones .leader { background: #dff3ea; }.public-report-deep-zones .chaser { background: #e4f3ef; }.public-report-deep-zones .peloton { background: #e2ecf7; }.public-report-deep-zones .gruppetto { background: #fbf0d9; }.public-report-deep-zones .dropped { border-right: 0; background: #f6e6df; }
.public-report-deep-row { position: relative; z-index: 1; display: grid; grid-template-columns: 124px 1fr; min-height: 29px; border-bottom: 1px solid #e1e7ef; }
.public-report-deep-name { overflow: hidden; padding: 8px 8px 7px 0; color: #69798e; font-size: 8px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.public-report-deep-row.focus .public-report-deep-name { color: #263b56; font-weight: 800; }
.public-report-deep-track { position: relative; }
.public-report-deep-track > b { position: absolute; top: 50%; display: flex; align-items: center; gap: 5px; transform: translate(-50%, -50%); white-space: nowrap; }
.public-report-deep-track > b > i { width: 7px; height: 7px; border: 1px solid #fff; border-radius: 50%; background: #438fd9; box-shadow: 0 1px 2px rgb(25 43 67 / .3); }
.public-report-deep-row.focus .public-report-deep-track > b > i { width: 10px; height: 10px; background: #07966b; }
.public-report-deep-track strong { padding: 3px 5px; border-radius: 4px; background: #fff; color: #263b56; font-size: 8px; box-shadow: 0 1px 2px rgb(25 43 67 / .12); }
.public-report-deep-row.focus .public-report-deep-track strong { color: #087457; }
.public-report-deep-axis { display: flex; justify-content: space-between; margin: 7px 13px 0 132px; color: #7d8999; font-size: 7px; }
.public-report-deep-legend { display: flex; flex-wrap: wrap; gap: 5px 12px; margin: 10px 13px 11px; color: #687a91; font-size: 7px; }
.public-report-deep-legend span { display: flex; align-items: center; gap: 4px; }
.public-report-deep-legend i { width: 7px; height: 7px; border-radius: 50%; background: #438fd9; }.public-report-deep-legend i.retailer { background: #07966b; }
.public-report-analysis { margin: 17px 0 0; padding: 15px 17px; border-left: 3px solid #155eef; border-radius: 5px; background: #eaf3ff; color: #3c5673; font-size: 11px; line-height: 1.6; }.public-report-evidence-note { margin: 16px 0 0; color: #7a899c; font-size: 10px; text-align: center; }
.public-report-competitor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.public-report-competitor-grid > article { min-width: 0; padding: 20px; border: 1px solid #dce5f1; border-radius: 10px; background: #fbfcfe; }.public-report-competitor-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }.public-report-competitor-title h3 { margin: 0; color: #142842; font-size: 17px; }.public-report-competitor-title span { color: #728198; font-size: 8px; text-align: right; }.public-report-competitor-table { overflow: hidden; border: 1px solid #e1e7ef; border-radius: 7px; }.public-report-competitor-table > div { display: grid; grid-template-columns: 1.5fr .7fr .9fr .5fr; align-items: center; }.public-report-competitor-table > div + div { border-top: 1px solid #e5eaf1; }.public-report-competitor-table > div > span { min-width: 0; padding: 10px 8px; color: #40536d; font-size: 10px; text-align: right; }.public-report-competitor-table > div > span:first-child { display: flex; align-items: center; gap: 7px; text-align: left; }.public-report-competitor-table > div > span:first-child b { color: #8a98aa; font-size: 8px; }.public-report-competitor-table > div > span:first-child strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.public-report-competitor-table .head { background: #f1f5fa; }.public-report-competitor-table .head span { color: #728198; font-size: 7px; font-weight: 800; text-transform: uppercase; }.public-report-more-competitors { margin-top: 10px; }.public-report-more-competitors > summary { cursor: pointer; color: #59718f; font-size: 9px; font-weight: 750; }.public-report-more-competitors[open] > summary { margin-bottom: 7px; }
.public-report-category-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.public-report-category-grid > article { padding: 22px; border: 1px solid #dce5f1; border-radius: 12px; }
.public-report-category-title { display: flex; align-items: center; justify-content: space-between; }
.public-report-category-title h3 { margin: 0; }
.public-report-category-title strong { color: var(--report-blue); font-size: 24px; }
.public-report-progress { width: 100%; height: 7px; margin: 15px 0; overflow: hidden; border: 0; border-radius: 99px; background: #e7edf6; color: var(--report-blue); }
.public-report-progress::-webkit-progress-bar { border-radius: 99px; background: #e7edf6; }.public-report-progress::-webkit-progress-value { border-radius: 99px; background: var(--report-blue); }.public-report-progress::-moz-progress-bar { border-radius: 99px; background: var(--report-blue); }
.public-report-category-grid p { color: #68778d; font-size: 12px; }
.public-report-category-grid dl, .public-report-band-grid dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 18px 0 0; }
.public-report-category-grid dl div, .public-report-band-grid dl div { border-left: 1px solid #e0e6ef; padding-left: 12px; }
.public-report-category-grid dl div:first-child, .public-report-band-grid dl div:first-child { border-left: 0; padding-left: 0; }
.public-report-category-grid dt, .public-report-band-grid dt { color: #7b899b; font-size: 9px; text-transform: uppercase; }
.public-report-category-grid dd, .public-report-band-grid dd { margin: 5px 0 0; font-weight: 800; }
.public-report-callout { margin: 22px 0 0; padding: 17px 20px; border-radius: 8px; background: #ecf4ff; color: #355270; font-size: 13px; line-height: 1.55; }
.public-report-conclusion-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.public-report-conclusion-grid article { min-height: 175px; padding: 22px; border-top: 4px solid #98a6b8; border-radius: 9px; background: #f5f8fc; }
.public-report-conclusion-grid article.split { border-color: #155eef; }.public-report-conclusion-grid article.caution { border-color: #e4a11b; }.public-report-conclusion-grid article.action { border-color: #07966b; }
.public-report-conclusion-grid h3 { margin: 0; color: #142842; font-size: 15px; line-height: 1.35; }.public-report-conclusion-grid p { margin: 14px 0 0; color: #64748a; font-size: 12px; line-height: 1.65; }
.public-report-category-plot-card { margin-top: 18px; padding: 22px; border: 1px solid #dce5f1; border-radius: 12px; background: #fbfcfe; }
.public-report-category-plot-card + .public-report-category-plot-card { margin-top: 14px; }
.public-report-plot-title { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }.public-report-plot-title h3 { margin: 0; color: #102642; font-size: 21px; }.public-report-plot-title p { margin: 5px 0 0; color: #435771; font-size: 12px; font-weight: 700; }.public-report-plot-title > span { color: #78879b; font-size: 10px; white-space: nowrap; }
.public-report-lane-header, .public-report-market-lane, .public-report-lane-direction { display: grid; grid-template-columns: 130px minmax(0, 1fr) 70px; align-items: center; gap: 9px; }.public-report-lane-header { margin-bottom: 5px; color: #74849a; font-size: 8px; font-weight: 750; text-transform: uppercase; }.public-report-lane-header > div { display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; border: 1px solid #d5deea; border-radius: 6px 6px 0 0; }.public-report-lane-header > div > span { min-width: 0; padding: 7px 3px; border-right: 1px solid rgb(63 83 110 / .12); text-align: center; }.public-report-lane-header > div > span:last-child { border-right: 0; }.public-report-lane-header strong, .public-report-lane-header small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.public-report-lane-header strong { color: #40536d; font-size: 9px; text-transform: none; }.public-report-lane-header small { margin-top: 2px; font-size: 6px; font-weight: 500; text-transform: none; }.public-report-lane-header .leader, .public-report-lane-track > .leader { background: #dff3ea; }.public-report-lane-header .chaser, .public-report-lane-track > .chaser { background: #e4f3ef; }.public-report-lane-header .peloton, .public-report-lane-track > .peloton { background: #e2ecf7; }.public-report-lane-header .gruppetto, .public-report-lane-track > .gruppetto { background: #fbf0d9; }.public-report-lane-header .dropped, .public-report-lane-track > .dropped { background: #f6e6df; }.public-report-market-lanes { display: grid; gap: 5px; }.public-report-market-lane { min-height: 35px; padding: 3px 0; }.public-report-market-lane.focus { margin: 1px -6px; padding: 5px 6px; border-radius: 7px; background: #edf4ff; }.public-report-lane-name { display: grid; grid-template-columns: 10px 1fr; align-items: center; column-gap: 6px; min-width: 0; }.public-report-lane-name > i { grid-row: 1 / 3; width: 8px; height: 8px; border-radius: 50%; background: var(--swatch); }.public-report-lane-name strong, .public-report-lane-name small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.public-report-lane-name strong { color: #2d435e; font-size: 9px; }.public-report-lane-name small { color: #8190a3; font-size: 7px; }.public-report-lane-track { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); height: 30px; overflow: hidden; border: 1px solid #d8e0eb; border-radius: 5px; }.public-report-lane-track > span { border-right: 1px solid rgb(63 83 110 / .11); }.public-report-lane-track > span:last-of-type { border-right: 0; }.public-report-lane-dot { position: absolute; z-index: 2; width: 6px; height: 6px; border: 1px solid #fff; border-radius: 50%; background: var(--dot-color); box-shadow: 0 1px 2px rgb(18 37 61 / .28); transform: translate(-50%, -50%); cursor: help; }.public-report-market-lane.focus .public-report-lane-dot { width: 9px; height: 9px; border-width: 2px; }.public-report-lane-rate { text-align: right; }.public-report-lane-rate strong, .public-report-lane-rate small { display: block; }.public-report-lane-rate strong { color: #263c58; font-size: 12px; }.public-report-lane-rate small { color: #8190a3; font-size: 7px; }.public-report-lane-direction { margin-top: 6px; }.public-report-lane-direction > div { position: relative; display: flex; justify-content: space-between; color: #7a899c; font-size: 8px; }.public-report-lane-direction > div > i { position: absolute; top: 6px; right: 94px; left: 82px; height: 1px; background: #aab6c5; }.public-report-lane-direction > div > i::after { content: ""; position: absolute; top: -3px; right: 0; width: 6px; height: 6px; border-top: 1px solid #7e8da1; border-right: 1px solid #7e8da1; transform: rotate(45deg); }.public-report-more-lanes { margin-top: 12px; }.public-report-more-lanes > summary { cursor: pointer; color: #59718f; font-size: 9px; font-weight: 750; }.public-report-more-lanes[open] > summary { margin-bottom: 8px; }
.public-report-lane-track > span { position: relative; }.public-report-lane-track > span > b { position: absolute; right: 3px; bottom: 1px; z-index: 1; color: rgb(46 66 91 / .38); font-size: 7px; line-height: 1; }
.public-report-category-race { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); height: 220px; overflow: hidden; border: 1px solid #ced9e8; border-radius: 9px; background: #f5f7fa; }
.public-report-race-zone { position: relative; padding: 12px 9px; border-right: 1px solid rgb(63 83 110 / .13); text-align: center; }.public-report-race-zone:last-of-type { border-right: 0; }.public-report-race-zone.leader { background: #dff3ea; }.public-report-race-zone.chaser { background: #e4f3ef; }.public-report-race-zone.peloton { background: #e2ecf7; }.public-report-race-zone.gruppetto { background: #fbf0d9; }.public-report-race-zone.dropped { background: #f6e6df; }
.public-report-race-zone strong { display: block; color: #31455f; font-size: 12px; }.public-report-race-zone small { display: block; margin-top: 3px; color: #738196; font-size: 8px; }.public-report-race-zone b { position: absolute; right: 9px; bottom: 7px; color: rgb(38 57 82 / .18); font-size: 38px; line-height: 1; }
.public-report-market-dot { position: absolute; z-index: 2; width: 7px; height: 7px; border: 1px solid rgb(255 255 255 / .9); border-radius: 50%; background: var(--dot-color); box-shadow: 0 1px 2px rgb(18 37 61 / .25); opacity: .7; transform: translate(-50%, -50%); cursor: help; transition: transform .12s ease, opacity .12s ease; }.public-report-market-dot.focus { z-index: 3; width: 11px; height: 11px; border-width: 2px; opacity: 1; box-shadow: 0 1px 4px rgb(67 25 30 / .4); }.public-report-market-dot:hover { z-index: 5; opacity: 1; box-shadow: 0 0 0 4px rgb(255 255 255 / .75), 0 3px 8px rgb(18 37 61 / .45); transform: translate(-50%, -50%) scale(1.7); }
.public-report-race-axis { position: relative; display: flex; justify-content: space-between; margin-top: 9px; color: #7a899c; font-size: 9px; }.public-report-race-axis i { position: absolute; top: 6px; right: 105px; left: 92px; height: 1px; background: #aab6c5; }.public-report-race-axis i::after { content: ""; position: absolute; top: -3px; right: 0; width: 6px; height: 6px; border-top: 1px solid #7e8da1; border-right: 1px solid #7e8da1; transform: rotate(45deg); }
.public-report-retailer-legend { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin-top: 15px; }.public-report-retailer-legend > span { display: grid; grid-template-columns: 12px 1fr; align-items: center; column-gap: 7px; min-width: 0; padding: 8px 9px; border: 1px solid #e2e8f0; border-radius: 7px; background: #fff; }.public-report-retailer-legend i { grid-row: 1 / 3; width: 10px; height: 10px; border-radius: 50%; background: var(--swatch); }.public-report-retailer-legend strong, .public-report-retailer-legend small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.public-report-retailer-legend strong { color: #273b55; font-size: 9px; }.public-report-retailer-legend small { color: #7a899d; font-size: 8px; }.public-report-colour-key { margin-top: 9px; }.public-report-colour-key > summary { cursor: pointer; color: #677b94; font-size: 9px; font-weight: 750; }.public-report-colour-key[open] > summary { margin-bottom: 8px; }
.public-report-plot-reading { display: grid; grid-template-columns: 1fr 1.35fr; gap: 12px; margin-top: 18px; }.public-report-plot-reading p { margin: 0; padding: 14px 16px; border-radius: 8px; background: #eef3f9; color: #607087; font-size: 11px; line-height: 1.55; }.public-report-plot-reading p:last-child { background: #eaf3ff; color: #345272; }
.public-report-plot-extremes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }.public-report-plot-extremes article { display: grid; grid-template-columns: 1fr auto; padding: 13px 15px; border: 1px solid #e0e7f0; border-radius: 8px; background: #fff; }.public-report-plot-extremes span, .public-report-plot-extremes small { grid-column: 1 / -1; color: #8290a2; font-size: 8px; text-transform: uppercase; }.public-report-plot-extremes strong { margin-top: 5px; font-size: 11px; }.public-report-plot-extremes b { margin-top: 5px; color: #155eef; font-size: 14px; }
.public-report-supporting-detail { margin-top: 22px; }.public-report-supporting-detail > summary { cursor: pointer; color: #155eef; font-size: 11px; font-weight: 800; }.public-report-supporting-detail[open] > summary { margin-bottom: 16px; }
.public-report-position-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.public-report-position-grid article { min-height: 180px; padding: 18px; border-top: 4px solid; border-radius: 8px; background: #f7f9fc; }
.public-report-position-grid article.leader { border-color: #0a9f72; }.public-report-position-grid article.chaser { border-color: #38a56c; }.public-report-position-grid article.peloton { border-color: #e4a11b; }.public-report-position-grid article.gruppetto { border-color: #e66c25; }.public-report-position-grid article.dropped { border-color: #d63b4b; }
.public-report-position-grid strong { font-size: 34px; }.public-report-position-grid h3 { margin: 6px 0 3px; font-size: 15px; }.public-report-position-grid span { color: #6c7b91; font-size: 10px; }.public-report-position-grid p { color: #738197; font-size: 11px; line-height: 1.45; }
.public-report-race-card + .public-report-race-card { margin-top: 24px; }
.public-report-race-title { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 10px; }.public-report-race-title h3 { margin: 0; }.public-report-race-title span { color: #76859a; font-size: 11px; }
.public-report-table-wrap { overflow-x: auto; border: 1px solid #dfe6f0; border-radius: 9px; }
.public-report-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.public-report-table th, .public-report-table td { padding: 11px 13px; border-bottom: 1px solid #e5eaf2; text-align: left; vertical-align: top; white-space: nowrap; }
.public-report-table thead th { background: #f3f6fa; color: #65758b; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.public-report-table tbody tr:last-child > * { border-bottom: 0; }.public-report-table tbody th { color: #172942; }.public-report-table td small, .public-report-table th small { display: block; margin-top: 3px; color: #8793a4; font-size: 9px; font-weight: 500; }
.public-report-table tr.focus { background: #edf4ff; }.public-report-race-table th:not(:first-child), .public-report-race-table td:not(:first-child) { text-align: center; }
.public-report-product-table { width: 100%; min-width: 860px; table-layout: fixed; }
.public-report-product-table th, .public-report-product-table td { white-space: normal; overflow-wrap: anywhere; }
.public-report-product-table th:nth-child(1), .public-report-product-table td:nth-child(1) { width: 36%; }
.public-report-product-table th:nth-child(2), .public-report-product-table td:nth-child(2) { width: 13%; }
.public-report-product-table th:nth-child(3), .public-report-product-table td:nth-child(3) { width: 11%; }
.public-report-product-table th:nth-child(4), .public-report-product-table td:nth-child(4) { width: 15%; }
.public-report-product-table th:nth-child(5), .public-report-product-table td:nth-child(5) { width: 15%; }
.public-report-product-table th:nth-child(6), .public-report-product-table td:nth-child(6) { width: 10%; }
.public-report-product-table td:nth-child(2), .public-report-product-table td:nth-child(3), .public-report-product-table td:nth-child(6) { overflow-wrap: normal; white-space: nowrap; }
.public-report-review-table { width: 100%; min-width: 760px; table-layout: fixed; }
.public-report-review-table th, .public-report-review-table td { white-space: normal; overflow-wrap: anywhere; }
.public-report-review-table th:nth-child(1), .public-report-review-table td:nth-child(1) { width: 55%; }
.public-report-review-table th:nth-child(2), .public-report-review-table td:nth-child(2) { width: 11%; }
.public-report-review-table th:nth-child(3), .public-report-review-table td:nth-child(3) { width: 15%; }
.public-report-review-table th:nth-child(4), .public-report-review-table td:nth-child(4) { width: 8%; }
.public-report-review-table th:nth-child(5), .public-report-review-table td:nth-child(5) { width: 11%; }
.public-report-review-table td:nth-child(2), .public-report-review-table td:nth-child(4), .public-report-review-table td:nth-child(5) { overflow-wrap: normal; white-space: nowrap; }
#all-products .public-report-section-head { align-items: center; }
#all-products .public-report-section-head > div { min-width: 0; flex: 1 1 52%; }
#all-products .public-report-section-head > p { flex: 1 1 42%; }
#all-products .public-report-section-head h2 { font-size: clamp(22px, 2.15vw, 28px); line-height: 1.15; }
.public-report-note { margin: 13px 0 0; color: #748298; font-size: 11px; line-height: 1.55; }
.public-report-split { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }.public-report-split > div > p { min-height: 58px; color: #68778d; font-size: 12px; line-height: 1.5; }.public-report-stacked > div + div { margin-top: 38px; padding-top: 34px; border-top: 1px solid #dfe6f0; }.public-report-stacked > div > p { max-width: 760px; color: #68778d; font-size: 12px; line-height: 1.55; }
.leader-text { color: #087a57; font-weight: 800; }.dropped-text, .gruppetto-text { color: #bd3442; font-weight: 800; }
.public-report-ending-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.public-report-ending-list article { display: grid; grid-template-columns: 1fr auto; padding: 15px; border: 1px solid #e0e6ef; border-radius: 8px; }.public-report-ending-list span, .public-report-ending-list small { grid-column: 1 / -1; color: #78869a; font-size: 9px; }.public-report-ending-list strong { margin-top: 5px; font-size: 12px; }.public-report-ending-list b { margin-top: 5px; color: var(--report-blue); }
.public-report-band-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }.public-report-band-grid article { padding: 17px; border: 1px solid #e0e6ef; border-radius: 8px; }.public-report-band-grid h3 { min-height: 32px; margin: 0; font-size: 13px; }.public-report-band-grid dl { grid-template-columns: 1fr 1fr; gap: 12px 0; }
.public-report-unavailable { margin-top: 16px; padding: 20px; border: 1px dashed #b8c5d7; border-radius: 9px; background: #f8fafc; }.public-report-unavailable h3 { margin: 0; font-size: 14px; }.public-report-unavailable p { margin: 7px 0 0; color: #67768b; font-size: 12px; line-height: 1.55; }
.public-report-close-call-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.public-report-close-call-grid > article { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(170px, .8fr); align-items: center; gap: 14px; padding: 17px; border: 1px solid #dfe6f0; border-radius: 9px; }.public-report-close-call-grid h3 { margin: 4px 0; font-size: 13px; }.public-report-close-call-grid small, .public-report-close-call-grid span { color: #7a899c; font-size: 8px; }.public-report-close-call-grid dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin: 6px 0 0; padding-top: 11px; border-top: 1px solid #e3e9f1; }.public-report-close-call-grid dt { color: #8390a1; font-size: 7px; text-transform: uppercase; }.public-report-close-call-grid dd { margin: 4px 0 0; color: #263b56; font-size: 10px; font-weight: 750; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; }
.public-report-opportunity-list { counter-reset: priority; display: grid; gap: 10px; }.public-report-opportunity-list article { counter-increment: priority; display: grid; grid-template-columns: 38px minmax(210px, .95fr) minmax(300px, 1.15fr) minmax(270px, .8fr); align-items: center; gap: 18px; min-height: 132px; padding: 19px 20px; border: 1px solid #dfe6f0; border-radius: 9px; }.public-report-opportunity-list .rank::after { content: counter(priority, decimal-leading-zero); color: #9aa6b7; font-size: 11px; font-weight: 800; }.public-report-opportunity-list small { color: #77869b; font-size: 9px; text-transform: uppercase; }.public-report-opportunity-list h3 { margin: 4px 0; font-size: 14px; }.public-report-opportunity-list p { margin: 0; color: #68778d; font-size: 11px; }.public-report-opportunity-list dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }.public-report-opportunity-list dt { color: #8190a3; font-size: 8px; text-transform: uppercase; }.public-report-opportunity-list dd { margin: 4px 0 0; font-size: 11px; font-weight: 750; }.public-report-more-opportunities { margin-top: 14px; }.public-report-more-opportunities > summary { cursor: pointer; color: var(--report-blue); font-size: 10px; font-weight: 800; }.public-report-more-opportunities[open] > summary { margin-bottom: 10px; }.public-report-more-opportunities .public-report-opportunity-list { counter-reset: priority 5; }
.public-report-mini-market { min-width: 0; }.public-report-mini-race { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); height: 30px; overflow: visible; border: 1px solid #d5deea; border-radius: 6px; }.public-report-mini-race > span { border-right: 1px solid rgb(63 83 110 / .12); }.public-report-mini-race > span.leader { background: #dff3ea; }.public-report-mini-race > span.chaser { background: #e4f3ef; }.public-report-mini-race > span.peloton { background: #e2ecf7; }.public-report-mini-race > span.gruppetto { background: #fbf0d9; }.public-report-mini-race > span.dropped { border-right: 0; background: #f6e6df; }.public-report-mini-race > i { position: absolute; top: 50%; z-index: 2; width: 7px; height: 7px; border: 1px solid #fff; border-radius: 50%; background: var(--dot-color); box-shadow: 0 1px 3px rgb(25 43 67 / .3); transform: translate(-50%, -50%); }.public-report-mini-race > i.focus { z-index: 3; width: 11px; height: 11px; border-width: 2px; }.public-report-mini-race > small { position: absolute; top: 33px; right: 0; left: 0; display: grid; grid-template-columns: repeat(5, 1fr); color: #8794a5; font-size: 7px; text-align: center; }.public-report-mini-race > small b { font-weight: 700; }.public-report-mini-legend { display: flex; flex-wrap: wrap; gap: 3px 9px; margin-top: 17px; color: #687a91; font-size: 7px; line-height: 1.35; }.public-report-mini-more .public-report-mini-legend { margin-top: 4px; }.public-report-mini-legend > span { display: flex; align-items: center; gap: 4px; color: #687a91; font-size: 7px; text-transform: none; }.public-report-mini-legend i { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--swatch); }.public-report-mini-legend .focus i { width: 8px; height: 8px; border: 1px solid #fff; background: hsl(358 74% 59%); box-shadow: 0 0 0 1px rgb(70 82 99 / .18); }.public-report-mini-more { margin-top: 4px; }.public-report-mini-more summary { cursor: pointer; color: #667990; font-size: 7px; font-weight: 750; }
.public-report-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0; list-style: none; counter-reset: actions; }.public-report-actions li { counter-increment: actions; display: grid; grid-template-columns: 34px 1fr; padding: 20px; border-radius: 9px; background: #f3f7fc; }.public-report-actions li::before { content: counter(actions); grid-row: 1 / 3; color: var(--report-blue); font-size: 12px; font-weight: 850; }.public-report-actions strong { font-size: 13px; }.public-report-actions span { margin-top: 6px; color: #68778d; font-size: 11px; line-height: 1.5; }
.public-report-method-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.public-report-method-grid article { padding: 20px; border: 1px solid #e0e6ef; border-radius: 9px; }.public-report-method-grid h3 { margin: 0; font-size: 13px; }.public-report-method-grid p { margin: 8px 0 0; color: #69788d; font-size: 11px; line-height: 1.6; }.public-report-method-grid a { color: var(--report-blue); }
.public-report-appendix { margin-top: 18px; }.public-report-appendix summary { cursor: pointer; color: var(--report-blue); font-size: 12px; font-weight: 750; }.public-report-appendix[open] summary { margin-bottom: 12px; }
.public-report-pill { display: inline-block; padding: 4px 7px; border-radius: 99px; background: #eef2f7; font-size: 9px; font-weight: 750; }.public-report-pill.leader { background: #dff7ee; color: #087654; }.public-report-pill.chaser { background: #e7f7ed; color: #247844; }.public-report-pill.peloton { background: #fff4d8; color: #93640a; }.public-report-pill.gruppetto { background: #ffeadc; color: #a34b19; }.public-report-pill.dropped { background: #ffe4e7; color: #a72735; }
.public-report-cta { margin-top: 22px; padding: clamp(35px, 7vw, 75px); border-radius: 16px; background: linear-gradient(130deg, #071a36, #124d9a); color: #fff; text-align: center; }.public-report-cta p { margin: 0; color: #93b9ee; font-size: 12px; font-weight: 700; }.public-report-cta h2 { max-width: 800px; margin: 15px auto 28px; color: #fff; font-size: clamp(26px, 4vw, 44px); letter-spacing: -.035em; }.public-report-cta-label { display: inline-block; padding: 13px 22px; border-radius: 7px; background: #fff; color: #0d3e7d; font-size: 12px; font-weight: 800; }
.public-report-save { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 22px 0; padding: 24px 28px; border: 1px solid #dce5f1; border-radius: 12px; background: #fff; }.public-report-save h2 { margin: 0; color: #102642; font-size: 19px; }.public-report-save p { margin: 6px 0 0; color: #68778d; font-size: 11px; }.public-report-save button { flex: 0 0 auto; padding: 12px 20px; border: 0; border-radius: 7px; background: #155eef; color: #fff; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }.public-report-save button:hover { background: #0d4dce; }.public-report-save button:focus-visible { outline: 3px solid rgb(21 94 239 / .28); outline-offset: 3px; }.public-report-save button:disabled { cursor: wait; opacity: .7; }
.public-report-mini-race { display: block; overflow: visible; background: #f3f6fa; }.public-report-mini-race > span.price-line { position: absolute; top: calc(50% - 1px); right: 4%; left: 4%; height: 2px; border: 0; background: #aab7c8; }.public-report-mini-race > span.price-line::before, .public-report-mini-race > span.price-line::after { content: ""; position: absolute; top: -3px; width: 1px; height: 8px; background: #8494a8; }.public-report-mini-race > span.price-line::before { left: 0; }.public-report-mini-race > span.price-line::after { right: 0; }.public-report-mini-axis { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 5px; color: #7b899c; font-size: 7px; }.public-report-mini-axis small { color: #63758c; font-size: 7px; text-align: center; }.public-report-mini-axis span { white-space: nowrap; }.public-report-mini-legend { margin-top: 7px; }.public-report-opportunity-list .public-report-mini-race { height: 44px; }.public-report-opportunity-list .public-report-mini-legend { margin-top: 8px; }
.public-report-footer { padding: 24px 0; background: #06162f; color: #8ea5c3; font-size: 10px; }.public-report-footer > div { display: flex; justify-content: space-between; }

/* Brand-market report: availability, partner wins and anchor distance. */
.brand-report-body { --report-blue: #183f73; --report-navy: #061b36; }
.brand-report-body .public-report-hero { background: radial-gradient(circle at 86% 13%, #527da8 0, transparent 31%), linear-gradient(125deg, #06182f 0%, #123a61 60%, #285f88 100%); }
.ecco-brand-summary-grid { grid-template-columns: repeat(4, 1fr); }
.ecco-brand-summary-grid article { background: #eef4f7; }
.ecco-brand-summary-grid strong { color: #163f68; font-size: 32px; overflow-wrap: anywhere; }
.ecco-brand-highlight { display: grid; grid-template-columns: minmax(130px, .3fr) 1fr; gap: 18px; margin-bottom: 18px; padding: 17px 20px; border-left: 4px solid #0b8f6a; border-radius: 8px; background: #e9f6f1; }
.ecco-brand-highlight strong { color: #086c51; }
.ecco-brand-highlight span { color: #496a61; font-size: 12px; line-height: 1.5; }
.ecco-focus-retailers { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 18px; }
.ecco-focus-retailers span { padding: 12px 8px; border: 1px solid #d9e4ed; border-radius: 8px; background: #f1f6f8; color: #173a5d; font-size: 10px; font-weight: 800; text-align: center; }
.ecco-brand-table { table-layout: fixed; }
.ecco-brand-table th, .ecco-brand-table td { overflow-wrap: anywhere; }
.ecco-brand-table tbody th { color: #102942; font-weight: 700; text-align: left; }
.ecco-brand-table tbody th small { display: block; margin-bottom: 4px; color: #788a9f; font-size: 8px; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.ecco-sellout-table th:nth-child(1), .ecco-sellout-table td:nth-child(1) { width: 13%; }
.ecco-sellout-table th:nth-child(2), .ecco-sellout-table td:nth-child(2) { width: 39%; }
.ecco-sellout-table th:nth-child(3), .ecco-sellout-table td:nth-child(3) { width: 7%; }
.ecco-sellout-table th:nth-child(4), .ecco-sellout-table td:nth-child(4) { width: 15%; }
.ecco-sellout-table th:nth-child(5), .ecco-sellout-table td:nth-child(5), .ecco-sellout-table th:nth-child(6), .ecco-sellout-table td:nth-child(6) { width: 13%; }
.ecco-status { display: inline-block; padding: 5px 8px; border-radius: 99px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.ecco-status.in-stock { background: #dcf5ea; color: #087653; }
.ecco-status.sold-out { background: #ffe5e7; color: #a72735; }
.ecco-winner-table th:nth-child(1), .ecco-winner-table td:nth-child(1) { width: 7%; }
.ecco-winner-table th:nth-child(2), .ecco-winner-table td:nth-child(2) { width: 24%; }
.ecco-gap-high { color: #b22b3c; font-weight: 800; }
.ecco-gap-good { color: #087653; font-weight: 800; }
.ecco-model-list { overflow: hidden; border: 1px solid #dce5ef; border-radius: 9px; }
.ecco-model-row { display: grid; grid-template-columns: minmax(150px, 1.25fr) .35fr .75fr .75fr 1.2fr .8fr; align-items: center; min-height: 48px; }
.ecco-model-row + .ecco-model-row { border-top: 1px solid #e2e8f0; }
.ecco-model-row > * { min-width: 0; padding: 10px 12px; color: #40536d; font-size: 10px; }
.ecco-model-row.head { min-height: 37px; background: #f0f4f9; }
.ecco-model-row.head span { color: #6d7e94; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.ecco-model-row > strong { color: #102942; }
.ecco-distance { position: relative; display: flex; align-items: center; gap: 8px; }
.ecco-distance::before { content: ""; width: 78px; height: 8px; flex: 0 0 auto; border-radius: 99px; background: #e7edf4; }
.ecco-distance > b { position: absolute; left: 12px; max-width: 78px; height: 8px; border-radius: 99px; background: #d59a25; }
.ecco-distance > b.negative { background: #198764; }
.ecco-distance > strong { position: relative; min-width: 42px; color: #233d5b; font-size: 10px; text-align: right; }
.ecco-ean-table th:nth-child(1), .ecco-ean-table td:nth-child(1) { width: 30%; }
.ecco-ean-table th:nth-child(2), .ecco-ean-table td:nth-child(2) { width: 12%; }
.ecco-ean-table th:nth-child(3), .ecco-ean-table td:nth-child(3), .ecco-ean-table th:nth-child(4), .ecco-ean-table td:nth-child(4), .ecco-ean-table th:nth-child(5), .ecco-ean-table td:nth-child(5) { width: 10%; }
.ecco-ean-table th:nth-child(6), .ecco-ean-table td:nth-child(6) { width: 11%; }
.ecco-ean-table th:nth-child(7), .ecco-ean-table td:nth-child(7) { width: 13%; }
.ecco-ean-table th:nth-child(8), .ecco-ean-table td:nth-child(8) { width: 4%; }
@media (max-width: 850px) { .public-report-stat-grid, .public-report-band-grid, .public-report-insight-grid, .public-report-competitor-grid { grid-template-columns: 1fr; }.public-report-position-grid { grid-template-columns: repeat(3, 1fr); }.public-report-conclusion-grid { grid-template-columns: 1fr; }.public-report-conclusion-grid article { min-height: 0; }.public-report-split { grid-template-columns: 1fr; }.public-report-retailer-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }.public-report-close-call-grid { grid-template-columns: 1fr; }.public-report-opportunity-list article { grid-template-columns: 32px 1fr; }.public-report-mini-market, .public-report-opportunity-list dl { grid-column: 2; }.public-report-ending-list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 850px) { .ecco-brand-summary-grid { grid-template-columns: 1fr 1fr; }.ecco-focus-retailers { grid-template-columns: repeat(2, 1fr); }.ecco-model-row { grid-template-columns: minmax(125px, 1.1fr) .3fr .7fr .7fr 1.1fr .7fr; }.ecco-model-row > * { padding: 9px 7px; }.ecco-distance::before { width: 55px; }.ecco-distance > b { left: 7px; max-width: 55px; } }
@media (max-width: 600px) { .public-report-shell { width: min(100% - 24px, 1180px); }.public-report-hero { padding-top: 20px; }.public-report-brand img { width: 145px; }.public-report-brand span { font-size: 8px; }.public-report-intro { margin-top: 58px; }.public-report-meta { grid-template-columns: 1fr; }.public-report-disclaimer { grid-template-columns: 1fr; gap: 7px; }.public-report-section { padding: 20px 14px; }.public-report-section-head { align-items: start; flex-direction: column; gap: 8px; }.public-report-section-head > p { text-align: left; }.public-report-stat-grid, .public-report-category-grid, .public-report-position-grid, .public-report-band-grid, .public-report-ending-list, .public-report-actions, .public-report-method-grid { grid-template-columns: 1fr; }.public-report-position-grid article { min-height: 130px; }.public-report-insight-card { padding: 18px 13px; }.public-report-insight-head { align-items: start; flex-direction: column; }.public-report-insight-head > p { max-width: none; text-align: left; }.public-report-key-facts { grid-template-columns: 1fr; }.public-report-key-facts > div:last-child { grid-column: auto; }.public-report-common-axis { margin-right: 86px; margin-left: 92px; }.public-report-common-row { grid-template-columns: 84px 1fr 78px; }.public-report-spread-axis { margin-right: 82px; margin-left: 86px; }.public-report-spread-row { grid-template-columns: 78px 1fr 76px; }.public-report-spread-row > div:last-child small { white-space: normal; }.public-report-competitor-grid > article { padding: 14px 8px; }.public-report-competitor-title { align-items: start; flex-direction: column; }.public-report-competitor-title span { text-align: left; }.public-report-competitor-table > div { grid-template-columns: 1.25fr .65fr .85fr .45fr; }.public-report-competitor-table > div > span { padding: 8px 4px; font-size: 8px; }.public-report-competitor-table .head span { font-size: 6px; }.public-report-category-plot-card { padding: 14px 8px; }.public-report-plot-title { align-items: start; flex-direction: column; gap: 5px; }.public-report-plot-title > span { white-space: normal; }.public-report-category-race { height: 230px; }.public-report-race-zone { padding: 9px 2px; }.public-report-race-zone strong { font-size: 8px; }.public-report-race-zone small { display: none; }.public-report-race-zone b { right: 3px; font-size: 26px; }.public-report-plot-reading, .public-report-plot-extremes { grid-template-columns: 1fr; }.public-report-close-call-grid > article { grid-template-columns: 1fr; }.public-report-close-call-grid .public-report-mini-market { grid-column: 1; }.public-report-footer > div { flex-direction: column; gap: 6px; } }
@media (max-width: 600px) { .public-report-lane-header, .public-report-market-lane, .public-report-lane-direction { grid-template-columns: 86px minmax(0, 1fr) 50px; gap: 5px; }.public-report-lane-header > span { font-size: 6px; }.public-report-lane-header small { display: none; }.public-report-lane-header strong { font-size: 6px; }.public-report-lane-name { grid-template-columns: 7px 1fr; column-gap: 4px; }.public-report-lane-name > i { width: 6px; height: 6px; }.public-report-lane-name strong { font-size: 7px; }.public-report-lane-name small { font-size: 6px; }.public-report-lane-rate strong { font-size: 9px; }.public-report-lane-direction > div > i { right: 78px; left: 68px; } }
@media (max-width: 600px) { .public-report-save { align-items: stretch; flex-direction: column; }.public-report-save button { width: 100%; } }
@media (max-width: 600px) { .ecco-brand-summary-grid { grid-template-columns: 1fr; }.ecco-brand-highlight { grid-template-columns: 1fr; }.brand-report-body .public-report-table-wrap, .brand-report-body .ecco-model-list { overflow-x: auto; }.brand-report-body table { min-width: 900px; }.ecco-model-list { min-width: 760px; } }
/* A4 export: keep the wide online report instead of activating mobile rules. */
@page { size: A4 landscape; margin: 8mm; }

@media print {
  html,
  body,
  .public-report-body,
  .public-report-body * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Public report layout corrections. */
  .public-report-position-grid article > strong,
  .public-report-position-grid article > span,
  .public-report-position-grid article > small { display: block; }
  .public-report-position-grid article > span { margin-top: 7px; font-weight: 750; }
  .public-report-position-grid article > small { margin-top: 9px; color: #738197; font-size: 10px; line-height: 1.45; }
  .public-report-price-spread { margin-top: 18px; padding-top: 15px; border-top: 1px solid #e0e7f1; }
  .public-report-spread-title { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; }
  .public-report-spread-title strong,
  .public-report-spread-title span { display: block; }
  .public-report-spread-title span { margin-left: auto; }
  .public-report-spread-axis { display: grid !important; grid-template-columns: 1fr auto 1fr; margin: 11px 126px 4px 108px; color: #718197; font-size: 7px; }
  .public-report-spread-axis strong { text-align: center; }
  .public-report-spread-axis span:last-child { text-align: right; }
  .public-report-spread-row { display: grid !important; grid-template-columns: 100px minmax(0, 1fr) 118px; align-items: center; gap: 8px; min-height: 48px; }
  .public-report-spread-row > div { min-width: 0; }
  .public-report-spread-row > div:first-child strong,
  .public-report-spread-row > div:first-child small { display: block; }
  .public-report-spread-row > div:last-child { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
  .public-report-spread-row > div:last-child strong,
  .public-report-spread-row > div:last-child small { display: block; }
  .public-report-close-call-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 14px; }
  .public-report-close-call-grid > article { display: block !important; padding: 22px; }
  .public-report-close-call-grid > article > dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0 0; }
  .public-report-close-call-grid .public-report-deep-market { width: 100%; }

  /* Public report readability overrides. */
  .public-report-position-grid article > strong,
  .public-report-position-grid article > span,
  .public-report-position-grid article > small,
  .public-report-key-facts > div > strong,
  .public-report-key-facts > div > span,
  .public-report-key-facts > div > small {
    display: block;
  }
  .public-report-position-grid article > span { margin-top: 7px; font-weight: 750; }
  .public-report-position-grid article > small { margin-top: 9px; color: #738197; font-size: 10px; line-height: 1.45; }
  .public-report-key-facts > div > span { margin-top: 5px; }
  .public-report-key-facts > div > small { margin-top: 6px; color: #738197; font-size: 9px; line-height: 1.35; }
  .public-report-spread-title strong,
  .public-report-spread-title span { display: block; }
  .public-report-spread-title span { margin-left: auto; }
  .public-report-close-call-grid { grid-template-columns: 1fr; }
  .public-report-close-call-grid > article { grid-template-columns: none; display: block; }

  html,
  body,
  .public-report-body {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f4f7fb !important;
  }

  .public-report-shell {
    width: 100% !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .public-report-hero {
    box-sizing: border-box;
    min-height: 194mm;
    padding: 10mm 9mm !important;
    overflow: hidden;
    break-after: page;
    page-break-after: always;
    background: radial-gradient(circle at 85% 15%, #2277ff 0, transparent 30%), linear-gradient(125deg, #06162f 0%, #0a2854 58%, #114c98 100%) !important;
    color: #fff !important;
  }

  .brand-report-body .public-report-hero {
    background: radial-gradient(circle at 86% 13%, #527da8 0, transparent 31%), linear-gradient(125deg, #06182f 0%, #123a61 60%, #285f88 100%) !important;
  }

  .public-report-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .public-report-brand img { width: 180px !important; }
  .public-report-brand span { font-size: 12px !important; }
  .public-report-intro { max-width: 220mm !important; margin: 29mm 0 17mm !important; }
  .public-report-intro h1 { max-width: 210mm !important; color: #fff !important; font-size: 38pt !important; line-height: 1 !important; }
  .public-report-intro > p:last-child { max-width: 200mm !important; color: #c9d9ef !important; font-size: 12pt !important; line-height: 1.55 !important; }
  .public-report-meta { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; }

  .public-report-main { padding-top: 0 !important; padding-bottom: 0 !important; }
  .public-report-disclaimer {
    grid-template-columns: 43mm 1fr !important;
    gap: 5mm !important;
    margin: 0 0 5mm !important;
    padding: 4mm 5mm !important;
    break-inside: avoid;
    page-break-inside: avoid;
    background: #fff !important;
  }

  .public-report-section {
    margin: 0 !important;
    padding: 6mm !important;
    break-before: page;
    page-break-before: always;
    border-radius: 3mm !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  #summary {
    break-before: auto;
    page-break-before: auto;
  }

  .public-report-section-head {
    align-items: flex-end !important;
    flex-direction: row !important;
    gap: 8mm !important;
    margin-bottom: 4mm !important;
  }

  .public-report-section-head > p {
    max-width: 105mm !important;
    font-size: 10px !important;
    text-align: right !important;
  }

  .public-report-section h2 { font-size: 20px !important; }
  .public-report-insight-grid,
  .public-report-competitor-grid,
  .public-report-method-grid,
  .public-report-plot-extremes { grid-template-columns: 1fr 1fr !important; }
  .public-report-plot-reading { grid-template-columns: 1fr 1.35fr !important; }
  .public-report-split { grid-template-columns: 1fr 1fr !important; }
  .public-report-retailer-legend { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .public-report-position-grid { grid-template-columns: repeat(5, 1fr) !important; }
  .public-report-band-grid { grid-template-columns: repeat(4, 1fr) !important; }
  .public-report-ending-list { grid-template-columns: repeat(3, 1fr) !important; }
  .public-report-actions { grid-template-columns: 1fr 1fr !important; }

  .public-report-insight-card { padding: 4mm !important; }
  .public-report-insight-head { align-items: flex-end !important; flex-direction: row !important; padding-bottom: 3mm !important; }
  .public-report-insight-head > div > span { font-size: 14px !important; }
  .public-report-insight-head > div > strong { font-size: 38px !important; }
  .public-report-insight-head > p { max-width: 35mm !important; font-size: 8px !important; text-align: right !important; }
  .public-report-key-facts { gap: 5px !important; margin-top: 2.5mm !important; }
  .public-report-key-facts > div { min-height: 17mm !important; padding: 2.5mm !important; }
  .public-report-key-facts strong { font-size: 16px !important; }
  .public-report-key-facts > div:last-child strong { font-size: 11px !important; }
  .public-report-strength { margin-top: 2mm !important; padding: 2mm 2.5mm !important; }
  .public-report-price-spread { margin-top: 3mm !important; padding-top: 2.5mm !important; }
  .public-report-spread-row { min-height: 9mm !important; }
  .public-report-analysis { margin-top: 3mm !important; padding: 2.5mm 3mm !important; font-size: 9px !important; }
  .public-report-evidence-note { margin-top: 3mm !important; }

  .public-report-category-plot-card,
  .public-report-race-card,
  .public-report-close-call-grid > article,
  .public-report-opportunity-list > article,
  .public-report-method-grid > article,
  .public-report-plot-extremes > article,
  .public-report-actions > li,
  .public-report-disclaimer {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .public-report-category-plot-card + .public-report-category-plot-card,
  .public-report-supporting-detail,
  .public-report-race-card + .public-report-race-card,
  #opportunities > div + div {
    break-before: page;
    page-break-before: always;
  }

  #opportunities > div + div {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  .public-report-close-call-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 5mm !important; }
  .public-report-close-call-grid > article { display: block !important; grid-template-columns: none !important; padding: 4mm !important; }
  .public-report-close-call-grid > article > dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 4mm 0 0; }
  .public-report-close-call-grid .public-report-deep-market { width: 100%; }

  .public-report-opportunity-list article {
    grid-template-columns: 8mm minmax(45mm, .95fr) minmax(68mm, 1.15fr) minmax(55mm, .8fr) !important;
    gap: 4mm !important;
    min-height: 23mm !important;
    padding: 3mm 4mm !important;
  }

  .public-report-mini-market,
  .public-report-opportunity-list dl { grid-column: auto !important; }
  #top-ten .public-report-opportunity-list > article:nth-child(6) {
    break-before: page;
    page-break-before: always;
  }

  details[open] { display: block !important; }
  details > summary { display: none !important; }
  .public-report-supporting-detail,
  .public-report-appendix,
  .public-report-more-lanes,
  .public-report-more-opportunities { margin-top: 0 !important; }

  .public-report-table-wrap {
    overflow: visible !important;
    border-radius: 2mm !important;
  }
  .public-report-table { font-size: 8px !important; }
  .public-report-table thead { display: table-header-group; }
  .public-report-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .public-report-table th,
  .public-report-table td {
    padding: 1.5mm 2mm !important;
    white-space: normal !important;
  }
  .public-report-table td small,
  .public-report-table th small { font-size: 7px !important; }

  .public-report-cta {
    box-sizing: border-box;
    min-height: 90mm;
    margin: 0 !important;
    padding: 18mm !important;
    break-before: page;
    page-break-before: always;
    break-inside: avoid;
    page-break-inside: avoid;
    background: linear-gradient(130deg, #071a36, #124d9a) !important;
  }

  .public-report-footer {
    padding: 4mm 0 !important;
    break-inside: avoid;
    page-break-inside: avoid;
    background: #06162f !important;
  }
  .public-report-footer > div { flex-direction: row !important; }
  .public-report-save { display: none !important; }
}

@media screen {
  .public-report-position-grid article > strong,
  .public-report-position-grid article > span,
  .public-report-position-grid article > small { display: block; }
  .public-report-position-grid article > span { margin-top: 7px; font-weight: 750; }
  .public-report-position-grid article > small { margin-top: 9px; color: #738197; font-size: 10px; line-height: 1.45; }
  .public-report-price-spread { margin-top: 18px; padding-top: 15px; border-top: 1px solid #e0e7f1; }
  .public-report-spread-title { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; }
  .public-report-spread-title strong,
  .public-report-spread-title span { display: block; }
  .public-report-spread-title span { margin-left: auto; }
  .public-report-spread-axis { display: grid !important; grid-template-columns: 1fr auto 1fr; margin: 11px 126px 4px 108px; }
  .public-report-spread-axis span:last-child { text-align: right; }
  .public-report-spread-row { display: grid !important; grid-template-columns: 100px minmax(0, 1fr) 118px; align-items: center; gap: 8px; min-height: 48px; }
  .public-report-spread-row > div:last-child { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
  .public-report-close-call-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 14px; }
  .public-report-close-call-grid > article { display: block !important; padding: 22px; }
  .public-report-close-call-grid > article > dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0 0; }
}

/* --- Brand distribution report additions (retailer map, matrix, deep dives, coverage) --- */
.ecco-coverage-list { overflow: hidden; border: 1px solid #dce5ef; border-radius: 9px; }
.ecco-coverage-row { display: grid; grid-template-columns: minmax(150px, 1.25fr) .75fr .6fr 1.6fr; align-items: center; min-height: 48px; }
.ecco-coverage-row + .ecco-coverage-row { border-top: 1px solid #e2e8f0; }
.ecco-coverage-row > * { min-width: 0; padding: 10px 12px; color: #40536d; font-size: 10px; }
.ecco-coverage-row.head { min-height: 37px; background: #f0f4f9; }
.ecco-coverage-row.head span { color: #6d7e94; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.ecco-coverage-row > strong { color: #102942; }

.ecco-retailer-map { position: relative; height: 360px; margin: 18px 0; padding: 36px 44px; border: 1px solid #dce5ef; border-radius: 12px; background: #f7f9fc; }
.ecco-retailer-map-quadrants { position: absolute; inset: 36px 44px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.ecco-retailer-map-quadrants .q { display: flex; flex-direction: column; gap: 4px; padding: 10px; color: #7d8ea3; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.ecco-retailer-map-quadrants .q small { color: #97a5b7; font-size: 9px; font-weight: 600; text-transform: none; }
.ecco-retailer-map-quadrants .top-right, .ecco-retailer-map-quadrants .bottom-right { text-align: right; align-items: flex-end; }
.ecco-retailer-map-quadrants .top-left { border-right: 1px dashed #d3dde9; border-bottom: 1px dashed #d3dde9; }
.ecco-retailer-map-quadrants .top-right { border-bottom: 1px dashed #d3dde9; }
.ecco-retailer-map-quadrants .bottom-left { border-right: 1px dashed #d3dde9; }
.ecco-retailer-map-axis-y, .ecco-retailer-map-axis-x { position: absolute; display: flex; justify-content: space-between; color: #7a899c; font-size: 9px; font-weight: 700; }
.ecco-retailer-map-axis-y { top: 36px; bottom: 36px; left: 6px; width: 20px; }
.ecco-retailer-map-axis-y .axis-top,
.ecco-retailer-map-axis-y .axis-bottom { position: absolute; left: 0; writing-mode: vertical-rl; text-orientation: mixed; }
.ecco-retailer-map-axis-y .axis-top { top: 0; }
.ecco-retailer-map-axis-y .axis-bottom { bottom: 0; }
.ecco-retailer-map-axis-x { right: 44px; bottom: 6px; left: 44px; }
.ecco-retailer-dot { position: absolute; z-index: 2; display: flex; flex-direction: column; align-items: center; transform: translate(-50%, -50%); cursor: help; }
.ecco-retailer-dot > b { display: block; width: 11px; height: 11px; border: 2px solid #fff; border-radius: 50%; background: var(--report-blue, #1a5fd9); box-shadow: 0 1px 3px rgb(18 37 61 / .3); }
.ecco-retailer-dot > small { position: absolute; color: #445872; font-size: 8px; font-weight: 800; white-space: nowrap; }
.ecco-retailer-dot.label-above > small { bottom: 12px; }
.ecco-retailer-dot.label-below > small { top: 12px; }

#product-matrix .public-report-section-head {
  display: block;
  margin-bottom: 14px;
}
#product-matrix .public-report-section-head > div {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 6px;
}
#product-matrix .public-report-section-head > p {
  max-width: none;
  text-align: left;
  font-size: 11px;
}
#product-matrix h2 {
  font-size: clamp(20px, 2.1vw, 28px);
  line-height: 1.1;
}

.ecco-matrix-wrap { overflow-x: auto; }
.ecco-matrix-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}
.ecco-matrix-table th,
.ecco-matrix-table td {
  text-align: center;
  padding: 6px 5px;
  font-size: 9px;
}
.ecco-matrix-table th:first-child,
.ecco-matrix-table td:first-child { text-align: left; }
.ecco-matrix-table th:nth-child(1), .ecco-matrix-table td:nth-child(1) { width: 46px; min-width: 46px; max-width: 46px; }
.ecco-matrix-table th:nth-child(2), .ecco-matrix-table td:nth-child(2) { width: 86px; min-width: 86px; }
.ecco-matrix-table th:nth-child(3), .ecco-matrix-table td:nth-child(3) { width: 56px; min-width: 56px; }
.ecco-matrix-table th:nth-child(n+4), .ecco-matrix-table td:nth-child(n+4) { width: 44px; min-width: 44px; max-width: 44px; }
.ecco-brand-table tbody th.ecco-matrix-product-cell {
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.05;
  font-size: 9px;
  font-weight: 500;
  color: #3a4d67;
}
.ecco-matrix-product-cell > small { margin-top: 0; margin-bottom: 0; font-size: 6px !important; }
.ecco-matrix-product-name {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #102942;
  font-size: 7px;
  font-weight: 400;
}
.ecco-matrix-brand-col { background: #eef3fa; font-weight: 700; }
.ecco-matrix-table th.ecco-matrix-vertical {
  min-width: 20px;
  max-width: 20px;
  height: 102px;
  padding: 2px 0 !important;
  vertical-align: bottom;
  white-space: normal;
}
.ecco-matrix-table th.ecco-matrix-vertical > span {
  display: inline-block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
  font-size: 8px;
}
.ecco-matrix-below { background: #dcf5ea; color: #087653; font-weight: 600; }
.ecco-matrix-above { background: #ffe9e5; color: #a72735; font-weight: 600; }
.ecco-matrix-close { background: #f2f6fc; color: #40536d; font-weight: 500; }
.ecco-matrix-empty { color: #a3b0c2; font-style: italic; }

.ecco-deep-dive-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.ecco-deep-dive-grid > article { padding: 20px 22px; border: 1px solid #dfe6f0; border-radius: 9px; background: #fff; }
.ecco-deep-dive-grid > article > div > small { display: block; margin-bottom: 4px; color: #7a899c; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.ecco-deep-dive-grid h3 { margin: 0; color: #102942; font-size: 15px; }
.ecco-deep-dive-grid > article > dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 14px 0; padding: 12px 0; border-top: 1px solid #e3e9f1; border-bottom: 1px solid #e3e9f1; }
.ecco-deep-dive-grid dt { color: #8390a1; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.ecco-deep-dive-grid dd { margin: 3px 0 0; color: #263b56; font-size: 13px; font-weight: 800; }

/* Deep dive market chart, copied to match the retailer report's
   "Where this product sits in the market" chart exactly. */
.public-report-deep-market { margin-top: 4px; overflow: hidden; border: 1px solid #d5deea; border-radius: 7px; background: #fff; }
.public-report-deep-title { padding: 11px 13px; border-bottom: 1px solid #e1e7ef; color: #263b56; font-size: 10px; font-weight: 750; }
.public-report-deep-zone-labels { display: grid; grid-template-columns: repeat(5, 1fr); margin: 12px 13px 5px 132px; color: #69798e; font-size: 8px; text-align: center; }
.public-report-deep-chart { position: relative; margin: 0 13px; }
.public-report-deep-zones { position: absolute; top: 0; right: 0; bottom: 0; left: 132px; display: grid; grid-template-columns: repeat(5, 1fr); pointer-events: none; }
.public-report-deep-zones i { border-right: 1px solid rgb(63 83 110 / .12); }
.public-report-deep-zones .leader { background: #dff3ea; }
.public-report-deep-zones .chaser { background: #e4f3ef; }
.public-report-deep-zones .peloton { background: #e2ecf7; }
.public-report-deep-zones .gruppetto { background: #fbf0d9; }
.public-report-deep-zones .dropped { border-right: 0; background: #f6e6df; }
.public-report-deep-row { position: relative; z-index: 1; display: grid; grid-template-columns: 124px 1fr; min-height: 29px; border-bottom: 1px solid #e1e7ef; }
.public-report-deep-name { overflow: hidden; padding: 8px 8px 7px 0; color: #69798e; font-size: 8px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.public-report-deep-row.focus .public-report-deep-name { color: #263b56; font-weight: 800; }
.public-report-deep-track { position: relative; }
.public-report-deep-track > b { position: absolute; top: 50%; display: flex; align-items: center; gap: 5px; transform: translate(-50%, -50%); white-space: nowrap; }
.public-report-deep-track > b > i { width: 7px; height: 7px; border: 1px solid #fff; border-radius: 50%; background: #438fd9; box-shadow: 0 1px 2px rgb(25 43 67 / .3); }
.public-report-deep-row.focus .public-report-deep-track > b > i { width: 10px; height: 10px; background: #07966b; }
.public-report-deep-track strong { padding: 3px 5px; border-radius: 4px; background: #fff; color: #263b56; font-size: 8px; box-shadow: 0 1px 2px rgb(25 43 67 / .12); }
.public-report-deep-row.focus .public-report-deep-track strong { color: #087457; }
.public-report-deep-axis { display: flex; justify-content: space-between; margin: 7px 13px 0 132px; color: #7d8999; font-size: 7px; }
.public-report-deep-legend { display: flex; flex-wrap: wrap; gap: 5px 12px; margin: 10px 13px 11px; color: #687a91; font-size: 7px; }
.public-report-deep-legend span { display: flex; align-items: center; gap: 4px; }
.public-report-deep-legend i { width: 7px; height: 7px; border-radius: 50%; background: #438fd9; }
.public-report-deep-legend i.retailer { background: #07966b; }

@media (max-width: 850px) {
  .ecco-coverage-row { grid-template-columns: minmax(125px, 1.1fr) .6fr .5fr 1.3fr; }
  .ecco-deep-dive-grid > article > dl { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .brand-report-body .ecco-coverage-list { overflow-x: auto; }
  .ecco-coverage-list { min-width: 620px; }
  .ecco-retailer-map { height: 300px; padding: 24px; }
  .public-report-deep-zone-labels, .public-report-deep-zones, .public-report-deep-axis { margin-left: 86px; }
  .public-report-deep-zones { left: 86px; }
  .public-report-deep-row { grid-template-columns: 86px 1fr; }
}
