@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--ui-main: #2563eb;--ui-main-light: #eff6ff;--ui-main-dark: #1e3a8a;--income-color: #22c55e;--income-bg: #f0fdf4;--income-border: #86efac;--expense-color: #ef4444;--expense-bg: #fef2f2;--expense-border: #fca5a5;--balance-color: #3b82f6;--balance-bg: #eff6ff;--bg-light: #f8fafc;--bg-card: #ffffff;--border-color: #e2e8f0;font-family:Inter,system-ui,sans-serif}.card{background-color:var(--bg-card);border-color:var(--border-color);color:var(--bs-body-color)}[data-bs-theme=dark]{--bs-body-bg: #0f172a;--bs-body-color: #e2e8f0;--bs-tertiary-bg: #1e293b;--bs-secondary-bg: #0f172a;--bs-border-color: #334155;--bs-border-color-translucent: rgba(51, 65, 85, .5);--bs-input-border-color: #475569;--bs-input-bg: #1e293b;--bs-input-color: #e2e8f0;--bg-card: #1e293b;--border-color: #334155}[data-bs-theme=dark] .logo-img{filter:invert(1) hue-rotate(180deg) brightness(1.2);mix-blend-mode:screen}html{font-size:14px}body{font-family:Inter,system-ui,sans-serif}.sidebar-link{transition:background-color .15s ease,color .15s ease;font-size:.875rem;font-weight:500}.sidebar-link:hover:not(.active){background-color:var(--bs-tertiary-bg)}.sidebar-link.active{background-color:var(--ui-main);color:#fff}.btn-primary{--bs-btn-bg: var(--ui-main);--bs-btn-border-color: var(--ui-main);--bs-btn-hover-bg: var(--ui-main-dark);--bs-btn-hover-border-color: var(--ui-main-dark);--bs-btn-active-bg: #c2410c;--bs-btn-active-border-color: #c2410c;--bs-btn-color: #fff;--bs-btn-disabled-bg: var(--ui-main);--bs-btn-disabled-border-color: var(--ui-main);font-weight:500}a,.btn-link{--bs-link-color: var(--ui-main);--bs-link-hover-color: var(--ui-main-dark)}.stat-card{border:none;border-radius:16px;padding:24px;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001f}.stat-card .stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.stat-card .stat-value{font-size:1.75rem;font-weight:700;line-height:1}.stat-card .stat-label{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.stat-card .stat-sub{font-size:.78rem;opacity:.65}.stat-card-income{background:var(--income-bg);border-left:4px solid var(--income-color)}.stat-card-expense{background:var(--expense-bg);border-left:4px solid var(--expense-color)}.stat-card-balance{background:var(--balance-bg);border-left:4px solid var(--balance-color)}.stat-card-total{background:var(--ui-main-light);border-left:4px solid var(--ui-main)}[data-bs-theme=dark] .stat-card-income{background:#22c55e14}[data-bs-theme=dark] .stat-card-expense{background:#ef444414}[data-bs-theme=dark] .stat-card-balance{background:#3b82f614}[data-bs-theme=dark] .stat-card-total{background:#f9731614}.badge-income{background-color:var(--income-bg);color:var(--income-color);border:1px solid var(--income-border);font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:20px}.badge-expense{background-color:var(--expense-bg);color:var(--expense-color);border:1px solid var(--expense-border);font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:20px}[data-bs-theme=dark] .badge-income{background-color:#22c55e1f;border-color:#22c55e4d}[data-bs-theme=dark] .badge-expense{background-color:#ef44441f;border-color:#ef44444d}.category-bar-wrap{display:flex;flex-direction:column;gap:10px}.category-bar-row{display:flex;align-items:center;gap:10px}.category-bar-label{font-size:.78rem;font-weight:500;width:110px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-bar-track{flex:1;height:8px;background:var(--bs-tertiary-bg);border-radius:4px;overflow:hidden}.category-bar-fill{height:100%;background:linear-gradient(90deg,var(--ui-main),var(--ui-main-dark));border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}.category-bar-amount{font-size:.78rem;font-weight:600;width:90px;text-align:right;flex-shrink:0}.tx-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--bs-border-color);color:var(--bs-secondary-color)}.tx-table td{font-size:.875rem;vertical-align:middle}.tx-amount-income{color:var(--income-color);font-weight:600}.tx-amount-expense{color:var(--expense-color);font-weight:600}.toast-container-custom{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:14px 18px;box-shadow:0 4px 20px #00000026;min-width:260px;max-width:360px;animation:toast-in .25s ease;display:flex;align-items:flex-start;gap:10px}.toast-item.toast-success{border-left:4px solid var(--income-color)}.toast-item.toast-error{border-left:4px solid var(--expense-color)}.toast-item.toast-info{border-left:4px solid var(--balance-color)}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.page-header{margin-bottom:24px}.page-header h1{font-size:1.5rem;font-weight:700;margin-bottom:4px}.page-header p{color:var(--bs-secondary-color);margin:0;font-size:.875rem}.form-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:32px;max-width:640px}.empty-state{text-align:center;padding:60px 20px}.empty-state .empty-icon{font-size:48px;opacity:.3;margin-bottom:16px}.text-danger,.alert-danger{color:#ef4444}.bg-body-tertiary{background-color:var(--bs-tertiary-bg)}.insights-ticker-container{display:flex;align-items:center;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;height:48px}.insights-ticker-label{padding:0 16px;font-weight:600;font-size:.875rem;background-color:var(--bg-card);color:var(--bs-body-color);border-right:1px solid var(--border-color);display:flex;align-items:center;height:100%;z-index:2;white-space:nowrap}.insights-ticker-wrap{flex:1;min-width:0;overflow:hidden;position:relative;height:100%;display:flex;align-items:center}.insights-ticker-move{display:flex;width:max-content;white-space:nowrap;animation:marquee 45s linear infinite}.insights-ticker-wrap:hover .insights-ticker-move{animation-play-state:paused}.insights-ticker-item{padding:0 40px;font-size:.9rem;color:var(--bs-body-color)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}
