/* Harmonisasi tipografi laporan dan proyeksi keuangan */
.financial-forecast,.monthly-profit-report,.balance-sheet{font-size:13px;line-height:1.45}.finance-page-head,.monthly-profit-report .report-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.finance-page-head>div>span,.monthly-profit-report .report-heading>div>span{display:block;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.finance-page-head h2,.monthly-profit-report .report-heading h1{margin:4px 0;font-size:22px;line-height:1.2;color:var(--navy);text-transform:none}.finance-page-head p,.monthly-profit-report .report-heading p{margin:0;font-size:12px;color:var(--muted)}.finance-page-head>button,.monthly-report-controls button{height:40px;border:0;border-radius:8px;padding:0 15px;background:linear-gradient(135deg,#168fbe,#20b4ce);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}.scenario-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:11px}.scenario-tabs button{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8fafb;color:#53697b;text-align:left}.scenario-tabs button strong{font-size:14px}.scenario-tabs button small{font-size:11px}.scenario-tabs button.active{background:#e9f7fa;border-color:#29a8c5;color:#116f8c;box-shadow:0 0 0 2px #24a6c51a}.scenario-note{padding:11px 13px;border-left:4px solid #27a5c3;background:#f1f9fb;border-radius:0 8px 8px 0;font-size:12px;color:#53697b}.forecast-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.forecast-kpis article{padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.forecast-kpis span,.forecast-kpis strong,.forecast-kpis small{display:block}.forecast-kpis span{font-size:11px;color:var(--muted)}.forecast-kpis strong{margin:5px 0;font-size:18px;color:var(--navy)}.forecast-kpis small{font-size:10px;color:#8493a0}.forecast-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.forecast-table th{font-size:10px}.forecast-table td{font-size:12px;white-space:nowrap}.forecast-table tfoot th{background:#edf7fa;color:var(--navy);font-size:11px;border-top:2px solid #2487a8}.forecast-mini-chart{width:130px;display:grid;gap:4px}.forecast-mini-chart i{display:block;height:5px;border-radius:5px;min-width:2px}.forecast-mini-chart .income{background:#2585ad}.forecast-mini-chart .expense{background:#efa05c}.auto-chip,.manual-chip{display:inline-flex;border-radius:12px;padding:4px 8px;font-size:10px;font-weight:700}.auto-chip{background:#e8f5fa;color:#15728f}.manual-chip{background:#fff0dc;color:#a86518}.forecast-history{display:grid;grid-template-columns:auto repeat(3,1fr);gap:9px;align-items:stretch;margin-top:14px}.forecast-history h3{margin:0;padding:12px;font-size:13px;color:var(--navy)}.forecast-history article{display:grid;gap:3px;border:1px solid var(--line);border-radius:8px;padding:10px}.forecast-history article span{font-size:12px;font-weight:700}.forecast-history article small{font-size:10px;color:var(--muted)}
.monthly-report-controls{display:flex;align-items:flex-end;gap:8px}.monthly-report-controls label{display:grid;gap:4px;font-size:11px;font-weight:700;color:#53697b}.monthly-report-controls input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px}.monthly-profit-report .report-meta{font-size:11px}.monthly-profit-report .profit-table th,.monthly-profit-report .profit-table td{font-size:12px;padding:10px 12px}.monthly-profit-report .profit-table .grand td{font-size:14px}.annual-compile{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.annual-compile>div:first-child h3{margin:0;color:var(--navy);font-size:15px}.annual-compile>div:first-child p{margin:3px 0 10px;font-size:11px;color:var(--muted)}.annual-compile table th{font-size:10px}.annual-compile table td{font-size:11px;padding:7px 9px}.annual-compile tr.selected-month td{background:#edf8fb;font-weight:700}.annual-compile tfoot th{background:#e8f3f7;color:var(--navy);border-top:2px solid #2786a5}.monthly-profit-report .report-projects h3,.monthly-profit-report .signature{font-size:12px}
.balance-sheet .balance-head span,.balance-sheet .balance-controls label{font-size:10px}.balance-sheet .balance-head h1{font-size:22px;text-transform:none}.balance-sheet .balance-head p,.balance-sheet .balance-tabs button,.balance-sheet .balance-columns p,.balance-sheet .balance-check,.balance-sheet .section-action p,.balance-sheet .balance-sign{font-size:11px}.balance-sheet .balance-kpis span,.balance-sheet .running-profit span{font-size:10px}.balance-sheet .balance-kpis strong,.balance-sheet .running-profit strong{font-size:17px}.balance-sheet .balance-kpis small{font-size:9px}.balance-sheet .balance-columns h3,.balance-sheet .subsection-title{font-size:12px}.balance-sheet .section-action h2{font-size:18px}
@media(max-width:800px){.finance-page-head,.monthly-profit-report .report-heading{align-items:stretch;flex-direction:column}.scenario-tabs,.forecast-kpis{grid-template-columns:1fr}.finance-page-head>button,.monthly-report-controls button{width:100%}.monthly-report-controls{align-items:stretch;flex-direction:column}.forecast-history{grid-template-columns:1fr}.forecast-history h3{padding:0}}
@media print{.financial-forecast,.monthly-profit-report,.balance-sheet{font-family:Arial,sans-serif;font-size:9pt;line-height:1.25}.financial-forecast{border:0;box-shadow:none}.financial-forecast .finance-page-head>button,.financial-forecast .scenario-tabs,.monthly-report-controls{display:none!important}.financial-forecast .forecast-kpis{grid-template-columns:repeat(3,1fr)}.financial-forecast .forecast-history{grid-template-columns:auto repeat(3,1fr)}.monthly-profit-report .annual-compile{break-before:page}.monthly-profit-report .profit-table th,.monthly-profit-report .profit-table td,.annual-compile table td{font-size:9pt}}
.budget-controls{display:flex;align-items:flex-end;gap:8px}.budget-controls label{display:grid;gap:4px;font-size:11px;font-weight:700;color:#53697b}.budget-controls input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px}.budget-controls button{height:40px;border:0;border-radius:8px;padding:0 15px;background:linear-gradient(135deg,#168fbe,#20b4ce);color:#fff;font-size:12px;font-weight:700}.budget-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:16px 0}.budget-summary article{padding:15px;border:1px solid var(--line);border-radius:10px;background:#f9fbfc}.budget-summary article>span{display:block;margin-bottom:9px;color:#526b7d;font-size:12px;font-weight:800}.budget-summary article>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid #e9eff3}.budget-summary small{font-size:10px;color:#7c8d9b}.budget-summary strong,.budget-summary b{font-size:14px;color:var(--navy)}.budget-summary em{display:block;margin-top:9px;font-size:10px;color:#6f8290;font-style:normal}.budget-summary article.profit{background:#edf9f5;border-color:#cdece1}.budget-summary article.loss{background:#fff2f3;border-color:#f2d7da}.budget-detail{margin-top:18px}.budget-detail h3,.scenario-compile h3{margin:0 0 8px;color:var(--navy);font-size:15px}.budget-detail table th,.scenario-compile table th{font-size:10px}.budget-detail table td,.scenario-compile table td{font-size:11px}.budget-detail tfoot th{background:#edf5f8;border-top:2px solid #2787a7}.realization-cell{display:grid;grid-template-columns:45px 80px;gap:7px;align-items:center}.realization-cell span{font-size:10px;font-weight:700}.realization-cell i{display:block;height:6px;background:#e3ebf0;border-radius:6px;overflow:hidden}.realization-cell i b{display:block;height:100%;background:#28a1bf;border-radius:6px}.budget-status{display:inline-flex;padding:4px 7px;border-radius:12px;font-size:9px;font-weight:700;white-space:nowrap}.budget-status.good{background:#e7f6f1;color:#08785f}.budget-status.watch{background:#fff1dc;color:#ac6818}.budget-status.bad{background:#fde9eb;color:#b73945}.scenario-compile{margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.scenario-compile>div:first-child p{margin:3px 0 10px;color:var(--muted);font-size:11px}.scenario-compile tr.selected-scenario td{background:#eaf7fa;font-weight:700}.budget-method{margin:15px 0 0;padding:11px 13px;border-radius:8px;background:#f4f7f9;color:#647786;font-size:10px;line-height:1.5}
@media(max-width:800px){.budget-controls{align-items:stretch;flex-direction:column}.budget-controls button{width:100%}.budget-summary{grid-template-columns:1fr}}
@media print{.budget-controls,.budget-realization .scenario-tabs{display:none!important}.budget-summary{grid-template-columns:repeat(3,1fr)}.budget-detail,.scenario-compile{break-inside:avoid}.budget-realization table th,.budget-realization table td{font-size:8pt}.budget-method{font-size:8pt}}
