/*
  Area pass for Money reports (boards: canvas-payables VendorBills / VendorBillRecord / VendorBillPay /
  VendorBillVoid / AccountingExport, and canvas-reports Main / Receivables / MarkPaid / Payroll / Reports /
  AccountingReports / AccountingReports1099 / EquipmentReports).
  Everything uses the pui-reports- prefix; the page body of each view carries .pui-reports.
*/

/* Colour helpers (kept out of inline styles so tones follow the theme). */
.pui-reports-muted { color: var(--muted-foreground); }
.pui-reports-late { color: var(--tone-danger-fg); }
.pui-reports-ink { color: var(--foreground); }
.pui-reports-good { color: var(--tone-success-fg); }
.pui-reports-warn { color: var(--tone-warning-fg); }

/* "Needs you" row: the label, then the shared chips. */
.pui-reports-needs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pui-reports-needs-label {
    font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .05em;
    color: var(--muted-foreground); margin-right: 4px;
}
.pui-reports .cn-button.pui-chip {
    height: 32px; padding: 0 12px; border-radius: 999px; background: var(--card); border: 1px solid var(--border);
    font-size: 13px; font-weight: 500; color: var(--foreground); box-shadow: none; gap: 8px;
}
.pui-reports .cn-button.pui-chip:hover { background: var(--accent); }
.pui-reports .cn-button.pui-chip[aria-pressed="true"] { border-color: var(--primary); background: var(--tone-info-bg); }
.pui-reports .cn-badge.pui-badge-count { height: 20px; }
.pui-reports .pui-chip .sc-hstack { flex-direction: row-reverse; }

/* Cards that hold a list or a table. */
.pui-reports-card.cn-card, .pui-reports-aging-card.cn-card {
    overflow: hidden; gap: 0; padding: 0; border-radius: 12px;
}
.pui-reports-card .pui-list-toolbar { padding: 14px 16px; border-bottom: 1px solid var(--border); gap: 12px; }
.pui-reports-card .cn-tabs-list {
    display: flex; gap: 2px; padding: 3px; background: var(--muted); border-radius: 9px; width: max-content;
    max-width: 100%; height: auto;
}
.pui-reports-card .cn-tabs-trigger {
    height: 30px; padding: 0 12px; border-radius: 7px; font-size: 13px; font-weight: 500; gap: 6px; box-shadow: none;
    border: 0; color: var(--muted-foreground);
}
.pui-reports-card .cn-tabs-trigger[aria-selected="true"],
.pui-reports-card .cn-tabs-trigger[data-state="active"] {
    background: var(--card); color: var(--foreground); box-shadow: 0 1px 2px oklch(0.2 0.02 258 / .08);
}
.pui-reports-count {
    font-family: var(--font-mono); font-size: 11px; font-weight: 500; color: var(--muted-foreground);
    background: var(--background); border-radius: 999px; padding: 1px 6px;
}

.pui-reports-card .pui-filter-bar { align-items: center; gap: 8px; }
.pui-reports-search { position: relative; flex: 1 1 260px; max-width: 360px; }
.pui-reports-search > .cn-input, .pui-reports-search input { height: 36px; width: 100%; padding-left: 34px; border-radius: 8px; font-size: 14px; }
.pui-reports-search-icon {
    position: absolute; left: 10px; top: 50%; margin-top: -8px; color: var(--muted-foreground); pointer-events: none; z-index: 1;
}

.pui-reports-card .pui-list-table { padding: 0; }
.pui-reports-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pui-reports-table th.cn-table-head, .pui-reports-table thead th {
    height: 38px; padding: 0 12px; font-size: 12px; font-weight: 500; color: var(--muted-foreground);
    border-bottom: 1px solid var(--border); white-space: nowrap;
}
.pui-reports-table tbody td { padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: middle; font-size: 13px; }
.pui-reports-table tbody tr:last-child td { border-bottom: 0; }
.pui-reports-table tbody tr:hover td { background: oklch(0.98 0.004 250); }
.pui-reports-actions { display: flex; gap: 6px; justify-content: flex-end; align-items: center; }

/* "Owed by vendor" and other titled table cards. */
.pui-reports-byvendor .cn-card-header { padding: 16px 20px 12px; }
.pui-reports-byvendor .cn-card-title { font-size: 15px; font-weight: 600; }
.pui-reports-byvendor .cn-card-description { font-size: 13px; color: var(--muted-foreground); margin-top: 2px; }

