/* ProductFeed Doctor v0.8: additive dashboard styles; keep style.css unchanged. */
.analytics-section, .analytics-history { margin-top: 24px; }
.dashboard-heading { gap: 16px; }
.dashboard-actions, .history-controls { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.dashboard-actions .secondary-btn, .history-controls .secondary-btn,
.history-controls .primary-btn { font-size: 13px; width: auto; max-width: 100%; }
.analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.analytics-secondary { margin-top: 16px; }
.analytics-chart-card { min-width: 0; padding: 20px; background: #fbfdfb; border: 1px solid var(--line, #e4e9e5); border-radius: 14px; }
.analytics-chart-card h4, .history-trend h4 { font-size: 15px; font-weight: 800; letter-spacing: -.2px; margin: 0 0 6px; color: var(--ink, #17211d); }
.analytics-chart-card .chart-subtitle { font-size: 12px; margin: 0 0 17px; }
.analytics-footnote { font-size: 12px; margin: 12px 0 0; line-height: 1.5; }
.product-distribution { display: flex; gap: 0; height: 24px; overflow: hidden; background: #edf0ec; border-radius: 30px; }
.product-distribution > div { min-width: 0; }
.distribution-clean { background: #238e64; }
.distribution-warning { background: #efb34d; }
.distribution-error { background: #d65757; }
.chart-legend { display: grid; gap: 10px; margin: 18px 0 0; }
.chart-legend > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.chart-legend dt { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; color: var(--ink, #17211d); }
.chart-legend dd { font-size: 15px; font-weight: 800; margin: 0; font-variant-numeric: tabular-nums; }
.legend-dot { width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; display: inline-block; }
.dot-clean { background: #238e64; }.dot-warning { background: #efb34d; }.dot-error { background: #d65757; }
.severity-visual { display: flex; align-items: center; justify-content: center; gap: 26px; min-height: 180px; }
.severity-donut { --error-share: 0%; position: relative; width: 146px; height: 146px; border-radius: 50%; flex: 0 0 auto; display: grid; place-items: center;
  background: conic-gradient(#d65757 0 var(--error-share), #efb34d var(--error-share) 100%); }
.severity-donut.empty { background: #edf0ec; }
.severity-donut::after { content: ''; position: absolute; inset: 25px; background: #fbfdfb; border-radius: 50%; }
.severity-donut span { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 0; }
.severity-donut strong { font-size: 29px; line-height: 1.2; color: var(--ink, #17211d); }
.severity-donut small { font-size: 11px; color: var(--muted, #77817c); }
.severity-legend { min-width: 120px; flex: 1; max-width: 200px; margin: 0; }
.field-chart { display: grid; gap: 15px; padding: 2px 0; }
.field-chart-row { display: grid; grid-template-columns: minmax(90px, 130px) minmax(0, 1fr) 27px; gap: 12px; align-items: center; }
.field-chart-name { overflow-wrap: anywhere; font-size: 12px; font-weight: 700; }
.field-chart-track { height: 12px; border-radius: 30px; overflow: hidden; background: #eaf0eb; }
.field-chart-track > span { display: block; background: #358666; height: 100%; border-radius: 30px; }
.field-chart-number { font-variant-numeric: tabular-nums; font-size: 13px; text-align: right; }
.source-legend { border-top: 1px solid var(--line, #e4e9e5); padding-top: 12px; }
.source-legend > div { padding: 4px 0; }
.history-controls { margin: 18px 0 6px; }.history-feedback:empty { display: none; }
.comparison-intro { font-size: 13px; font-weight: 700; margin: 18px 0 12px; }
.comparison-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.comparison-metric { display: flex; flex-direction: column; gap: 7px; padding: 14px; background: #f7faf8; border: 1px solid var(--line, #e4e9e5); border-radius: 10px; }
.comparison-metric > span { font-size: 12px; color: var(--muted, #77817c); }
.comparison-metric > strong { font-size: 13px; color: var(--ink, #17211d); overflow-wrap: anywhere; }
.history-trend { margin-top: 20px; }
.trend-columns { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 10px; align-items: stretch; padding: 16px 0 4px; }
.trend-column { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; }
.trend-bar-area { height: 110px; width: 100%; display: flex; align-items: end; justify-content: center; border-bottom: 1px solid #cddbd2; }
.trend-bar { background: #a8cec0; width: min(100%, 38px); min-height: 2px; border-radius: 5px 5px 0 0; }
.trend-bar.current { background: #267a58; }
.trend-column > strong { font-size: 14px; font-variant-numeric: tabular-nums; }
.trend-column > small { font-size: 10px; color: var(--muted, #77817c); overflow-wrap: anywhere; text-align: center; line-height: 1.35; max-width: 115px; }
@media (max-width: 760px) {
  .analytics-grid, .comparison-metrics { grid-template-columns: minmax(0, 1fr); }
  .analytics-chart-card { padding: 16px; }
  .dashboard-actions { justify-content: flex-start; }
  .severity-visual { gap: 18px; }
  .severity-donut { width: 122px; height: 122px; }
  .severity-donut.empty { background: #edf0ec; }
.severity-donut::after { inset: 21px; }
  .field-chart-row { grid-template-columns: minmax(70px, 110px) minmax(0, 1fr) 25px; gap: 8px; }
  .trend-columns { gap: 5px; }
  .trend-column > small { font-size: 9px; }
}
@media print {
  @page { margin: 13mm; size: A4; }
  body { background: white !important; color: #17211d !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .topbar, .hero, .features, .no-print, .live-table, .issue-section, .repair-section, .mapping-summary,
  .report-actions, .filter-btn, .issue-tools, .product-queue, .channel-templates, .footer { display: none !important; }
  .shell, .results { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; }
  .results-heading { padding: 0 0 14px !important; }
  .health-score-card, .analytics-chart-card, .action-plan, .stat-card { box-shadow: none !important; break-inside: avoid; }
  .analytics-grid { grid-template-columns: 1fr 1fr !important; }
  .analytics-history { break-before: page; }
  .history-controls, .history-feedback { display: none !important; }
  .action-plan { padding: 14px !important; margin: 12px 0 !important; }
  .stats-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .severity-donut { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .analytics-chart-card { padding: 12px !important; }
  a { color: inherit !important; text-decoration: none !important; }
}
