/* Extracted from lighthouse-app.html (UI redesign N1) — load order matters */
    /* Competitors */
    .competitor-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 12px;
      background: var(--bg-card);
      border-radius: var(--radius-md);
      margin-bottom: 8px;
    }
    
    /* Multi-LLM Display Styles */
    .multi-llm-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 12px;
      margin-top: 10px;
    }
    
    .llm-result-item {
      background: var(--bg-tertiary);
      border-radius: var(--radius-lg);
      padding: 12px;
      border: 1px solid var(--border);
      transition: border-color 0.2s ease, background 0.2s ease;
    }

    .llm-result-item.found {
      border-color: rgba(34, 197, 94, 0.2);
      background: rgba(34, 197, 94, 0.05);
    }

    .llm-result-item.not-found {
      border-color: rgba(234, 179, 8, 0.2);
      background: rgba(234, 179, 8, 0.05);
    }

    .llm-result-item.error {
      border-color: rgba(239, 68, 68, 0.2);
      background: rgba(239, 68, 68, 0.08);
    }
    
    .llm-header {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 8px;
    }
    
    .llm-icon {
      font-size: 18px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .llm-icon svg {
      width: 14px;
      height: 14px;
    }

    .llm-name {
      font-weight: 600;
      color: var(--text-primary);
      flex: 1;
    }
    
    .llm-status {
      font-size: 14px;
      font-weight: bold;
    }
    
    .llm-result-item.found .llm-status {
      color: var(--accent-green);
    }
    
    .llm-result-item.not-found .llm-status {
      color: var(--accent-gold);
    }
    
    .llm-result-item.error .llm-status {
      color: var(--accent-red);
    }
    
    .llm-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 8px;
    }
    
    .llm-badge {
      font-size: 10px;
      padding: 2px 6px;
      border-radius: var(--radius-xs);
      background: var(--bg-card);
      color: var(--text-muted);
    }
    
    .llm-badge.live {
      background: rgba(34, 197, 94, 0.2);
      color: var(--accent-green);
    }
    
    .llm-badge.training {
      background: rgba(156, 163, 175, 0.2);
      color: var(--text-muted);
    }
    
    .tier-badge-pro {
      display: inline-block;
      font-size: 9px;
      font-weight: 700;
      padding: 1px 5px;
      border-radius: var(--radius-xs);
      background: linear-gradient(135deg, #f59e0b, #d97706);
      color: #fff;
      letter-spacing: 0.5px;
      margin-left: 4px;
      vertical-align: middle;
    }
    .tier-badge-free {
      display: inline-block;
      font-size: 9px;
      font-weight: 700;
      padding: 1px 5px;
      border-radius: var(--radius-xs);
      background: rgba(34, 197, 94, 0.2);
      color: var(--accent-green);
      letter-spacing: 0.5px;
      margin-left: 4px;
      vertical-align: middle;
    }
    .provider-comparison {
      margin-top: 24px;
    }
    .provider-comparison h3 {
      font-size: 16px;
      font-weight: 600;
      color: var(--text-primary);
      margin-bottom: 16px;
    }
    .provider-pairs {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
      gap: 16px;
    }
    .provider-pair {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 16px;
    }
    .provider-pair-header {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
      font-weight: 600;
      color: var(--text-primary);
    }
    .provider-pair-cols {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    .provider-tier-col {
      text-align: center;
    }
    .provider-tier-col .tier-label {
      font-size: 11px;
      font-weight: 600;
      margin-bottom: 6px;
    }
    .provider-tier-col .tier-model {
      font-size: 12px;
      color: var(--text-secondary);
      margin-bottom: 8px;
    }
    .provider-tier-col .tier-stat {
      font-size: 13px;
      color: var(--text-primary);
      margin-bottom: 4px;
    }
    .provider-tier-col .tier-stat strong {
      font-size: 18px;
    }
    .provider-delta {
      text-align: center;
      font-size: 11px;
      margin-top: 8px;
      padding-top: 8px;
      border-top: 1px solid var(--border);
      color: var(--text-muted);
    }
    .provider-delta .delta-positive {
      color: var(--accent-green);
      font-weight: 600;
    }
    .provider-delta .delta-negative {
      color: var(--accent-red);
      font-weight: 600;
    }

    .llm-snippet {
      font-size: 11px;
      color: var(--text-secondary);
      line-height: 1.4;
      max-height: 60px;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    
    .llm-note {
      font-size: 10px;
      color: var(--text-muted);
      margin-top: 6px;
      font-style: italic;
    }
    
    /* Visual Brand Monitoring Cards */
    .vbm-image-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; cursor: pointer; transition: border-color 0.25s ease; }
    .vbm-image-card:hover { border-color: var(--accent-purple); }
    .vbm-image-card img { width: 100%; height: 200px; object-fit: cover; display: block; }
    .vbm-image-card-body { padding: 14px 16px; }
    .vbm-score-pill { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: var(--radius-full); }

    /* Multi-LLM Banner */
    .multi-llm-banner {
      background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(59, 130, 246, 0.1));
      border: 1px solid rgba(139, 92, 246, 0.3);
      border-radius: var(--radius-lg);
      padding: 16px 20px;
      margin-bottom: 20px;
    }
    
    .multi-llm-banner-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 12px;
    }
    
    .multi-llm-banner-title {
      font-weight: 600;
      color: var(--text-primary);
      font-size: 14px;
    }
    
    .multi-llm-overall-score {
      background: var(--accent-purple);
      color: white;
      padding: 4px 12px;
      border-radius: var(--radius-2xl);
      font-size: 12px;
      font-weight: 600;
    }
    
    .multi-llm-icons {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }
    
    .llm-icon-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 12px;
      background: var(--bg-card);
      border-radius: var(--radius-md);
      font-size: 13px;
      cursor: help;
    }
    
    .llm-icon-badge:hover {
      background: var(--bg-tertiary);
    }
    
    .llm-icon-name {
      font-weight: 500;
      color: var(--text-secondary);
    }
    
    .competitor-brand-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px;
      background: var(--bg-tertiary);
      border: 1px solid transparent;
      border-radius: var(--radius-lg);
      margin-bottom: 8px;
      cursor: pointer;
      transition: border-color 0.2s ease, background 0.2s ease;
    }

    .competitor-brand-item:hover {
      border-color: var(--accent-red);
      background: rgba(239, 68, 68, 0.05);
    }
    .competitor-brand-item:hover .competitor-remove-btn {
      opacity: 1 !important;
    }
    
    .competitor-brand-item.selected {
      border-color: var(--accent-red);
      background: rgba(239, 68, 68, 0.1);
    }
    
    .competitor-brand-icon {
      width: 36px;
      height: 36px;
      border-radius: var(--radius-md);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      font-weight: 700;
      color: white;
      flex-shrink: 0;
    }
    
    .competitor-brand-info {
      flex: 1;
    }
    
    .competitor-brand-name {
      font-size: 13px;
      font-weight: 600;
      color: var(--text-primary);
    }
    
    .competitor-brand-mentions {
      font-size: 11px;
      color: var(--text-muted);
      margin-top: 2px;
    }
    
    .competitor-brand-action {
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--text-muted);
      font-size: 12px;
    }
    
    .competitor-brand-item.selected .competitor-brand-action {
      color: var(--accent-green);
      font-weight: 700;
    }
    
    .competitor-rank {
      width: 24px;
      height: 24px;
      background: rgba(239, 68, 68, 0.15);
      border-radius: var(--radius-sm);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      font-weight: 700;
      color: var(--accent-red);
    }
    
    .competitor-name {
      flex: 1;
      font-size: 13px;
      font-weight: 500;
    }
    
    .competitor-location {
      font-size: 11px;
      color: var(--text-muted);
    }
    
    /* Citations */
    .citation-item {
      display: block;
      padding: 10px 12px;
      background: var(--bg-card);
      border-radius: var(--radius-md);
      margin-bottom: 8px;
      text-decoration: none;
      transition: background 0.2s ease;
    }

    .citation-item:hover {
      background: var(--bg-tertiary);
    }
    
    .citation-title {
      font-size: 13px;
      color: var(--accent-blue);
      margin-bottom: 2px;
    }
    
    .citation-url {
      font-size: 11px;
      color: var(--text-muted);
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    
    /* Association Cards */
    .association-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
    }

    /* Collapse two-up grids to a single column on narrow viewports */
    @media (max-width: 768px) {
      .provider-pair-cols,
      .association-grid {
        grid-template-columns: 1fr;
      }
    }

    .association-card {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 16px;
    }
    
    .association-category {
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: var(--accent-purple);
      margin-bottom: 6px;
    }
    
    .association-text {
      font-size: 13px;
      margin-bottom: 12px;
      line-height: 1.4;
    }
    
    .association-score {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    
    .association-bar {
      flex: 1;
      height: 6px;
      background: var(--bg-tertiary);
      border-radius: var(--radius-xs);
      overflow: hidden;
    }
    
    .association-bar-fill {
      height: 100%;
      border-radius: var(--radius-xs);
      transition: width 0.5s ease;
    }
    
    .association-percent {
      font-size: 14px;
      font-weight: 700;
      min-width: 45px;
      text-align: right;
    }
    