/* Aging strip: six figures, each one filters the list. */
.pui-reports-aging { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); }
.pui-reports-aging .cn-button.pui-reports-aging-cell {
    height: auto; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start;
    padding: 14px 18px; border: 0; border-right: 1px solid var(--border); border-radius: 0; background: transparent;
    text-align: left; font-weight: 400; box-shadow: none; color: var(--foreground);
}
.pui-reports-aging .cn-button.pui-reports-aging-cell:last-child { border-right: 0; }
.pui-reports-aging .cn-button.pui-reports-aging-cell:hover { background: var(--accent); }
.pui-reports-aging .cn-button.pui-reports-aging-cell[aria-pressed="true"] { background: var(--tone-info-bg); }

/* Dialogs that carry a field (pay a bill, void a bill): the board's 14px radius, a ruled footer, no close cross. */
.pui-reports-dialog .cn-dialog { padding: 0; gap: 0; border-radius: 14px; }
.pui-reports-dialog .cn-dialog-header { padding: 20px 24px 12px; gap: 4px; }
.pui-reports-body { display: flex; flex-direction: column; gap: 14px; padding: 4px 24px 20px; min-width: 0; }
.pui-reports-dialog .cn-dialog-footer { margin: 0; padding: 16px 24px; border-top: 1px solid var(--border); }
.pui-reports-dialog .cn-label, .pui-reports-sheet .cn-label { font-size: 13px; font-weight: 500; line-height: 1.45; }
.pui-reports-dialog .cn-field { gap: 6px; }
.pui-reports-dialog .cn-input, .pui-reports-dialog .cn-select {
    height: 36px; border: 1px solid var(--input); border-radius: 8px; background: var(--card); font-size: 14px; box-shadow: none;
}
.pui-reports-dialog .cn-input-group {
    display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px; border: 1px solid var(--input);
    border-radius: 8px; background: var(--card); color: var(--muted-foreground); box-shadow: none;
}
.pui-reports-dialog .cn-input-group .cn-input {
    flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--foreground);
}
.pui-reports-dialog .cn-input-group .cn-input:focus { outline: 0; }
.pui-reports-dialog .cn-input-group:focus-within { outline: 2px solid var(--ring); border-color: var(--ring); }
.pui-reports-summary {
    display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; background: var(--muted); font-size: 13px;
}

