/* Reports and statements share the same integer-based projections and print styles. */
.report-kind-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line,#e3e5e8); overflow-x:auto; margin:0 0 24px; }
.report-kind-tabs a { flex-shrink:0; padding:12px 0; color:var(--muted,#657080); font-size:13px; border-bottom:2px solid transparent; }
.report-kind-tabs a.selected { color:var(--ink,#17212f); border-color:var(--accent,#235c4c); font-weight:600; }
.report-toolbar,.report-history-bar,.statement-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; margin:20px 0; }
.report-filter-form { display:flex; align-items:end; gap:14px; flex-wrap:wrap; }
.report-filter-form label { min-width:180px; }
.history-tabs { display:inline-flex; padding:4px; gap:3px; border:1px solid var(--line,#e3e5e8); border-radius:9px; background:#f5f6f8; }
.history-tabs a { padding:7px 14px; border-radius:6px; font-size:12px; color:var(--muted,#657080); }
.history-tabs a.selected { background:white; color:var(--ink,#17212f); box-shadow:0 1px 4px #17212f14; font-weight:600; }
.report-history-note,.statement-note { font-size:12px; line-height:1.7; color:var(--muted,#657080); margin:12px 0 24px; max-width:850px; }
.report-section { background:white; border:1px solid var(--line,#e3e5e8); border-radius:12px; overflow:hidden; margin:22px 0; }
.report-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.report-section > .report-section-head,.report-section > h2 { padding:20px 24px; margin:0; }
.report-section-head h2 { margin:0; font-size:15px; }
.report-section > .statement-note { margin:0 24px 20px; }
.financial-report-table { width:100%; border-collapse:collapse; }
.financial-report-table th,.financial-report-table td { padding:14px 24px; font-size:12px; }
.financial-report-table thead th { background:#fafafb; font-size:10px; letter-spacing:.04em; color:var(--muted,#657080); }
.financial-report-table tbody th { background:transparent; text-transform:none; letter-spacing:0; text-align:left; font-weight:500; color:var(--ink,#17212f); border-bottom:1px solid var(--line,#e3e5e8); }
.financial-report-table tbody tr:last-child { border-top:1px solid var(--line,#e3e5e8); }
.financial-report-table tbody tr:last-child th,.financial-report-table tbody tr:last-child td { border-bottom:0; }
.financial-report-table .number { white-space:nowrap; font-variant-numeric:tabular-nums; }
.statement-owner-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:18px; }
.statement-owner-card { display:flex; align-items:center; gap:16px; padding:24px; border:1px solid var(--line,#e3e5e8); border-radius:12px; background:white; }
.statement-owner-card:hover { text-decoration:none; border-color:var(--accent,#235c4c); }
.statement-owner-card h2 { margin:0 0 7px; font-size:16px; }
.statement-owner-card p { margin:0; font-size:12px; color:var(--muted,#657080); }
.statement-avatar { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--soft,#eaf0e8); color:var(--accent,#235c4c); font-weight:600; flex-shrink:0; }
.statement-owner-arrow { margin-left:auto; color:var(--muted,#657080); }
.statement-downloads { display:flex; flex-wrap:wrap; gap:8px; }
.statement-summary { margin:30px 0; }
.statement-balance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:18px 0; }
.statement-balance { padding:22px; border:1px solid var(--line,#e3e5e8); background:white; border-radius:10px; }
.statement-balance p { margin:0 0 14px; font-size:12px; color:var(--muted,#657080); }
.statement-balance strong { font-size:clamp(18px,2vw,28px); letter-spacing:-.04em; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.statement-balance.owner_payable { background:#f0f8f4; border-color:#d7eadf; }
.statement-balance.owner_payable strong { color:#247650; }
.statement-property-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:18px; }
.statement-property-card { border:1px solid var(--line,#e3e5e8); border-radius:12px; background:white; padding:24px; }
.statement-ownership { font-size:12px; color:var(--muted,#657080); margin:12px 0 22px; }
.statement-facts { display:grid; grid-template-columns:minmax(100px,1fr) minmax(0,1fr); gap:12px 20px; margin:0; font-size:12px; }
.statement-facts dt { color:var(--muted,#657080); }
.statement-facts dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.statement-calculations { margin:32px 0; }
.statement-calculations > h2 { font-size:16px; }
.statement-calculation > .report-section { border:0; margin:0; }
.statement-calculation > summary { font-size:13px; }
.statement-mobile-history { display:none; }
.statement-transfers > h2 { padding:24px; }
.statement-transfer { margin:0 24px 20px; padding:18px; border:1px solid var(--line,#e3e5e8); border-radius:8px; }
.statement-transfer h3 { margin:0 0 18px; font-size:13px; }
.statement-document { color:#17212f; background:#fff; font-family:'Statement Sans',Arial,sans-serif; font-size:12px; }
.statement-document-head,.statement-document main,.statement-document footer { width:auto; margin:0; max-width:none; }
.statement-document-head { border-bottom:2px solid var(--accent,#235c4c); padding-bottom:20px; }
.statement-document-head h1 { font-family:inherit; font-size:32px; line-height:1.2; letter-spacing:-.04em; margin:20px 0 10px; }
.statement-document-brand { font-size:12px; font-weight:600; color:var(--accent,#235c4c); }
.statement-document main { min-height:0; padding-bottom:0; }
.statement-document footer { margin-top:30px; padding-top:14px; border-top:1px solid #dce1e8; font-size:10px; color:#657080; }
@media(max-width:1000px) { .statement-balance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
  .report-kind-tabs { gap:18px; }
  .report-toolbar,.statement-toolbar { align-items:stretch; }
  .report-filter-form { width:100%; gap:12px; }
  .report-filter-form label { flex:1; min-width:130px; }
  .report-filter-form .button { width:100%; }
  .history-tabs { width:100%; justify-content:center; }
  .history-tabs a { flex:1; text-align:center; padding:10px 8px; }
  .statement-downloads-desktop { display:none; }
  .statement-downloads-mobile { display:grid; width:100%; grid-template-columns:1fr; gap:10px; margin:20px 0; }
  .statement-downloads-mobile .button { display:block; width:100%; text-align:center; }
  .statement-desktop-history { display:none; }
  .statement-mobile-history { display:grid; padding:0 16px 16px; gap:14px; }
  .statement-month-card { padding:18px; border:1px solid var(--line,#e3e5e8); border-radius:10px; }
  .statement-month-card h3 { font-size:13px; margin:0; }
  .statement-month-card .statement-facts { margin-top:18px; }
  .statement-balance { padding:18px 14px; }
  .statement-balance p { font-size:11px; }
  .statement-balance strong { font-size:20px; }
  .financial-report-table th,.financial-report-table td { padding:13px 16px; }
}
@page { size:A4; margin:15mm 13mm 16mm; }
@media print {
  .statement-document { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .statement-document h1,.statement-document h2,.statement-document h3 { break-after:avoid; }
  .statement-document .statement-balance-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .statement-document .statement-balance { padding:12px; }
  .statement-document .statement-balance strong { font-size:17px; }
  .statement-document .statement-property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .statement-document .statement-property-card { padding:16px; }
  .statement-document .statement-desktop-history { display:block; }
  .statement-document .statement-mobile-history { display:none; }
  .statement-document .table-scroll { overflow:visible; }
  .statement-document table { table-layout:fixed; }
  .statement-document th,.statement-document td { padding:8px 10px; font-size:9px; overflow-wrap:anywhere; white-space:normal; }
  .statement-document .number { white-space:normal; }
  .statement-document thead { display:table-header-group; }
  .statement-document tr,.statement-document .statement-balance,.statement-document .statement-property-card,.statement-document .statement-transfer { break-inside:avoid; }
  .statement-document .report-section,.statement-document .statement-calculation { break-inside:auto; }
  .statement-document .statement-calculation { margin-top:20px; }
  .statement-document .statement-calculation > summary { list-style:none; border-bottom:1px solid #e3e5e8; padding:12px; }
  .statement-document .statement-calculation > summary::after { display:none; }
  .statement-document .report-section-head { padding:14px 16px; }
  .statement-document .report-section-head h2 { font-size:12px; }
  .statement-document .statement-facts { font-size:10px; }
}
.statement-document { padding:32px; max-width:1100px; margin:auto; }
@media print {
  .statement-document { padding:0; max-width:none; }
  .statement-document footer { display:block !important; }
}
.statement-property-payable { color:#247650; font-size:18px; font-weight:600; }
@media print { .statement-property-payable { font-size:13px; } }
.report-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:26px 0; }
.report-metric { padding:24px; background:#fff; border:1px solid var(--line,#e3e5e8); border-radius:12px; }
.report-metric > p { margin:0 0 14px; color:var(--muted,#657080); font-size:12px; }
.report-metric > strong { display:block; font-size:28px; font-weight:600; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.report-metric > span { display:block; margin-top:14px; font-size:11px; color:var(--muted,#657080); }
.report-metric-change { margin-left:8px; color:var(--accent,#235c4c); }
.report-inactive > .report-section { border:0; margin:0; }
.report-correction-context { scroll-margin-top:24px; }
@media(max-width:640px) { .report-metric-grid { grid-template-columns:1fr; gap:12px; } .report-metric { padding:18px; } }
.statement-property-history { border-top:1px solid var(--line,#e3e5e8); margin-top:16px; padding-top:8px; }
.statement-property-history .text-button { margin-top:12px; }
.statement-monthly-history { scroll-margin-top:24px; }
.report-scope-description { margin:16px 0 0; font-size:14px; font-weight:500; }
.report-scope { padding:22px 24px; margin:0 0 22px; border:1px solid var(--line,#e3e5e8); border-radius:12px; background:#fff; }
.report-scope > h2 { margin:0 0 14px; font-size:13px; color:var(--muted,#657080); font-weight:600; }
.report-scope .report-kind-tabs { margin-top:0; }
.statement-downloads-mobile { display:none; }
.statement-current-balances { display:grid; gap:10px; margin-top:16px; }
.statement-current-balance { padding:14px 16px; border:1px solid var(--line,#e3e5e8); border-radius:9px; }
.statement-current-balance-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.statement-current-balance-head h3 { margin:0; font-size:13px; font-weight:500; }
.statement-current-balance-head strong { font-variant-numeric:tabular-nums; }
.statement-balance-details { margin-top:12px; padding-top:10px; border-top:1px solid var(--line,#e3e5e8); }
.statement-balance-details > summary { color:var(--muted,#657080); font-size:12px; cursor:pointer; }
.statement-balance-explainer { color:var(--muted,#657080); font-size:11px; line-height:1.55; }
.statement-position-ledger { padding:12px 0; border-top:1px solid var(--line,#e3e5e8); }
.statement-position-ledger h4 { margin:0 0 10px; font-size:12px; font-weight:600; }
.statement-position-basis { margin:0 0 10px; color:var(--muted,#657080); font-size:11px; line-height:1.55; }
.statement-balance-context { display:block; font-size:10px; line-height:1.45; }
.statement-balance-warning { margin:10px 0 0; font-size:11px; }
@media(max-width:640px) { .report-scope { padding:16px; } }

@media screen {
  .report-kind-tabs a,.history-tabs a,.report-history-note,.statement-note,.financial-report-table td,.financial-report-table tbody th,
  .statement-owner-card p,.statement-ownership,.statement-facts,.statement-calculation > summary,.report-metric > p { font-size:14px; }
  .financial-report-table thead th,.report-metric > span { font-size:12px; }
  .report-section-head h2,.statement-calculations > h2 { font-size:18px; }
  .statement-owner-card h2 { font-size:18px; }
  .history-tabs a { min-height:40px; display:flex; align-items:center; justify-content:center; }
}
@media print {
  html:has(.statement-document) { background:#fff; }
  .statement-document .statement-calculation > summary,
  .statement-document .section-count { display:none; }
  .statement-document .report-section-head { break-after:avoid; }
  .statement-document th,.statement-document td { font-size:12px; padding:8px 10px; }
  .statement-document .statement-calculation { background:#fff; }
}

@media print {
  .statement-document main > .report-section { break-inside:avoid; }
  .statement-document th,.statement-document td { padding:6px 10px; }
  .statement-document footer { margin-top:12px; padding:8px 0 0; }
}
@media(max-width:640px) { .statement-downloads-desktop { display:none; } .statement-downloads-mobile { display:grid; width:100%; grid-template-columns:1fr; gap:10px; margin:20px 0; } .statement-downloads-mobile .button { display:block; width:100%; text-align:center; } }


@media print {
  .statement-document .statement-property-grid { display:block; }
  .statement-document .statement-property-card { break-inside:auto; margin-bottom:18px; }
  .statement-document .statement-current-balance,
  .statement-document .statement-position-ledger { break-inside:avoid-page; }
  .statement-document .statement-calculation { break-inside:avoid-page; }
}
