
    :root {
      color-scheme: light;
      --bg: #F5F5F7;
      --surface-neutral: #FFFFFF;
      --surface: #FFFFFF;
      --subsurface: #F5F5F7;
      --section-alt: #FFFFFF;
      --text-primary: #1D1D1F;
      --text-secondary: #6E6E73;
      --teal-fill: #E1F5EE;
      --teal-text: #085041;
      --amber-fill: #FAEEDA;
      --amber-text: #854F0B;
      --coral-fill: #FAECE7;
      --coral-text: #712B13;
      --green-fill: #EAF3DE;
      --green-text: #27500A;
      --accent-primary: #0A5C46;
      --accent: #0A5C46;
      --accent-tint: #E1F5EE;
      --pill-bg: #F5F5F7;
      --pill-border: #E5E5EA;
      --pill-text: #6E6E73;
      --tab-bg: #F5F5F7;
      --tab-active-bg: #FFFFFF;
      --tab-active-text: #1D1D1F;
      --pill-disabled-bg: #E5E5EA;
      --pill-disabled-text: #6E6E73;
      --signal-green: #27500A;
      --signal-red: #712B13;
      --signal-orange: #854F0B;
      --orange: #854F0B;
      --danger-tint: #FAECE7;
      --success-tint: #EAF3DE;
      --warning-tint: #FAEEDA;
      --cat-price: #2A78D6;
      --cat-price-tint: #E5EFFB;
      --cat-price-icon: #1F5FA8;
      --cat-stock: #1BAF7A;
      --cat-stock-tint: #DFF5EC;
      --cat-stock-icon: #0E7A52;
      --cat-new: #4A3AA7;
      --cat-new-tint: #EBE8F7;
      --cat-promo: #E34948;
      --cat-promo-tint: #FBE8E7;
      --cat-promo-icon: #B23230;
      --divider: #E5E5EA;
      --field-border: #D2D2D7;
      --nav-scrolled-bg: #FFFFFF;
      --nav-scrolled-border: #E5E5EA;
      --hover-bg: #F5F5F7;
      --ticker-bg: #1D1D1F;
      --ticker-text: #FFFFFF;
      --dialog-backdrop: #1D1D1F;
      --border-width: 0.5px;
      --radius-control: 8px;
      --radius-card: 12px;
      --radius-pill: 999px;
      --font-regular: 400;
      --font-medium: 500;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior:auto; }
    body {
      margin:0;
      padding-bottom:86px;
      font-family:-apple-system, BlinkMacSystemFont, Inter, "Helvetica Neue", sans-serif;
      -webkit-font-smoothing:antialiased;
      background:var(--bg);
      color:var(--text-primary);
      font-weight:var(--font-regular);
      font-variant-numeric: tabular-nums;
    }
    header {
      min-height:66px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:0 32px;
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-width:0 0 var(--border-width);
      position:sticky;
      top:0;
      z-index:1;
    }
    .impersonation-banner {
      align-items:center;
      background:var(--warning-tint);
      border-bottom:var(--border-width) solid var(--divider);
      color:var(--text-primary);
      display:flex;
      gap:16px;
      justify-content:space-between;
      min-height:46px;
      padding:8px 32px;
      position:sticky;
      top:0;
      z-index:9;
    }
    .impersonation-banner strong { font-weight:var(--font-medium); }
    .impersonation-banner span { color:var(--text-secondary); }
    .impersonation-banner + header { top:46px; }
    .demo-mode-banner {
      align-items:center;
      background:var(--surface);
      border-bottom:var(--border-width) solid var(--divider);
      color:var(--text-primary);
      display:flex;
      gap:16px;
      justify-content:space-between;
      min-height:54px;
      padding:10px 32px;
      position:sticky;
      top:0;
      z-index:8;
    }
    .demo-mode-banner strong { font-weight:var(--font-medium); }
    .demo-mode-banner span { color:var(--text-secondary); margin-left:8px; }
    .demo-mode-banner .button { min-height:34px; padding:8px 14px; white-space:nowrap; }
    .demo-mode-banner + header { top:54px; }
    .impersonation-banner + .demo-mode-banner { top:46px; }
    .impersonation-banner + .demo-mode-banner + header { top:100px; }
    .demo-mode [data-watch-button],
    .demo-mode [data-match-status],
    .demo-mode [data-bulk-match-status],
    .demo-mode [data-open-dialog],
    .demo-mode button.danger { cursor:not-allowed; }
    main { max-width:1180px; margin:0 auto; padding:32px; }
    h1 {
      margin:0;
      font-size:clamp(34px, 5vw, 56px);
      font-weight:var(--font-medium);
      line-height:1;
      letter-spacing:0;
    }
    h2 { font-size:19px; font-weight:var(--font-medium); margin:0 0 16px; letter-spacing:0; }
    p { color:var(--text-secondary); margin:6px 0; }
    a { color:var(--accent); text-decoration:none; font-weight:var(--font-medium); }
    a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
    nav { display:flex; gap:18px; align-items:center; }
    nav a, button.link {
      color:var(--text-secondary);
      font-size:14px;
      font-weight:var(--font-medium);
      letter-spacing:0;
      text-transform:none;
    }
    form { margin:0; }
    label { display:grid; gap:7px; color:var(--text-secondary); font-size:13px; font-weight:var(--font-medium); letter-spacing:0; margin-bottom:14px; text-transform:none; }
    .sr-only {
      height:1px;
      margin:-1px;
      overflow:hidden;
      position:absolute;
      width:1px;
      clip:rect(0, 0, 0, 0);
    }
    input, select {
      width:100%;
      border:var(--border-width) solid var(--field-border);
      border-radius:var(--radius-card);
      padding:10px 12px;
      font:inherit;
      letter-spacing:0;
      background:var(--surface-neutral);
      color:var(--text-primary);
    }
    button, .button {
      border:0;
      border-radius:var(--radius-card);
      padding:10px 14px;
      background:var(--accent-primary);
      color:white;
      font-weight:var(--font-medium);
      cursor:pointer;
      display:inline-block;
      letter-spacing:0;
      text-transform:none;
      font-size:14px;
    }
    button.secondary, .button.secondary { background:var(--teal-fill); color:var(--accent-primary); }
    button.danger { background:var(--danger-tint); color:var(--signal-red); }
    button.link { background:transparent; border:0; color:var(--text-secondary); padding:0; }
    :focus-visible { outline:2px solid var(--accent-primary); outline-offset:2px; }
    .brand {
      align-items:center;
      color:var(--text-primary);
      display:flex;
      font-size:22px;
      font-weight:var(--font-medium);
      gap:10px;
      letter-spacing:0;
    }
    .brand-mark {
      display:block;
      height:34px;
      object-fit:contain;
      width:176px;
    }
    .topline { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:28px; }
    .competitor-direction {
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin:0 0 14px;
    }
    .competitor-direction a, .competitor-direction .disabled {
      align-items:center;
      background:var(--pill-bg);
      border:var(--border-width) solid var(--pill-border);
      border-radius:var(--radius-pill);
      color:var(--pill-text);
      display:inline-flex;
      font-size:13px;
      font-weight:var(--font-medium);
      gap:6px;
      line-height:1;
      max-width:260px;
      min-height:34px;
      overflow:hidden;
      padding:9px 12px;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .competitor-direction a:hover { color:var(--accent); }
    .competitor-direction .disabled {
      background:var(--pill-disabled-bg);
      color:var(--pill-disabled-text);
      opacity:1;
      pointer-events:none;
    }
    .compact-competitor-header {
      align-items:center;
      background:var(--surface);
      border:var(--border-width) solid var(--divider);
      border-radius:0 0 var(--radius-card) var(--radius-card);
      display:grid;
      gap:12px;
      grid-template-columns:minmax(0, 1fr) auto auto auto;
      left:50%;
      max-width:1180px;
      opacity:0;
      padding:10px 18px;
      pointer-events:none;
      position:fixed;
      transform:translate(-50%, -8px);
      transition:opacity 180ms ease-out, transform 180ms ease-out;
      width:calc(100% - 64px);
      z-index:8;
    }
    .compact-competitor-header.visible {
      opacity:1;
      pointer-events:auto;
      transform:translate(-50%, 0);
    }
    .compact-competitor-title {
      align-items:center;
      display:flex;
      gap:9px;
      min-width:0;
    }
    .compact-competitor-title strong {
      color:var(--text-primary);
      display:block;
      font-size:18px;
      font-weight:var(--font-medium);
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .compact-competitor-nav {
      align-items:center;
      display:flex;
      gap:8px;
      min-width:0;
    }
    .compact-dashboard-link,
    .compact-competitor-nav a {
      background:var(--pill-bg);
      border:var(--border-width) solid var(--pill-border);
      border-radius:var(--radius-pill);
      color:var(--pill-text);
      font-size:12px;
      font-weight:var(--font-medium);
      max-width:150px;
      overflow:hidden;
      padding:7px 10px;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .compact-dashboard-link:hover,
    .compact-competitor-nav a:hover {
      color:var(--accent);
      text-decoration:none;
    }
    .compact-competitor-header form { margin:0; }
    .compact-competitor-header button {
      font-size:13px;
      padding:8px 12px;
      white-space:nowrap;
    }
    .grid { display:grid; gap:22px; }
    .grid.two { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items:start; }
    .dashboard-shell { align-items:start; display:grid; gap:22px; grid-template-columns:minmax(0, 1fr) 340px; }
    .dashboard-main { display:grid; gap:22px; min-width:0; }
    .dashboard-side { align-self:start; display:grid; gap:16px; position:sticky; top:92px; }
    .metric-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:14px; margin:0 0 28px; }
    .competitor-metrics { grid-template-columns:repeat(4, minmax(0, 1fr)); }
    .metric {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      padding:18px;
      transition:border-color 200ms ease-out, background-color 200ms ease-out;
    }
    .metric span { color:var(--text-secondary); display:block; font-size:13px; font-weight:var(--font-regular); margin-top:7px; }
    .metric strong { display:block; font-size:34px; font-weight:var(--font-medium); line-height:1; }
    .metric-link {
      color:var(--text-primary);
      display:block;
      position:relative;
      transition:background-color .15s ease, border-color .15s ease, transform .15s ease;
    }
    .metric-link:hover {
      background:var(--teal-fill);
      border-color:var(--teal-fill);
      color:var(--text-primary);
      text-decoration:none;
      transform:translateY(-1px);
    }
    .metric-link i {
      color:var(--accent-primary);
      font-style:normal;
      font-weight:var(--font-medium);
      opacity:.72;
      position:absolute;
      right:16px;
      top:14px;
    }
    .metric-grid > .metric:nth-child(1), .competitor-metrics > .metric:nth-child(1) {
      background:var(--teal-fill);
      border:0;
      color:var(--teal-text);
    }
    .metric-grid > .metric:nth-child(1) span, .metric-grid > .metric:nth-child(1) strong,
    .competitor-metrics > .metric:nth-child(1) span, .competitor-metrics > .metric:nth-child(1) strong { color:var(--teal-text); }
    .metric-warn {
      background:var(--amber-fill);
      border:0;
      color:var(--amber-text);
    }
    .metric-warn span, .metric-warn strong { color:var(--amber-text); }
    .metric-bad {
      background:var(--coral-fill);
      border:0;
      color:var(--coral-text);
    }
    .metric-bad span, .metric-bad strong { color:var(--coral-text); }
    .competitor-overview { display:grid; gap:18px; }
    .overview-grid {
      display:grid;
      gap:16px;
      grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    }
    .overview-card {
      align-content:start;
      display:grid;
      gap:14px;
    }
    .overview-card h2 {
      font-size:18px;
      margin:0;
    }
    .overview-card dl {
      display:grid;
      gap:10px;
      margin:0;
    }
    .overview-card dl div {
      align-items:baseline;
      border-top:var(--border-width) solid var(--divider);
      display:flex;
      gap:12px;
      justify-content:space-between;
      padding-top:10px;
    }
    .overview-card dt {
      color:var(--text-secondary);
      font-size:13px;
    }
    .overview-card dd {
      color:var(--text-primary);
      font-weight:var(--font-medium);
      margin:0;
      text-align:right;
    }
    .overview-trend { border-top:var(--border-width) solid var(--divider); margin-top:4px; padding-top:10px; }
    .overview-trend summary { color:var(--accent); cursor:pointer; font-size:13px; font-weight:var(--font-medium); }
    .overview-trend-body { height:96px; margin-top:8px; position:relative; }
    .overview-trend-body canvas { height:100% !important; width:100% !important; }
    .peer-current-value { color:var(--text-primary); font-weight:var(--font-medium); }
    .peer-verdict { border-radius:var(--radius-pill); display:inline-block; font-size:11px; font-weight:var(--font-medium); margin-left:8px; padding:2px 8px; }
    .peer-verdict-better { background:var(--success-tint); color:var(--signal-green); }
    .peer-verdict-worse { background:var(--danger-tint); color:var(--signal-red); }
    .peer-verdict-neutral { background:var(--pill-bg); color:var(--pill-text); }
    .landscape-section { margin:0 0 28px; }
    .landscape-locked-section p { margin:0; }
    .landscape-grid {
      display:grid;
      gap:16px;
      grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .landscape-card { display:grid; gap:8px; }
    .landscape-locked { align-content:start; gap:12px; }
    .landscape-card-head { align-items:center; display:flex; gap:10px; justify-content:space-between; }
    .landscape-card-head h3 { font-size:15px; font-weight:var(--font-medium); margin:0; }
    .landscape-badge {
      background:var(--pill-bg);
      border-radius:var(--radius-pill);
      color:var(--pill-text);
      flex:none;
      font-size:11px;
      font-weight:var(--font-medium);
      padding:3px 9px;
    }
    .landscape-sentence { color:var(--text-primary); font-size:14px; margin:0; }
    .landscape-note { font-size:12px; margin:0; }
    .landscape-chart-body { height:72px; margin-top:4px; position:relative; }
    .landscape-chart-body canvas { height:100% !important; width:100% !important; }
    .landscape-bars { display:grid; gap:10px; margin-top:4px; }
    .landscape-bar-row { display:grid; gap:4px; }
    .landscape-bar-label { font-weight:var(--font-medium); }
    .landscape-bar-values { color:var(--text-secondary); display:flex; flex-wrap:wrap; font-size:13px; gap:10px; }
    .landscape-bar-value { align-items:center; display:inline-flex; gap:6px; }
    .sidebar-link {
      align-items:center;
      color:var(--text-primary);
      display:flex;
      font-weight:var(--font-medium);
      justify-content:space-between;
      text-decoration:none;
    }
    .sidebar-link:hover { border-color:var(--field-border); }
    @media (max-width:900px) {
      .landscape-grid { grid-template-columns:1fr; }
    }
    .category-comparison-card { display:grid; gap:14px; margin-top:16px; }
    .category-comparison-card dl { display:grid; gap:10px; margin:0; }
    .category-comparison-card dl div {
      align-items:baseline;
      border-top:var(--border-width) solid var(--divider);
      display:flex;
      gap:12px;
      justify-content:space-between;
      padding-top:10px;
    }
    .category-comparison-card dt { color:var(--text-secondary); font-size:13px; }
    .category-comparison-card dd { color:var(--text-primary); font-weight:var(--font-medium); margin:0; text-align:right; }
    .value-good { color:var(--signal-green); }
    .value-bad { color:var(--signal-red); }
    .value-neutral { color:var(--accent); }
    .quick-actions { display:grid; gap:14px; }
    .quick-actions form { margin:0; }
    .scan-progress {
      background:var(--subsurface);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:grid;
      gap:8px;
      margin-top:10px;
      padding:12px;
    }
    .scan-progress-row {
      align-items:center;
      display:flex;
      gap:12px;
      justify-content:space-between;
    }
    .scan-progress-row span {
      color:var(--text-primary);
      font-size:14px;
      font-weight:var(--font-medium);
    }
    .scan-progress-row strong {
      color:var(--text-primary);
      font-size:14px;
      font-variant-numeric:tabular-nums;
      white-space:nowrap;
    }
    .scan-progress-track {
      background:var(--pill-disabled-bg);
      border-radius:var(--radius-pill);
      height:8px;
      overflow:hidden;
    }
    .scan-progress-track span {
      background:var(--accent);
      border-radius:var(--radius-pill);
      display:block;
      height:100%;
      transition:width .24s ease-out;
      width:0;
    }
    .scan-progress-note {
      font-size:13px;
      margin:0;
    }
    .scan-retry {
      justify-self:start;
      margin-top:2px;
    }
    .pagination-row {
      align-items:center;
      display:flex;
      gap:12px;
      justify-content:center;
      margin:18px 0 0;
    }
    .pagination-row .disabled {
      opacity:.45;
      pointer-events:none;
    }
    .activation-panel {
      display:grid;
      gap:16px;
      margin:0 auto 22px;
      max-width:1180px;
    }
    .activation-head {
      align-items:start;
      display:flex;
      gap:16px;
      justify-content:space-between;
    }
    .activation-panel h2 { font-size:28px; margin:4px 0 6px; }
    .activation-checklist {
      display:grid;
      gap:10px;
      grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
      list-style:none;
      margin:0;
      padding:0;
    }
    .activation-checklist li {
      background:var(--subsurface);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:grid;
      gap:6px;
      grid-template-columns:auto minmax(0, 1fr);
      padding:12px;
    }
    .activation-checklist li > span {
      align-items:center;
      background:var(--pill-bg);
      border-radius:var(--radius-pill);
      color:var(--text-secondary);
      display:flex;
      font-weight:var(--font-medium);
      height:24px;
      justify-content:center;
      width:24px;
    }
    .activation-checklist li.complete > span {
      background:var(--success-tint);
      color:var(--signal-green);
    }
    .activation-checklist strong { font-size:14px; }
    .activation-checklist small {
      color:var(--text-secondary);
      grid-column:2;
      line-height:1.35;
    }
    .activation-checklist small button {
      border-radius:var(--radius-pill);
      font-size:12px;
      padding:7px 10px;
    }
    .activation-review {
      border-top:var(--border-width) solid var(--divider);
      display:grid;
      gap:12px;
      padding-top:14px;
    }
    .activation-review h3 { font-size:18px; margin:0; }
    .activation-match-stack { display:grid; gap:10px; }
    .activation-match-summary {
      cursor:default;
      grid-template-columns:minmax(180px, 1.1fr) minmax(180px, 1.1fr) 82px minmax(110px, .8fr) auto;
    }
    .activation-reveal {
      border-top:2px solid var(--accent);
    }
    .activation-reveal-card {
      align-items:center;
      background:var(--subsurface);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:grid;
      gap:14px;
      grid-template-columns:minmax(220px, 1.3fr) minmax(160px, .7fr) minmax(160px, .8fr) auto;
      padding:14px;
    }
    .activity-table-panel { overflow:hidden; }
    .activity-table {
      display:grid;
      min-width:0;
      overflow-x:auto;
      overscroll-behavior-x:contain;
      padding-bottom:8px;
      -webkit-overflow-scrolling:touch;
    }
    .activity-table::-webkit-scrollbar { height:10px; }
    .activity-table::-webkit-scrollbar-track { background:var(--subsurface); border-radius:var(--radius-pill); }
    .activity-table::-webkit-scrollbar-thumb { background:var(--teal-fill); border-radius:var(--radius-pill); }
    .activity-head, .activity-row {
      align-items:center;
      display:grid;
      gap:14px;
      grid-template-columns:minmax(130px, .9fr) minmax(220px, 1.5fr) minmax(120px, .9fr) minmax(150px, 1fr) minmax(110px, .8fr);
      min-width:900px;
    }
    .activity-head {
      border-bottom:var(--border-width) solid var(--divider);
      color:var(--text-secondary);
      font-size:11px;
      font-weight:var(--font-medium);
      letter-spacing:.08em;
      padding:0 0 12px;
      text-transform:uppercase;
    }
    .activity-head a { color:var(--accent); }
    .activity-row {
      border-bottom:var(--border-width) solid var(--divider);
      color:var(--text-primary);
      padding:14px 0;
    }
    .activity-row:hover { color:var(--text-primary); background:var(--subsurface); }
    .activity-row strong { font-weight:var(--font-medium); }
    .activity-row .activity-why { grid-column:1 / -1; margin:0 0 4px; }
    .admin-metrics { grid-template-columns:repeat(6, minmax(0, 1fr)); }
    .admin-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; margin-bottom:16px; }
    .admin-users-panel { overflow:hidden; }
    .admin-table-wrap { overflow-x:auto; padding-bottom:2px; }
    .admin-table { border-collapse:collapse; min-width:1080px; width:100%; }
    .admin-table th {
      color:var(--text-secondary);
      font-size:11px;
      font-weight:var(--font-medium);
      letter-spacing:.08em;
      padding:0 12px 12px 0;
      text-align:left;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .admin-table td {
      border-top:var(--border-width) solid var(--divider);
      color:var(--text-primary);
      font-size:14px;
      padding:14px 12px 14px 0;
      vertical-align:top;
    }
    .admin-table td span { color:var(--text-secondary); display:block; font-size:12px; margin-top:4px; }
    .admin-table td strong { display:block; font-weight:var(--font-medium); }
    .admin-bad { color:var(--signal-red) !important; }
    .admin-good { color:var(--signal-green) !important; }
    .admin-warn { color:var(--signal-orange) !important; }
    .admin-user-row { cursor:pointer; transition:background .15s ease, transform .15s ease; }
    .admin-user-row:hover { background:var(--hover-bg); }
    .admin-row-actions {
      align-items:flex-start;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      min-width:220px;
    }
    .admin-row-actions form { margin:0; }
    .admin-manual-tag {
      background:var(--warning-tint);
      border-radius:var(--radius-pill);
      color:var(--signal-orange) !important;
      display:inline-flex !important;
      font-size:11px !important;
      font-weight:var(--font-medium);
      margin:6px 0 0;
      padding:4px 8px;
      width:max-content;
    }
    .admin-health-card h3 { font-size:16px; margin:18px 0 8px; }
    .admin-mini-list, .admin-timeline { display:grid; gap:10px; list-style:none; margin:0; padding:0; }
    .admin-mini-list li {
      align-items:center;
      border-top:var(--border-width) solid var(--divider);
      display:flex;
      gap:12px;
      justify-content:space-between;
      padding-top:10px;
    }
    .admin-mini-list span, .admin-timeline span { color:var(--text-secondary); font-size:13px; }
    .admin-timeline li { border-top:var(--border-width) solid var(--divider); padding-top:12px; }
    .admin-timeline strong { display:block; font-weight:var(--font-medium); margin-bottom:4px; }
    .admin-timeline p { color:var(--text-secondary); margin:6px 0 0; }
    .admin-action-form { display:grid; gap:14px; margin-top:14px; }
    .admin-impersonate-control summary {
      color:var(--accent);
      cursor:pointer;
      font-size:13px;
      font-weight:var(--font-medium);
      list-style:none;
      white-space:nowrap;
    }
    .admin-impersonate-control summary::-webkit-details-marker { display:none; }
    .admin-impersonate-control .admin-action-form {
      min-width:240px;
      padding-top:10px;
    }
    .admin-login-link-form { margin:0; }
    .admin-impersonation-panel { min-width:0; }
    .admin-prospect-panel { margin-bottom:16px; }
    .admin-prospect-form {
      display:grid;
      gap:14px;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      margin-top:16px;
    }
    .admin-prospect-form fieldset {
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:grid;
      gap:10px;
      grid-column:1 / -1;
      margin:0;
      padding:14px;
    }
    .admin-prospect-form legend {
      color:var(--text-primary);
      font-weight:var(--font-medium);
      padding:0 6px;
    }
    .admin-prospect-form textarea { resize:vertical; }
    .admin-prospect-form button { justify-self:start; }
    .admin-prospect-result { display:grid; gap:16px; }
    .copy-row {
      display:grid;
      gap:10px;
      grid-template-columns:minmax(0, 1fr) auto;
    }
    .copy-row input { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:13px; }
    .back-link { color:var(--accent); display:inline-block; font-weight:var(--font-medium); margin-bottom:12px; text-decoration:none; }
    .flash { background:var(--success-tint); border:var(--border-width) solid var(--divider); border-radius:var(--radius-card); color:var(--signal-green); margin:0 0 16px; padding:14px 16px; }
    .flash.error { background:var(--danger-tint); color:var(--signal-red); }
    .callout {
      background:var(--teal-fill);
      border:0;
      border-radius:var(--radius-card);
      display:flex;
      justify-content:space-between;
      gap:18px;
      align-items:center;
      padding:24px;
      margin:0 0 18px;
      position:relative;
      overflow:hidden;
    }
    .callout, .callout p, .callout h2 { color:var(--teal-text); }
    .callout:not(.quiet) {
      background:var(--amber-fill);
      color:var(--amber-text);
    }
    .callout:not(.quiet) p, .callout:not(.quiet) h2 { color:var(--amber-text); }
    .callout h2 {
      font-size:clamp(24px, 3vw, 36px);
      font-weight:var(--font-medium);
      line-height:1.12;
      margin:4px 0;
    }
    .callout p { margin:0; }
    .callout-link {
      color:inherit;
      text-decoration:none;
    }
    .callout-link:hover {
      text-decoration:none;
    }
    .eyebrow { color:var(--text-secondary); display:block; font-size:13px; font-weight:var(--font-medium); margin-bottom:7px; }
    .section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; }
    .panel {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      padding:20px;
      transition:border-color 200ms ease-out, background-color 200ms ease-out;
    }
    .narrow { max-width:520px; }
    .auth { padding-top:72px; }
    .filters { display:flex; gap:10px; margin:0 0 16px; align-items:center; }
    .filters select { max-width:240px; }
    .inline-check {
      display:flex;
      margin:0;
      white-space:nowrap;
    }
    .feed { display:grid; gap:0; }
    .feed.compact { max-height:760px; overflow:auto; }
    .event, .product, .store {
      display:grid;
      grid-template-columns:auto minmax(0, 1fr);
      gap:14px;
      align-items:center;
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      padding:12px;
      transition:border-color 200ms ease-out, background-color 200ms ease-out;
    }
    .event {
      grid-template-columns:40px auto minmax(0, 1fr);
      background:var(--teal-fill);
      border:0;
      color:var(--teal-text);
      border-radius:var(--radius-card);
      margin-bottom:8px;
      padding:12px;
      transition:background-color .15s ease, transform .15s ease;
    }
    .event.price_change { background:var(--cat-price-tint); color:var(--cat-price-icon); }
    .event.stock_change { background:var(--cat-stock-tint); color:var(--cat-stock-icon); }
    .event.new_product { background:var(--cat-new-tint); color:var(--cat-new); }
    .event.product_removed { background:var(--subsurface); color:var(--text-secondary); }
    .event.offer_started, .event.offer_changed, .event.offer_ended, .event.homepage_promo_detected { background:var(--cat-promo-tint); color:var(--cat-promo-icon); }
    .event:hover { filter:brightness(.98); text-decoration:none; transform:translateY(-1px); }
    .event p, .event .meta { color:inherit; }
    .why-matters {
      border-top:var(--border-width) solid var(--divider);
      margin-top:10px;
      padding-top:8px;
    }
    .why-matters summary {
      color:var(--accent);
      cursor:pointer;
      font-size:13px;
      font-weight:var(--font-medium);
      list-style-position:inside;
    }
    .why-body {
      display:grid;
      gap:8px;
      padding:9px 0 0 16px;
    }
    .why-section span {
      color:var(--accent);
      display:block;
      font-size:11px;
      font-weight:var(--font-medium);
      letter-spacing:.08em;
      margin-bottom:4px;
      text-transform:uppercase;
    }
    .why-section p, .why-section li, .why-based-on, .why-trust {
      color:var(--text-secondary);
      font-size:13px;
      line-height:1.45;
      margin:0;
    }
    .why-section ul { margin:0; padding-left:18px; }
    .why-based-on {
      background:var(--subsurface);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-pill);
      display:inline-flex;
      justify-self:start;
      padding:5px 9px;
    }
    .flag-explanation {
      appearance:none;
      background:transparent;
      border:0;
      color:var(--accent);
      cursor:pointer;
      font:inherit;
      font-size:13px;
      font-weight:var(--font-medium);
      justify-self:start;
      padding:0;
    }
    .flag-explanation:disabled { color:var(--text-secondary); cursor:default; }
    .event-icon {
      align-items:center;
      border:0;
      border-radius:var(--radius-control);
      display:flex;
      font-weight:var(--font-medium);
      height:34px;
      justify-content:center;
      width:34px;
    }
    .event-icon.price_change { background:var(--cat-price-tint); color:var(--cat-price-icon); }
    .event-icon.stock_change { background:var(--cat-stock-tint); color:var(--cat-stock-icon); }
    .event-icon.new_product { background:var(--cat-new-tint); color:var(--cat-new); }
    .event-icon.product_removed { background:var(--subsurface); color:var(--text-secondary); }
    .event-icon.homepage_promo_detected, .event-icon.offer_started, .event-icon.offer_changed, .event-icon.offer_ended {
      background:var(--cat-promo-tint); color:var(--cat-promo-icon);
    }
    .store { grid-template-columns:1fr auto; margin-bottom:10px; }
    .store-actions { align-items:center; display:flex; gap:10px; }
    .small-button { border-radius:var(--radius-pill); font-size:13px; padding:7px 10px; }
    .event img, .product img, .thumb { width:64px; height:64px; border-radius:var(--radius-card); object-fit:cover; background:var(--surface-neutral); }
    .product { align-items:start; margin-bottom:10px; }
    .product-body { min-width:0; }
    .product-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; min-width:0; }
    .price-range { color:var(--text-primary); font-weight:var(--font-medium); white-space:nowrap; }
    .product-stats { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
    .product-stats span { background:var(--surface-neutral); border-radius:var(--radius-pill); color:var(--text-secondary); font-size:12px; font-weight:var(--font-medium); padding:5px 9px; }
    .tag-row { display:flex; flex-wrap:wrap; gap:6px; margin:7px 0 0; }
    .tag-row span { background:var(--teal-fill); border-radius:var(--radius-pill); color:var(--accent); font-size:12px; font-weight:var(--font-medium); padding:4px 8px; }
    .variants { margin-top:8px; }
    .variants summary { color:var(--accent); cursor:pointer; font-size:13px; font-weight:var(--font-medium); list-style-position:inside; }
    .variant-table { background:var(--surface-neutral); border:var(--border-width) solid var(--field-border); border-radius:var(--radius-card); margin-top:8px; overflow:hidden; }
    .variant-row { display:grid; grid-template-columns:minmax(0, 1fr) 96px 96px; gap:10px; align-items:center; padding:9px 11px; border-top:var(--border-width) solid var(--divider); font-size:13px; }
    .variant-row:first-child { border-top:0; }
    .variant-row span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .variant-header { color:var(--text-secondary); font-size:12px; font-weight:var(--font-medium); }
    .stock-in { color:var(--signal-green); font-weight:var(--font-medium); }
    .stock-out { color:var(--signal-red); font-weight:var(--font-medium); }
    .stock-partial { color:var(--signal-orange); font-weight:var(--font-medium); }
    .price-history { margin-top:12px; position:relative; }
    .chart-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:4px; flex-wrap:wrap; }
    .chart-toolbar label { display:flex; grid-template-columns:none; align-items:center; gap:8px; color:var(--text-secondary); font-size:13px; font-weight:var(--font-medium); margin:0; }
    .chart-toolbar select { width:auto; max-width:220px; padding:6px 8px; font-size:12px; }
    .chart-value { color:var(--text-primary); font-size:13px; font-weight:var(--font-medium); white-space:nowrap; }
    .chart-legend { display:flex; align-items:center; gap:10px; color:var(--text-secondary); font-size:12px; }
    .chart-legend span { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
    .stock-swatch { display:inline-block; width:16px; height:3px; border-radius:var(--radius-pill); }
    .stock-swatch.in { background:var(--signal-green); }
    .stock-swatch.out { background:repeating-linear-gradient(90deg, var(--signal-red) 0, var(--signal-red) 4px, transparent 4px, transparent 7px); }
    .meta, .muted { color:var(--text-secondary); font-size:13px; }
    .watched-label {
      background:var(--amber-fill);
      border-radius:var(--radius-pill);
      color:var(--amber-text);
      display:inline-block;
      font-size:11px;
      font-weight:var(--font-medium);
      margin-left:6px;
      padding:2px 6px;
      vertical-align:middle;
    }
    .badge { border-radius:var(--radius-pill); padding:5px 9px; font-size:12px; font-weight:var(--font-medium); }
    .badge.good { background:var(--success-tint); color:var(--signal-green); }
    .badge.bad, .alert { color:var(--signal-red); }
    .badge.bad { background:var(--danger-tint); }
    .badge.warn { background:var(--warning-tint); color:var(--signal-orange); }
    .alert, .notice { background:var(--surface-neutral); border:var(--border-width) solid var(--divider); border-radius:var(--radius-card); padding:12px; margin-bottom:16px; }
    .notice { color:var(--signal-green); }
    .actions { display:flex; gap:10px; }
    .check { display:flex; grid-template-columns:auto 1fr; align-items:center; gap:10px; }
    .check input { width:auto; }
    .chart { width:100%; height:64px; margin-top:4px; }
    .chart polyline { fill:none; stroke:var(--accent); stroke-width:3; vector-effect:non-scaling-stroke; }
    .chart circle { fill:white; stroke:var(--accent); stroke-width:2; vector-effect:non-scaling-stroke; }
    .chart-lines .step-line { fill:none; stroke:var(--accent); stroke-width:3; stroke-linecap:round; vector-effect:non-scaling-stroke; }
    .chart-lines .step-line.out { stroke-dasharray:4 3; }
    .chart-dot.in { fill:var(--signal-green); stroke:var(--signal-green); }
    .chart-dot.out { fill:white; stroke:var(--signal-red); }
    .chart-point { cursor:crosshair; outline:none; }
    .chart-point:focus-visible .chart-dot, .chart-point:hover .chart-dot { fill:var(--accent); stroke:var(--accent); }
    .chart-hit { fill:transparent; stroke:transparent; pointer-events:all; }
    .chart-tooltip {
      background:var(--text-primary);
      border-radius:var(--radius-control);
      color:white;
      display:grid;
      font-size:12px;
      gap:2px;
      line-height:1.3;
      padding:7px 9px;
      pointer-events:none;
      position:absolute;
      transform:translateY(-2px);
      white-space:nowrap;
      z-index:4;
    }
    .chart-tooltip[hidden] { display:none; }
    .chart-tooltip span { color:rgba(255,255,255,.76); }
    .image-preview {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      padding:8px;
      pointer-events:none;
      position:fixed;
      z-index:50;
    }
    .image-preview[hidden] { display:none; }
    .image-preview img { background:var(--subsurface); border-radius:var(--radius-card); display:block; height:240px; object-fit:cover; width:240px; }
    .detail-tabs {
      background:var(--tab-bg);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:inline-flex;
      gap:6px;
      margin:0 0 18px;
      padding:5px;
    }
    .detail-tabs a {
      border-radius:var(--radius-card);
      color:var(--text-secondary);
      padding:9px 13px;
    }
    .detail-tabs a.active {
      background:var(--tab-active-bg);
      color:var(--tab-active-text);
      text-decoration:none;
    }
    .overflow-menu, .export-menu { position:relative; }
    .overflow-menu summary, .export-menu summary {
      background:var(--teal-fill);
      border-radius:var(--radius-card);
      color:var(--accent);
      cursor:pointer;
      font-size:14px;
      font-weight:var(--font-medium);
      list-style:none;
      padding:10px 14px;
      white-space:nowrap;
    }
    .overflow-menu summary::-webkit-details-marker, .export-menu summary::-webkit-details-marker { display:none; }
    .overflow-menu form, .overflow-menu .menu-panel, .export-menu a {
      background:white;
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      min-width:220px;
      padding:10px;
      position:absolute;
      right:0;
      top:48px;
      z-index:3;
    }
    .overflow-menu .menu-panel button { width:100%; }
    .export-menu a {
      color:var(--text-primary);
      display:block;
      font-size:13px;
      margin-top:4px;
      position:static;
      border:0;
      min-width:0;
    }
    .export-menu[open] {
      background:white;
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      padding:0 8px 8px;
      position:relative;
    }
    .catalogue-toolbar {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
      gap:14px 16px;
      margin-bottom:18px;
      padding:16px;
    }
    .catalogue-toolbar label { margin:0; min-width:0; }
    .catalogue-toolbar input, .catalogue-toolbar select {
      border-radius:var(--radius-card);
      height:42px;
      min-height:42px;
      min-width:0;
      overflow:hidden;
      padding-bottom:9px;
      padding-top:9px;
      text-overflow:ellipsis;
    }
    .catalogue-toolbar label:first-of-type { grid-column:span 2; }
    .collapsed-toolbar { display:block; }
    .filter-compact-row {
      align-items:center;
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      position:relative;
    }
    .filter-compact-row > .toolbar-search {
      display:block;
      flex:1 1 270px;
      grid-column:auto;
      height:42px;
    }
    .filter-details { position:relative; }
    .filter-details summary {
      align-items:center;
      background:var(--accent-tint);
      border-radius:var(--radius-card);
      color:var(--accent);
      cursor:pointer;
      display:flex;
      font-weight:var(--font-medium);
      gap:8px;
      height:42px;
      justify-content:center;
      list-style:none;
      min-height:42px;
      padding:10px 14px;
    }
    .filter-details summary::-webkit-details-marker { display:none; }
    .filter-details summary .filter-count {
      align-items:center;
      background:var(--accent);
      border-radius:var(--radius-pill);
      color:var(--surface-neutral);
      display:inline-flex;
      font-size:11px;
      height:20px;
      justify-content:center;
      min-width:20px;
      padding:0 6px;
    }
    .filter-expanded-grid {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:grid;
      gap:12px;
      grid-template-columns:repeat(3, minmax(180px, 1fr));
      left:0;
      margin-top:8px;
      min-width:min(760px, calc(100vw - 48px));
      padding:16px;
      position:absolute;
      top:100%;
      z-index:20;
    }
    .catalogue-toolbar .compact-check {
      align-self:end;
      background:var(--surface-neutral);
      border-radius:var(--radius-card);
      display:flex;
      gap:9px;
      min-height:42px;
      padding:9px 10px;
    }
    .toolbar-actions {
      align-items:center;
      display:flex;
      flex-wrap:wrap;
      gap:9px;
      grid-column:1 / -1;
      justify-content:flex-end;
      padding-top:4px;
    }
    .chip {
      align-items:center;
      background:var(--pill-bg);
      border:var(--border-width) solid var(--pill-border);
      border-radius:var(--radius-card);
      color:var(--pill-text);
      display:inline-flex;
      font-size:13px;
      font-weight:var(--font-medium);
      gap:7px;
      height:42px;
      padding:9px 12px;
    }
    .chip.active { background:var(--teal-fill); color:var(--accent); }
    .filter-compact-row > button,
    .filter-compact-row > .button,
    .export-menu > summary {
      align-items:center;
      border-radius:var(--radius-card);
      display:inline-flex;
      gap:7px;
      height:42px;
      justify-content:center;
      line-height:1;
      padding:9px 14px;
      white-space:nowrap;
    }
    .ui-icon {
      display:inline-block;
      flex:0 0 auto;
      height:16px;
      stroke:currentColor;
      stroke-linecap:round;
      stroke-linejoin:round;
      stroke-width:1.8;
      width:16px;
    }
    .ui-icon path {
      fill:none;
      vector-effect:non-scaling-stroke;
    }
    .compact-empty {
      min-height:0;
      padding:12px 14px;
    }
    .compact-empty p { margin:0; }
    .compact-empty p + p { margin-top:4px; }
    .catalogue-results { display:grid; gap:16px; }
    .catalogue-group {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      overflow:hidden;
    }
    .group-summary {
      align-items:center;
      cursor:pointer;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      padding:15px 16px;
    }
    .group-summary strong { margin-right:auto; }
    .group-summary span {
      background:var(--pill-bg);
      border:var(--border-width) solid var(--pill-border);
      border-radius:var(--radius-pill);
      color:var(--pill-text);
      font-size:12px;
      font-weight:var(--font-medium);
      padding:5px 9px;
    }
    .product-table { border-top:var(--border-width) solid var(--divider); }
    .product-table-head, .product-summary {
      display:grid;
      grid-template-columns:minmax(240px, 2.1fr) minmax(110px, .8fr) minmax(100px, .75fr) 64px minmax(100px, .75fr) minmax(104px, .75fr) minmax(116px, .8fr) minmax(116px, .8fr) minmax(104px, .75fr) minmax(104px, .75fr);
      gap:12px;
      align-items:center;
    }
    .product-table-head {
      color:var(--text-secondary);
      font-size:12px;
      font-weight:var(--font-medium);
      padding:10px 16px;
    }
    .product-row {
      border-top:var(--border-width) solid var(--divider);
      display:block;
    }
    .product-summary {
      cursor:pointer;
      list-style:none;
      min-height:78px;
      padding:10px 16px;
    }
    .product-summary::-webkit-details-marker { display:none; }
    .product-summary > span {
      color:var(--text-secondary);
      font-size:13px;
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .price-cell {
      align-items:center;
      display:flex;
      flex-wrap:wrap;
      gap:7px;
    }
    .price-history-badge {
      align-items:center;
      background:var(--pill-bg);
      border:var(--border-width) solid var(--pill-border);
      border-radius:var(--radius-pill);
      color:var(--pill-text);
      display:inline-flex;
      flex:0 0 auto;
      font-size:11px;
      font-weight:var(--font-medium);
      gap:4px;
      line-height:1;
      padding:4px 7px;
    }
    .price-history-badge .ui-icon {
      height:13px;
      width:13px;
    }
    .custom-scrape-panel {
      display:grid;
      gap:14px;
    }
    .scrape-target-list {
      display:grid;
      gap:8px;
    }
    .scrape-target-row {
      align-items:center;
      background:var(--subsurface);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:grid;
      gap:12px;
      grid-template-columns:minmax(0, 1fr) auto auto;
      padding:10px 12px;
    }
    .scrape-target-row span {
      min-width:0;
    }
    .scrape-target-row strong {
      display:block;
      text-transform:capitalize;
    }
    .scrape-target-row small {
      color:var(--text-secondary);
      display:block;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .scrape-target-row form {
      margin:0;
    }
    .scrape-failure-list {
      border-top:var(--border-width) solid var(--divider);
      display:grid;
      gap:8px;
      padding-top:12px;
    }
    .scrape-failure-list h3,
    .scrape-failure-list p {
      margin:0;
    }
    .product-title-cell {
      align-items:center;
      color:var(--text-primary) !important;
      display:grid;
      grid-template-columns:48px minmax(0, 1fr);
      gap:12px;
    }
    .product-title-cell img, .product-title-cell .thumb {
      border-radius:var(--radius-card);
      height:48px;
      width:48px;
    }
    .product-title-cell strong {
      color:var(--text-primary);
      display:block;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .title-line {
      align-items:center;
      display:flex;
      gap:7px;
      min-width:0;
    }
    .product-live-link {
      align-items:center;
      color:var(--text-primary);
      display:inline-flex;
      gap:5px;
      min-width:0;
      max-width:100%;
    }
    .product-live-link:hover {
      color:var(--text-primary);
      text-decoration:underline;
      text-decoration-color:var(--accent);
      text-underline-offset:3px;
    }
    .product-live-link span {
      color:var(--accent);
      flex:0 0 auto;
      font-size:11px;
      line-height:1;
      opacity:.78;
    }
    .product-image-link {
      border-radius:var(--radius-card);
      display:inline-flex;
      line-height:0;
    }
    .product-image-link:hover {
      text-decoration:none;
    }
    .star-button {
      align-items:center;
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-pill);
      color:var(--text-secondary);
      display:inline-flex;
      flex:0 0 auto;
      font-size:18px;
      height:28px;
      justify-content:center;
      line-height:1;
      padding:0;
      width:28px;
    }
    .star-button.watched {
      background:var(--amber-fill);
      border-color:var(--amber-fill);
      color:var(--amber-text);
    }
    .remove-watch-form { align-self:start; }
    .product-expanded {
      background:var(--surface-neutral);
      border-top:var(--border-width) solid var(--divider);
      display:grid;
      gap:12px;
      grid-template-columns:minmax(280px, .9fr) minmax(340px, 1.1fr);
      padding:12px 16px 16px 76px;
    }
    .new-badge {
      background:var(--green-fill);
      border-radius:var(--radius-pill);
      color:var(--green-text);
      display:inline-block;
      font-size:11px;
      font-weight:var(--font-medium);
      margin-top:4px;
      padding:3px 7px;
    }
    .compact-tags span {
      background:var(--divider);
      color:var(--text-secondary);
      font-size:11px;
      max-width:150px;
      overflow:hidden;
      padding:3px 7px;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .mobile-only { display:none; }
    .empty-state {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      color:var(--text-secondary);
      padding:18px;
    }
    .watchlist-table {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      overflow:hidden;
    }
    .watchlist-head, .watchlist-row {
      align-items:center;
      display:grid;
      gap:12px;
      grid-template-columns:minmax(260px, 2fr) minmax(130px, 1fr) minmax(120px, .9fr) minmax(100px, .75fr) minmax(110px, .85fr) 80px minmax(150px, 1fr) minmax(120px, .9fr) minmax(120px, .8fr);
      padding:12px 16px;
    }
    .watchlist-head {
      border-bottom:var(--border-width) solid var(--divider);
      color:var(--text-secondary);
      font-size:12px;
      font-weight:var(--font-medium);
    }
    .watchlist-row {
      border-bottom:var(--border-width) solid var(--divider);
      min-height:76px;
    }
    .watchlist-row:last-child { border-bottom:0; }
    .watchlist-row > span {
      color:var(--text-secondary);
      font-size:13px;
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .watchlist-row.removed { opacity:.82; }
    .removed-label {
      color:var(--signal-red);
      display:block;
      font-size:12px;
      margin-top:4px;
    }
    .row-actions {
      align-items:center;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      justify-content:flex-end;
    }
    .history-empty { display:grid; gap:10px; justify-items:start; }
    .full-feed { max-height:none; }
    .history-filter-row {
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin:0 0 12px;
    }
    .history-filter-row a {
      background:var(--pill-bg);
      border:var(--border-width) solid var(--pill-border);
      border-radius:var(--radius-pill);
      color:var(--pill-text);
      font-size:13px;
      font-weight:var(--font-medium);
      padding:8px 11px;
    }
    .history-filter-row a.active {
      background:var(--accent-tint);
      color:var(--accent);
    }
    .history-more { display:grid; gap:12px; }
    .history-more summary {
      justify-self:start;
      list-style:none;
      cursor:pointer;
      border:0;
      border-radius:var(--radius-card);
      background:var(--accent-tint);
      color:var(--accent);
      padding:10px 14px;
      font-weight:var(--font-medium);
    }
    .history-more summary::-webkit-details-marker { display:none; }
    .history-more .feed { margin-top:0; }
    .upgrade-panel {
      display:grid;
      gap:10px;
      justify-items:start;
      max-width:720px;
    }
    .match-toolbar {
      align-items:center;
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:grid;
      gap:16px;
      grid-template-columns:minmax(220px, 1fr) minmax(220px, 2fr) auto auto;
      margin-bottom:12px;
      padding:16px;
    }
    .match-toolbar label {
      color:var(--text-primary);
      font-size:15px;
      margin:0;
    }
    .match-toolbar p { margin:0; }
    .match-toolbar input[type="range"] { padding:0; }
    .match-status-tabs {
      align-items:center;
      background:var(--tab-bg);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:flex;
      gap:6px;
      margin-bottom:12px;
      padding:6px;
      width:max-content;
    }
    .match-status-tabs a {
      border-radius:var(--radius-card);
      color:var(--text-secondary);
      font-weight:var(--font-medium);
      padding:9px 12px;
      text-decoration:none;
    }
    .match-status-tabs a.active { background:var(--tab-active-bg); color:var(--tab-active-text); }
    .manual-match-panel { margin-bottom:14px; }
    .manual-match-panel summary { cursor:pointer; font-size:18px; font-weight:var(--font-medium); }
    .manual-match-panel form {
      display:grid;
      gap:12px;
      grid-template-columns:minmax(220px, 1fr) minmax(220px, 1fr) minmax(180px, .8fr) auto;
      margin-top:14px;
    }
    .match-bulk-actions {
      align-items:center;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin:0 0 12px;
    }
    .match-note-input { max-width:280px; min-height:0; padding:10px 12px; }
    .match-run-note { margin:0 0 14px; }
    .match-list { display:grid; gap:14px; }
    .market-position-strip {
      background:var(--amber-fill);
      border:0;
      color:var(--amber-text);
      align-items:center;
      display:flex;
      justify-content:space-between;
      gap:18px;
      margin-bottom:14px;
    }
    .market-position-strip p, .market-position-strip h2 { color:var(--amber-text); }
    .market-position-strip h2 { font-size:24px; margin:4px 0 6px; }
    .market-position-mini-metrics {
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      justify-content:flex-end;
      min-width:220px;
    }
    .market-position-mini-metrics span {
      background:var(--pill-bg);
      border-radius:var(--radius-pill);
      color:var(--text-secondary);
      font-size:13px;
      font-weight:var(--font-medium);
      padding:8px 10px;
      white-space:nowrap;
    }
    .market-position-mini-metrics strong {
      color:var(--text-primary);
      font-variant-numeric:tabular-nums;
      margin-right:4px;
    }
    .market-position-metrics {
      grid-template-columns:repeat(3, minmax(0, 1fr));
      margin-bottom:4px;
    }
    .market-position-metrics .metric-card {
      min-width:0;
    }
    .market-position-metrics .metric-card span {
      overflow-wrap:anywhere;
    }
    .market-position-metrics .metric-card.active {
      border-color:var(--amber-fill);
    }
    .market-position-list { display:grid; gap:12px; }
    .market-position-summary-row {
      align-items:center;
      cursor:pointer;
      display:grid;
      gap:14px;
      grid-template-columns:minmax(0, 1.35fr) minmax(112px, .65fr) minmax(136px, .75fr) minmax(120px, .65fr);
      list-style:none;
      min-height:72px;
      min-width:0;
      padding:12px 14px;
    }
    .market-position-summary-row::-webkit-details-marker { display:none; }
    .market-position-summary-row > span {
      min-width:0;
      overflow:hidden;
      overflow-wrap:anywhere;
    }
    .market-position-summary-row .match-row-product {
      overflow:visible;
    }
    .market-position-gap,
    .market-position-range {
      color:var(--amber-text);
      font-weight:var(--font-medium);
      line-height:1.25;
    }
    .market-badges {
      align-items:center;
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin-top:4px;
    }
    .market-badge, .market-flag {
      border-radius:var(--radius-pill);
      display:inline-flex;
      font-size:12px;
      font-weight:var(--font-medium);
      line-height:1;
      padding:6px 8px;
      white-space:nowrap;
    }
    .market-badge.lowest_priced, .market-badge.below_market {
      background:var(--success-tint);
      color:var(--signal-green);
    }
    .market-badge.market_average {
      background:var(--pill-bg);
      color:var(--text-secondary);
    }
    .market-badge.above_market {
      background:var(--warning-tint);
      color:var(--signal-orange);
    }
    .market-badge.highest_priced {
      background:var(--danger-tint);
      color:var(--signal-red);
    }
    .market-flag {
      background:var(--accent-tint);
      color:var(--accent);
    }
    .market-badge.lowest_priced,
    .market-badge.below_market {
      background:var(--green-fill);
      color:var(--green-text);
    }
    .market-badge.market_average {
      background:var(--teal-fill);
      color:var(--teal-text);
    }
    .market-badge.above_market,
    .market-badge.highest_priced,
    .market-flag {
      background:var(--coral-fill);
      color:var(--coral-text);
    }
    .match-card {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:block;
      overflow:hidden;
      padding:0;
      transition:border-color .18s ease, max-height .28s ease, margin .28s ease, opacity .26s ease-in;
    }
    .match-card.match-removing {
      border-color:transparent;
      margin-bottom:0;
      opacity:0;
      pointer-events:none;
    }
    .match-row-summary {
      align-items:center;
      cursor:pointer;
      display:grid;
      gap:12px;
      grid-template-columns:28px minmax(180px, 1.2fr) minmax(180px, 1.2fr) 76px minmax(110px, .7fr) auto auto;
      list-style:none;
      min-height:72px;
      padding:10px 14px;
    }
    .match-select { align-items:center; display:flex; justify-content:center; }
    .match-select input { height:18px; padding:0; width:18px; }
    .match-row-summary::-webkit-details-marker { display:none; }
    .starter-match-preview { display:grid; gap:14px; }
    .preview-match-card { cursor:default; }
    .preview-match-summary {
      cursor:default;
      grid-template-columns:minmax(190px, 1.2fr) minmax(190px, 1.2fr) 90px minmax(120px, .8fr) 88px;
    }
    .preview-lock {
      background:var(--accent-tint);
      border-radius:var(--radius-pill);
      color:var(--accent);
      font-size:12px;
      font-weight:var(--font-medium);
      justify-self:end;
      padding:6px 9px;
    }
    .match-row-product, .match-row-price, .match-row-score, .match-row-status {
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .match-row-score span {
      color:var(--text-secondary);
      display:block;
      font-size:11px;
      font-weight:var(--font-medium);
      text-transform:uppercase;
    }
    .match-row-score strong { font-size:18px; }
    .match-row-price { color:var(--text-secondary); font-size:13px; font-weight:var(--font-medium); white-space:nowrap; }
    .match-mini {
      align-items:center;
      display:grid;
      gap:9px;
      grid-template-columns:42px minmax(0, 1fr);
      min-width:0;
    }
    .match-mini img, .match-mini .thumb {
      border-radius:var(--radius-card);
      height:42px;
      object-fit:cover;
      width:42px;
    }
    .match-mini strong {
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .match-actions, .match-expanded-actions {
      align-items:center;
      display:flex;
      flex-wrap:wrap;
      gap:7px;
      justify-content:flex-end;
    }
    .approve-button { color:var(--signal-green) !important; }
    .reject-button { color:var(--signal-red) !important; }
    .approved-badge-button {
      background:var(--success-tint);
      border:var(--border-width) solid var(--green-fill);
      border-radius:var(--radius-pill);
      color:var(--signal-green);
      cursor:pointer;
      font-size:13px;
      font-weight:var(--font-medium);
      line-height:1;
      padding:8px 10px;
      transition:filter .15s ease, transform .15s ease, opacity .18s ease;
      white-space:nowrap;
    }
    .approved-badge-button:hover::after { content:"  ×"; }
    .rejected-badge-button {
      background:var(--danger-tint);
      border:var(--border-width) solid var(--coral-fill);
      border-radius:var(--radius-pill);
      color:var(--signal-red);
      cursor:pointer;
      font-size:13px;
      font-weight:var(--font-medium);
      line-height:1;
      padding:8px 10px;
      white-space:nowrap;
    }
    .match-rejected { opacity:.78; }
    .match-approved .approved-badge-button {
      animation:approvedBadgeIn 180ms ease-out;
    }
    @keyframes approvedBadgeIn {
      from { opacity:0; transform:scale(.94); }
      to { opacity:1; transform:scale(1); }
    }
    .match-expanded {
      animation:matchExpand 180ms ease-out;
      border-top:var(--border-width) solid var(--divider);
      display:grid;
      gap:14px;
      padding:14px;
    }
    @keyframes matchExpand {
      from { opacity:0; transform:translateY(-4px); }
      to { opacity:1; transform:translateY(0); }
    }
    .match-score {
      align-items:center;
      display:flex;
      justify-content:space-between;
      gap:12px;
    }
    .match-score span { color:var(--text-secondary); font-size:13px; }
    .match-score strong { font-size:26px; line-height:1; }
    .match-columns {
      display:grid;
      gap:14px;
      grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(260px, .85fr);
    }
    .match-reason {
      background:var(--subsurface);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      color:var(--text-secondary);
      margin:0;
      padding:10px 12px;
    }
    .match-reason strong { color:var(--text-primary); margin-right:6px; }
    .match-reason.warn strong { color:var(--signal-orange); }
    .variant-comparison {
      background:var(--subsurface);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      overflow:hidden;
    }
    .variant-comparison h3 { margin:12px 12px 0; }
    .variant-comparison-table {
      display:grid;
      grid-template-columns:minmax(130px, 1fr) minmax(130px, 1fr) 90px minmax(150px, 1fr) 70px;
      overflow-x:auto;
    }
    .variant-comparison-table span {
      border-top:var(--border-width) solid var(--divider);
      color:var(--text-secondary);
      padding:9px 12px;
      white-space:nowrap;
    }
    .variant-comparison-table span:nth-child(-n+5) {
      color:var(--text-primary);
      font-size:12px;
      font-weight:var(--font-medium);
      text-transform:uppercase;
    }
    .match-columns h3 {
      font-size:14px;
      margin:0 0 8px;
    }
    .match-product {
      align-items:center;
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:grid;
      gap:10px;
      grid-template-columns:54px minmax(0, 1fr);
      margin-bottom:8px;
      min-height:72px;
      padding:8px;
    }
    .match-product img, .match-product .thumb {
      background:white;
      border-radius:var(--radius-card);
      display:block;
      height:54px;
      object-fit:cover;
      width:54px;
    }
    .match-product strong {
      display:block;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .match-product p { margin:3px 0 0; }
    .match-diff {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      padding:12px;
    }
    .match-diff p {
      color:var(--text-secondary);
      font-weight:var(--font-medium);
      margin:0 0 10px;
    }
    .match-diff p.good { color:var(--green-text); }
    .match-diff p.bad { color:var(--signal-red); }
    .match-diff dl { display:grid; gap:8px; margin:0; }
    .match-diff div {
      display:grid;
      gap:8px;
      grid-template-columns:110px minmax(0, 1fr);
    }
    .match-diff dt {
      color:var(--text-secondary);
      font-size:12px;
    }
    .match-diff dd {
      margin:0;
      min-width:0;
      overflow-wrap:anywhere;
    }
    .toast {
      background:var(--text-primary);
      border-radius:var(--radius-card);
      bottom:20px;
      color:white;
      left:50%;
      max-width:min(460px, calc(100vw - 32px));
      opacity:0;
      padding:10px 14px;
      pointer-events:none;
      position:fixed;
      transform:translate(-50%, 10px);
      transition:opacity .16s ease, transform .16s ease;
      z-index:10;
    }
    .toast.visible {
      opacity:1;
      pointer-events:auto;
      transform:translate(-50%, 0);
    }
    .toast button {
      background:transparent;
      color:white;
      margin-left:8px;
      padding:0;
      text-decoration:underline;
    }
    .settings-tabs {
      background:var(--tab-bg);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      display:flex;
      gap:6px;
      margin:18px 0;
      padding:5px;
    }
    .settings-tabs a {
      border-radius:var(--radius-control);
      color:var(--text-secondary);
      flex:1;
      padding:9px 12px;
      text-align:center;
    }
    .settings-tabs a.active {
      background:var(--tab-active-bg);
      color:var(--tab-active-text);
      text-decoration:none;
    }
    .detail-list {
      display:grid;
      gap:10px;
      margin:14px 0 18px;
    }
    .detail-list div {
      display:grid;
      gap:3px;
      grid-template-columns:150px minmax(0, 1fr);
    }
    .detail-list dt {
      color:var(--text-secondary);
      font-size:13px;
      font-weight:var(--font-medium);
    }
    .detail-list dd {
      margin:0;
      min-width:0;
      overflow-wrap:anywhere;
    }
    .wrap-actions {
      flex-wrap:wrap;
      margin-top:12px;
    }
    .inline-edit { width:100%; }
    .inline-edit summary {
      color:var(--accent);
      cursor:pointer;
      font-weight:var(--font-medium);
      margin:8px 0;
    }
    .inline-edit .panel {
      margin-top:10px;
      padding:16px;
    }
    .privacy-panel { margin-top:18px; }
    .privacy-panel p { line-height:1.45; }
    .own-store-prompt {
      margin:0 0 18px;
    }
    .own-store-prompt p {
      max-width:760px;
    }
    .observed-offers {
      margin:0 0 24px;
    }
    .heading-with-info {
      align-items:center;
      display:flex;
      gap:8px;
      margin-bottom:0;
    }
    .info-tooltip {
      display:inline-flex;
      position:relative;
    }
    .info-tooltip button {
      align-items:center;
      background:var(--accent-tint);
      border:var(--border-width) solid var(--teal-fill);
      border-radius:var(--radius-pill);
      color:var(--accent);
      display:inline-flex;
      font-size:12px;
      font-weight:var(--font-medium);
      height:20px;
      justify-content:center;
      line-height:1;
      padding:0;
      width:20px;
    }
    .info-tooltip button:hover,
    .info-tooltip button:focus-visible {
      filter:none;
      outline:2px solid var(--teal-fill);
      outline-offset:2px;
    }
    .info-tooltip [role="tooltip"] {
      background:var(--surface);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      color:var(--text-secondary);
      font-size:13px;
      font-weight:var(--font-medium);
      left:50%;
      line-height:1.35;
      max-width:min(420px, calc(100vw - 48px));
      opacity:0;
      padding:12px 14px;
      pointer-events:none;
      position:absolute;
      top:calc(100% + 10px);
      transform:translate(-50%, -4px);
      transition:opacity .16s ease, transform .16s ease;
      width:max-content;
      z-index:60;
    }
    .info-tooltip:hover [role="tooltip"],
    .info-tooltip:focus-within [role="tooltip"] {
      opacity:1;
      transform:translate(-50%, 0);
    }
    .offer-filter-row {
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin:12px 0 14px;
    }
    .offer-filter-row a {
      background:var(--pill-bg);
      border:var(--border-width) solid var(--pill-border);
      border-radius:var(--radius-pill);
      color:var(--pill-text);
      font-size:13px;
      padding:7px 10px;
    }
    .offer-filter-row a.active {
      background:var(--teal-fill);
      color:var(--accent);
      text-decoration:none;
    }
    .offer-grid {
      display:grid;
      gap:12px;
      grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
    }
    .offer-card {
      background:var(--amber-fill);
      border:0;
      color:var(--amber-text);
      display:grid;
      gap:8px;
      padding:18px;
    }
    .offer-card p, .offer-card h3, .offer-card dt, .offer-card dd { color:var(--amber-text); }
    .offer-card-head {
      align-items:flex-start;
      display:flex;
      gap:12px;
      justify-content:space-between;
    }
    .offer-card h3 { line-height:1.15; margin:0 0 2px; }
    .offer-card-head p { line-height:1.25; margin:0; }
    .offer-card > p { line-height:1.35; margin:0; }
    .offer-detail-list {
      display:grid;
      gap:8px 12px;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      margin:0;
    }
    .offer-detail-list div {
      display:grid;
      gap:3px;
    }
    .offer-detail-list dt {
      color:var(--text-secondary);
      font-size:12px;
      font-weight:var(--font-medium);
    }
    .offer-detail-list dd {
      margin:0;
      min-width:0;
      overflow-wrap:anywhere;
    }
    .offer-evidence summary {
      color:var(--accent);
      cursor:pointer;
      font-size:13px;
      font-weight:var(--font-medium);
    }
    .offer-evidence ul {
      color:var(--text-secondary);
      margin:6px 0 0;
      padding-left:18px;
    }
    .offer-evidence p { margin:6px 0 0; }
    html { scroll-behavior:auto; }
    .marketing { max-width:1200px; }
    .desktop-nav { display:flex; }
    .mobile-nav { display:none; }
    .marketing-nav .button { padding:8px 12px; }
    .hero-section { display:grid; grid-template-columns:minmax(0, .92fr) minmax(420px, 1.08fr); gap:34px; align-items:center; padding:58px 0 44px; position:relative; }
    .hero-copy p { font-size:19px; line-height:1.55; max-width:680px; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 10px; }
    .demo-preview, .history-callout, .final-cta {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      padding:22px;
    }
    .demo-preview { position:relative; overflow:hidden; }
    .demo-label { color:var(--text-secondary); font-size:12px; font-weight:var(--font-medium); margin-bottom:10px; }
    .demo-preview .callout { margin-bottom:14px; padding:16px; }
    .demo-preview .callout h2 { font-size:20px; }
    .demo-preview .metric-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); margin-bottom:14px; }
    .demo-preview .metric { padding:12px; }
    .demo-preview .metric strong { font-size:22px; }
    .demo-filters { display:flex; gap:8px; margin-bottom:10px; }
    .demo-filters span { background:var(--teal-fill); border-radius:var(--radius-pill); color:var(--accent); font-size:13px; font-weight:var(--font-medium); padding:6px 10px; }
    .marketing-section {
      border-radius:var(--radius-card);
      margin:12px -18px;
      padding:50px 18px;
      position:relative;
    }
    .marketing-section:nth-of-type(even) {
      background:var(--section-alt);
    }
    .marketing-section > p { max-width:760px; font-size:17px; line-height:1.55; }
    .history-callout, .final-cta { margin:56px 0; position:relative; overflow:hidden; }
    .history-callout h2, .final-cta h2 { font-size:clamp(28px, 4vw, 44px); }
    .problem-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin-top:22px; }
    .problem-grid p, .section-close { background:var(--surface-neutral); border-radius:var(--radius-card); color:var(--text-primary); margin:0; padding:16px; }
    .section-close { margin-top:12px; font-weight:var(--font-medium); }
    .feature-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; margin-top:22px; }
    .feature-grid.three { grid-template-columns:repeat(3, minmax(0, 1fr)); }
    .hero-feature-grid {
      display:grid;
      gap:18px;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      margin-top:24px;
    }
    .hero-feature-card {
      min-height:320px;
      padding:24px;
      position:relative;
      overflow:hidden;
    }
    .hero-feature-card h3 { font-size:24px; }
    .compact-callout {
      border-radius:var(--radius-card);
      margin:20px 0 0;
      padding:16px;
    }
    .compact-callout h2 { font-size:20px; }
    .briefing-comparison {
      display:grid;
      gap:14px;
      grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr);
      margin-top:18px;
    }
    .briefing-comparison h4 { font-size:16px; margin:0 0 8px; }
    .caption-note {
      color:var(--text-secondary);
      font-size:12px;
      line-height:1.35;
      margin-top:10px;
    }
    .compact-feature-grid .panel {
      padding:16px;
    }
    .compact-feature-grid .panel h3 {
      font-size:16px;
    }
    .compact-feature-grid .panel p {
      font-size:13px;
      line-height:1.45;
    }
    .panel h3 { margin:0 0 8px; font-size:18px; font-weight:var(--font-medium); }
    .step-card span { align-items:center; background:var(--accent); border-radius:var(--radius-card); color:white; display:flex; font-weight:var(--font-medium); height:34px; justify-content:center; margin-bottom:14px; width:34px; }
    pre { background:var(--surface-neutral); border-radius:var(--radius-card); color:var(--text-primary); font:inherit; font-variant-numeric:tabular-nums; line-height:1.7; margin:0; overflow:auto; padding:16px; }
    .demo-wide { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(320px, .9fr); gap:18px; margin-top:22px; }
    .email-preview .email-shell {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--field-border);
      border-radius:var(--radius-card);
      padding:16px;
    }
    .email-header {
      color:var(--text-secondary);
      display:grid;
      gap:4px;
      font-size:12px;
      margin-bottom:12px;
    }
    .digest-list {
      display:grid;
      gap:8px;
      margin-top:12px;
    }
    .digest-list p {
      background:var(--surface-neutral);
      border-radius:var(--radius-card);
      color:var(--text-secondary);
      margin:0;
      padding:8px 10px;
    }
    .digest-list strong { color:var(--text-primary); }
    .demo-detail .metric-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    #pricing { padding-top:66px; padding-bottom:66px; }
    .pricing-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; margin:28px 0 16px; }
    .pricing-card { position:relative; display:flex; flex-direction:column; gap:12px; }
    .pricing-card.featured {
      border-color:var(--teal-fill);
      transform:translateY(-8px);
    }
    .plan-badge { align-self:flex-start; background:var(--teal-fill); border-radius:var(--radius-pill); color:var(--accent); font-size:13px; font-weight:var(--font-medium); padding:6px 10px; }
    .plan-price { display:block; font-size:34px; font-weight:var(--font-medium); font-variant-numeric:tabular-nums; }
    .pricing-card ul { color:var(--text-secondary); display:grid; gap:8px; list-style:none; margin:0; padding:0; }
    .pricing-card li::before { content:"✓"; color:var(--signal-green); margin-right:8px; }
    .pricing-card .button { margin-top:auto; text-align:center; }
    .faq-list { display:grid; gap:10px; margin-top:22px; }
    .faq-item { background:var(--surface-neutral); border:var(--border-width) solid var(--divider); border-radius:var(--radius-card); padding:16px 18px; }
    .faq-item summary { cursor:pointer; font-weight:var(--font-medium); }
    .faq-item p { margin-top:10px; }
    [data-reveal] { opacity:0; transform:translateY(10px); transition:opacity 400ms ease-out, transform 400ms ease-out; }
    [data-reveal].is-visible { opacity:1; transform:none; }
    @media (prefers-reduced-motion: reduce) {
      [data-reveal] { opacity:1; transform:none; transition:none; }
    }
    .ticker {
      background:var(--ticker-bg);
      overflow:hidden;
      padding:14px 0;
    }
    .ticker-track {
      display:flex;
      width:max-content;
      animation:ticker-scroll 42s linear infinite;
    }
    @keyframes ticker-scroll {
      from { transform:translateX(0); }
      to { transform:translateX(-50%); }
    }
    .ticker-item { align-items:center; display:flex; flex-shrink:0; gap:8px; padding:0 22px; }
    .ticker-item .event-icon { flex-shrink:0; height:22px; width:22px; font-size:12px; }
    .ticker-text { color:rgba(255,255,255,0.85); font-size:13px; font-weight:var(--font-medium); white-space:nowrap; }
    .ticker-time { color:rgba(255,255,255,0.4); font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
    @media (prefers-reduced-motion: reduce) {
      .ticker-track { animation:none; }
    }
    .sparkline-strip { border-top:var(--border-width) solid var(--divider); margin-top:14px; padding-top:12px; }
    .sparkline-caption { font-size:12px; margin:0 0 6px; }
    .sparkline.chart { height:64px; width:100%; }
    .sparkline-legend { display:flex; gap:14px; margin-top:6px; }
    .sparkline-legend span { align-items:center; color:var(--text-secondary); display:inline-flex; font-size:12px; gap:6px; }
    .sparkline-legend i { border-radius:var(--radius-pill); display:inline-block; height:8px; width:8px; }
    .comparison-table { border:var(--border-width) solid var(--divider); border-radius:var(--radius-card); margin-top:22px; overflow:hidden; }
    .comparison-row { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; }
    .comparison-row + .comparison-row { border-top:var(--border-width) solid var(--divider); }
    .comparison-row span { padding:12px 14px; }
    .comparison-row span:not(:first-child) { border-left:var(--border-width) solid var(--divider); text-align:center; }
    .comparison-head { background:var(--subsurface); color:var(--text-secondary); font-size:13px; font-weight:var(--font-medium); }
    .comparison-highlight { background:var(--teal-fill); color:var(--accent); font-weight:var(--font-medium); }
    .calculator-grid { display:grid; gap:16px; grid-template-columns:1fr 1fr; margin-top:22px; }
    .calculator-inputs { display:grid; gap:18px; }
    .calculator-slider { display:grid; gap:6px; }
    .calculator-slider-label { align-items:center; display:flex; justify-content:space-between; font-size:14px; }
    .calculator-slider-label strong { color:var(--accent); font-variant-numeric:tabular-nums; }
    .calculator-slider input[type="range"] { accent-color:var(--accent); width:100%; }
    .calculator-results { display:grid; gap:12px; }
    .calculator-figure { font-size:32px; font-variant-numeric:tabular-nums; font-weight:var(--font-medium); margin:4px 0; }
    .calculator-figure small { color:var(--text-secondary); font-size:16px; font-weight:var(--font-regular); }
    .calculator-savings { background:var(--green-fill); border:0; }
    .calculator-savings .eyebrow, .calculator-savings .muted { color:var(--green-text); }
    .waitlist-form { margin-top:12px; }
    .waitlist-fields { align-items:center; display:flex; flex-wrap:wrap; gap:10px; }
    .waitlist-fields input { flex:1; min-width:220px; }
    .final-cta { text-align:center; }
    footer { max-width:1200px; margin:0 auto; padding:28px 32px 42px; }
    footer nav { flex-wrap:wrap; margin:14px 0; }
    footer p { max-width:760px; }

    /* Rearviu design-system pass */
    header {
      background:transparent;
      border-bottom:var(--border-width) solid transparent;
      transition:background-color .2s ease, border-color .2s ease;
    }
    header.scrolled {
      background:var(--nav-scrolled-bg);
      border-bottom-color:var(--nav-scrolled-border);
    }
    input, select, textarea {
      background:var(--surface);
      border:var(--border-width) solid var(--field-border);
      border-radius:var(--radius-card);
    }
    button, .button {
      border-radius:var(--radius-card);
      font-weight:var(--font-medium);
      transition:filter .15s ease, transform .15s ease, background-color .15s ease;
    }
    button:hover, .button:hover { filter:brightness(1.1); text-decoration:none; }
    button:active, .button:active { transform:scale(.97); }
    button:disabled, .button.disabled {
      cursor:not-allowed;
      filter:none;
      opacity:.55;
      transform:none;
    }
    button.secondary, .button.secondary,
    .overflow-menu summary, .export-menu summary {
      background:var(--accent-tint);
      color:var(--accent);
    }
    button.link, .button.ghost {
      background:transparent;
      color:var(--accent);
    }
    button.link:hover, .button.ghost:hover { background:var(--hover-bg); filter:none; }
    .eyebrow, .demo-label {
      color:var(--accent);
      font-size:11px;
      font-weight:var(--font-medium);
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .metric, .callout, .panel, .event, .product, .store, .alert, .notice,
    .detail-tabs, .catalogue-toolbar, .catalogue-group, .empty-state,
    .watchlist-table, .match-toolbar, .match-card, .settings-tabs,
    .demo-preview, .history-callout, .final-cta, .faq-item {
      background:var(--surface);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
    }
    .pricing-card.featured, .hero-feature-card:first-child {
      border-top:2px solid var(--accent);
    }
    .metric, .event, .product, .store, .alert, .notice, .empty-state,
    .match-toolbar, .match-card { border-radius:var(--radius-card); }
    .panel { padding:24px; }
    .stacked-form { display:grid; gap:14px; }
    .billing-actions {
      align-items:center;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:14px;
    }
    .billing-actions form { margin:0; }
    .compact-billing-actions { margin-top:12px; }
    .custom-plan-note {
      flex-basis:100%;
      font-size:14px;
      margin:2px 0 0;
    }
    .plan-usage { display:grid; gap:8px; margin:10px 0 14px; }
    .usage-line { align-items:center; color:var(--text-secondary); display:flex; font-size:14px; font-weight:var(--font-medium); justify-content:space-between; gap:12px; }
    .usage-meter {
      background:var(--subsurface);
      border-radius:var(--radius-pill);
      height:8px;
      overflow:hidden;
      width:100%;
    }
    .usage-meter span {
      background:var(--accent);
      border-radius:inherit;
      display:block;
      height:100%;
    }
    .plan-usage.near-limit .usage-meter span { background:var(--orange); }
    .security-panel { display:grid; gap:18px; }
    .security-panel form { display:grid; gap:10px; }
    .danger-zone {
      background:var(--danger-tint);
      border:var(--border-width) solid var(--coral-fill);
      border-radius:var(--radius-card);
      display:grid;
      gap:10px;
      padding:16px;
    }
    .confirm-dialog {
      background:transparent;
      border:0;
      max-width:min(520px, calc(100vw - 32px));
      padding:0;
    }
    .confirm-dialog::backdrop { background:var(--dialog-backdrop); }
    .dialog-panel {
      background:var(--surface);
      border:var(--border-width) solid var(--divider);
      border-radius:var(--radius-card);
      padding:24px;
    }
    .dialog-panel p { color:var(--text-secondary); margin:8px 0 0; }
    .dialog-actions {
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      justify-content:flex-end;
      margin-top:16px;
    }
    .dialog-fields { display:grid; gap:12px; margin-top:14px; }
    .compact-feature-grid .panel, .demo-preview .metric, .event, .product, .store { padding:20px; }
    .hero-feature-card { padding:28px; }
    .callout::before, .marketing::before, .marketing::after,
    .hero-section::after, .demo-preview::before, .demo-preview::after,
    .final-cta::before, .hero-feature-card::before {
      display:none;
    }
    .event:hover {
      filter:brightness(.98);
    }
    .event-icon {
      border:0;
      border-radius:var(--radius-control);
      height:28px;
      width:28px;
    }
    .step-card span {
      border-radius:var(--radius-control);
      height:28px;
      width:28px;
    }
    .product-stats span, .group-summary span, .tag-row span,
    .compact-tags span, .chip, .demo-filters span,
    .offer-filter-row a, .badge, .new-badge {
      border-radius:var(--radius-pill);
    }
    .product-stats span, .group-summary span, .compact-tags span,
    .chip, .offer-filter-row a {
      background:var(--pill-bg);
      border:var(--border-width) solid var(--pill-border);
      color:var(--pill-text);
    }
    .tag-row span, .chip.active, .offer-filter-row a.active, .demo-filters span {
      background:var(--accent-tint);
      color:var(--accent);
    }
    .metric-grid > .metric:nth-child(1),
    .competitor-metrics > .metric:nth-child(1) {
      background:var(--teal-fill);
      border:0;
      color:var(--teal-text);
    }
    .metric-grid > .metric:nth-child(1) span,
    .metric-grid > .metric:nth-child(1) strong,
    .competitor-metrics > .metric:nth-child(1) span,
    .competitor-metrics > .metric:nth-child(1) strong {
      color:var(--teal-text);
    }
    .market-position-strip,
    .offer-card {
      background:var(--amber-fill);
      border:0;
      color:var(--amber-text);
    }
    .market-position-strip *,
    .offer-card * {
      color:var(--amber-text);
    }
    .metric-warn,
    .metric-card.active {
      background:var(--amber-fill);
      border:0;
      color:var(--amber-text);
    }
    .metric-bad {
      background:var(--coral-fill);
      border:0;
      color:var(--coral-text);
    }
    .metric-bad * {
      color:var(--coral-text);
    }
    .callout {
      background:var(--amber-fill);
      border:0;
      color:var(--amber-text);
    }
    .callout.quiet {
      background:var(--teal-fill);
      color:var(--teal-text);
    }
    .callout *, .callout.quiet * { color:inherit; }
    .market-badge.lowest_priced,
    .market-badge.below_market,
    .badge.good,
    .stock-in {
      background:var(--green-fill);
      color:var(--green-text);
    }
    .market-badge.market_average {
      background:var(--teal-fill);
      color:var(--teal-text);
    }
    .market-badge.above_market,
    .market-badge.highest_priced,
    .market-flag,
    .badge.bad,
    .stock-out {
      background:var(--coral-fill);
      color:var(--coral-text);
    }
    .badge.warn,
    .stock-partial {
      background:var(--amber-fill);
      color:var(--amber-text);
    }
    .activity-table-panel,
    .catalogue-toolbar,
    .catalogue-group,
    .watchlist-table,
    .admin-prospect-panel,
    .settings-tabs,
    .match-toolbar,
    .match-card,
    .product,
    .store {
      background:var(--surface-neutral);
      border:var(--border-width) solid var(--divider);
    }
    .variant-table, .product-expanded, .match-product, .match-diff,
    .email-preview .email-shell, pre, .digest-list p,
    .problem-grid p, .section-close {
      background:var(--subsurface);
      border:var(--border-width) solid var(--divider);
    }
    .marketing-section {
      border-radius:0;
      margin:0 -32px;
      padding:96px 32px;
    }
    .marketing-section:nth-of-type(even) {
      background:var(--section-alt);
    }
    .history-callout, .final-cta {
      margin:56px 0;
      padding:56px;
    }
    .demo-preview {
      padding:24px;
    }
    .hero-section {
      padding:96px 0 56px;
    }
    .live-ticker {
      background:var(--ticker-bg);
      color:var(--ticker-text);
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior:auto !important; transition-duration:0.01ms !important; animation-duration:0.01ms !important; }
    }
    @media (prefers-reduced-transparency: reduce) {
      header, input, select, .metric, .callout, .panel, .event, .product, .store, .alert, .notice, .demo-preview, .history-callout, .final-cta, .faq-item, .catalogue-toolbar, .catalogue-group, .empty-state {
        background:var(--surface);
      }
      body { background:var(--bg); }
    }
    @media (hover: hover) {
      .metric:hover,
      .panel:hover,
      .event:hover,
      .product:hover,
      .store:hover,
      .catalogue-group:hover,
      .offer-card:hover,
      .match-card:hover,
      .watchlist-table:hover,
      .faq-item:hover {
        border-color:var(--teal-fill);
      }
      .event:hover { background:var(--surface); text-decoration:none; }
    }
    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        scroll-behavior:auto !important;
        transition:none !important;
      }
    }
    @media (max-width: 1120px) {
      .admin-metrics { grid-template-columns:repeat(3, minmax(0, 1fr)); }
      .dashboard-shell { grid-template-columns:1fr; }
      .dashboard-side { grid-row:1; position:static; }
      .market-position-summary-row {
        grid-template-columns:minmax(0, 1.4fr) minmax(120px, .6fr);
      }
      .activity-head, .activity-row { min-width:840px; }
      .catalogue-toolbar { grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); }
      .catalogue-toolbar label:first-of-type { grid-column:1 / -1; }
      .toolbar-actions { justify-content:flex-start; }
      .product-table-head, .product-summary {
        grid-template-columns:minmax(240px, 2fr) minmax(105px, .8fr) minmax(95px, .75fr) 64px minmax(96px, .8fr) minmax(108px, .9fr) minmax(108px, .9fr);
      }
      .watchlist-head, .watchlist-row {
        grid-template-columns:minmax(240px, 2fr) minmax(120px, 1fr) minmax(95px, .8fr) minmax(96px, .8fr) minmax(110px, .9fr);
      }
      .watchlist-head span:nth-child(6), .watchlist-head span:nth-child(8), .watchlist-head span:nth-child(9),
      .watchlist-row > span:nth-child(6), .watchlist-row > span:nth-child(8), .watchlist-row > span:nth-child(9) { display:none; }
    }
    @media (max-width: 760px) {
      header { align-items:flex-start; flex-direction:column; padding:16px 18px; }
      header, main { padding-left:18px; padding-right:18px; }
      .demo-mode-banner {
        align-items:center;
        flex-direction:row;
        gap:10px;
        padding:12px 18px;
      }
      .demo-mode-banner span { display:none; }
      nav { flex-wrap:wrap; }
      .brand-mark { height:30px; width:156px; }
      .competitor-direction { display:grid; grid-template-columns:1fr 1fr; width:100%; }
      .competitor-direction a, .competitor-direction .disabled { justify-content:center; max-width:none; min-width:0; }
      .compact-competitor-header {
        gap:8px;
        grid-template-columns:minmax(0, 1fr) auto;
        padding:9px 12px;
        width:calc(100% - 36px);
      }
      .compact-competitor-title strong { font-size:16px; }
      .compact-dashboard-link {
        grid-column:1;
        order:3;
        text-align:center;
      }
      .compact-competitor-nav {
        grid-column:2;
        order:4;
        overflow:hidden;
      }
      .compact-competitor-nav a {
        flex:1 1 0;
        max-width:none;
        min-width:0;
        text-align:center;
      }
      .compact-competitor-header button {
        font-size:12px;
        padding:8px 10px;
      }
      .grid.two, .topline, .callout, .section-head { grid-template-columns:1fr; display:grid; }
      .admin-grid { grid-template-columns:1fr; }
      .admin-metrics { grid-template-columns:repeat(2, minmax(0, 1fr)); }
      .metric-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
      .competitor-metrics { grid-template-columns:repeat(2, minmax(0, 1fr)); }
      .catalogue-toolbar { grid-template-columns:1fr; }
      .filter-compact-row { align-items:stretch; }
      .filter-details { width:100%; }
      .filter-expanded-grid {
        grid-template-columns:1fr;
        min-width:0;
        position:static;
        width:auto;
      }
      .toolbar-actions { justify-content:flex-start; }
      .detail-tabs { display:flex; width:100%; }
      .detail-tabs a { flex:1; text-align:center; }
      .product-table-head { display:none; }
      .watchlist-head { display:none; }
      .watchlist-row {
        grid-template-columns:1fr;
        gap:8px;
        padding:14px;
      }
      .watchlist-row > span:nth-child(6), .watchlist-row > span:nth-child(8), .watchlist-row > span:nth-child(9) { display:flex; }
      .row-actions { justify-content:flex-start; }
      .product-summary {
        grid-template-columns:1fr;
        gap:7px;
        padding:14px;
      }
      .product-summary > span:nth-child(2) { display:none; }
      .product-title-cell {
        grid-template-columns:58px minmax(0, 1fr);
      }
      .product-title-cell img, .product-title-cell .thumb { width:58px; height:58px; }
      .product-title-cell strong { white-space:normal; }
      .mobile-only { display:block; color:var(--text-secondary); font-size:13px; margin-top:3px; }
      .product-expanded {
        grid-template-columns:1fr;
        padding:12px 14px 16px;
      }
      .detail-list div { grid-template-columns:1fr; }
      .offer-grid { grid-template-columns:1fr; }
      .offer-detail-list div { grid-template-columns:1fr; }
      .match-toolbar { grid-template-columns:1fr; }
      .match-row-summary {
        grid-template-columns:1fr;
        gap:9px;
      }
      .match-row-score, .match-row-price, .match-row-status, .match-actions {
        justify-content:flex-start;
      }
      .match-columns { grid-template-columns:1fr; }
      .match-diff div { grid-template-columns:1fr; }
      .overflow-menu form, .overflow-menu .menu-panel { left:0; right:auto; }
      .filters, .actions { flex-wrap:wrap; }
      .filters select { max-width:none; }
      .event { grid-template-columns:34px minmax(0, 1fr); }
      .event img, .event .thumb { display:none; }
      .store { grid-template-columns:1fr; }
      .store-actions { justify-content:space-between; }
      .product-head { display:grid; }
      .price-range { white-space:normal; }
      .variant-row { grid-template-columns:minmax(0, 1fr) 76px 84px; font-size:12px; }
      .chart-toolbar { align-items:flex-start; display:grid; }
      .chart-toolbar label { display:grid; }
      .chart-toolbar select { width:100%; max-width:none; }
      .desktop-nav { display:none; }
      .mobile-nav { display:block; margin-left:auto; }
      .mobile-nav summary { color:var(--text-secondary); cursor:pointer; font-weight:var(--font-medium); list-style:none; }
      .mobile-nav nav, .mobile-nav > a { display:grid; }
      .mobile-nav a, .mobile-nav form { display:block; margin-top:12px; }
      .hero-section, .demo-wide, .hero-feature-grid, .briefing-comparison { grid-template-columns:1fr; }
      .hero-section { padding-top:32px; }
      .hero-copy p { font-size:17px; }
      .demo-preview { overflow-x:auto; }
      .demo-preview .metric-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
      .problem-grid, .feature-grid, .feature-grid.three, .pricing-grid { grid-template-columns:1fr; }
      .calculator-grid { grid-template-columns:1fr; }
      .comparison-row { grid-template-columns:1.2fr 1fr 1fr 1fr; font-size:13px; }
      .comparison-row span { padding:10px 8px; }
      .pricing-card.featured { transform:none; }
      .marketing-section { padding:38px 0; }
      .final-cta { text-align:left; }
    }
    .chat-toggle-button {
      align-items:center;
      background:var(--accent-primary);
      border:0;
      border-radius:var(--radius-pill);
      bottom:20px;
      box-shadow:0 6px 16px rgba(0,0,0,0.18);
      color:#fff;
      cursor:pointer;
      display:flex;
      font-size:22px;
      height:52px;
      justify-content:center;
      position:fixed;
      right:20px;
      width:52px;
      z-index:40;
    }
    .chat-widget[hidden] { display:none; }
    .chat-panel {
      bottom:84px;
      display:flex;
      flex-direction:column;
      gap:10px;
      height:min(560px, calc(100vh - 120px));
      max-width:calc(100vw - 32px);
      position:fixed;
      right:20px;
      width:360px;
      z-index:41;
    }
    .chat-panel-header { align-items:center; display:flex; justify-content:space-between; }
    .chat-panel-header h2 { font-size:16px; margin:0; }
    .chat-messages { display:flex; flex-direction:column; flex:1; gap:8px; overflow-y:auto; padding:4px 2px; }
    .chat-message { border-radius:var(--radius-card); font-size:14px; line-height:1.4; max-width:88%; padding:8px 12px; white-space:pre-wrap; }
    .chat-message.user { align-self:flex-end; background:var(--accent-tint); color:var(--text-primary); }
    .chat-message.assistant { align-self:flex-start; background:var(--surface); border:var(--border-width) solid var(--divider); color:var(--text-primary); }
    .chat-message.pending { color:var(--text-secondary); }
    .chat-input-row { display:flex; gap:8px; }
    .chat-input-row input { flex:1; margin:0; }
    .chat-input-row button { white-space:nowrap; }
    .chat-hint { font-size:12px; margin:0; }
  