@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&family=Montserrat:wght@600;700;800&display=swap";:root{--color-bg:#eef2f8;--color-surface:#fff;--color-surface-alt:#f5f7fb;--color-sidebar:#0b1f3a;--color-sidebar-alt:#09162a;--color-border:#e5e7eb;--color-text:#33383f;--color-text-muted:#667086;--color-text-faint:#95a0ae;--color-brand-primary:#0057b8;--color-brand-secondary:#0b1f3a;--color-brand-accent:#ff7a00;--color-brand-accent-bg:#ff7a001f;--color-brand-primary-bg:#0057b814;--color-green:#16a34a;--color-green-bg:#16a34a1a;--color-red:#dc2626;--color-red-bg:#dc26261a;--color-amber:#f59e0b;--color-amber-bg:#f59e0b1a;--color-blue:#0b1f3a;--color-blue-bg:#0b1f3a1a;--font-heading:"Montserrat", "Manrope", "Inter", sans-serif;--font-sans:"Inter", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:20px;--font-size-xl:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:8px;--radius:10px;--radius-lg:16px;--radius-xl:16px;--radius-pill:999px;--sidebar-width:248px;--surface:var(--color-surface);--border:var(--color-border);--text:var(--color-text);--muted:var(--color-text-muted);--transition-fast:.12s ease;--transition:.18s ease;--shadow-soft:0 4px 18px #00000014;--shadow-card:0 4px 22px #0000000f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--color-bg);height:100%;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.5}h1,h2,h3,h4,h5{font-family:var(--font-heading);letter-spacing:.01em}button{cursor:pointer;font-family:var(--font-heading);transition:transform var(--transition-fast), box-shadow var(--transition-fast)}input,select,textarea{font-family:var(--font-sans)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid #0057b82e}a{color:inherit;text-decoration:none}.dashboard-panel{min-width:0;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 18px 44px #081f2e0f}.dashboard-panel-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.dashboard-panel-heading h2{color:var(--color-brand-secondary);font-size:var(--font-size-md)}.dashboard-panel-heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:3px}.dashboard-chart{width:100%;min-width:0;max-width:100%;height:220px;padding:var(--space-4) 0 var(--space-2);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:clamp(4px,1.2vw,14px);display:grid;overflow:hidden}.dashboard-chart-column{justify-content:flex-end;align-items:center;gap:var(--space-2);width:100%;min-width:0;color:var(--color-text-muted);font-size:var(--font-size-xs);flex-direction:column;display:flex}.dashboard-chart-bars{justify-content:center;align-items:flex-end;gap:3px;width:100%;min-width:0;height:180px;display:flex}.dashboard-bar{border-radius:5px 5px 2px 2px;width:min(18px,42%);min-width:0;min-height:4px;display:block}.dashboard-bar-income,.dashboard-dot-income{background:var(--color-green)}.dashboard-bar-expense,.dashboard-dot-expense{background:var(--color-brand-accent)}.dashboard-legend{gap:var(--space-5);margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.dashboard-legend span{align-items:center;gap:6px;display:inline-flex}.dashboard-dot{border-radius:50%;width:8px;height:8px}@media (width<=720px){.dashboard-panel-heading{flex-wrap:wrap}.dashboard-panel-heading>strong{font-size:var(--font-size-sm)}.dashboard-chart{height:190px;padding-top:var(--space-3);gap:3px}.dashboard-chart-bars{height:150px}.dashboard-chart-column{font-size:10px}}.dashboard-category-list{gap:var(--space-4);display:grid}.dashboard-category-meta{justify-content:space-between;gap:var(--space-3);margin-bottom:6px;display:flex}.dashboard-category-meta span{color:var(--color-text);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-category-meta strong{color:var(--color-brand-secondary);font-size:var(--font-size-sm);white-space:nowrap}.dashboard-progress{background:var(--color-surface-alt);border-radius:99px;height:7px;overflow:hidden}.dashboard-progress span{background:linear-gradient(90deg, var(--color-brand-primary), #55a2e7);border-radius:inherit;height:100%;display:block}.dashboard-revenue-panel{margin-bottom:var(--space-6)}.dashboard-revenue-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dashboard-revenue-item{padding:var(--space-4);background:var(--color-surface-alt);border-radius:var(--radius)}.dashboard-revenue-item span{color:var(--color-text-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dashboard-revenue-item strong{color:var(--color-green);font-size:var(--font-size-md);margin-top:6px;display:block}.dashboard-empty{color:var(--color-text-muted);font-size:var(--font-size-sm);align-self:center}.budget-highlight-grid,.budget-reference-grid{gap:var(--space-4);margin-bottom:var(--space-4);display:grid}.budget-highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-reference-grid{margin-bottom:var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr))}.budget-highlight-grid>div:last-child{border-color:#0057b83d;box-shadow:0 18px 44px #0057b81f}@media (width<=720px){.budget-highlight-grid,.budget-reference-grid{grid-template-columns:1fr}}.cashflow-toolbar{justify-content:space-between;align-items:center;gap:var(--space-5);margin-bottom:var(--space-5);padding:var(--space-5) var(--space-6);background:linear-gradient(115deg, var(--color-brand-secondary), #164b72);border-radius:var(--radius-lg);color:#fff;display:flex;box-shadow:0 18px 44px #081f2e24}.cashflow-toolbar strong{font-family:var(--font-heading);font-size:var(--font-size-lg);display:block}.cashflow-toolbar p{color:#ffffffad;font-size:var(--font-size-sm);margin-top:3px}.cashflow-eyebrow,.cashflow-period span{color:var(--color-brand-accent);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;display:block}.cashflow-period input{background:#fffffff2;border:none}.cashflow-ledger{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 18px 44px #081f2e0f}.cashflow-ledger-heading{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);display:flex}.cashflow-ledger-heading h2{color:var(--color-brand-secondary);font-size:var(--font-size-md)}.cashflow-ledger-heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:3px}.cashflow-ledger .table-card{box-shadow:none!important;border:none!important;border-radius:0!important}.cashflow-net{text-align:right}.cashflow-net span{color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;display:block}.cashflow-net strong{font-family:var(--font-mono);font-size:var(--font-size-md);margin-top:3px;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}@media (width<=1024px){.app-shell{flex-direction:column!important;height:auto!important;min-height:100vh!important;overflow:visible!important}.app-sidebar{width:100%!important;min-width:0!important;max-height:none!important;padding:var(--space-4) 0!important;border-bottom:1px solid #ffffff1a!important;border-right:none!important}.app-nav{gap:var(--space-2)!important;padding:0 var(--space-3) var(--space-1)!important;margin-top:var(--space-4)!important;flex:none!important;display:flex!important;overflow-x:auto!important}.app-nav a{white-space:nowrap!important;flex:none!important;margin:0!important}.app-main{padding:var(--space-5)!important;overflow:visible!important}.app-version{display:none!important}}@media (width<=720px){html,body,#root{height:auto;min-height:100%}.app-main{padding:var(--space-4)!important}.page-header{align-items:flex-start!important;gap:var(--space-3)!important;flex-direction:column!important}.modal-panel{width:calc(100vw - 24px)!important;max-width:none!important;padding:var(--space-4)!important;max-height:calc(100vh - 24px)!important}.table-card{box-shadow:none!important;background:0 0!important;border:none!important}.table-scroll{overflow:visible!important}.responsive-table,.responsive-table thead,.responsive-table tbody,.responsive-table tr,.responsive-table td{width:100%!important;display:block!important}.responsive-table thead{display:none!important}.responsive-table tr{margin-bottom:var(--space-3)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-lg)!important;background:var(--color-surface)!important;overflow:hidden!important;box-shadow:0 12px 28px #081f2e0d!important}.responsive-table td{justify-content:space-between!important;align-items:flex-start!important;gap:var(--space-3)!important;padding:10px var(--space-3)!important;text-align:right!important;border-bottom:1px solid var(--color-border)!important;display:flex!important}.responsive-table td:last-child{border-bottom:none!important}.responsive-table td:before{content:attr(data-label);color:var(--color-brand-secondary);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.06em;text-align:left;text-transform:uppercase;flex:0 0 42%;font-weight:600}.responsive-table td>div{flex-wrap:wrap!important;justify-content:flex-end!important}[style*=grid-template-columns]{grid-template-columns:1fr!important}.dashboard-panel{padding:var(--space-4)}.dashboard-chart{gap:5px}.dashboard-revenue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cashflow-toolbar,.cashflow-ledger-heading{flex-direction:column;align-items:flex-start}.cashflow-toolbar{padding:var(--space-4)}.cashflow-net{text-align:left}}
