.quote-report-filters{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:14px;align-items:end}.quote-report-filters label{margin:0}.quote-report-filters input,.quote-report-filters select{width:100%}.quote-report-search{grid-column:span 2}.quote-report-filters>button{min-height:40px}.quote-report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 12px}.quote-report-metric{border:1px solid #d1e1ee;background:#f4f9fd;border-radius:12px;padding:17px 18px;display:flex;flex-direction:column}.quote-report-metric>span{font-size:15px;color:#5f6c79}.quote-report-metric strong{font-size:30px;color:#1766a9;line-height:1.4;font-weight:600;font-variant-numeric:tabular-nums}.quote-report-metric small{font-size:13px;line-height:1.35}.quote-report-table{margin-top:18px}.quote-report-table table{width:100%;font-size:14px}.quote-report-table th{font-size:14px;white-space:nowrap}.quote-report-table td{vertical-align:top}.quote-number{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.quote-cell-note{display:block;font-size:12px;line-height:1.35;margin-top:4px;color:#6c757d}.quote-source-name{max-width:230px;overflow-wrap:anywhere}.quote-payment{display:inline-block;font-size:12px;padding:3px 8px;border-radius:12px;white-space:nowrap;background:#eef0f2;color:#56616c}.quote-payment.paid{background:#e3f2e8;color:#247345}.quote-payment.unpaid{background:#e7f2fc;color:#1766a9}.quote-payment.stale{background:#fff1d5;color:#86631b}.quote-payment.unknown{background:#f1eaf8;color:#785590}.quote-report-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 0;font-size:14px}.quote-report-pagination .actions{align-items:center;margin:0}.quote-report-pagination button:disabled{opacity:.45;cursor:default}.quote-download{display:inline-block;white-space:nowrap;text-decoration:none}.quote-report-empty{padding:30px;text-align:center;border:1px dashed #c8d6e0;border-radius:12px;margin-top:20px;background:#f8fafc}.quote-report-definition{padding:15px 18px;border-left:4px solid #1766a9;background:#f4f9fd;line-height:1.6}.quote-report-chart{border:1px solid #dde5ec;border-radius:12px;padding:20px;margin:25px 0}.quote-chart-scroll{overflow-x:auto}.quote-chart-scroll svg{display:block;width:100%;max-height:330px}.quote-chart-scroll text{font-size:12px;font-family:Catamaran,Arial,sans-serif;fill:#6c757d}.quote-chart-grid{stroke:#e5ebf1;stroke-width:1}.quote-chart-all{fill:#1766a9;background:#1766a9}.quote-chart-paid{fill:#38a578;background:#38a578}.quote-chart-legend{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}.quote-chart-legend span{display:flex;align-items:center;gap:7px}.quote-chart-legend i{display:inline-block;width:11px;height:11px;border-radius:3px}.quote-chart-data{margin-top:10px}.quote-chart-data table{font-size:14px}.quote-chart-data .table-wrap{margin-top:12px}.quote-financial-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-financial-metrics strong{font-size:26px}.quote-download-note{margin-top:12px;color:#1766a9}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.quote-report-filters{grid-template-columns:repeat(3,minmax(110px,1fr))}.quote-report-search{grid-column:span 2}.quote-financial-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.quote-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-report-metric{padding:12px}.quote-report-metric strong{font-size:25px}.quote-report-pagination{align-items:flex-start;flex-direction:column}.quote-report-chart{padding:12px}.quote-report-definition{padding:12px}.quote-chart-legend{gap:12px}}
.quote-payment-tools{margin-top:18px;padding-top:16px;border-top:1px solid #e5ebf1}.quote-payment-tools>span{margin-left:12px}.quote-payment-tools>p{margin:10px 0 0}.quote-payment-tools button:disabled{opacity:.5;cursor:default}

/* Reports use normal paragraph spacing; form field help uses a negative margin elsewhere. */
.quote-report>.help,.quote-report>[data-report-note]{margin-top:12px;margin-bottom:16px;line-height:1.5}.quote-payment-tools>[data-payment-progress]{margin:12px 0 0;line-height:1.5}.quote-payment-tools>[data-payment-progress]:empty{display:none}