/* Sheets of this area: the last section has no rule under it, and a field in error keeps its dark label. */
.pui-reports-sheet .pui-sheet-section:last-child { border-bottom: 0; }
.pui-reports-sheet [data-invalid] .cn-label, .pui-reports-dialog [data-invalid] .cn-label { color: var(--foreground); }
.pui-reports-three { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.pui-reports-table td:has(> .pui-right) { text-align: right; }
.pui-reports-aging-cell .sc-vstack { gap: 2px; }

/* ── Accounting export ─────────────────────────────────────────────────────────────────────── */

.pui-reports-narrow { max-width: 760px; }
.pui-reports .cn-card-header { padding: 16px 20px 0; }
.pui-reports .cn-card-title { font-size: 15px; font-weight: 600; }
.pui-reports .cn-card-description { font-size: 13px; color: var(--muted-foreground); margin-top: 2px; }
.pui-reports .cn-card-content { padding: 16px 20px 20px; }
.pui-reports-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cn-button.pui-reports-choice {
    height: auto; text-align: left; align-items: flex-start; justify-content: flex-start; white-space: normal;
    padding: 12px 14px 12px 40px; border: 1px solid var(--input); border-radius: 10px; background: var(--card);
    color: var(--foreground); font-size: 14px; font-weight: 400; box-shadow: none; position: relative;
}
.cn-button.pui-reports-choice::before {
    content: ""; position: absolute; left: 14px; top: 14px; width: 16px; height: 16px; border-radius: 50%;
    border: 1px solid var(--input); background: var(--card); box-sizing: border-box;
}
.cn-button.pui-reports-choice:hover { background: var(--accent); }
.cn-button.pui-reports-choice[aria-checked="true"] {
    border: 1.5px solid var(--primary); background: var(--tone-info-bg); padding: 11.5px 13.5px 11.5px 39.5px;
}
.cn-button.pui-reports-choice[aria-checked="true"]::before { border: 5px solid var(--primary); }
.pui-reports-choice-how { font-size: 13px; font-weight: 400; color: var(--muted-foreground); line-height: 1.4; }
.cn-button.pui-reports-choice[aria-checked="true"] .pui-reports-choice-how { color: var(--tone-info-fg); }
.pui-reports-summary-text { font-size: 13px; }
.pui-reports .pui-reports-summary { background: var(--muted); border-radius: 10px; padding: 12px 14px; }

/* ── Financials ────────────────────────────────────────────────────────────────────────────── */

.pui-reports-linetabs .cn-tabs-list {
    display: flex; gap: 20px; padding: 0; background: transparent; border-bottom: 1px solid var(--border);
    border-radius: 0; width: 100%; height: auto; justify-content: flex-start;
}
.pui-reports-linetabs .cn-tabs-trigger {
    height: 40px; padding: 0 2px; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px;
    border-radius: 0; background: transparent; box-shadow: none; font-size: 13px; font-weight: 500;
    color: var(--muted-foreground);
}
.pui-reports-linetabs .cn-tabs-trigger[aria-selected="true"],
.pui-reports-linetabs .cn-tabs-trigger[data-state="active"] {
    color: var(--foreground); border-bottom-color: var(--primary); background: transparent; box-shadow: none;
}

.pui-reports-strip { gap: 12px; flex-wrap: wrap; }
.pui-reports-seg { display: inline-flex; padding: 3px; gap: 2px; background: var(--muted); border-radius: 9px; border: 0; }
.pui-reports-seg .cn-button, .pui-reports-seg .cn-toggle-button {
    height: 30px; padding: 0 12px; border: 0; border-radius: 7px; font-size: 13px; font-weight: 500; box-shadow: none;
    background: transparent; color: var(--muted-foreground);
}
.pui-reports-seg [aria-pressed="true"] { background: var(--card); color: var(--foreground); box-shadow: 0 1px 2px oklch(0.2 0.02 258 / .08); }

.pui-reports .cn-card.pui-reports-card { overflow: hidden; gap: 0; padding: 0; border-radius: 12px; }
.pui-reports .cn-card.pui-reports-pad { padding: 20px; gap: 0; }
.pui-reports-cardtitle { font-size: 15px; font-weight: 600; }
.pui-reports-cardhead { padding: 18px 20px 14px; }
.pui-reports-cardnote {
    display: flex; gap: 10px; align-items: center; padding: 12px 20px; background: var(--muted);
    border-top: 1px solid var(--border);
}
.pui-reports-note { max-width: 320px; font-size: 12px; text-align: left; }
.pui-reports-periodbar { padding: 16px 20px; flex-wrap: wrap; border-bottom: 1px solid var(--border); }
.pui-reports-periodbar .cn-field { gap: 6px; min-width: 150px; }
.pui-reports-dateerror { font-size: 13px; padding: 8px 20px 0; }
.pui-reports-panelnote { padding: 12px 20px; border-top: 1px solid var(--border); font-size: 12px; flex-wrap: wrap; }

.pui-reports-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); }
.pui-reports-kpicol { border-right: 1px solid var(--border); padding-bottom: 8px; }
.pui-reports-kpicol:last-child { border-right: 0; }
.pui-reports-colhead { padding: 16px 20px 10px; }
.pui-reports-coltitle { font-size: 15px; font-weight: 600; }
.pui-reports-kpirow { padding: 14px 20px; border-top: 1px solid var(--border); font-size: 13px; min-height: 48px; }
.pui-reports-kpirow:first-child { border-top: 0; }

