:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3f6;--surface:#fff;--surface-muted:#f7fafb;--ink:#15262e;--muted:#667781;--header:#0f4c5c;--header-strong:#0b3d4a;--accent:#168a88;--accent-soft:#78b7aa;--line:#d9e4e8;--line-strong:#9db6bf;--neutral-300:#d7dde1;--positive:#15803d;--positive-soft:#dcfce7;--danger:#c2413a;--danger-soft:#fee2e2;--warning:#b7791f;--warning-soft:#fef3c7;--credit:#6d3a9c;--credit-soft:#eee5ff;--blue:#2563a8;--blue-soft:#dbeafe;--cyan-soft:#dbf5f1;--orange-soft:#ffedd5;--pink-soft:#fce7f3;--shadow:0 10px 24px #092d3a12;--radius:7px;--layout-gap:8px;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);font-family:var(--font);margin:0;font-size:14px}button,select{font:inherit}button{cursor:pointer}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #2563a859}.app-shell{min-height:100vh;padding:8px}.finance-board{min-width:1160px;max-width:1760px;margin:0 auto}.dashboard-top{gap:var(--layout-gap);grid-template-columns:276px minmax(0,1fr);align-items:start;display:grid}.dashboard-header{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);min-height:145px;box-shadow:var(--shadow);grid-template-rows:88px 25px 32px;display:grid;overflow:hidden}.dashboard-header-main{grid-template-columns:minmax(0,1fr) 58px;min-width:0;display:grid}.dashboard-header-copy{min-width:0;padding:7px 10px 6px}.today-label{color:var(--accent);font-size:12px;font-weight:700}.dashboard-header h1{color:var(--header);margin:6px 0 4px;font-size:18px;line-height:1.1}.dashboard-header p{color:var(--muted);margin:0;font-size:11px;font-weight:700;line-height:1.25}.header-visual{color:var(--accent);background:linear-gradient(135deg,#168a881f,#2563a814);justify-content:center;place-items:center;padding:9px 8px;display:grid;position:relative}.header-brand-mark{object-fit:contain;width:44px;height:58px;display:block}.month-title{color:#fff;background:var(--header);justify-content:center;align-items:center;min-height:33px;font-size:18px;font-weight:800;display:flex}.header-actions{border-top:1px solid var(--line);background:#f7fbfc;justify-content:flex-end;align-items:center;gap:5px;padding:3px 7px;display:flex}.year-pill,.icon-button{border:1px solid var(--line-strong);height:22px;color:var(--header);background:#fff;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.year-pill{min-width:54px;padding:0 8px;font-size:12px;font-weight:800}.icon-button{width:26px}.summary-strip{gap:var(--layout-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.28fr) minmax(0,.9fr) minmax(0,.95fr) minmax(0,1.12fr);align-self:start;display:grid}.summary-strip>*,.charts-grid>*,.tables-grid>*{min-width:0}.summary-card,.credit-alert,.progress-card,.chart-frame,.table-card{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.summary-card{min-height:80px;overflow:hidden}.summary-title-row{color:#fff;background:var(--header);justify-content:space-between;align-items:center;gap:5px;min-height:26px;padding:5px 8px;display:flex}.summary-title-row h2,.credit-alert h2,.chart-frame h2,.table-card h2,.progress-card h2{min-width:0;margin:0;font-size:13px;line-height:1.2}.summary-title-row h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.summary-value-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:29px;padding:5px 8px;display:flex}.summary-value-row strong{font-size:13px}.trend{border-radius:999px;justify-content:center;align-items:center;width:21px;height:21px;display:inline-flex}.trend-up,.trend-down,.trend-flat{color:var(--header);background:var(--surface-muted)}.summary-previous{grid-template-columns:minmax(0,.92fr) minmax(0,1fr);min-height:25px;font-size:10.5px;display:grid}.summary-previous span{color:#fff;background:var(--accent);text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;padding:4px 7px;font-weight:800;display:flex;overflow:hidden}.summary-previous strong{white-space:nowrap;justify-content:center;align-items:center;min-width:0;padding:4px 7px;font-size:10.5px;display:flex}.summary-secondary span{color:var(--header);background:var(--surface-muted)}.credit-alert{background:#fffdf7;min-height:80px;overflow:hidden}.credit-alert div{color:#fff;background:var(--danger);justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.credit-alert p{color:#5c2d2a;margin:0;padding:7px 8px;font-size:11px;font-weight:800;line-height:1.25}.dashboard-sidebar{gap:var(--layout-gap);align-content:start;min-width:0;display:grid}.dashboard-main{gap:var(--layout-gap);min-width:0;min-height:0;display:grid}.charts-grid{gap:var(--layout-gap);grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) minmax(0,.9fr);align-items:stretch;min-width:0;min-height:0;display:grid}.progress-card{overflow:hidden}.progress-card h2{color:#fff;text-align:center;background:var(--header);padding:6px 10px}.progress-card dl{margin:0}.progress-card div{border-top:1px solid var(--line-strong);grid-template-columns:1fr 1fr;min-height:24px;display:grid}.progress-card dt,.progress-card dd{align-items:center;margin:0;padding:3px 7px;display:flex}.progress-card dt{color:#fff;background:var(--accent);font-size:11px;font-weight:800}.progress-card dd{background:var(--surface);justify-content:center;font-size:12px;font-weight:700}.strong-value{font-size:13px;font-weight:900}.chart-panel{min-height:308px}.chart-frame{grid-template-rows:31px 1fr;width:100%;height:100%;display:grid;overflow:hidden}.chart-frame h2{color:#fff;background:var(--header);justify-content:center;align-items:center;display:flex}.chart-body{min-height:277px;padding:7px 8px 8px}.donut-wrap{max-width:286px;height:100%;min-height:264px;margin:0 auto;position:relative}.donut-wrap strong{white-space:nowrap;font-size:27px;font-weight:500;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.tables-grid{gap:var(--layout-gap);margin-top:var(--layout-gap);grid-template-columns:minmax(0,1.1fr) minmax(0,1.32fr) minmax(0,1.58fr) minmax(0,.96fr);display:grid}.table-card{min-height:224px;overflow:hidden}.table-card-header{color:#fff;background:var(--header);justify-content:space-between;align-items:center;gap:6px;min-height:36px;padding:6px 8px;display:flex}.table-card-header h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.table-card-header button{color:#fff;white-space:nowrap;background:#ffffff1c;border:1px solid #ffffff61;border-radius:6px;flex:none;align-items:center;gap:4px;min-height:25px;padding:4px 7px;font-size:11px;font-weight:800;display:inline-flex}.table-card-header button:hover{background:#fff3}.table-scroll{overflow-x:visible}table{border-collapse:collapse;background:var(--surface);table-layout:fixed;width:100%;min-width:0}.income-table .col-name{width:34%}.income-table .col-money{width:24%}.income-table .col-percent{width:23%}.income-table .col-actions{width:19%}.income-table th,.income-table td{min-width:0}.income-table td{text-overflow:clip;white-space:normal;vertical-align:middle;height:auto;min-height:38px;padding:6px;overflow:visible}.entry-name-cell,.entry-status-cell{align-content:center;gap:4px;min-width:0;line-height:1.25;display:grid}.income-value-cell{text-align:right;font-size:11px;font-weight:800;overflow:visible;white-space:nowrap!important}.income-table .status-badge{white-space:nowrap;justify-self:start;width:auto;min-width:0;height:auto;min-height:20px;padding:3px 7px;font-size:10.5px;font-weight:900;line-height:1.2}.income-table .row-note{margin-top:0}.compact-note{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.expense-table .col-category{width:30%}.expense-table .col-payment{width:25%}.expense-table .col-money{width:15%}.expense-table .col-date{width:18%}.reserve-table .col-type{width:44%}.reserve-table .col-money{width:22%}.reserve-table .col-date{width:18%}.col-actions{width:20%}.expense-table .col-actions{width:12%}.bills-table .col-name{width:auto}.bills-table .col-money{width:clamp(108px,17%,116px)}.bills-table .col-date{width:clamp(112px,18%,122px)}.bills-table .col-actions{width:clamp(160px,40%,170px)}.expense-table th,.expense-table td,.bills-table th,.bills-table td{white-space:normal;vertical-align:middle;height:auto;min-height:42px;padding:7px 8px}.expense-table td:nth-child(2) .chip{max-width:100%}.bill-name-cell,.bill-value-cell,.expense-category-cell{align-content:center;gap:4px;min-width:0;line-height:1.28;display:grid}.bill-name-cell strong,.bill-value-cell strong,.expense-value-cell{white-space:nowrap;min-width:0}.bill-name-cell strong{text-overflow:ellipsis;white-space:normal;overflow:hidden}.date-cell,.expense-value-cell,.bill-value-cell strong{white-space:nowrap}.reserve-table th,.reserve-table td{white-space:normal;vertical-align:middle;height:auto;min-height:42px;padding:7px 8px}.reserve-type-cell{align-content:center;gap:4px;min-width:0;line-height:1.28;display:grid}.reserve-value-cell{text-align:right;font-size:11px;font-weight:800;overflow:visible;white-space:nowrap!important}.reserve-row-actions{justify-content:center;min-width:0;display:flex}.paid-bill-row{background:#f8fafc}.paid-bill-row:hover{background:#eef2f7}.bill-row-actions,.expense-row-actions{box-sizing:border-box;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.expense-row-actions{justify-content:flex-end}.bill-row-actions .action-menu-button{flex:0 0 32px}.bills-table td:last-child{overflow:visible}.bill-row-actions{white-space:nowrap;justify-content:flex-start;min-width:142px;padding-right:2px;overflow:visible}.pay-bill-action{color:#166534;background:var(--positive-soft);white-space:nowrap;border:1px solid #16653440;border-radius:6px;flex:none;justify-content:center;align-items:center;min-width:70px;height:26px;padding:0 10px;font-size:10.5px;font-weight:900;display:inline-flex}.paid-bill-indicator{color:#475569;white-space:nowrap;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;flex:none;justify-content:center;align-items:center;min-width:66px;height:26px;padding:0 12px;font-size:10.5px;font-weight:900;display:inline-flex}.pay-bill-action:hover{color:#fff;background:var(--positive)}.pay-bill-action:disabled,.paid-bill-indicator:disabled{cursor:default}.paid-bill-indicator:disabled{color:#475569;cursor:default;opacity:1;pointer-events:none;background:#f1f5f9;border-color:#cbd5e1}.pay-bill-action:disabled{cursor:not-allowed;color:var(--muted);border-color:var(--line);background:var(--surface-muted)}.action-menu-button{border:1px solid var(--line);width:32px;min-width:32px;height:26px;color:var(--header);background:var(--surface);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:900;line-height:1;display:inline-flex}.action-menu-button:hover,.action-menu-button:focus-visible{color:#fff;background:var(--header);outline-offset:2px;outline:2px solid #0f4c5c38}.action-menu-button:disabled{cursor:not-allowed;color:var(--muted);background:var(--surface-muted)}.action-menu{z-index:80;border:1px solid var(--line-strong);background:var(--surface);width:232px;max-width:calc(100vw - 16px);max-height:min(320px,100vh - 16px);box-shadow:var(--shadow);border-radius:8px;padding:5px;display:grid;position:fixed;overflow-y:auto}.action-menu button{min-height:34px;color:var(--header);text-align:left;background:0 0;border:0;border-radius:6px;padding:8px 9px;font-size:12px;font-weight:800}.action-menu button:hover,.action-menu button:focus-visible{background:var(--surface-muted);outline-offset:-2px;outline:2px solid #0f4c5c24}.action-menu .danger-menu-item{color:#991b1b}.bill-actions{justify-content:flex-end;gap:3px;width:100%}.bill-actions>.table-actions{display:contents}.bill-actions .table-confirm-action{min-width:45px}.bill-actions .table-confirm-action svg{display:none}.reserve-table .col-actions{width:14%}th,td{text-align:left;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #edf2f4;border-right:1px solid #edf2f4;height:28px;padding:4px 5px;font-size:11.5px;overflow:hidden}th{color:#fff;background:var(--accent-soft);text-transform:uppercase;font-size:10px}tbody tr:nth-child(2n){background:var(--surface-muted)}tbody tr:hover{background:#eef8f7}.chip{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:100%;min-height:19px;padding:3px 7px;font-size:10.5px;font-weight:800;line-height:1.2;display:inline-flex;overflow:hidden}.chip-salary,.chip-goal{color:#166534;background:var(--positive-soft)}.chip-extra,.chip-blue,.chip-fixed{color:#1d4e89;background:var(--blue-soft)}.chip-pix,.chip-benefit,.chip-reserve{color:#0f766e;background:var(--cyan-soft)}.chip-debit{color:#334155;background:#e2e8f0}.chip-credit,.chip-crypto{color:var(--credit);background:var(--credit-soft)}.chip-past-credit{color:#4c1d95;background:#ede9fe}.chip-installment{color:#991b1b;background:var(--danger-soft)}.chip-other{color:#374151;background:#e5e7eb}.chip-variable{color:#155e75;background:#cffafe}.chip-physical{color:#9a3412;background:var(--orange-soft)}.chip-currency{color:#075985;background:#e0f2fe}.status-badge{border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.status-badge.yes{color:#fff;background:var(--positive)}.status-badge.no{color:#fff;background:var(--danger)}.status-badge.pending{color:#713f12;background:var(--warning-soft)}.status-badge.recurring{color:#fff;background:var(--blue)}.status-badge.muted{color:var(--muted);background:#e5e7eb}.numeric-cell{text-align:right;font-variant-numeric:tabular-nums}.expense-category-cell{gap:3px;min-width:0;display:grid}.expense-value-cell{white-space:nowrap;overflow:visible}.table-actions{gap:2px;min-width:0;display:inline-flex}.table-actions button{border:1px solid var(--line);width:20px;height:22px;color:var(--header);background:var(--surface);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.table-actions .table-confirm-action{color:#166534;background:var(--positive-soft);border-color:#16653440;gap:4px;width:auto;min-width:0;max-width:100%;padding:0 6px;font-size:10.5px;font-weight:900}.table-actions .table-confirm-action span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.income-table .table-actions{justify-content:flex-end;gap:4px;width:100%}.income-table .table-confirm-action{min-width:48px;height:22px}.income-table .table-confirm-action svg{display:none}.table-actions .table-confirm-action:disabled{cursor:not-allowed;color:var(--muted);border-color:var(--line);background:var(--surface-muted)}.table-actions button:hover{color:#fff;background:var(--header)}.tables-grid .table-card:nth-child(4) .table-card-header h2{font-size:13px}.tables-grid .table-card:nth-child(4) .table-card-header button{gap:3px;padding-inline:5px;font-size:10.5px}.progress-complete{color:#166534;margin:8px 0 0;font-size:11px;font-weight:900}.investment-overview{border-bottom:1px solid var(--line);background:var(--surface-muted);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;padding:8px;display:grid}.investment-total-card{border:1px solid var(--line);background:var(--surface);border-radius:6px;gap:5px;min-width:0;padding:9px 10px;display:grid}.investment-total-card span,.investment-history-note{color:var(--muted);font-size:10.5px;font-weight:800;line-height:1.25}.investment-total-card strong{color:var(--header);white-space:nowrap;font-size:clamp(13px,1vw,17px);line-height:1.1}.history-action{border:1px solid var(--line);width:40px;min-width:40px;height:40px;color:var(--header);background:var(--surface);border-radius:6px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;padding:0;display:inline-flex}.history-action:hover{color:#fff;background:var(--header)}.history-action:focus-visible{outline-offset:2px;outline:3px solid #065f4633}.reserve-summary-strip{border-bottom:1px solid var(--line);background:var(--surface-muted);flex-wrap:wrap;gap:6px;padding:8px;display:flex}.reserve-summary-strip span{border:1px solid var(--line);background:var(--surface);border-radius:6px;align-items:center;gap:5px;min-width:0;padding:3px 5px;display:inline-flex}.reserve-summary-strip strong{color:var(--header);white-space:nowrap;font-size:11px}.reserve-summary-strip p{color:var(--muted);margin:0;font-size:11px;font-weight:800}.investment-history-modal{width:min(540px,100%)}.investment-history-note{margin:0}.investment-history-list{gap:8px;max-height:min(56vh,460px);padding-right:4px;display:grid;overflow-y:auto}.investment-history-year{z-index:1;border:1px solid var(--line);color:var(--header);background:var(--surface);border-radius:6px;margin:2px 0 0;padding:5px 7px;font-size:12px;position:sticky;top:0}.investment-history-item{border:1px solid var(--line);background:var(--surface-muted);border-radius:6px;gap:4px;padding:9px;display:grid}.investment-history-item strong{color:var(--header);font-size:13px}.investment-history-item span{color:var(--muted);font-size:12px;font-weight:800}@media (width<=560px){.investment-overview{grid-template-columns:minmax(0,1fr) auto}.investment-total-card:nth-child(2){grid-column:1/-1}}.empty-investments{text-align:center;align-content:center;gap:8px;min-height:176px;padding:12px;display:grid}.empty-investments svg{color:var(--accent);justify-self:center}.empty-investments p{color:var(--muted);margin:0;font-size:12px;font-weight:800}.table-empty-investments{min-height:138px;padding:8px}.chip-cloud{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.board-footer{gap:var(--layout-gap);margin-top:var(--layout-gap);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);background:#f8fbfc;grid-template-columns:1fr auto;align-items:center;padding:5px;display:grid}.month-tabs{gap:5px;padding-bottom:1px;display:flex;overflow-x:auto}.month-tab{border:1px solid var(--line);min-width:83px;min-height:29px;color:var(--header);background:#fff;border-radius:6px;font-size:11.5px;font-weight:800}.month-tab:hover{border-color:var(--accent);background:#edfafa}.month-tab.active{color:#fff;border-color:var(--blue);background:var(--blue)}.month-tab:disabled{cursor:not-allowed;color:var(--muted);border-color:var(--line);background:var(--surface-muted);opacity:.62}.year-selector{border:1px solid var(--line);min-height:32px;color:var(--header);background:#fff;border-radius:6px;align-items:center;gap:8px;padding:0 7px;font-weight:800;display:inline-flex}.year-selector select{height:26px;color:var(--ink);background:0 0;border:0;font-weight:800}@media (width<=1279px){.app-shell{overflow-x:auto}.finance-board{min-width:1120px}.dashboard-top{grid-template-columns:270px minmax(0,1fr)}.charts-grid{grid-template-columns:315px 295px 272px}}@media (width>=1600px){.chart-panel{min-height:318px}.chart-body{min-height:287px}.table-card{min-height:246px}}@media (width>=1200px) and (height<=820px){:root{--layout-gap:6px}.app-shell{padding:6px}.dashboard-header{grid-template-rows:82px 22px 29px;min-height:133px}.dashboard-header-copy{padding:6px 9px 5px}.today-label{font-size:11px}.dashboard-header h1{margin:5px 0 3px;font-size:17px}.dashboard-header p{font-size:10.5px}.header-visual{padding:9px 9px 11px}.month-title{min-height:29px;font-size:17px}.header-actions{padding:2px 6px}.year-pill,.icon-button{height:20px}.summary-card,.credit-alert{min-height:74px}.summary-title-row{min-height:24px;padding:4px 7px}.summary-value-row{min-height:26px;padding:4px 7px}.summary-previous{min-height:24px}.credit-alert p{padding:5px 7px;font-size:10.5px}.progress-card h2{padding:5px 9px}.progress-card div{min-height:22px}.progress-card dt,.progress-card dd{padding:2px 6px;font-size:10.5px}.chart-panel{min-height:276px}.chart-frame{grid-template-rows:28px 1fr}.chart-body{min-height:248px;padding:5px 7px 6px}.donut-wrap{max-width:256px;min-height:234px}.donut-wrap strong{font-size:25px}.table-card{min-height:206px}.table-card-header{min-height:31px;padding:4px 7px}.table-card-header button{min-height:23px;padding:3px 6px}th,td{height:26px;padding-block:3px}.chip{min-height:18px;padding-block:2px}.status-badge{width:20px;height:20px}.income-table .status-badge{width:auto;height:auto;min-height:20px}.table-actions button{height:20px}.income-table .table-confirm-action{height:22px}.empty-investments{gap:6px;min-height:156px;padding:10px}.month-tab{min-width:80px;min-height:26px}.board-footer{padding:4px}.year-selector{min-height:29px}.year-selector select{height:24px}}.mobile-dashboard,.progress-meter{display:none}@media (width<=1199px){html,body,#root{width:100%;max-width:100%;overflow-x:hidden}body{font-size:13px}.app-shell{width:100%;min-height:100vh;padding:10px;overflow-x:hidden}.finance-board{width:100%;min-width:0;max-width:none}.finance-board>.dashboard-top,.finance-board>.tables-grid,.finance-board>.board-footer{display:none}.mobile-dashboard{gap:12px;min-width:0;display:grid}.mobile-dashboard>*{min-width:0}.mobile-dashboard .dashboard-header{grid-template-rows:auto 34px 42px;min-height:0}.mobile-dashboard .dashboard-header-main{grid-template-columns:minmax(0,1fr) 64px}.mobile-dashboard .dashboard-header-copy{padding:10px 12px 9px}.mobile-dashboard .dashboard-header h1{font-size:18px}.mobile-dashboard .dashboard-header p{font-size:11.5px}.mobile-dashboard .header-actions{gap:7px;min-width:0;padding:4px 8px}.mobile-dashboard .year-pill,.mobile-dashboard .icon-button{min-height:34px}.mobile-dashboard .icon-button{width:38px}.mobile-month-panel{gap:8px;min-width:0;display:grid}.mobile-month-panel .year-selector{justify-content:center;width:100%;min-height:44px;display:inline-flex}.mobile-month-panel .year-selector select{height:34px}.mobile-month-panel .month-tabs{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;gap:7px;min-width:0;padding:0 1px 4px;overflow-x:auto}.mobile-month-panel .month-tab{scroll-snap-align:start;flex:none;min-width:96px;min-height:44px}.mobile-summary{gap:10px;min-width:0;display:grid}.mobile-available-card,.mobile-indicator,.mobile-secondary-indicators,.mobile-credit-alert{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.mobile-available-card{color:#fff;background:var(--header);gap:6px;padding:14px;display:grid}.mobile-available-card span,.mobile-indicator span,.mobile-indicator small,.mobile-available-card small{font-weight:800}.mobile-available-card strong{font-size:clamp(28px,9vw,42px);font-weight:900;line-height:1}.mobile-primary-indicators,.mobile-secondary-indicators>div{gap:8px;min-width:0;display:grid}.mobile-indicator{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;padding:11px;display:grid}.mobile-indicator div{gap:4px;min-width:0;display:grid}.mobile-indicator strong{font-size:18px;line-height:1.1}.mobile-indicator svg{color:var(--header);align-self:start}.mobile-indicator small{color:var(--muted);grid-column:1/-1;font-size:11px}.mobile-indicator-income{border-left:5px solid var(--positive)}.mobile-indicator-expense{border-left:5px solid var(--danger)}.mobile-indicator-credit{border-left:5px solid var(--credit)}.mobile-indicator-debit{border-left:5px solid var(--blue)}.mobile-indicator-benefit{border-left:5px solid var(--accent)}.mobile-secondary-indicators{overflow:hidden}.mobile-secondary-indicators summary{min-height:44px;color:var(--header);cursor:pointer;padding:12px;font-weight:900}.mobile-secondary-indicators>div{padding:0 10px 10px}.mobile-credit-alert{color:#5c2d2a;background:#fff8e6;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;display:grid}.mobile-credit-alert svg{color:var(--danger)}.mobile-credit-alert p{margin:0;font-weight:800;line-height:1.35}.mobile-goals{gap:10px;min-width:0;display:grid}.mobile-goals .progress-card{min-width:0}.mobile-goals .progress-card h2{padding:10px}.mobile-goals .progress-card div{min-height:34px}.mobile-goals .progress-card dt,.mobile-goals .progress-card dd{min-width:0;padding:7px 9px;font-size:12px}.progress-meter{background:#e5eef1;height:8px;display:block;overflow:hidden;border:0!important;min-height:8px!important}.progress-meter span{background:var(--accent);border-radius:0 999px 999px 0;height:100%;display:block}.mobile-upcoming-list,.mobile-finance-lists,.mobile-list-grid{min-width:0;display:grid}.mobile-upcoming-list,.mobile-finance-lists{gap:10px}.mobile-upcoming-list{padding:10px}.mobile-upcoming-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:9px;display:grid}.mobile-upcoming-item div{gap:3px;min-width:0;display:grid}.mobile-upcoming-item strong,.mobile-upcoming-item small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-upcoming-item small{color:var(--muted);font-size:11px;font-weight:800}.mobile-upcoming-money{text-align:right;justify-items:end}.mobile-upcoming-money svg{color:var(--blue)}.mobile-list-section{min-width:0}.mobile-list-section .table-card-header{min-height:44px;padding:8px 10px}.mobile-list-section .table-card-header button{min-height:34px;padding-inline:8px}.mobile-list-grid{gap:9px;padding:10px}.mobile-record-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:8px;min-width:0;padding:10px;display:grid}.record-main,.record-meta{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.record-main strong,.record-meta strong,.record-meta span{min-width:0}.record-main strong:first-child,.record-meta span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-meta{color:var(--muted);font-size:12px;font-weight:800}.mobile-actions{justify-content:flex-end;gap:8px;min-width:0;display:flex}.mobile-actions button{border:1px solid var(--line);width:44px;min-width:44px;height:44px;color:var(--header);background:var(--surface);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.mobile-actions button:hover{color:#fff;background:var(--header)}.mobile-bill-actions{align-items:center;gap:8px}.mobile-bill-actions .mobile-pay-action{color:#166534;background:var(--positive-soft);border-color:#16653440;flex:none;width:auto;min-width:78px;padding-inline:14px;font-weight:900}.mobile-bill-actions .mobile-paid-indicator{color:#475569;white-space:nowrap;cursor:default;opacity:1;pointer-events:none;background:#f1f5f9;border-color:#cbd5e1;flex:none;width:auto;min-width:74px;padding-inline:14px;font-weight:900}.mobile-bill-actions .mobile-paid-indicator:hover{color:#475569;background:#f1f5f9}.mobile-bill-actions .action-menu-button,.mobile-actions .action-menu-button{width:44px;min-width:44px;height:44px}.mobile-investment-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;gap:8px;padding:10px 10px 0;display:grid}.mobile-investment-overview div{border:1px solid var(--line);background:var(--surface-muted);border-radius:6px;gap:5px;min-width:0;padding:9px;display:grid}.mobile-investment-overview span{color:var(--muted);font-size:11px;font-weight:800;line-height:1.2}.mobile-investment-overview strong{color:var(--header);white-space:nowrap;font-size:clamp(13px,3.5vw,15px);line-height:1.1}.mobile-investment-overview button{border:1px solid var(--line);width:42px;min-width:42px;min-height:42px;color:var(--header);background:var(--surface);box-sizing:border-box;border-radius:6px;justify-content:center;align-self:stretch;align-items:center;padding:0;font-weight:900;display:inline-flex}.mobile-reserve-summary{flex-wrap:wrap;gap:7px;padding:10px 10px 0;display:flex}.mobile-reserve-summary span{border:1px solid var(--line);background:var(--surface-muted);border-radius:6px;align-items:center;gap:6px;min-width:0;padding:5px 7px;display:inline-flex}.mobile-reserve-summary strong{color:var(--header);white-space:nowrap;font-size:12px}.mobile-reserve-summary p{margin:0}.mobile-empty-investments{min-height:190px;padding:16px 12px}.mobile-collapsible-charts{gap:10px;min-width:0;display:grid}.mobile-collapsible-charts>button{border:1px solid var(--line-strong);border-radius:var(--radius);min-width:0;min-height:46px;color:var(--header);background:var(--surface);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:900;display:flex}.mobile-collapsible-charts>button span{align-items:center;gap:8px;min-width:0;display:inline-flex}.mobile-chart-stack{gap:10px;min-width:0;display:grid}.mobile-chart-stack .chart-panel{min-height:278px}.mobile-chart-stack .chart-frame{grid-template-rows:36px 1fr}.mobile-chart-stack .chart-body{min-height:242px;padding:8px}.mobile-chart-stack .donut-wrap{max-width:260px;min-height:226px}.mobile-chart-stack .donut-wrap strong{font-size:24px}}@media (width>=768px) and (width<=1199px){.app-shell{padding:14px}.mobile-dashboard{gap:14px}.mobile-dashboard .dashboard-header-main{grid-template-columns:minmax(0,1fr) 92px}.mobile-dashboard .header-visual span{width:10px}.mobile-month-panel{grid-template-columns:minmax(0,1fr) 150px;align-items:center}.mobile-month-panel .year-selector{grid-area:1/2}.mobile-month-panel .month-tabs{grid-area:1/1}.mobile-primary-indicators,.mobile-secondary-indicators>div{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-secondary-indicators>div,.mobile-goals,.mobile-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-upcoming-list{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-upcoming-item{grid-template-columns:auto minmax(0,1fr)}.mobile-upcoming-money{text-align:left;grid-column:2;justify-items:start}.mobile-chart-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-chart-stack .chart-panel-large{grid-column:1/-1}}@media (width<=767px){.app-shell{padding:8px}.mobile-dashboard{gap:10px}.mobile-primary-indicators{grid-template-columns:minmax(0,1fr)}.table-card-header h2{font-size:13px}}@media (width<=380px){.app-shell{padding:6px}.mobile-dashboard .dashboard-header-main{grid-template-columns:minmax(0,1fr) 44px}.mobile-dashboard .header-visual{padding-inline:6px}.mobile-dashboard .header-visual span{width:6px}.mobile-dashboard .dashboard-header h1{font-size:16px}.mobile-dashboard .dashboard-header p{font-size:10.5px}.mobile-list-section .table-card-header{gap:4px;padding-inline:8px}.mobile-list-section .table-card-header button{gap:3px;padding-inline:6px;font-size:10.5px}.mobile-investment-overview{grid-template-columns:minmax(0,1fr) 42px}.mobile-investment-overview button{grid-area:1/2/span 2}.mobile-upcoming-item{grid-template-columns:auto minmax(0,1fr)}.mobile-upcoming-money{text-align:left;grid-column:2;justify-items:start}}.auth-shell{background:linear-gradient(135deg, #0f4c5c1f, #168a8814), var(--bg);place-items:center;min-height:100vh;padding:18px;display:grid}.setup-shell{place-items:start center}.auth-card,.profile-form,.loading-card{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:min(100%,440px);box-shadow:var(--shadow)}.auth-card,.loading-card{gap:14px;padding:18px;display:grid}.auth-brand-logo{object-fit:contain;justify-self:start;width:min(100%,220px);height:auto;max-height:68px;display:block}.auth-copy,.profile-form-copy{gap:5px;display:grid}.auth-copy span,.profile-form-copy span{color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:900}.auth-copy h1,.profile-form-copy h1,.loading-card h1{color:var(--header);margin:0;font-size:24px;line-height:1.1}.auth-copy p,.profile-form-copy p{color:var(--muted);margin:0;font-weight:700;line-height:1.35}.form-field{gap:6px;min-width:0;display:grid}.form-field span{color:var(--header);font-size:12px;font-weight:900}.form-field input,.form-field select{border:1px solid var(--line-strong);width:100%;min-width:0;min-height:44px;color:var(--ink);background:#fff;border-radius:6px;padding:0 11px}.form-field-invalid input,.form-field-invalid select{border-color:var(--danger);box-shadow:0 0 0 3px #c2413a1f}.field-help,.field-error{font-size:11px;font-weight:800;line-height:1.35;display:block}.field-help{color:var(--muted)}.field-error{color:#991b1b}.form-field input:disabled,.form-field select:disabled,.primary-action:disabled,.secondary-action:disabled,.text-action:disabled,.password-control button:disabled{cursor:not-allowed;opacity:.68}.password-control{grid-template-columns:minmax(0,1fr) 44px;min-width:0;display:grid}.password-control input{border-radius:6px 0 0 6px}.password-control button{border:1px solid var(--line-strong);min-height:44px;color:var(--header);background:#fff;border-left:0;border-radius:0 6px 6px 0;justify-content:center;align-items:center;display:inline-flex}.primary-action,.secondary-action,.text-action{border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:900;display:inline-flex}.primary-action{border:1px solid var(--header);color:#fff;background:var(--header)}.primary-action:hover{background:var(--header-strong)}.secondary-action{border:1px solid var(--line-strong);color:var(--header);background:#fff}.text-action{color:var(--header);background:0 0;border:0}.form-message{border-radius:6px;margin:0;padding:9px 10px;font-size:12px;font-weight:800;line-height:1.35}.form-message-error,.floating-error{color:#7f1d1d;background:var(--danger-soft)}.form-message-success{color:#166534;background:var(--positive-soft)}.form-message-warning{color:#713f12;background:var(--warning-soft)}.chart-empty-state{min-height:100%;color:var(--muted);text-align:center;place-items:center;padding:18px;font-size:12px;font-weight:800;display:grid}.chart-empty-state p{margin:0}.bills-flow-chart{grid-template-rows:auto 1fr;gap:10px;height:100%;min-height:0;display:grid}.bills-flow-summary{color:var(--muted);grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px;font-size:10.5px;font-weight:800;line-height:1.25;display:grid}.bills-flow-summary span{border:1px solid var(--line);background:var(--surface-muted);white-space:normal;border-radius:6px;gap:2px;min-width:0;padding:6px;display:grid}.bills-flow-summary strong{color:var(--header);font-size:11.5px}.bills-flow-bars{align-content:center;gap:12px;min-height:0;display:grid}.bills-flow-row{gap:5px;min-width:0;display:grid}.bills-flow-row-header{min-width:0;color:var(--header);justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;font-weight:900;display:flex}.bills-flow-row-header strong{white-space:nowrap}.bills-flow-track{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;width:100%;height:18px;overflow:hidden}.bills-flow-bar{border-radius:inherit;min-width:0;height:100%;display:block}.planned-flow-bar{background:var(--accent)}.pending-flow-bar{background:var(--warning)}.paid-flow-bar{background:var(--positive)}.dashboard-toast{z-index:25;margin:0 0 10px;position:sticky;top:10px}.dashboard-error,.dashboard-info{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--header);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;font-weight:800;display:flex}.dashboard-error{color:#7f1d1d;background:var(--danger-soft)}.dashboard-error button{min-height:34px;color:inherit;background:0 0;border:1px solid;border-radius:6px;align-items:center;gap:6px;font-weight:900;display:inline-flex}.balance-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.balance-strip div{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);gap:4px;min-width:0;padding:10px;display:grid}.balance-strip span,.row-note,.mobile-empty-text{color:var(--muted);font-size:11px;font-weight:800}.balance-strip strong{overflow-wrap:anywhere;min-width:0;color:var(--header);font-size:17px;line-height:1.1}.negative-balance{color:var(--danger)!important}.table-empty-cell{color:var(--muted);text-align:center;padding:18px 10px;font-weight:800}.planned-row{background:#fff8e6}.row-note{margin-top:4px;line-height:1.25;display:block}.modal-backdrop{z-index:100;background:#0f172a6b;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.entry-modal{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:min(620px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);gap:14px;padding:16px;display:grid;overflow-y:auto}.entry-modal-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.entry-modal-header span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.entry-modal-header h2{color:var(--header);margin:2px 0 0;font-size:20px;line-height:1.15}.entry-modal-header button{border:1px solid var(--line);width:38px;min-width:38px;height:38px;color:var(--header);background:var(--surface-muted);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.entry-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.essential-toggle{border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;gap:10px;min-width:0;margin:0;padding:12px;display:flex}.essential-toggle legend{color:var(--header);padding:0 4px;font-size:12px;font-weight:900}.essential-toggle label{border:1px solid var(--line);background:var(--surface-muted);border-radius:6px;align-items:center;gap:7px;min-height:34px;padding:5px 10px;font-size:12px;font-weight:900;display:inline-flex}.form-field textarea{resize:vertical;min-height:86px}.entry-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.danger-action{color:#fff;background:#b42318;border:1px solid #842029;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:900;display:inline-flex}.danger-action:disabled{cursor:not-allowed;opacity:.68}.salary-confirm-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);gap:4px;padding:12px;display:grid}.salary-confirm-summary span,.salary-confirm-summary small{color:var(--muted);font-weight:800}.salary-confirm-summary strong{color:var(--header);font-size:22px}.delete-dialog p{color:var(--text);margin:0;line-height:1.5}.inline-confirm-action{border:1px solid var(--positive);color:#166534;background:var(--positive-soft);border-radius:6px;min-height:38px;font-weight:900}.inline-confirm-action:disabled{cursor:not-allowed;color:var(--muted);border-color:var(--line);background:var(--surface-muted)}.required-note{color:var(--header);margin:4px 0 0;font-size:12px;font-weight:900}.floating-error{z-index:30;border-radius:var(--radius);width:min(100% - 24px,520px);box-shadow:var(--shadow);border:1px solid #c2413a59;margin:0;padding:10px 12px;font-weight:900;position:fixed;top:12px;left:50%;transform:translate(-50%)}.profile-form{gap:14px;width:min(100%,860px);padding:18px;display:grid}.form-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);gap:10px;min-width:0;margin:0;padding:13px;display:grid}.form-section legend{color:var(--header);padding:0 6px;font-size:13px;font-weight:900}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-form-actions{justify-content:flex-end;gap:10px;display:flex}.settings-backdrop{z-index:50;background:#081f276b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.settings-modal{border-radius:var(--radius);width:min(100%,900px);max-height:calc(100vh - 36px);position:relative;overflow-y:auto}.settings-modal .profile-form{width:100%}.settings-close{z-index:2;border:1px solid var(--line-strong);width:38px;height:38px;color:var(--header);background:#fff;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.confirmation-card{border-color:#15803d59}.confirmation-card-neutral{border-color:var(--line-strong)}.confirmation-card>svg{color:var(--positive)}.email-confirmation-icon{border:1px solid var(--line-strong);width:48px;height:48px;color:var(--header);background:var(--surface-muted);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.email-confirmation-brand{margin-bottom:2px}.email-confirmation-icon.success{color:var(--positive);background:var(--positive-soft);border-color:#15803d59}.email-confirmation-icon.neutral{color:var(--muted)}.email-hint{border:1px solid var(--line);color:var(--header);background:var(--surface-muted);word-break:break-word;border-radius:6px;margin:0;padding:10px 12px;font-weight:900}.loading-card{text-align:center;justify-items:center}.loading-dot{border:4px solid var(--line);border-top-color:var(--accent);border-radius:999px;width:34px;height:34px;animation:.8s linear infinite spin}.loading-dot.small{border-width:3px;width:24px;height:24px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=767px){.modal-backdrop{align-items:start;padding:10px}.entry-modal{max-height:calc(100vh - 20px);padding:12px}.entry-form-grid,.balance-strip{grid-template-columns:minmax(0,1fr)}.entry-modal-actions{justify-content:stretch}.entry-modal-actions>*{flex:160px}.auth-shell{padding:10px}.auth-card,.profile-form,.loading-card{padding:14px}.auth-copy h1,.profile-form-copy h1,.loading-card h1{font-size:22px}.form-grid{grid-template-columns:minmax(0,1fr);gap:10px}.form-section{padding:11px}.profile-form-actions{grid-template-columns:minmax(0,1fr);display:grid}.settings-backdrop{place-items:stretch stretch;padding:8px}.settings-modal{max-height:calc(100vh - 16px)}}
