/* ═══════════════════════════════════════════════════════════════
   QUOTE COMPARE — Session cards & comparison table
   ═══════════════════════════════════════════════════════════════ */
.qc-header { display: flex; align-items: center; justify-content: space-between; padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--border-subtle); }
.qc-header h2 { font-size: var(--text-lg); font-weight: var(--weight-semibold); margin: 0; }
.qc-filters { display: flex; gap: var(--space-3); padding: var(--space-3) var(--space-6); border-bottom: 1px solid var(--border-subtle); flex-wrap: wrap; background: var(--bg-surface); }
.qc-filter-input, .qc-filter-select { padding: var(--space-2) var(--space-3); font-size: var(--text-sm); }
.qc-sessions { padding: var(--space-4) var(--space-6); }
.qc-empty { text-align: center; padding: var(--space-10); color: var(--text-muted); }

.qc-session-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  margin-bottom: var(--space-3); transition: box-shadow var(--duration-normal), border-color var(--duration-normal); overflow: hidden; }
.qc-session-card:hover { border-color: var(--border-default); box-shadow: var(--shadow-md); }
.qc-session-card.expanded { border-color: var(--accent); box-shadow: 0 0 12px var(--accent-muted); }
.qc-session-header { display: flex; align-items: center; padding: var(--space-4); cursor: pointer; gap: var(--space-4); }
.qc-session-info { flex: 0 0 200px; }
.qc-session-name { font-size: var(--text-base); font-weight: var(--weight-semibold); }
.qc-session-date { font-size: var(--text-xs); color: var(--text-muted); margin-top: 2px; }
.qc-session-stats { flex: 1; }
.qc-carrier-pills { display: flex; flex-wrap: wrap; gap: var(--space-1); margin-bottom: var(--space-2); }
.qc-carrier-pill { font-size: 0.65rem; font-weight: var(--weight-semibold); padding: 2px var(--space-2); border-radius: var(--radius-full); }
.qc-status-completed { background: var(--success-muted); color: var(--success); }
.qc-status-pending { background: var(--warning-muted); color: var(--warning); }
.qc-status-error { background: var(--error-muted); color: var(--error); }
.qc-status-unknown { background: var(--bg-elevated); color: var(--text-secondary); }
.qc-best-price { font-size: var(--text-sm); color: var(--text-muted); }
.qc-best-price.has-price { color: var(--text-primary); }
.qc-best-label { color: var(--text-secondary); }
.qc-best-val { font-weight: var(--weight-bold); color: var(--success); font-size: var(--text-base); }
.qc-best-carrier { color: var(--text-muted); font-size: var(--text-xs); }
.qc-no-price { font-style: italic; color: var(--text-muted); }
.qc-expand-arrow { font-size: var(--text-xs); color: var(--text-muted); flex-shrink: 0; }

.qc-comparison-wrap { padding: 0 var(--space-4) var(--space-4); border-top: 1px solid var(--border-subtle); }
.qc-comparison-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); margin-top: var(--space-3); }
.qc-comparison-table th { text-align: left; padding: var(--space-2) var(--space-3); background: var(--bg-elevated); color: var(--text-secondary);
  font-size: var(--text-xs); font-weight: var(--weight-semibold); text-transform: uppercase; border-bottom: 1px solid var(--border-subtle); }
.qc-comparison-table td { padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--border-subtle); }
.qc-comparison-table tr:last-child td { border-bottom: none; }
.qc-row-error td { opacity: 0.7; } .qc-row-pending td { opacity: 0.6; }
.qc-rank { display: inline-block; width: 24px; height: 24px; line-height: 24px; text-align: center; border-radius: 50%;
  font-size: var(--text-xs); font-weight: var(--weight-bold); background: var(--bg-elevated); color: var(--text-secondary); }
.qc-rank-1 { background: var(--success-muted); color: var(--success); }
.qc-rank-2 { background: var(--info-muted); color: var(--info); }
.qc-rank-3 { background: var(--bg-elevated); color: var(--text-secondary); }
.qc-carrier-name { font-weight: var(--weight-medium); } .qc-premium { font-weight: var(--weight-semibold); }
.qc-savings { font-size: var(--text-sm); color: var(--text-muted); }
.qc-error-toggle { color: var(--error); font-size: var(--text-xs); cursor: pointer; text-decoration: underline; }
.qc-error-detail { margin-top: var(--space-2); padding: var(--space-2); background: var(--error-muted); border-radius: var(--radius-md);
  font-size: var(--text-xs); color: var(--error); max-height: 100px; overflow-y: auto; }
.qc-actions { padding: var(--space-3) 0; text-align: right; }
.qc-send-btn { padding: var(--space-2) var(--space-4); background: var(--accent); color: #fff; border: none; border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: var(--weight-semibold); cursor: pointer; }
.qc-send-btn:hover { background: var(--accent-hover); }
.qc-detail-empty { padding: var(--space-5); text-align: center; color: var(--text-muted); }

@media (max-width: 768px) { .qc-session-header { flex-direction: column; gap: var(--space-2); } .qc-session-info { flex: 1; } }
