.report-heading{margin-bottom:18px}
.report-filter{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.period-buttons{display:flex;flex-wrap:wrap;gap:8px}
.period-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1px solid #b9cbc7;border-radius:10px;color:var(--brand);background:#fff;text-decoration:none;font-weight:700}
.period-button:hover,.period-button.active{background:var(--brand);border-color:var(--brand);color:#fff}
.custom-range-form{display:flex;align-items:flex-end;gap:9px}
.custom-range-form label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:700}
.custom-range-form input{padding:9px 10px;border:1px solid #bdc9cc;border-radius:9px;font:inherit;color:var(--ink);background:#fff}
.range-separator{padding-bottom:10px;color:var(--muted)}
.report-form-errors{width:100%;color:var(--danger)}
.report-form-errors .errorlist{margin:0}
.report-range{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px}
.report-range span{color:var(--muted);font-size:13px}
.report-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.report-card{background:#fff;border:1px solid var(--line);border-top:4px solid #6c7883;border-radius:15px;padding:17px;min-width:0}
.report-card.purchase{border-top-color:#3d72b4}
.report-card.sales{border-top-color:#21856f}
.report-card.cost{border-top-color:#8c6e4c}
.report-card.fee{border-top-color:#815da7}
.report-card.profit{border-top-color:#b67b16}
.report-card.net-profit{border-top-color:#0b6b57}
.report-card span,.report-card small{display:block;color:var(--muted)}
.report-card strong{display:block;font-size:25px;line-height:1.2;margin:8px 0;overflow-wrap:anywhere}
.report-warning{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;background:#fff1cd;color:#684e09;border:1px solid #ead596;border-radius:12px;padding:13px 15px;margin:16px 0}
.report-section{margin-top:30px}
.report-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}
.report-section-heading h2{margin:2px 0 0;font-size:21px}
.report-section-heading>span{color:var(--muted)}
.missing-note{display:block;color:#a05b12;margin-top:3px}
.report-total-row th,.report-total-row td{background:#e8f3f0;border-top:2px solid #8ebdb2;border-bottom:0;color:var(--ink)}
.report-total-row th{font-size:14px;letter-spacing:.04em}
.report-total-row td{font-size:15px}
.report-total-row .profit{color:#075845}
.report-details{display:grid;gap:12px;margin-top:30px}
.report-details details{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.report-details summary{cursor:pointer;padding:15px 18px;font-weight:750}
.report-details details[open] summary{border-bottom:1px solid var(--line)}
.report-details .table-wrap{border:0;border-radius:0}
.report-footnote{color:var(--muted);font-size:13px;margin-top:20px}
@media(max-width:980px){.report-filter{align-items:stretch;flex-direction:column}.report-summary-grid{grid-template-columns:repeat(2,1fr)}.custom-range-form{flex-wrap:wrap}}
@media(max-width:560px){.report-summary-grid{grid-template-columns:1fr}.custom-range-form label{width:calc(50% - 18px)}.custom-range-form input{width:100%}.custom-range-form .primary{width:100%}.report-range{align-items:flex-start;flex-direction:column}}
