*,*:before,*:after{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f0f2f5;--surface: #ffffff;--sidebar-bg: #192336;--sidebar-text: #c8d3e0;--sidebar-muted:#64748b;--primary: #2563eb;--positive: #16a34a;--negative: #dc2626;--warning: #d97706;--neutral: #6b7280;--border: #e5e7eb;--text: #111827;--text-muted: #6b7280;--radius: 10px;--mono: "SF Mono", "Fira Code", "Consolas", monospace}.app.dark{--bg: #0f1117;--surface: #1a1d27;--border: #2d3148;--text: #e2e8f0;--text-muted: #94a3b8}.app.dark .is-col-header th{background:#1e2130}.app.dark .is-section-header td{background:#1a1d27;color:var(--text-muted)}.app.dark .is-subsection td{background:#1e2130;color:var(--text)}.app.dark .is-cat-header td{background:#1a1d27;color:var(--text)}.app.dark .is-subtotal td{background:#1e2130}.app.dark .is-total td{border-top-color:var(--border);border-bottom-color:var(--border);color:var(--text)}.app.dark .is-item:hover td{background:#ffffff0a}.app.dark .is-net-pos td{background:#0d2b1a}.app.dark .is-net-neg td{background:#2b0d0d}.app.dark .is-surplus-pos td{background:#0d2b1a}.app.dark .is-surplus-neg td{background:#2b0d0d}.app.dark .is-add-row td{background:#1a2540}.app.dark .tool-disclaimer{background:#a6171726;border-top-color:#c0392b;color:#f87171}.dark-toggle{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px}.dark-toggle:hover{background:#ffffff1a}.github-link{display:flex;align-items:center;color:#fff9;transition:color .15s}.github-link:hover{color:#fff}html,body,#root{height:100%;overflow:hidden}.app{display:flex;flex-direction:column;height:100vh;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg)}.app-header{height:52px;background:var(--sidebar-bg);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.08);gap:12px}.app-header-left{display:flex;align-items:center;gap:10px}.app-logo{font-size:20px}.app-header h1{font-size:16px;font-weight:700;letter-spacing:-.3px;white-space:nowrap}.app-header-right{display:flex;align-items:center;gap:12px}.user-greeting{font-size:13px;color:#93c5fd;white-space:nowrap}.reset-btn{background:#6b7280;border:none;color:#fff;padding:6px 14px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;letter-spacing:.02em;transition:background .15s}.reset-btn:hover{background:#4b5563}.app-body{display:flex;flex:1;overflow:hidden}.input-panel{width:300px;flex-shrink:0;background:var(--sidebar-bg);overflow-y:auto;border-right:1px solid rgba(255,255,255,.06)}.input-panel::-webkit-scrollbar{width:4px}.input-panel::-webkit-scrollbar-track{background:transparent}.input-panel::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.input-panel-header{padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.07)}.input-panel-header h2{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--sidebar-muted)}.input-section{border-bottom:1px solid rgba(255,255,255,.05)}.section-toggle{width:100%;background:none;border:none;color:var(--sidebar-text);padding:11px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:13px;font-weight:600;text-align:left;transition:background .15s;font-family:inherit}.section-toggle:hover{background:#ffffff0a}.chevron{font-size:9px;color:var(--sidebar-muted);transition:transform .2s}.chevron.open{transform:rotate(180deg)}.section-content{padding:2px 12px 12px}.section-hint{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--sidebar-muted);padding:10px 4px 4px}.input-field{margin-bottom:7px}.input-field label{display:block;font-size:11px;color:#94a3b8;margin-bottom:3px;font-weight:500}.input-wrapper{display:flex;align-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden;transition:border-color .15s}.input-wrapper:focus-within{border-color:#3b82f6}.input-prefix{padding:0 8px;color:var(--sidebar-muted);font-size:12px;background:#ffffff08;border-right:1px solid rgba(255,255,255,.08);height:30px;display:flex;align-items:center;flex-shrink:0}.input-wrapper input[type=number]{flex:1;background:none;border:none;color:#fff;padding:5px 8px;font-size:13px;outline:none;width:0;font-family:inherit}.input-wrapper input[type=number]::-webkit-inner-spin-button,.input-wrapper input[type=number]::-webkit-outer-spin-button{opacity:.4}.input-field .text-input,.input-field input[type=text]{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;padding:5px 10px;font-size:13px;outline:none;transition:border-color .15s;font-family:inherit}.input-field .text-input:focus,.input-field input[type=text]:focus{border-color:#3b82f6}.input-field select{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;padding:5px 10px;font-size:13px;outline:none;cursor:pointer;font-family:inherit}.input-field select option{background:#192336;color:#fff}.statement-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.tabs{display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--surface);border-bottom:2px solid var(--border);flex-shrink:0}.tabs-left{display:flex;align-items:center;gap:4px}.tabs-right{display:flex;align-items:center;gap:8px}.tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:13px 18px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;border-radius:0;font-family:inherit}.tab:hover{color:var(--text);background:none;border-color:transparent}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tool-disclaimer{display:flex;align-items:flex-start;gap:10px;background:#ef444414;border-top:1px solid #e05252;padding:12px 20px;font-size:12px;line-height:1.5;color:#b91c1c;flex-shrink:0}.tool-disclaimer:before{content:"⚠";font-size:14px;flex-shrink:0;margin-top:1px;color:#a61717}.tool-disclaimer strong{color:#a61717}.tab-content{flex:1;overflow-x:hidden;overflow-y:auto;padding:20px}.tab-slide{animation-fill-mode:both}.slide-from-right{animation:slideFromRight .22s ease}.slide-from-left{animation:slideFromLeft .22s ease}@keyframes slideFromRight{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideFromLeft{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}.tab-content::-webkit-scrollbar{width:6px}.tab-content::-webkit-scrollbar-track{background:transparent}.tab-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.statement{background:var(--surface);border-radius:var(--radius);box-shadow:0 1px 4px #00000014;overflow:visible;max-width:100%}.statement-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.statement-header h2{font-size:18px;font-weight:700;color:var(--text)}.statement-period{font-size:12px;color:var(--text-muted);margin-top:3px}.savings-badge{flex-shrink:0;font-size:13px;font-weight:700;padding:4px 12px;border-radius:20px;white-space:nowrap;align-self:center}.savings-badge.positive{background:#dcfce7;color:var(--positive)}.savings-badge.negative{background:#fee2e2;color:var(--negative)}.statement-table{width:100%;border-collapse:collapse;font-size:13.5px}.statement-table td{padding:6px 24px}.statement-table tr:not(.section-header):not(.spacer):not(.subsection-header):hover td{background:#00000005}.statement-table .section-header td{padding:14px 24px 5px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);background:#fafafa;border-top:1px solid var(--border)}.statement-table .section-header:first-child td{border-top:none}.statement-table .subsection-header td{padding:10px 24px 3px;font-size:11px;font-weight:700;color:#9ca3af;font-style:italic}.statement-table .row-indent td:first-child{padding-left:36px}.statement-table .subtotal-row td{font-weight:600;color:var(--text-muted);border-top:1px solid var(--border);padding:7px 24px}.statement-table .total-row td{font-weight:700;font-size:14px;border-top:2px solid #d1d5db;padding:11px 24px}.statement-table .net-row td{font-weight:800;font-size:15px;padding:14px 24px}.statement-table .net-row.net-positive td{color:var(--positive);background:#f0fdf4}.statement-table .net-row.net-negative td{color:var(--negative);background:#fef2f2}.statement-table .spacer td{height:10px;background:transparent!important}.statement-table .empty-row td{color:#c0c8d4;font-style:italic;font-size:12px;padding:4px 36px}.amount{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px}.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}.balance-sheet-grid{display:grid;grid-template-columns:1fr 1fr}.bs-column{border-right:1px solid var(--border)}.bs-column:last-child{border-right:none}.balance-check{padding:10px 24px;border-top:1px solid var(--border);background:#fafafa;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap}.eq-sign{color:#9ca3af;font-weight:700}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}.kpi-card{background:var(--surface);padding:18px 20px;border-left:3px solid transparent}.kpi-card.status-good{border-left-color:var(--positive)}.kpi-card.status-bad{border-left-color:var(--negative)}.kpi-card.status-warning{border-left-color:var(--warning)}.kpi-card.status-neutral{border-left-color:#e5e7eb}.kpi-value{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1;margin-bottom:4px}.kpi-card.status-good .kpi-value{color:var(--positive)}.kpi-card.status-bad .kpi-value{color:var(--negative)}.kpi-card.status-warning .kpi-value{color:var(--warning)}.kpi-card.status-neutral .kpi-value{color:var(--text)}.kpi-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:4px}.kpi-description{font-size:11px;color:var(--text-muted);line-height:1.4;margin-bottom:8px}.kpi-benchmark{display:inline-block;font-size:10.5px;color:var(--text-muted);background:var(--bg);border-radius:4px;padding:3px 8px;line-height:1.4}.kpi-empty{padding:48px 24px;text-align:center;color:var(--text-muted)}.kpi-empty-icon{font-size:40px;margin-bottom:12px}.kpi-empty p{font-size:14px;line-height:1.6;max-width:360px;margin:0 auto}.hint-wrap{display:inline-flex;align-items:center;gap:6px;position:relative}.hint-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#d1d5db;color:#6b7280;font-size:9px;font-weight:700;cursor:default;flex-shrink:0;line-height:1;transition:background .15s,color .15s}.hint-wrap:hover .hint-icon{background:#6b7280;color:#fff}.hint-popup{display:none;position:absolute;left:0;top:calc(100% + 6px);width:270px;background:#1e293b;color:#e2e8f0;font-size:12px;font-weight:400;line-height:1.55;padding:10px 13px;border-radius:6px;box-shadow:0 4px 20px #0000004d;z-index:200;pointer-events:none;text-transform:none;letter-spacing:normal;white-space:normal}.hint-wrap:hover .hint-popup{display:block}.is-table{width:100%;border-collapse:collapse;font-size:13.5px;table-layout:fixed}.is-col-header th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);background:#fafafa;border-bottom:2px solid var(--border);padding:10px 16px;text-align:left}.is-col-header th.is-amount{text-align:right}.is-table td{padding:5px 16px;vertical-align:middle}.is-section-header td{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);background:#f5f6fa;border-top:2px solid var(--border);padding:12px 16px 5px!important}.is-table tbody tr.is-section-header:first-child td{border-top:none}.is-subsection td{font-size:12px;font-weight:600;color:var(--text);padding:10px 16px 3px!important;background:#fafafa}.is-cat-header td{font-weight:600;font-size:13px;color:var(--text);padding:10px 16px 4px!important;border-top:1px solid var(--border);background:#fafbff}.is-item td{padding:5px 16px}.is-item:hover td{background:#00000005}.is-label-indent{padding-left:36px!important}.is-label-wrap{display:flex;align-items:center;justify-content:space-between;gap:6px}.is-del-btn{visibility:hidden;border:none;background:none;color:#ef4444;cursor:pointer;font-size:16px;line-height:1;padding:0 2px;flex-shrink:0;font-family:inherit}.is-item-del:hover .is-del-btn{visibility:visible}.is-subtotal td{font-weight:600;font-size:12.5px;color:var(--text-muted);background:#fafafa;border-top:1px solid var(--border);padding:6px 16px!important}.is-total td{font-weight:700;font-size:14px;border-top:2px solid #d1d5db;border-bottom:2px solid #d1d5db;padding:10px 16px!important}.is-net td,.is-surplus td{font-weight:800;font-size:15px;padding:12px 16px!important}.is-net-pos td{color:var(--positive);background:#f0fdf4}.is-net-neg td{color:var(--negative);background:#fef2f2}.is-surplus-pos td{color:var(--positive);background:#f0fdf4}.is-surplus-neg td{color:var(--negative);background:#fef2f2}.is-spacer td{height:8px!important;background:transparent!important}.is-amount{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}.is-editable{cursor:pointer}.is-editable:hover{background:#2563eb0d;color:var(--primary)}.is-editable-label{cursor:pointer;border-radius:3px}.is-editable-label:hover{color:var(--primary)}.is-label-input{width:100%;border:none;border-bottom:2px solid var(--primary);background:transparent;font-size:inherit;font-family:inherit;color:var(--text);outline:none;padding:0 2px}.is-cell-input{width:100%;background:#fff;border:2px solid var(--primary);border-radius:4px;padding:2px 6px;font-size:13px;font-family:var(--mono);text-align:right;outline:none;color:var(--text)}.var-good{color:var(--positive)}.var-bad{color:var(--negative)}.var-zero{color:var(--text-muted)}.var-na{color:var(--text-muted);font-style:italic;font-size:11px}.is-add-trigger td{padding:3px 36px!important}.is-add-btn{background:none;border:1px dashed #d1d5db;border-radius:4px;padding:3px 12px;font-size:11.5px;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s}.is-add-btn:hover{border-color:var(--primary);color:var(--primary);background:#2563eb0a}.is-add-row td{padding:4px 8px!important;background:#f0f7ff}.is-add-row td:first-child{padding-left:36px!important}.is-add-input{width:100%;border:1px solid #93c5fd;border-radius:4px;padding:4px 8px;font-size:12.5px;font-family:inherit;outline:none;background:#fff;color:var(--text)}.is-add-input:focus{border-color:var(--primary)}.is-add-num{text-align:right;font-family:var(--mono)}.is-add-actions{display:flex;gap:6px;align-items:center;padding:2px 8px!important}.is-add-actions .is-add-num{width:90px;flex-shrink:0}.is-btn-confirm,.is-btn-cancel{border:none;border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer;font-family:inherit}.is-btn-confirm{background:var(--primary);color:#fff}.is-btn-confirm:hover{background:#1d4ed8}.is-btn-cancel{background:#e5e7eb;color:var(--text)}.is-btn-cancel:hover{background:#d1d5db}.export-btn{background:#059669;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:600;cursor:pointer;letter-spacing:.02em;transition:background .15s}.export-btn:hover{background:#047857}.pdf-print-root{position:fixed;left:-9999px;top:0;width:960px;pointer-events:none;overflow:hidden}.pdf-page-footer,.pdf-page-header{display:none}@media print{html,body,#root{overflow:visible!important;height:auto!important}.app{display:none!important}.pdf-print-root{position:static;left:auto;top:auto;width:auto;overflow:visible;pointer-events:auto;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:#111827}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdf-page-break{page-break-before:always}tr{page-break-inside:avoid}.pdf-page-header{display:block;margin-bottom:12px}.pdf-report-title{font-size:16pt;font-weight:700;margin-bottom:4px}.pdf-report-subtitle{font-size:9pt;color:#6b7280;margin-bottom:0}.pdf-section-heading{font-size:13pt;font-weight:700;margin-bottom:0}.pdf-page-footer{display:block;position:fixed;bottom:0;left:0;right:0;border-top:1px solid #d1d5db;background:#f9fafb;padding:5px 14px;font-size:7.5pt;color:#6b7280}.pdf-page{padding-bottom:40px}.pdf-page .statement{box-shadow:none;border-radius:0;background:transparent}.pdf-page .sum-grid{flex-direction:column;gap:0;padding:0;border-bottom:none}.pdf-page .sum-divider{display:none}.pdf-page .sum-group{padding:10px 0;border-bottom:1px solid #e5e7eb}.pdf-page .sum-group:last-child{border-bottom:none}.pdf-page .sum-group-label{margin-bottom:8px}.pdf-page .sum-value{font-size:13pt}.pdf-page .sum-label{font-size:9pt}.pdf-page .sum-sub{font-size:8pt}.pdf-page .charts-grid{grid-template-columns:1fr;border-top:1px solid #e5e7eb}.pdf-page .chart-box{border-right:none;border-bottom:1px solid #e5e7eb;padding:12px 0}.pdf-page .chart-box:last-child{border-bottom:none}.pdf-page .chart-heading{font-size:11pt;margin-bottom:8px}.pdf-page .ratio-items{display:grid;grid-template-columns:1fr 1fr;gap:0}.pdf-page .ratio-item{border-bottom:1px solid #e5e7eb!important;border-right:1px solid #e5e7eb;padding:8px!important}.pdf-page .ratio-item:nth-child(2n){border-right:none}.pdf-page .ratio-item:nth-child(n+3){border-bottom:none!important}.pdf-page .ratio-q,.pdf-page .ratio-tooltip{display:none!important}.pdf-table{width:100%;border-collapse:collapse;font-size:9.5pt;margin-bottom:0}.pdf-table th,.pdf-table td{padding:5px 8px;border:1px solid #d1d5db;text-align:left;vertical-align:middle}.pdf-table th{background:#f3f4f6;font-weight:700;font-size:9pt}.pdf-section-header td{background:#1e3a5f;color:#fff;font-weight:700;font-size:8.5pt;letter-spacing:.07em;text-transform:uppercase;padding:6px 8px}.pdf-cat-header td{background:#f3f4f6;font-weight:600;font-size:9pt}.pdf-total-row td{font-weight:700;background:#f9fafb}.pdf-net-row td{background:#f0fdf4;font-weight:700;font-size:10pt}.pdf-surplus-row td{background:#f0fdf4;font-weight:700;font-size:10.5pt;color:#16a34a}.pdf-deficit-row td{background:#fef2f2;font-weight:700;font-size:10.5pt;color:#dc2626}.pdf-net-worth-row td{background:#f0fdf4;font-weight:700;font-size:10.5pt}}.sum-grid{display:flex;align-items:stretch;padding:20px 24px;gap:0;border-bottom:1px solid var(--border)}.sum-group{flex:1;min-width:0}.sum-group-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:12px}.sum-metrics{display:flex;gap:0}.sum-metric{flex:1;padding-right:16px;border-right:1px solid var(--border);margin-right:16px}.sum-metric:last-child{border-right:none;margin-right:0;padding-right:0}.sum-label{font-size:11px;color:var(--text-muted);margin-bottom:4px;white-space:nowrap}.sum-value{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15;white-space:nowrap}.sum-sub{font-size:10.5px;color:var(--text-muted);margin-top:3px}.sum-divider{width:1px;background:var(--border);margin:0 24px;flex-shrink:0}.charts-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}.chart-box{padding:20px 24px 24px;border-right:1px solid var(--border)}.chart-box:last-child{border-right:none}.chart-heading{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px}.chart-subheading{font-size:11px;color:var(--text-muted);margin-bottom:14px}.pie-recharts-wrap{display:flex;align-items:center;gap:12px;margin-top:14px}.pie-wrap{display:flex;align-items:flex-start;gap:16px;margin-top:14px}.pie-svg{flex-shrink:0;width:140px;height:140px}.chart-tip{background:#1e293b;border-radius:6px;padding:8px 12px;font-size:12px;box-shadow:0 4px 12px #00000040}.chart-tip-label{color:#94a3b8;margin-bottom:2px}.chart-tip-val{color:#fff;font-weight:700;font-family:var(--mono)}.pie-legend{list-style:none;display:flex;flex-direction:column;gap:7px;padding:2px 0;flex:1;min-width:0}.pie-legend-item{display:flex;align-items:center;gap:7px;font-size:12px;min-width:0}.legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.legend-name{flex:1;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-val{font-family:var(--mono);font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.ratio-items{display:grid;grid-template-columns:1fr 1fr;margin-top:14px}.ratio-item{padding:14px 16px 14px 0;border-right:1px solid var(--border)}.ratio-item:nth-child(2n){padding-left:16px;padding-right:0;border-right:none}.ratio-item:nth-child(-n+2){border-bottom:1px solid var(--border)}.ratio-item:nth-child(n+3){padding-top:14px}.ratio-item:nth-child(-n+2){padding-bottom:14px}.ratio-item-label{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);margin-bottom:4px;white-space:nowrap}.ratio-item-val-good{color:var(--positive)}.ratio-item-val-warning{color:var(--warning)}.ratio-item-val-bad{color:var(--negative)}.ratio-item-interp-good{color:var(--positive)}.ratio-item-interp-warning{color:var(--warning)}.ratio-item-interp-bad{color:var(--negative)}.ratio-tooltip-wrap{position:relative;display:inline-flex;align-items:center}.ratio-q{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--border);color:var(--text-muted);font-size:9px;font-weight:700;cursor:default;-webkit-user-select:none;user-select:none;flex-shrink:0}.ratio-q:hover{background:#cbd5e1;color:var(--text)}.ratio-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);right:0;background:#1e293b;color:#e2e8f0;font-size:11px;font-style:italic;white-space:nowrap;padding:5px 9px;border-radius:5px;box-shadow:0 4px 12px #00000040;pointer-events:none;z-index:10}.ratio-tooltip-wrap:hover .ratio-tooltip{display:block}.vbar-chart{margin-top:14px}.vbar-bars{display:flex;align-items:flex-end;gap:6px;padding-bottom:0;border-bottom:2px solid var(--border);overflow-x:auto}.vbar-col{display:flex;flex-direction:column;align-items:center;flex:1;min-width:44px}.vbar-amount{font-size:10px;font-family:var(--mono);color:var(--text-muted);margin-bottom:3px;text-align:center;white-space:nowrap}.vbar-bar-wrap{display:flex;align-items:flex-end;width:100%}.vbar-bar{width:100%;border-radius:3px 3px 0 0;transition:opacity .15s}.vbar-bar:hover{opacity:.75;cursor:default}.vbar-label{margin-top:6px;font-size:10px;color:var(--text-muted);text-align:center;line-height:1.3;word-break:break-word}.app.dark .chart-box{background:var(--surface)}.home-page{max-width:760px;margin:0 auto;padding:48px 24px 64px;display:flex;flex-direction:column;gap:40px}.home-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.home-logo{font-size:48px}.home-title{font-size:28px;font-weight:700;color:var(--text);letter-spacing:-.5px}.home-subtitle{font-size:16px;color:var(--text-muted)}.home-sections{display:flex;flex-direction:column;gap:20px}.home-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px}.home-card h3{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--primary);margin-bottom:12px}.home-card p{font-size:14px;line-height:1.7;color:var(--text)}.home-motivation{display:flex;flex-direction:column;gap:16px}.home-motivation-item{display:flex;gap:16px;align-items:flex-start}.home-motivation-number{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.home-motivation-item div{font-size:14px;line-height:1.7;color:var(--text)}.home-tabs-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.home-tab-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.home-tab-chip span{display:block;font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px}.home-tab-chip p{font-size:12px;line-height:1.6;color:var(--text-muted)}.home-cta{align-self:center;background:var(--primary);color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s}.home-cta:hover{opacity:.88}.home-coffee{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:8px;border-top:1px solid var(--border)}.home-coffee>p{font-size:13px;color:var(--text-muted)}.coffee-btn{display:inline-block;background:#fd0;color:#111;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:700;text-decoration:none;transition:opacity .15s}.coffee-btn:hover{opacity:.85}.home-coffee-note{font-size:11px;color:var(--text-muted);font-style:italic}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:0 8px 40px #00000040;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-size:17px;font-weight:700;color:var(--text)}.modal-close{background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;font-family:inherit}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-body{overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:20px}.guide-section h3{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--primary);margin-bottom:6px}.guide-section p{font-size:13.5px;line-height:1.65;color:var(--text)}.guide-section kbd{display:inline-block;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px;font-family:var(--mono);color:var(--text);line-height:1.5}.guide-list{list-style:none;display:flex;flex-direction:column;gap:8px;padding:0}.guide-list li{font-size:13.5px;line-height:1.65;color:var(--text);padding-left:14px;position:relative}.guide-list li:before{content:"–";position:absolute;left:0;color:var(--text-muted)}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;flex-shrink:0}.modal-btn-primary{background:var(--primary);color:#fff;border:none;border-radius:7px;padding:10px 24px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.modal-btn-primary:hover{opacity:.88}.modal-btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:10px 24px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.modal-btn-secondary:hover{background:var(--border)}.modal-btn-danger{background:var(--negative);color:#fff;border:none;border-radius:7px;padding:10px 24px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.modal-btn-danger:hover{opacity:.88}.reset-modal{max-width:420px}.reset-modal-body{font-size:14px;line-height:1.6;color:var(--text)}@media(max-width:768px){.tabs{padding:0 12px}.tab{padding:10px 12px;font-size:12px}.tab-content{padding:12px}.statement-header{padding:16px 16px 12px}.statement-table td{padding:6px 16px}.is-table td{padding:5px 12px}.is-col-header th{padding:8px 12px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.balance-sheet-grid{grid-template-columns:1fr}.bs-column{border-right:none;border-bottom:1px solid var(--border)}.bs-column:last-child{border-bottom:none}.charts-grid{grid-template-columns:1fr}.chart-box{border-right:none;border-bottom:1px solid var(--border)}.chart-box:last-child{border-bottom:none}.sum-grid{flex-direction:column;padding:16px;gap:16px}.sum-divider{width:auto;height:1px;margin:0}.sum-metrics{flex-wrap:wrap;gap:12px 0}.sum-metric{flex:0 0 50%;border-right:none;margin-right:0;padding-right:0}.home-tabs-overview{grid-template-columns:1fr 1fr}.home-page{padding:32px 16px 48px;gap:28px}}@media(max-width:480px){.app-header{height:46px;padding:0 12px}.app-header h1{font-size:13px}.app-logo{font-size:17px}.tabs{padding:0 8px 0 0;gap:0}.tabs-left{flex:1 1 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs-left::-webkit-scrollbar{display:none}.tabs-right{flex-shrink:0;padding-left:6px}.tab{padding:10px;font-size:11.5px;white-space:nowrap}.reset-btn,.export-btn{padding:5px 10px;font-size:.75rem}.tab-content{padding:8px}.statement-header{padding:12px 12px 10px;flex-direction:column;align-items:flex-start;gap:8px}.statement-table td{padding:5px 12px}.statement-table .section-header td{padding:10px 12px 4px}.is-table td{padding:5px 10px}.is-col-header th{padding:8px 10px}.is-label-indent{padding-left:20px!important}.is-section-header td{padding:10px 10px 4px!important}.is-add-trigger td{padding:3px 20px!important}.is-add-row td:first-child{padding-left:20px!important}.kpi-grid{grid-template-columns:1fr}.kpi-card{padding:14px 16px}.kpi-value{font-size:20px}.sum-metric{flex:0 0 100%}.sum-value{font-size:17px}.ratio-items{grid-template-columns:1fr}.ratio-item{border-right:none!important;padding:10px 0!important;border-bottom:1px solid var(--border)!important}.ratio-item:last-child{border-bottom:none!important}.ratio-item:nth-child(-n+2){border-bottom:1px solid var(--border)}.ratio-item:nth-child(n+3){padding-top:10px}.home-tabs-overview{grid-template-columns:1fr}.home-page{padding:24px 12px 40px;gap:20px}.home-title{font-size:22px}.home-subtitle{font-size:14px}.home-card{padding:16px 18px}.home-logo{font-size:36px}}