.pui-reports-two { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.pui-reports-two > .pui-reports-main { flex: 1 1 560px; min-width: 0; }
.pui-reports-two > .pui-reports-rail { flex: 0 0 340px; max-width: 100%; min-width: 0; }
.pui-reports-figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 16px; }
.pui-reports-bigfigure { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
.pui-reports-midfigure { font-size: 20px; font-weight: 600; line-height: 1.2; }

.pui-reports-swatch { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.pui-reports-in { background: var(--primary); }
.pui-reports-out { background: oklch(0.7 0.06 258); }
.pui-reports-chart { align-items: stretch; height: 170px; gap: 8px; }
.pui-reports-axis { width: 40px; font-size: 11px; color: var(--muted-foreground); text-align: right; justify-content: space-between; height: 140px; }
.pui-reports-plot { position: relative; flex: 1; height: 140px; }
.pui-reports-grid {
    position: absolute; inset: 0;
    border-top: 1px dashed var(--border); border-bottom: 1px solid var(--border);
    background: linear-gradient(to bottom, transparent calc(50% - 1px), var(--border) calc(50% - 1px), var(--border) 50%, transparent 50%);
}
.pui-reports-bars { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: space-around; }
.pui-reports-barpair { align-items: flex-end; height: 100%; gap: 4px; }
.pui-reports-bar { width: 24px; border-radius: 3px 3px 0 0; min-height: 1px; }
.pui-reports-bar.pui-reports-partial { opacity: .55; }
.pui-reports-monthtable { font-size: 13px; }
.pui-reports-monthtable td, .pui-reports-monthtable th { padding-left: 8px; padding-right: 8px; }

.pui-reports-stack { display: flex; height: 8px; border-radius: 999px; overflow: hidden; background: var(--muted); gap: 1px; }
.pui-reports-seg-band { height: 100%; min-width: 0; }
.pui-reports-band0 { background: oklch(0.4 0.09 165); }
.pui-reports-band1 { background: oklch(0.76 0.14 95); }
.pui-reports-band2 { background: oklch(0.7 0.15 75); }
.pui-reports-band3 { background: oklch(0.62 0.17 50); }
.pui-reports-band4 { background: oklch(0.58 0.18 40); }
.pui-reports-band5 { background: oklch(0.53 0.2 27); }
.pui-reports-band6 { background: oklch(0.4 0.14 25); }
.pui-reports-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.pui-reports-dot-empty { background: transparent; border: 1px solid var(--input); box-sizing: border-box; }
.pui-reports-bandrow { padding: 8px 0; font-size: 13px; }
.pui-reports-railfoot { padding-top: 14px; border-top: 1px solid var(--border); margin-top: 4px; flex-wrap: wrap; }
.pui-reports-payrows { padding-top: 10px; border-top: 1px solid var(--border); font-size: 13px; }

.pui-reports-buckets { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 12px; }
.pui-reports-bucket { border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; }

/* Receivables */
.pui-reports-filterrow { flex-wrap: wrap; }
.pui-reports-filterrow .cn-field { gap: 6px; min-width: 150px; }
.pui-reports-totals { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
.pui-reports-total { padding: 18px 20px; border-right: 1px solid var(--border); }
.pui-reports-total:last-child { border-right: 0; }
.pui-reports-ages { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(130px, 100%), 1fr)); gap: 10px; }
.cn-button.pui-reports-agecard {
    height: auto; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start;
    padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); text-align: left;
    font-weight: 400; box-shadow: none; color: var(--foreground);
}
.cn-button.pui-reports-agecard:hover { background: var(--accent); }
.cn-button.pui-reports-agecard[aria-pressed="true"] { border-color: var(--primary); background: var(--tone-info-bg); }
.pui-reports-selbar { padding: 12px 16px; background: var(--muted); border-top: 1px solid var(--border); font-size: 13px; }
.pui-reports-selected td { background: oklch(0.965 0.004 250); }
.pui-reports-list { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.pui-reports-listrow { padding: 10px 14px; border-bottom: 1px solid var(--border); font-size: 13px; }
.pui-reports-list .pui-reports-listrow:last-child { border-bottom: 0; }
.pui-reports-card .pui-reports-listrow:last-child { border-bottom: 0; }

/* Payroll */
.pui-reports-avatar {
    width: 28px; height: 28px; border-radius: 50%; background: var(--muted); color: var(--foreground); font-size: 11px;
    font-weight: 600; display: inline-flex; align-items: center; justify-content: center; flex: none;
}
.pui-reports-tree { padding: 12px 20px 16px; }
.pui-reports-treerow { padding: 8px 0; }
.pui-reports-treechildren { margin-left: 14px; padding-left: 16px; border-left: 1px solid var(--border); }

.pui-reports-linetabs .cn-tabs-trigger { flex: 0 0 auto; }
.pui-reports-linetabs .cn-tabs-list > * { flex: 0 0 auto; }
.pui-reports-periodbar { display: flex; align-items: flex-end; gap: 16px; }
.pui-reports-periodbar > .cn-field, .pui-reports-filterrow > .cn-field { flex: 0 0 170px; width: 170px; min-width: 0; }
.pui-reports-filterrow { display: flex; align-items: flex-end; gap: 12px; }
.pui-reports-filterrow > .cn-field:nth-child(3) { flex-basis: 240px; width: 240px; }
.pui-reports-filterrow > .cn-field:nth-child(4) { flex-basis: 200px; width: 200px; }

/* ── Reports (the owner briefing) ──────────────────────────────────────────────────────────── */

.pui-reports-periodrow { flex-wrap: wrap; justify-content: space-between; }
.pui-reports-periods .cn-tabs-list {
    display: inline-flex; gap: 2px; padding: 3px; background: var(--muted); border-radius: 9px; width: max-content;
    height: auto; max-width: 100%;
}
.pui-reports-periods .cn-tabs-trigger {
    height: 30px; padding: 0 12px; border: 0; border-radius: 7px; font-size: 13px; font-weight: 500;
    background: transparent; color: var(--muted-foreground); box-shadow: none;
}
.pui-reports-periods .cn-tabs-trigger[aria-selected="true"],
.pui-reports-periods .cn-tabs-trigger[data-state="active"] {
    background: var(--card); color: var(--foreground); box-shadow: 0 1px 2px oklch(0.2 0.02 258 / .08);
}
.cn-button.pui-reports-pill, .cn-toggle-button.pui-reports-pill {
    height: 32px; padding: 0 12px; border-radius: 999px; background: var(--card); border: 1px solid var(--border);
    font-size: 13px; font-weight: 500; color: var(--foreground); box-shadow: none; gap: 8px;
}
.cn-toggle-button.pui-reports-pill[aria-pressed="true"] { border-color: var(--primary); background: var(--tone-info-bg); }

.pui-reports-pair { display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch; }
.pui-reports-pair > * { flex: 1 1 460px; min-width: 0; }
.pui-reports-headline { padding: 10px 20px; border-bottom: 1px solid var(--border); }
.pui-reports-headline:last-child { border-bottom: 0; }
.pui-reports-headlines { padding-bottom: 6px; }
.pui-reports-dot-alert { background: var(--tone-danger-fg); }
.pui-reports-dot-warn { background: oklch(0.66 0.15 70); }
.pui-reports-dot-good { background: var(--tone-success-fg); }
.pui-reports-dot-info { background: var(--muted-foreground); }

.pui-reports-pacegrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
.pui-reports-pacecell { padding: 16px 20px; border-right: 1px solid var(--border); }
.pui-reports-pacecell:last-child { border-right: 0; }
.pui-reports-progresswrap { padding: 0 20px 14px; }
.pui-reports-progress { height: 8px; border-radius: 999px; background: var(--muted); overflow: hidden; }
.pui-reports-progressbar { height: 100%; background: var(--primary); border-radius: 999px; }

.pui-reports-wf-axis { width: 44px; height: 128px; margin-top: 22px; align-items: flex-end; justify-content: space-between; font-size: 12px; color: var(--muted-foreground); }
.pui-reports-wf-grid { flex: 1; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; min-width: 0; }
.pui-reports-wf-col { text-align: center; align-items: stretch; }
.pui-reports-wf-value { height: 20px; }
.pui-reports-wf-track { position: relative; height: 128px; border-bottom: 1px solid var(--border); }
.pui-reports-wf { position: absolute; left: 14%; right: 14%; border-radius: 3px 3px 0 0; }
.pui-reports-wf-total { background: var(--primary); }
.pui-reports-wf-cost { background: oklch(0.72 0.05 258); }
.pui-reports-wf-net { background: var(--tone-success-fg); }
.pui-reports-wf-loss { background: var(--tone-danger-fg); }

.pui-reports-link.cn-button { height: auto; padding: 0; font-family: var(--font-mono); font-size: 13px; font-weight: 600; text-decoration: none; justify-content: flex-start; }
.pui-reports-link.cn-button:hover { text-decoration: underline; }

.pui-reports-stack-tall { height: 10px; gap: 2px; }
.pui-reports-sev-ok { background: var(--tone-success-fg); }
.pui-reports-sev-watch { background: oklch(0.66 0.15 70); }
.pui-reports-sev-warn { background: oklch(0.6 0.17 45); }
.pui-reports-sev-critical { background: var(--tone-danger-fg); }
.pui-reports-arbuckets { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 16px; }
.pui-reports-bucketheadrow { padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.pui-reports-entry { padding: 8px 0; border-bottom: 1px solid var(--border); }
.pui-reports-entry:last-child { border-bottom: 0; }
.pui-reports-cardfoot { padding: 12px 20px; border-top: 1px solid var(--border); flex-wrap: wrap; }

.pui-reports-section { font-size: 16px; font-weight: 600; }
.pui-reports-cuts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: 20px; }

.pui-reports-catalogue { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 28px; padding: 4px 20px 20px; }
.pui-reports-cathead { padding-bottom: 6px; border-bottom: 1px solid var(--input); }
.pui-reports-catitem { padding: 10px 0; border-bottom: 1px solid var(--border); }
.pui-reports-catitem:last-child { border-bottom: 0; }
.pui-reports-ai { padding: 16px 20px; flex-wrap: wrap; }

.pui-reports-textlink.cn-button { height: auto; padding: 0; font-size: 13px; font-weight: 500; color: var(--primary); text-decoration: none; justify-content: flex-start; }
.pui-reports-textlink.cn-button:hover { text-decoration: underline; }

/* ── Accounting and equipment report catalogues ────────────────────────────────────────────── */

.cn-card.pui-reports-card { overflow: hidden; gap: 0; padding: 0; border-radius: 12px; }
.cn-card.pui-reports-card.pui-reports-pad { padding: 20px; }
.pui-reports-ctrlrow { flex-wrap: wrap; gap: 24px; justify-content: space-between; width: 100%; }
.pui-reports-ctrlfields { flex-wrap: wrap; align-items: flex-end; }
.pui-reports-ctrlfields .cn-field { gap: 6px; min-width: 150px; }
.pui-reports-desc { flex: 1 1 320px; max-width: 580px; font-size: 13px; line-height: 1.5; color: var(--muted-foreground); }
.pui-reports-descstack { flex: 1 1 320px; max-width: 580px; }
.pui-reports-desc-small { font-size: 12px; }
.pui-reports-card .pui-reports-dateerror, .pui-reports-pad .pui-reports-dateerror { padding: 0; color: var(--tone-danger-fg); }

.pui-reports-notebar { display: block; padding: 12px 16px; border-radius: 10px; font-size: 13px; border: 1px solid transparent; }
.pui-reports-note-info { background: var(--tone-info-bg); color: var(--tone-info-fg); border-color: var(--tone-info-bg); }
.pui-reports-note-warn { background: var(--tone-warning-bg); color: var(--tone-warning-fg); border-color: var(--tone-warning-bg); }
.pui-reports-note-danger { background: var(--tone-danger-bg); color: var(--tone-danger-fg); border-color: var(--tone-danger-bg); }

.pui-reports-kpiband { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); width: 100%; gap: 0; }
.pui-reports-kpicell { padding: 16px 20px; border-right: 1px solid var(--border); }
.pui-reports-kpicell:last-child { border-right: 0; }
.pui-reports-kpilabel { font-size: 12px; color: var(--muted-foreground); }
.pui-reports-kpival { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: 28px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
.pui-reports-tone-danger { color: var(--tone-danger-fg); }
.pui-reports-tone-warn { color: var(--tone-warning-fg); }
.pui-reports-tone-neutral { color: inherit; }

.pui-reports-dim { font-size: 12px; color: var(--muted-foreground); }
.pui-reports-stackcell { align-items: flex-end; }
.pui-reports-card tr.pui-reports-totalrow td { border-top: 1px solid var(--border); font-weight: 600; }
.pui-reports-card table { width: 100%; }
.pui-reports-ctrlfields .cn-field { flex: 0 0 auto; width: 170px; min-width: 0; }
.pui-reports-card td .pui-num, .pui-reports-card td .pui-mono.pui-right { display: block; text-align: right; }
.pui-reports-card td .sc-vstack { width: 100%; }
.pui-reports-descstack .pui-reports-desc { flex: none; max-width: none; }
.pui-reports-dialog .pui-reports-list { max-height: 320px; overflow-y: auto; }

/* Board "AccountingReportTabs": the six tabs without an earlier board draw their KPI figures at 22px. */
.pui-reports-kpis-sm .pui-reports-kpival { font-size: 22px; }
