@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=JetBrains+Mono:wght@400;500&display=swap";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";:root{--color-primary:#0f172a;--color-secondary:#10b981;--color-tertiary:#ef4444;--color-neutral:#64748b;--bg-main:#f8fafc;--bg-surface:#fff;--bg-surface-hover:#f1f5f9;--text-main:#0f172a;--text-muted:#64748b;--text-inverse:#fff;--border-color:#e2e8f0;--bg-income:#d1fae5;--text-income:#065f46;--bg-expense:#fee2e2;--text-expense:#991b1b;--font-sans:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--sidebar-width:280px;--header-height:64px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased}.app-container{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background-color:var(--bg-surface);border-right:1px solid var(--border-color);z-index:40;flex-direction:column;height:100vh;padding:24px 0;display:flex;position:fixed;top:0;left:0}@media (width<=768px){.sidebar{display:none}}.main-wrapper{margin-left:var(--sidebar-width);flex-direction:column;flex:1;display:flex}@media (width<=768px){.main-wrapper{margin-bottom:64px;margin-left:0}}.header{height:var(--header-height);background-color:var(--color-primary);color:var(--text-inverse);z-index:30;align-items:center;padding:0 32px;display:flex;position:sticky;top:0}.content{width:100%;max-width:1440px;margin:0 auto;padding:24px}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:24px;box-shadow:0 1px 2px #0000000d}.grid-dashboard{grid-template-columns:2fr 1fr;gap:24px;margin-bottom:24px;display:grid}@media (width<=1024px){.grid-dashboard{grid-template-columns:1fr}}.split-pane{gap:24px;display:flex}@media (width<=1024px){.split-pane{flex-direction:column}}.split-left{flex:0 0 40%}.split-right{flex:1}h1{font-size:24px;font-weight:700}h2{font-size:20px;font-weight:600}h3{margin-bottom:8px;font-size:18px;font-weight:600}.text-muted{color:var(--text-muted);font-size:14px}.form-group{margin-bottom:16px}.form-label{text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.form-input,.form-select{border:1px solid var(--border-color);width:100%;font-family:var(--font-sans);border-radius:4px;outline:none;padding:12px;font-size:14px;transition:border-color .2s}.form-input:focus,.form-select:focus{border-color:var(--color-primary)}.btn{cursor:pointer;border:none;border-radius:4px;width:100%;padding:12px;font-weight:600;transition:opacity .2s}.btn-primary{background-color:var(--color-primary);color:var(--text-inverse)}.btn-primary:hover{opacity:.9}.table-container{max-height:500px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{background-color:var(--bg-surface);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:12px;position:sticky;top:0}td{border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:14px}tr:hover{background-color:var(--bg-surface-hover)}.badge{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-block}.badge-income{background-color:var(--bg-income);color:var(--text-income)}.badge-expense{background-color:var(--bg-expense);color:var(--text-expense)}.toggle-group{background:var(--bg-main);border:1px solid var(--border-color);border-radius:6px;margin-bottom:16px;padding:4px;display:flex}.toggle-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex:1;padding:8px;font-weight:600}.toggle-btn.active{background:var(--bg-surface);color:var(--text-main);box-shadow:0 1px 2px #0000000d}.mobile-nav{background:var(--bg-surface);border-top:1px solid var(--border-color);z-index:50;justify-content:space-around;align-items:center;width:100%;height:64px;display:none;position:fixed;bottom:0}@media (width<=768px){.mobile-nav{display:flex}}.mobile-nav-item{color:var(--text-muted);flex-direction:column;align-items:center;font-size:12px;text-decoration:none;display:flex}.mobile-nav-item.active{color:var(--color-primary)}
