.flatpickr-monthSelect-months{margin:10px 1px 3px;flex-wrap:wrap}.flatpickr-monthSelect-month{background:none;border:1px solid transparent;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;display:inline-block;font-weight:400;margin:.5px;justify-content:center;padding:10px;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;text-align:center;width:33%}.flatpickr-monthSelect-month.flatpickr-disabled{color:#eee}.flatpickr-monthSelect-month.flatpickr-disabled:hover,.flatpickr-monthSelect-month.flatpickr-disabled:focus{cursor:not-allowed;background:none!important}.flatpickr-monthSelect-theme-dark{background:#3f4458}.flatpickr-monthSelect-theme-dark .flatpickr-current-month input.cur-year{color:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-prev-month,.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-next-month{color:#fff;fill:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month{color:#fffffff2}.flatpickr-monthSelect-month.today{border-color:#959ea9}.flatpickr-monthSelect-month.inRange,.flatpickr-monthSelect-month.inRange.today,.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus{background:#e6e6e6;cursor:pointer;outline:0;border-color:#e6e6e6}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.inRange,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:focus{background:#646c8c;border-color:#646c8c}.flatpickr-monthSelect-month.today:hover,.flatpickr-monthSelect-month.today:focus{background:#959ea9;border-color:#959ea9;color:#fff}.flatpickr-monthSelect-month.selected,.flatpickr-monthSelect-month.startRange,.flatpickr-monthSelect-month.endRange{background-color:#569ff7;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-monthSelect-month.startRange{border-radius:50px 0 0 50px}.flatpickr-monthSelect-month.endRange{border-radius:0 50px 50px 0}.flatpickr-monthSelect-month.startRange.endRange{border-radius:50px}.flatpickr-monthSelect-month.inRange{border-radius:0;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.selected,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.startRange,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.endRange{background:#80cbc4;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#80cbc4}:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45;font-weight:400;--layout-top-row-height: 50px;--layout-secondary-row-height: 40px}*{box-sizing:border-box}body{margin:0;background:#f3f5f9;color:#1f2937}h1,h2,h3{margin:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.side-nav{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:8px;padding:12px 10px;background:#dff2fa;border-right:1px solid #d2e5ef}.side-nav-logo{border:0;background:transparent;padding:0;display:inline-flex;min-height:var(--layout-top-row-height);align-items:center;justify-content:flex-start;cursor:pointer}.app-logo{width:126px;height:auto}.app-logo-icon{width:52px;height:52px}.side-nav-footer{margin-top:auto;display:flex;justify-content:flex-end}.sidebar-toggle{width:36px;height:36px;border:0;border-radius:10px;background:transparent;display:grid;place-items:center;padding:0}.sidebar-toggle img{width:24px;height:24px}.main-area{padding:12px 24px 24px}.topbar{display:flex;flex-wrap:wrap;min-height:var(--layout-top-row-height);align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.topbar h1{font-size:1.7rem}.topbar-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px}.topbar-current-balance{display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;padding:6px 10px;border:1px solid #d1d5db;border-radius:10px;background:#fff}.topbar-current-balance-label{font-size:.72rem;color:#6b7280;line-height:1}.topbar-current-balance-value{font-size:.9rem;font-weight:700;color:#1f2937;line-height:1.1}.topbar-action-button,button.small.topbar-action-button{border-color:#60a0e9;background:#60a0e9;color:#fff;font-size:medium;font-weight:600}.topbar-action-button:hover,button.small.topbar-action-button:hover{border-color:#65adff;background:#65adff}.month-picker{width:auto;min-width:230px;min-height:var(--layout-secondary-row-height);display:inline-flex;align-items:center;gap:0px;padding:6px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.month-picker:hover{background:#f3f4f6}.month-picker-arrow{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0px;background:transparent;color:#1f2937;font-size:1rem;line-height:1;padding:0}.month-picker-arrow:hover,.month-picker-input:hover{background:#ceedff}.month-picker-input,.month-picker .flatpickr-input{flex:1;padding:6px 0;border:0px;background:transparent;font-weight:500;text-align:center;cursor:pointer}.settings-popover-container{position:relative;display:flex;min-height:40px;align-items:center;gap:8px}.bank-status-indicator{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;font-size:1rem;line-height:1;border:1px solid transparent;cursor:default}.bank-status-indicator--connected{background:#dcfce7;border-color:#16a34a}.bank-status-indicator--disconnected{background:#fee2e2;border-color:#dc2626}.topbar-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:#1f2937}.topbar-icon{width:24px;height:24px;display:block;object-fit:contain}.settings-popover{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 28px #1118271f;padding:12px;z-index:200;display:grid;gap:10px}.settings-popover-title{font-size:.98rem;font-weight:600}.user-menu{position:relative}.user-menu-popover{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 28px #1118271f;padding:12px;z-index:210;display:grid;gap:8px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:min(420px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;display:grid;gap:12px}.auth-card label{display:grid;gap:6px}.auth-language-selector{justify-self:end;width:min(220px,100%)}.settings-field{display:grid;gap:6px;font-size:.88rem}.nav-tabs{display:grid;gap:6px}.nav-tabs button{border:0;background:transparent;color:#325f7d;border-radius:8px;padding:11px 10px;cursor:pointer;display:flex;min-height:var(--layout-secondary-row-height);align-items:center;gap:12px;width:100%;text-align:left;font-weight:500;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.nav-tabs button.active{background:#bfe8ff;color:#1c4c66}.nav-tabs button:hover{background:#ceedff;color:#1f5a78}.nav-tabs button.active:hover{background:#b4e2fb}.nav-icon{width:24px;height:24px;display:block;object-fit:contain}.content{display:grid;gap:16px}.page-header{display:flex;min-height:var(--layout-secondary-row-height);align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-header:empty{display:none}.grid{display:grid}.gap-16{gap:16px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px;box-shadow:0 2px 6px #00000014}.card h3{margin-bottom:12px}.month-forecast{display:grid;gap:8px}.month-forecast-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-forecast hr{border:0;border-top:1px dashed #d1d5db;margin:4px 0}.month-forecast-total{padding-top:2px}.category-progress-list{display:grid;gap:12px}.category-progress-item{display:grid;gap:6px}.category-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.category-progress-head span{font-size:.9rem;color:#4b5563}.category-progress-bar{width:100%;height:12px;border-radius:999px;background:#e5e7eb;overflow:hidden}.category-progress-fill{display:block;height:100%;background:#2563eb}.category-progress-fill.over-budget{background:#dc2626}.category-progress-foot{display:flex;justify-content:flex-end;font-size:.85rem;color:#4b5563}.stat p{margin-top:8px;font-size:1.3rem;font-weight:700}p{display:block;margin-bottom:.5em}.income p{color:#166534}.expense p{color:#b91c1c}.balance p{color:#1d4ed8}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.form-grid label{display:grid;gap:6px;font-size:.95rem}.full-width{grid-column:1 / -1}input,select,button{font:inherit}input,select{padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff}.form-control{width:120px}button{border:1px solid #1d4ed8;background:#1d4ed8;color:#fff;border-radius:8px;padding:8px 12px;cursor:pointer}button.secondary,button.small{border-color:#9ca3af;background:#fff;color:#1f2937}button.small{padding:6px 10px}button:disabled{opacity:.7;cursor:not-allowed}.actions-inline{display:flex;align-items:end;gap:8px}.filters-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:12px}.filters-inline label{display:grid;gap:6px;font-size:.95rem}.cashflow-chart-panel{margin-bottom:12px}.cashflow-chart-panel h4{margin:0 0 8px;font-size:.98rem;color:#1f2937}.cashflow-chart-wrap{border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:8px}.cashflow-chart-tooltip{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 8px 18px #1118271f;padding:8px 10px;min-width:180px}.cashflow-chart-tooltip p{margin:0}.cashflow-chart-tooltip p+p{margin-top:4px}.cashflow-chart-tooltip-date{font-weight:600;color:#111827}.row-actions{display:flex;gap:8px}.table-row-selectable{cursor:pointer}.table-row-selected{background:#ceedff}.table-input{width:100%;min-width:120px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:2px 8px;border-bottom:1px solid #e5e7eb}thead th{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.amount-income{color:#166534;font-weight:600}.amount-expense{color:#b91c1c;font-weight:600}.balance-positive{color:#166534;font-weight:600}.balance-negative{color:#b91c1c;font-weight:600}.muted{color:#6b7280}.error{color:#b91c1c}.success{color:#166534}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1118278c;display:grid;place-items:center;padding:16px;z-index:1000}.modal-card{width:min(780px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 760px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.app-shell:not(.sidebar-collapsed){grid-template-columns:200px minmax(0,1fr)}.main-area{padding:12px}.topbar,.side-nav-logo,.page-header,.nav-tabs button,.month-picker,.app-shell{min-height:auto}.topbar h1{font-size:1.35rem}.side-nav{height:auto;min-height:100vh}.page-header{flex-direction:column;align-items:flex-start}}.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}.sidebar-collapsed .side-nav{align-items:center}.sidebar-collapsed .side-nav-logo{justify-content:center}.sidebar-collapsed .nav-tabs button{justify-content:center;padding:10px}.sidebar-collapsed .side-nav-footer{justify-content:center}.side-nav .sidebar-toggle,.side-nav .side-nav-logo{border:0;background:transparent;color:#325f7d}
