:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#172033;--accent:#2456a6;--accent-strong:#173d78;--surface:#fff;--surface-muted:#eef2f7;--border:#d6dce6;--ink-muted:#5f6c80;--income:#177245;--expense:#a4262c;--focus:#c87900;--warn-ink:#7a4d05;--warn-surface:#fdf3dc;--over-ink:#99340f;--over-surface:#fde8de;background:#f7f8fa;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f7f8fa;min-width:320px;min-height:100vh;margin:0}button{font:inherit}.skip-link{z-index:20;background:var(--surface);border:2px solid var(--focus);color:var(--accent-strong);padding:10px 12px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.desktop-nav{display:none}.content{width:min(100%,720px);margin:0 auto;padding:24px 16px 96px}.page-header{margin-bottom:20px}.eyebrow{color:var(--ink-muted);margin:0 0 6px;font-size:.875rem}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:2rem;font-weight:750;line-height:1.15}h2{margin-bottom:8px;font-size:1.125rem;line-height:1.25}.summary-panel,.placeholder-list,.server-status,.prompt-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-bottom:16px;padding:16px}.prompt-card>*+*{margin-top:12px}.offline-banner{color:#613a00;background:#fff6e5;border:1px solid #c87900;border-radius:8px;gap:6px;margin-bottom:16px;padding:16px;display:grid}.offline-banner strong{display:block}.offline-banner-meta,.install-hint{color:var(--ink-muted);font-size:.875rem}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 0;display:grid}.summary-header,.balance-list li{justify-content:space-between;align-items:start;gap:16px;display:flex}.summary-header span{color:var(--ink-muted);font-size:.875rem;font-weight:700}.consolidated-balance{margin:8px 0 16px;font-size:2rem;font-weight:800;line-height:1.1}.consolidated-forecast-balance{color:var(--ink-muted);margin:-8px 0 16px;font-size:1rem;font-weight:600}.horizon-select-label{color:var(--ink-muted);flex-direction:column;gap:4px;margin:0 0 12px;font-size:.875rem;font-weight:700;display:flex}.horizon-select{font:inherit;border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:8px;padding:8px 10px}.forecast-explainer{color:var(--ink-muted);margin:8px 0 0;font-size:.875rem}.balance-list,.setup-checklist{margin:0;padding:0}.balance-list{gap:8px;list-style:none;display:grid}.balance-list li{border-top:1px solid var(--border);padding-top:10px}.forecast-balance{color:var(--ink-muted);font-size:.875rem;font-weight:600}.balance-loading{color:var(--ink-muted);grid-template-columns:48px 1fr;align-items:center;gap:12px;display:grid}.setup-checklist{gap:8px;margin-top:16px;padding-left:20px;display:grid}.facts div{background:var(--surface-muted);border-radius:8px;padding:12px}dt{color:var(--ink-muted);font-size:.875rem}dd{margin:4px 0 0;font-weight:700}.amount{color:var(--income);font-variant-numeric:tabular-nums}.placeholder-list ul,.desktop-nav-list,.mobile-nav-list{margin:0;padding:0;list-style:none}.placeholder-list li{border-top:1px solid var(--border);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.placeholder-list li:first-child{border-top:0}.placeholder-list li span:last-child{color:var(--ink-muted)}.server-status{grid-template-columns:48px 1fr;align-items:center;gap:14px;display:grid}.server-status p,.summary-panel p{color:var(--ink-muted);line-height:1.5}.skeleton{background:linear-gradient(90deg,#e4e9f1 0%,#f3f5f8 50%,#e4e9f1 100%) 0 0/200% 100%;border-radius:8px;width:48px;height:48px;animation:1.4s ease-in-out infinite shimmer}.status-dot{background:var(--income);border-radius:50%;justify-self:center;width:16px;height:16px}.mobile-nav{z-index:10;border-top:1px solid var(--border);background:var(--surface);position:fixed;bottom:0;left:0;right:0}.mobile-nav-list{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;display:grid}.nav-item{width:100%;min-width:44px;min-height:44px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;place-items:center;gap:4px;display:grid;position:relative}.nav-item.active{color:var(--accent-strong)}.mobile-nav .nav-item.active:before{content:"";background:var(--accent);width:32px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.nav-plus{background:var(--accent);color:#fff;border-radius:999px;width:48px;min-width:48px;height:48px;min-height:48px;margin-top:-8px}.nav-plus:hover{background:var(--accent-strong)}.desktop-nav .nav-plus{border-radius:8px;flex-direction:row;justify-content:flex-start;gap:10px;width:auto;height:auto;min-height:44px;margin-top:0;padding:10px 12px}.logout-button{border:1px solid var(--border);background:var(--surface-muted);min-height:44px;color:var(--accent-strong);cursor:pointer;border-radius:8px;padding:0 12px}button:focus-visible,.content:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.entrada-page{place-items:start center;min-height:100vh;padding:24px 16px 48px;display:grid}.entrada-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:min(100%,420px);margin-top:24px;padding:24px}.entrada-card-wide{width:min(100%,640px)}.entrada-card p{color:var(--ink-muted);line-height:1.5}.policy-version{font-size:.875rem}.form-field{margin-bottom:16px}.form-field label{margin-bottom:4px;font-weight:600;display:block}.form-field-label-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.form-field-label-row label{margin-bottom:0}.form-field input[type=email],.form-field input[type=password],.form-field input[type=date],.form-field input:not([type]),.form-field select,.account-edit-row input,.account-edit-row select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:inherit;font:inherit;border-radius:8px;padding:8px 10px}.form-field input[aria-invalid=true]{border-color:#a4262c}.consent-row{align-items:flex-start;gap:10px;display:flex}.consent-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);margin-top:2px}.consent-row label{margin-bottom:0;font-weight:600}.field-hint{color:var(--ink-muted);margin:6px 0 0;font-size:.875rem}.field-counter{color:var(--ink-muted);white-space:nowrap;font-size:.8125rem;font-weight:400}.field-counter-over-limit{color:#a4262c}.field-error{color:#a4262c;margin:6px 0 0;font-size:.875rem}.entrada-card .field-error{color:#a4262c}.success-banner{border:1px solid var(--income);background:#eaf5ef;border-radius:8px;padding:12px}.entrada-card .success-banner{color:#124d31}.budget-alert-snackbar{z-index:15;border:1px solid;border-radius:8px;align-items:flex-start;gap:12px;max-width:520px;margin:0 auto;padding:12px;display:flex;position:fixed;bottom:72px;left:16px;right:16px}.budget-alert-snackbar p{flex:1;margin:0;line-height:1.4}.budget-alert-snackbar button{min-width:44px;min-height:32px;color:inherit;cursor:pointer;background:0 0;border:0;font-size:1.25rem;line-height:1}.budget-alert-snackbar--approaching{border-color:var(--warn-ink);background:var(--warn-surface);color:var(--warn-ink)}.budget-alert-snackbar--over{border-color:var(--over-ink);background:var(--over-surface);color:var(--over-ink)}.entrada-card .form-error{margin-top:12px}.settings-panel{margin-bottom:16px}.settings-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:16px}.settings-card p{color:var(--ink-muted);line-height:1.5}.settings-section{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.settings-section h3{margin:0 0 8px;font-size:1rem}.settings-section a{color:var(--accent-strong)}.settings-section p:last-child{margin-bottom:0}.settings-list{margin:16px 0 0;padding:0;list-style:none}.list-row{border-top:1px solid var(--border)}.list-row:first-child{border-top:0}.list-row a,.list-row>button{width:100%;min-height:44px;color:var(--accent-strong);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:12px 0;display:flex}.list-row p{margin:0;padding:12px 0}.list-row p.eyebrow{padding-bottom:0}.button-destructive{background:var(--expense);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.button-destructive:hover{filter:brightness(.92)}.secondary-link{color:var(--accent-strong);font-weight:700}.accounts-page{gap:16px;margin-bottom:16px;display:grid}.accounts-toolbar{justify-content:space-between;align-items:start;gap:16px;display:flex}.page-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;min-height:44px;display:flex}.accounts-toolbar-actions{align-items:center;gap:12px;display:flex}.filter-button{min-width:44px;min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.filter-button-badge{border:2px solid var(--surface);background:var(--accent);color:#fff;font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:11px;font-weight:600;line-height:12px;position:absolute;top:2px;right:2px}.account-form,.account-row,.empty-state{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:16px}.account-form{gap:12px;display:grid}.account-form .form-field{margin-bottom:0}.account-form-header{justify-items:start;gap:4px;display:grid}.account-form-header .eyebrow{margin:0}.account-form-header h3{overflow-wrap:anywhere;margin:0;font-size:1.125rem}.account-form-actions,.account-form-management{grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:8px;display:grid}.account-form-management{border-top:1px solid var(--border);padding-top:12px}.account-form-actions>button,.account-form-actions>a,.account-form-management>button{border:1px solid var(--border);background:var(--surface-muted);min-height:44px;color:var(--accent-strong);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-weight:700;text-decoration:none;display:inline-flex}.account-form-actions>button[type=submit]{background:var(--accent);color:#fff}.account-form-actions>button:disabled,.account-form-management>button:disabled{background:var(--ink-muted);color:#fff;cursor:not-allowed}.account-form-actions>button:only-child,.account-form-management>button:only-child{grid-column:1/-1}.account-form button[type=submit],.account-actions button,.blocked-removal button{border:1px solid var(--border);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;min-height:40px;padding:0 12px;font-weight:700}.account-form button[type=submit]:disabled,.account-actions button:disabled{background:var(--ink-muted);cursor:not-allowed}.account-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.account-row{gap:12px;display:grid}.ledger-row-content{position:relative}.account-row--with-confirm .row-sub{align-items:center;min-height:44px;padding-right:42px}.account-row.archived{background:#f3f5f8}.account-list--balances .ledger-row-button{color:inherit;align-items:center;text-decoration:none}.account-list--balances .row-name{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.account-amounts{text-align:right;justify-items:end;gap:2px;max-width:12rem;display:grid}.account-amounts .amount{white-space:nowrap;font-weight:700}.amount--negative{color:var(--expense)}.account-list--balances .forecast-balance{font-variant-numeric:tabular-nums}.card-state{align-items:center;gap:6px;display:inline-flex}.card-state-icon{flex:none;width:16px;height:16px}.accounts-page>.day-header:first-of-type{border-top:0;margin-top:0;padding-top:4px}.account-row.subcategory-row{margin-left:24px}.account-main,.account-edit-row{gap:12px;display:grid}.account-main strong,.account-main span,.account-balance strong,.account-balance span,.account-balance small{display:block}.account-main span,.account-balance span,.account-balance small,.empty-state{color:var(--ink-muted)}.account-balance strong{color:var(--income);font-variant-numeric:tabular-nums}.ledger-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;display:flex}.month-nav{flex:1;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-width:0;display:grid}.month-nav button{min-width:44px;min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:1.5rem;line-height:1}.month-nav h2{text-align:center;text-transform:uppercase;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:1rem;font-weight:700}.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}.notice-inline{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--ink-muted);text-align:center;margin:0 0 12px;padding:12px 16px;font-size:.875rem}.budget-row--approaching{border-color:var(--warn-ink);background:var(--warn-surface)}.budget-row--over{border-color:var(--over-ink);background:var(--over-surface)}.budget-state{font-weight:700}.budget-row--approaching .budget-state{color:var(--warn-ink)}.budget-row--over .budget-state{color:var(--over-ink)}.archive-badge{border:1px solid var(--border);background:var(--surface-muted);width:fit-content;color:var(--ink-muted);border-radius:999px;padding:4px 8px;font-size:.875rem;font-weight:700}.row-suffix{border:1px solid var(--border);background:var(--surface-muted);width:fit-content;color:var(--ink-muted);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:.875rem;font-weight:700}.row-suffix--overdue{text-underline-offset:2px;text-decoration:underline}.transaction-row-end{justify-items:end;gap:4px;display:grid}.row-detail{border-top:1px solid var(--border);gap:12px;padding-top:12px;display:grid}.row-detail:focus-visible,.row-detail:focus{outline:3px solid var(--focus);outline-offset:3px}.account-actions{flex-wrap:wrap;gap:8px;display:flex}.account-actions button:nth-child(n+2){background:var(--surface-muted);color:var(--accent-strong)}.pending-line{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--ink-muted);text-align:center;justify-content:center;align-items:center;gap:8px;margin:0 0 12px;padding:12px 16px;font-size:.875rem;display:flex}.ledger{display:block}.day-header{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;font-variant-numeric:tabular-nums;margin:0;padding:4px 0;font-size:.6875rem;font-weight:600}.day-header:not(:first-child){border-top:1px solid var(--border);margin-top:20px;padding-top:12px}.month-chip{letter-spacing:.04em;color:var(--ink-muted);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:0 4px;font-weight:600;line-height:1.4;text-decoration:none}.state-slot{color:var(--ink-muted);white-space:nowrap;font-weight:600}.state-slot--overdue{color:var(--expense)}.confirm-icon-button{width:44px;height:44px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;bottom:0;right:-10px}.confirm-icon-button:hover,.confirm-icon-button:focus-visible{color:var(--accent)}.confirm-icon-button:disabled{color:var(--ink-muted);opacity:.5;cursor:not-allowed}.text-action{color:var(--accent);font-weight:700;font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.text-action:disabled{color:var(--ink-muted);text-decoration:none}.stepper{align-items:center;gap:8px;display:inline-flex}.stepper-button{border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;font-size:1.25rem;line-height:1}.stepper-button:disabled,.stepper-button[aria-disabled=true]{color:var(--ink-muted);cursor:not-allowed}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:2ch;font-weight:700}.sheet-backdrop{z-index:20;background:#0f172a80;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:12px;gap:12px;width:min(480px,100%);max-height:min(560px,90vh);padding:20px;display:grid;box-shadow:0 12px 32px #0f172a4d}.sheet h3{margin:0}.sheet-content{overflow-y:auto}.segmented-control{border:0;gap:8px;margin:0 0 16px;padding:0;display:grid}.segmented-control:last-child{margin-bottom:0}.segmented-control legend{margin-bottom:8px;padding:0;font-weight:700}.segmented-option{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.segmented-option:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.segmented-check{visibility:hidden;font-weight:700}.segmented-option:has(input:checked) .segmented-check{visibility:visible}.button-primary{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;min-height:44px;font-weight:700}.button-primary:hover{background:var(--accent-strong)}.account-actions .button-primary{min-height:44px}.blocked-removal{color:#613a00;background:#fff6e5;border:1px solid #c87900;border-radius:8px;padding:12px}.blocked-removal p{margin-bottom:10px}.entrada-card a{color:var(--accent-strong)}.entrada-card form button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;min-height:44px;font-weight:700}.entrada-card form button[type=submit]:disabled{background:var(--ink-muted);cursor:wait}input:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=1024px){.app-shell{grid-template-columns:248px 1fr;display:grid}.desktop-nav{border-right:1px solid var(--border);background:var(--surface);height:100vh;padding:24px 16px;display:block;position:sticky;top:0}.brand{align-items:center;gap:10px;margin-bottom:24px;font-weight:800;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:36px;height:36px;display:inline-grid}.desktop-nav-list{gap:4px;display:grid}.desktop-nav .nav-item{text-align:left;width:100%;min-height:44px;color:var(--ink-muted);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.desktop-nav .nav-item.active{color:var(--accent-strong);background:#e9eff9}.desktop-nav .nav-item.active:before{content:none}.mobile-nav{display:none}.content{padding:40px 24px}.account-form{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:start}.account-form button[type=submit]{align-self:end;min-width:144px}.account-form--stacked{grid-template-columns:minmax(0,1fr);max-width:560px}.transaction-detail{max-width:560px}.account-main,.account-edit-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:center}}.ledger-row-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;grid-template-columns:24px 1fr auto;align-items:start;gap:8px 12px;padding:0;display:grid}.row-icon{color:var(--ink-muted)}.row-name{overflow-wrap:break-word}.row-name--projected{color:var(--ink-muted)}.row-sub{color:var(--ink-muted);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:4px 8px;font-size:.875rem;display:flex}.row-sub-target{overflow-wrap:break-word;min-width:0}.row-sub-end{text-align:right;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;display:flex}.transaction-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.transaction-amount.receita{color:var(--income)}.transaction-amount.despesa{color:var(--expense)}.transaction-row-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.transaction-row-main{gap:4px;display:grid}.transaction-row-main span{color:var(--ink-muted);font-size:.875rem}.transaction-detail{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:16px;padding:16px;display:grid}.transaction-detail h3{margin:0;font-size:1.125rem}.transaction-detail .facts{margin:0}.invoice-panel{gap:16px;display:grid}.invoice-total{font-variant-numeric:tabular-nums;margin:0;font-size:2rem;font-weight:700}.invoice-amount{font-variant-numeric:tabular-nums}.invoice-dates{margin:0}.invoice-nav{justify-content:flex-start}
