.actions.compact { margin: 0; justify-content: flex-end; }
.actions.left { justify-content: flex-start; }
.text-link { color: var(--green-dark); font-weight: 700; text-decoration: none; }
.report-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.report-card { margin: 0; }
.report-card span, .report-card small { display: block; color: var(--muted); }
.report-card strong { display: block; font: 700 30px Georgia, serif; margin: 7px 0; }
.report-breakdowns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.group-breakdown { grid-column: 1 / -1; padding: 0; overflow: hidden; }
.group-breakdown summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; cursor: pointer; list-style-position: inside; font-weight: 750; }
.group-breakdown summary small { color: var(--muted); font-weight: 500; }
.group-breakdown[open] summary { border-bottom: 1px solid var(--line); }
.group-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; padding: 8px 24px 24px; }
.group-grid a { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--green-dark); text-decoration: none; }
.report-builder { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.report-builder label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 650; }
.report-builder select { width: 100%; min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: inherit; }
.report-actions { display: flex; align-items: end; gap: 10px; grid-column: 1 / -1; }
.report-result { padding-bottom: 0; }
.result-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.result-heading h2 { margin-bottom: 8px; }
.result-total { min-width: 120px; padding: 14px 18px; border-radius: 12px; background: var(--mint); text-align: center; }
.result-total span, .result-total strong { display: block; }
.result-total span { color: var(--green-dark); font-size: 12px; }
.result-total strong { font: 700 30px Georgia, serif; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.filter-chips span { padding: 5px 9px; border-radius: 99px; background: #eef3f0; color: var(--green-dark); font-size: 12px; }
.report-result .table-wrap { margin: 20px -24px 0; }
.report-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 22px 0 24px; }
.report-result-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 16px; min-height: 112px; padding: 20px; border: 1px solid #cddbd3; border-radius: 14px; background: #f8fbf9; color: var(--ink); text-decoration: none; transition: border-color .15s, transform .15s, box-shadow .15s; }
.report-result-card:hover { border-color: var(--green); transform: translateY(-2px); box-shadow: var(--shadow); }
.report-result-card span { font-size: 17px; font-weight: 750; }
.report-result-card strong { grid-row: 1 / 3; grid-column: 2; color: var(--green-dark); font: 700 34px Georgia, serif; }
.report-result-card small { color: var(--green); font-weight: 650; }
.report-empty { grid-column: 1 / -1; padding: 26px; border: 1px dashed var(--line); border-radius: 12px; text-align: center; }
.compact-table th, .compact-table td { padding: 10px 0; }
.compact-table th:last-child, .compact-table td:last-child { text-align: right; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.section-heading h2 { margin: 0; }
.prepared-text { width: 100%; min-height: 300px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fafbfa; color: var(--ink); font: 15px/1.65 inherit; resize: vertical; }
.copy-status { color: var(--green); min-height: 22px; margin: 8px 0 0; }
@media (max-width: 900px) { .report-summary { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .report-builder, .report-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .report-summary, .report-breakdowns, .group-grid, .report-builder, .report-result-grid { grid-template-columns: 1fr; } .group-breakdown summary, .result-heading { align-items: flex-start; flex-direction: column; gap: 4px; } .result-total { width: 100%; } .report-actions, .actions.compact { justify-content: flex-start; flex-wrap: wrap; } }
