/* Comptes entre Amis – bilan par catégorie, visuel uniquement. */
body.cea-body .cea-cat-section .cea-cat-panel {
  background: var(--cea-card-bg, #fff);
  border-radius: 20px;
  padding: 20px;
  color: var(--cea-detail-ink, #182b40);
}
body.cea-body .cea-cat-panel .cea-cat-visual {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  align-items: center;
  gap: 22px;
}
body.cea-body .cea-cat-panel .cea-cat-donut {
  width: 100%;
  max-width: 240px;
  margin-inline: auto;
  aspect-ratio: 1;
}
body.cea-body .cea-cat-panel .cea-cat-donut svg { display: block; width: 100%; height: auto; overflow: visible; }
body.cea-body .cea-cat-panel .cea-cat-total-label { font: 13px system-ui, sans-serif; fill: #66758c; }
body.cea-body .cea-cat-panel .cea-cat-total-value { font: 700 18px system-ui, sans-serif; fill: #17263d; }
body.cea-body .cea-cat-panel .cea-cat-legend { display: grid; grid-template-columns: repeat(auto-fit,minmax(165px,1fr)); gap: 11px 18px; min-width: 0; }
body.cea-body .cea-cat-panel .cea-cat-legend-row { display: flex; align-items: flex-start; min-width: 0; gap: 9px; }
body.cea-body .cea-cat-panel .cea-cat-dot { flex: 0 0 11px; width: 11px; height: 11px; border-radius: 50%; display: inline-block; }
body.cea-body .cea-cat-panel .cea-cat-legend-row .cea-cat-dot { margin-top: 5px; }
body.cea-body .cea-cat-panel .cea-cat-legend-copy { min-width: 0; display: grid; gap: 2px; }
body.cea-body .cea-cat-panel .cea-cat-legend-copy strong { font-size: 14px; font-weight: 650; line-height: 1.32; overflow-wrap: anywhere; }
body.cea-body .cea-cat-panel small { font-size: 12px; color: #68788d; font-variant-numeric: tabular-nums; }
body.cea-body .cea-cat-panel .cea-cat-details { margin-top: 22px; border-top: 1px solid #e6ebf1; }
body.cea-body .cea-cat-panel .cea-cat-detail-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 58px; padding: 12px 0; border-bottom: 1px solid #e6ebf1; }
body.cea-body .cea-cat-panel .cea-cat-detail-name { display: inline-flex; align-items: center; gap: 10px; min-width: 0; font-size: 15px; }
body.cea-body .cea-cat-panel .cea-cat-detail-name > span:last-child { overflow-wrap: anywhere; }
body.cea-body .cea-cat-panel .cea-cat-detail-amount { flex-shrink: 0; text-align: right; display: grid; gap: 3px; font-variant-numeric: tabular-nums; }
body.cea-body .cea-cat-panel .cea-cat-detail-amount strong { font-size: 15px; white-space: nowrap; }
body.cea-body .cea-cat-panel .cea-cat-detail-total { display: flex; justify-content: space-between; gap: 12px; padding-top: 16px; font-size: 15px; font-variant-numeric: tabular-nums; }
body.cea-body .cea-cat-panel .cea-cat-detail-total strong:last-child { white-space: nowrap; }
body.cea-body .cea-cat-panel .cea-cat-empty { margin: 0; color: #68788d; }
@media (max-width: 680px) {
  body.cea-body .cea-cat-section .cea-cat-panel { padding: 15px 14px; }
  body.cea-body .cea-cat-panel .cea-cat-visual { grid-template-columns: minmax(138px, 46%) minmax(0, 1fr); gap: 10px; }
  body.cea-body .cea-cat-panel .cea-cat-legend { grid-template-columns: minmax(0,1fr); gap: 8px; }
  body.cea-body .cea-cat-panel .cea-cat-legend-copy strong { font-size: 12px; }
  body.cea-body .cea-cat-panel .cea-cat-legend-copy small { font-size: 11px; }
  body.cea-body .cea-cat-panel .cea-cat-legend-row { gap: 6px; }
  body.cea-body .cea-cat-panel .cea-cat-dot { flex-basis: 9px; width: 9px; height: 9px; }
  body.cea-body .cea-cat-panel .cea-cat-total-value { font-size: 16px; }
  body.cea-body .cea-cat-panel .cea-cat-detail-name { font-size: 14px; }
}
@media (max-width: 340px) {
  body.cea-body .cea-cat-panel .cea-cat-visual { display: flex; flex-direction: column; align-items: stretch; }
  body.cea-body .cea-cat-panel .cea-cat-donut { max-width: 208px; }
  body.cea-body .cea-cat-panel .cea-cat-legend { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media print {
  body.cea-body .cea-cat-section .cea-cat-panel { break-inside: avoid; }
}
