:root{--surface-page: #f9f9f7;--surface: #fcfcfb;--surface-2: #f1f1ee;--border: #e1e0d9;--text: #0b0b0b;--text-secondary: #52514e;--muted: #898781;--status-good: #0ca30c;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #d03b3b;--cat-1: #2a78d6;--cat-2: #1baf7a;--cat-3: #eda100;--cat-4: #008300;--cat-5: #4a3aa7;--cat-6: #e34948;--cat-7: #e87ba4;--cat-8: #eb6834;--bg: var(--surface-page);--primary: var(--cat-1);--primary-strong: #1f5fb0;--danger: var(--status-critical);--income: var(--status-good);--warning: var(--status-warning);--radius: 16px;--safe-bottom: env(safe-area-inset-bottom, 0px)}[data-theme=dark]{--surface-page: #0d0d0d;--surface: #1a1a19;--surface-2: #242422;--border: #2c2c2a;--text: #ffffff;--text-secondary: #c3c2b7;--muted: #898781;--cat-1: #3987e5;--cat-2: #199e70;--cat-3: #c98500;--cat-4: #008300;--cat-5: #9085e9;--cat-6: #e66767;--cat-7: #d55181;--cat-8: #d95926;--primary-strong: #5aa0ef}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--surface-page);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .15s ease,color .15s ease}h1{font-size:1.4rem;margin:0}.muted{color:var(--muted)}.small{font-size:.82rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-shell{display:flex;flex-direction:column;min-height:100%;max-width:480px;margin:0 auto}.app-main{flex:1;padding-bottom:84px;min-width:0}.page{padding:20px 18px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:18px}.center-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.btn,.btn-primary{border:none;border-radius:var(--radius);padding:14px 18px;font-size:1rem;font-weight:600;cursor:pointer;color:#fff;background:var(--primary);transition:transform .05s ease,opacity .15s ease,background-color .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-big{width:100%;padding:18px;font-size:1.1rem;margin-top:8px}.btn-sm{padding:8px 14px;font-size:.9rem}.btn-ghost{background:transparent;border:none;color:var(--muted);font-size:1rem;cursor:pointer;padding:6px 10px;border-radius:10px}.btn-ghost:hover{color:var(--text);background:var(--surface-2)}.btn-icon{padding:6px 8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:100%;max-width:380px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-size:.85rem;color:var(--muted)}input,select,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:13px 14px;color:var(--text);font-size:1rem;width:100%;font-family:inherit}textarea{resize:vertical;min-height:96px;line-height:1.5}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:0;border-color:transparent}.row{display:flex;gap:12px}.row .field{flex:1}.error{color:var(--danger);font-size:.9rem;margin:4px 0}.notice{color:var(--status-good);background:color-mix(in srgb,var(--status-good) 12%,transparent);border:1px solid color-mix(in srgb,var(--status-good) 35%,transparent);border-radius:12px;padding:10px 12px;font-size:.9rem;margin:4px 0}.link-button{display:block;width:100%;background:none;border:none;color:var(--primary);font:inherit;font-size:.9rem;text-align:center;padding:12px 4px 0;cursor:pointer}.link-button:hover{text-decoration:underline}.verify-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:color-mix(in srgb,var(--status-warning) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--status-warning) 40%,transparent);color:var(--text);border-radius:12px;padding:10px 104px 10px 14px;font-size:.9rem;margin-bottom:14px}.verify-banner button{background:var(--status-warning);color:#1a1a19;border:none;border-radius:8px;padding:7px 12px;font-weight:600;font-size:.85rem;cursor:pointer;white-space:nowrap}.verify-banner button:disabled{opacity:.5;cursor:not-allowed}.verify-banner-ok{color:var(--status-good);font-weight:600;white-space:nowrap}.checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:.9rem;cursor:pointer}.checkbox-row input{width:auto}.member-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:2px}.member-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.member-row:last-child{border-bottom:none}.member-info{display:flex;align-items:center;gap:12px;min-width:0}.member-info-text{display:flex;flex-direction:column;gap:2px;min-width:0}.member-badges{display:flex;align-items:center;gap:8px}.role-badge{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.02em}.role-badge.admin{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.role-badge.member{background:var(--surface-2);color:var(--text-secondary)}.role-badge.pending{background:color-mix(in srgb,var(--status-warning) 20%,transparent);color:var(--status-warning)}.invite-box{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.invite-ticket{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:color-mix(in srgb,var(--primary) 7%,var(--surface-2));border:1px dashed color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:12px;padding:12px 14px;margin:6px 0}.invite-code{flex:1;min-width:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.1em;color:var(--text)}.invite-copy{flex-shrink:0}.settings-card{max-width:100%;margin-bottom:16px}.settings-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.settings-icon{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary) 14%,transparent)}.settings-title{margin:0;font-size:1.12rem}.settings-sub{margin:2px 0 0}.settings-subtitle{font-size:.95rem;margin:0 0 6px}.avatar{flex:none;display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:700;line-height:1;text-transform:uppercase}.settings-profile{display:flex;align-items:center;gap:14px}.settings-profile-info{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-profile-name{font-size:1.1rem}.login-card .brand{text-align:center;margin-bottom:22px}.brand-badge{width:56px;height:56px;border-radius:16px;background:var(--primary);color:#fff;font-weight:800;font-size:1.4rem;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.brand-badge-sm{width:32px;height:32px;border-radius:10px;font-size:1rem;margin:0}.auth-layout{position:relative;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1fr;background:var(--surface-page)}.auth-theme{position:absolute;top:14px;right:14px;z-index:3}.auth-hero{display:flex;flex-direction:column;justify-content:center;padding:44px 24px 12px}.auth-hero-inner{width:100%;max-width:468px;margin:0 auto}.brand-left{display:flex;align-items:center;gap:11px;margin-bottom:26px}.brand-name{font-weight:800;font-size:1.15rem;letter-spacing:-.01em}.hero-title{font-size:clamp(1.8rem,6vw,2.5rem);line-height:1.1;letter-spacing:-.025em;text-wrap:balance;margin:0 0 14px}.hero-sub{color:var(--text-secondary);font-size:1.04rem;line-height:1.55;margin:0 0 26px;max-width:44ch}.hero-props{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:15px}.hero-props li{display:flex;gap:12px;align-items:flex-start}.hero-props strong{display:block;font-size:.97rem;margin-bottom:1px}.prop-icon{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:1.02rem;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.hero-preview{display:none}.auth-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:8px 20px 40px}.auth-card{width:100%;max-width:400px}.auth-card-head{text-align:center;margin-bottom:6px}.auth-card-head h2{margin:0 0 4px}.auth-trust{max-width:400px;text-align:center;line-height:1.5}@media(min-width:900px){.auth-layout{grid-template-columns:1.05fr .95fr}.auth-hero{padding:56px;border-right:1px solid var(--border);background:radial-gradient(900px 460px at 0% 0%,color-mix(in srgb,var(--primary) 13%,transparent),transparent 62%),var(--surface-2)}.auth-panel{padding:56px 48px}.hero-preview{display:block;margin-top:34px}}.pv-card{max-width:340px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 20px 20px;box-shadow:0 12px 34px -18px #0006}.pv-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.pv-pill{font-size:.76rem;font-weight:700;color:var(--status-good);background:color-mix(in srgb,var(--status-good) 15%,transparent);padding:3px 9px;border-radius:999px}.pv-amount{display:block;font-size:1.7rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-bottom:16px}.pv-bars{display:flex;align-items:flex-end;gap:8px;height:84px}.pv-bars span{flex:1;border-radius:5px 5px 2px 2px;min-height:8px;opacity:.92}.auth-legal{max-width:400px;text-align:center;line-height:1.5}.auth-legal a,.legal-content a{color:var(--primary)}.legal-page{max-width:760px;margin:0 auto;padding:20px 20px 64px}.legal-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 18px;margin-bottom:22px;border-bottom:1px solid var(--border)}.legal-content{line-height:1.65;color:var(--text-secondary)}.legal-content h1{font-size:1.7rem;color:var(--text);letter-spacing:-.02em;margin:0 0 6px}.legal-content h2{font-size:1.15rem;color:var(--text);margin:28px 0 8px}.legal-content p{margin:10px 0}.legal-content ul{padding-left:20px}.legal-content li{margin:4px 0}.legal-content strong{color:var(--text)}.legal-content blockquote{margin:14px 0;padding:10px 16px;border-left:3px solid var(--primary);background:var(--surface-2);border-radius:0 8px 8px 0}.legal-content hr{border:none;border-top:1px solid var(--border);margin:22px 0}.quick-form{display:flex;flex-direction:column;gap:16px}.amount-field{position:relative;display:flex;flex-direction:column;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;gap:4px}.amount-display{font-size:2.6rem;font-weight:800;letter-spacing:-1px;font-variant-numeric:tabular-nums}.amount-display.is-empty{color:var(--muted);opacity:.6}.amount-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;border:none;cursor:pointer}.segmented{display:flex;background:var(--surface-2);border-radius:12px;padding:4px;gap:4px}.segmented button{flex:1;background:transparent;border:none;color:var(--muted);padding:10px;border-radius:9px;font-weight:600;cursor:pointer;font-family:inherit}.segmented button.active{background:var(--primary);color:#fff}.segmented-4 button{min-width:0;padding:9px 4px;font-size:.82rem}.segmented-3 button{min-width:0;padding:10px 4px;font-size:.9rem}.guided-cat{display:flex;flex-direction:column;gap:10px}.cadastro-panel{margin-top:14px}.cadastro-actions{display:flex;justify-content:flex-end;margin:14px 0 8px}.small-title{font-size:.85rem;margin-top:18px}.cat-tree-node.is-archived{opacity:.65}.chips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;align-items:start;position:relative}.chip{display:inline-flex;align-items:center;gap:6px;width:100%;min-height:40px;box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:8px 14px;font-size:.9rem;cursor:pointer;font-family:inherit;overflow:hidden}.chip.active{border-color:transparent}.withdrawal-locked{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:10px 14px;font-size:.9rem}.chip-expanded{box-shadow:inset 0 0 0 1px currentColor;background:var(--surface)}.chip-sm{padding:6px 12px;font-size:.82rem;min-height:34px}.chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chip-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.chip-caret{font-size:.7rem;opacity:.7;flex-shrink:0;display:inline-block;transition:transform .18s ease}.chip-caret-open{transform:rotate(180deg)}.cat-picker{display:flex;flex-direction:column;gap:2px}.cat-picker-hint{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:.85rem;color:var(--muted);margin:0 0 4px}.cat-picker-hint a{color:var(--primary);font-weight:600}.chips-sub-outer{grid-column:1 / -1;display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .22s ease,visibility 0s linear .22s;position:absolute;left:0;right:0}.chips-sub-outer.open{position:static;grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .22s ease,visibility 0s linear 0s}.chips-sub-inner{overflow:hidden;min-height:0;opacity:0;transition:opacity .16s ease}.chips-sub-outer.open .chips-sub-inner{opacity:1;transition:opacity .22s ease .05s}.chips-sub{margin:4px 0 2px;padding:10px 12px 12px;background:var(--surface-2);border:1px solid var(--border);border-top:3px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:8px}.chips-sub-title{margin:0;color:var(--text-secondary)}.chips-sub-title strong{color:var(--text)}.chips-sub-search{padding:9px 12px;font-size:.85rem;width:100%;box-sizing:border-box}.chips-sub-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto;padding-right:2px}.chips-sub-empty{margin:4px 0 0}.chip-row{justify-content:flex-start;width:100%;border-radius:10px;text-align:left}@media(prefers-reduced-motion:reduce){.chips-sub-outer,.chips-sub-inner,.chip-caret,.cat-tree-children-outer,.chevron{transition:none!important}}.toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%);background:var(--status-good);color:#04210f;font-weight:700;padding:12px 20px;border-radius:999px;box-shadow:0 8px 24px #0006;z-index:60}.month-nav{position:relative;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;margin-bottom:14px}.month-label{font-weight:700}.month-label-btn{border:none;background:none;font:inherit;font-weight:700;color:var(--text);cursor:pointer;padding:4px 10px;border-radius:10px}.month-label-btn:hover{background:var(--surface-2)}.month-picker{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:40;width:min(320px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 28px #0000002e;padding:12px}.month-picker-years{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.month-picker-year{font-weight:800;font-size:1.05rem;font-variant-numeric:tabular-nums}.month-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.month-picker-cell{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:10px;padding:10px 0;font:inherit;font-weight:600;cursor:pointer}.month-picker-cell:hover{border-color:var(--primary)}.month-picker-cell.active{background:var(--primary);border-color:var(--primary);color:#fff}.summary-card{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}.summary-card strong{font-size:1.8rem;font-variant-numeric:tabular-nums}.value-out{color:var(--text)}.value-in{color:var(--status-good)}.empty{text-align:center;padding:32px 0}.tx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tx-item{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px}.tx-icon{width:40px;height:40px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;color:#fff}.tx-body{display:flex;flex-direction:column;flex:1;min-width:0}.tx-desc{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-right{display:flex;align-items:center;gap:4px;font-weight:700}.tx-del{font-size:.85rem}.tx-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tx-table th,.tx-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem}.tx-table th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;background:var(--surface-2)}.tx-table tbody tr:last-child td{border-bottom:none}.col-filter{display:block;margin-top:5px;max-width:100%;font:inherit;font-size:.8rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:3px 6px;cursor:pointer}.col-filter:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.history-filters{display:flex;gap:8px;margin:4px 0 10px}.history-filters .col-filter{margin-top:0;flex:1}.tx-table tbody tr:hover{background:var(--surface-2)}.tx-table-num{font-variant-numeric:tabular-nums;white-space:nowrap}.tx-table-desc-btn{background:none;border:none;color:var(--text);font:inherit;font-weight:600;cursor:pointer;padding:0;text-align:left}.tx-table-desc-btn:hover{text-decoration:underline}.tx-table-actions{display:flex;gap:2px;white-space:nowrap}.cat-tag{display:inline-flex;align-items:center;gap:6px}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);overflow-x:auto}.tab{flex:1;min-width:58px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;color:var(--muted);text-decoration:none;font-size:.62rem;font-weight:600;white-space:nowrap}.tab.active{color:var(--primary)}.tab-icon{font-size:1.1rem;line-height:1}.sidebar{display:flex;flex-direction:column;width:232px;flex-shrink:0;min-height:100vh;background:var(--surface);border-right:1px solid var(--border);padding:20px 14px;position:sticky;top:0}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px;font-weight:800}.sidebar-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--text-secondary);text-decoration:none;font-weight:600;font-size:.92rem}.sidebar-link:hover{background:var(--surface-2);color:var(--text)}.sidebar-link.active{background:var(--surface-2);color:var(--primary)}.sidebar-footer{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.sidebar-user{display:flex;align-items:center;justify-content:space-between}.app-version{margin:0;font-size:.7rem;color:var(--muted);opacity:.75;font-variant-numeric:tabular-nums}.page>.app-version{text-align:center;padding:4px 0 8px}.theme-toggle{display:flex;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px;width:100%;box-sizing:border-box;overflow:hidden}.theme-toggle button{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;border:none;background:none;color:var(--text-secondary);font-size:.7rem;font-weight:600;padding:6px 4px;border-radius:999px;cursor:pointer;font-family:inherit}.theme-toggle button span[aria-hidden]{font-size:.9rem;line-height:1}.theme-toggle button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.theme-toggle-label{display:none}.sidebar .theme-toggle-label,.settings-card .theme-toggle-label{display:inline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-card .theme-toggle button{font-size:.85rem;padding:8px 6px}.settings-logout{width:100%;justify-content:center;color:var(--danger, #c0392b);font-weight:600}.settings-card .segmented+.feedback-field{margin-top:14px}.feedback-count{align-self:flex-end}.feedback-privacy{margin:-4px 0 14px}.feedback-done{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.feedback-done-title{margin:0;font-weight:600;color:var(--primary)}.feedback-done .btn{margin-top:8px}.danger-card{border-color:color-mix(in srgb,var(--danger, #c0392b) 35%,var(--border))}.danger-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.danger-row:first-of-type{border-top:none}.danger-row-text{display:flex;flex-direction:column;min-width:0}.danger-action{flex-shrink:0;color:var(--danger, #c0392b);font-weight:600;border:1px solid color-mix(in srgb,var(--danger, #c0392b) 40%,transparent)}.danger-confirm{margin-top:10px;padding:12px;border-radius:10px;background:color-mix(in srgb,var(--danger, #c0392b) 8%,var(--surface))}.danger-confirm-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.btn-danger{background:var(--danger, #c0392b);color:#fff;border:none}.btn-danger:disabled{opacity:.6}@media(max-width:560px){.danger-row{flex-direction:column;align-items:stretch}.danger-action{width:100%}}.import-form{display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0 16px 8px}.field-label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:6px}.formatos-lista{list-style:none;margin:2px 0 0;padding:0;font-size:.82rem;color:var(--muted);line-height:1.55}.formatos-lista li{padding-left:14px;position:relative}.formatos-lista li:before{content:"–";position:absolute;left:0;opacity:.7}.formatos-lista b{font-weight:600;color:var(--text)}.import-form input[type=date],.import-form input[type=file],.import-form select,.review-cat select{width:100%;padding:10px 12px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:12px;font-size:1rem}.form-error{color:var(--danger);font-size:.9rem;margin:0}.section-title{font-size:1rem;margin:20px 16px 8px}.chart-section>.section-title,.chart-head .section-title{margin:0 0 8px}.batch-list,.review-list{list-style:none;padding:0 16px;margin:0;display:flex;flex-direction:column;gap:10px}.batch-open{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--text);text-align:left;cursor:pointer;font-family:inherit}.batch-open:disabled{opacity:.5}.batch-body{display:flex;flex-direction:column;gap:2px}.badge{font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.badge-completed{color:var(--status-good)}.badge-reverted{color:var(--danger)}.review-item{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.review-cat{display:flex;flex-direction:column;gap:4px}.suggested-hint{font-size:.78rem;color:var(--primary)}.review-actions{display:flex;gap:8px}.review-actions .btn-sm{flex:1}.dup-warning{margin:0;font-size:.85rem;color:var(--status-serious);background:color-mix(in srgb,var(--status-serious) 12%,transparent);border:1px solid color-mix(in srgb,var(--status-serious) 35%,transparent);border-radius:10px;padding:8px 10px}.import-ficha{margin:0 16px 12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:12px}.import-ficha p{margin:0}.import-ficha-linha{font-size:.9rem;color:var(--muted)}.import-ficha-linha b{color:var(--text);font-weight:600}.ficha-peca{display:inline-block;white-space:nowrap}.import-ficha-total{margin-top:4px!important;font-size:1.05rem;color:var(--text)}.import-ficha-total b{font-weight:700}.import-ficha .muted.small{display:block;margin-top:4px!important}.evo-bands{display:flex;flex-direction:column}.evo-band-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 4px}.evo-band-name{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--text)}.evo-band-dot{width:9px;height:9px;border-radius:3px;flex:none}.evo-band-value{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.confirm-all{margin:0 16px 12px;width:calc(100% - 32px)}.done-card{margin:24px 16px;padding:20px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:12px;align-items:center}.tx-tap{flex:1;display:flex;align-items:center;gap:12px;min-width:0;background:none;border:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.tx-tap:active{opacity:.7}.tx-tap .value-out,.tx-tap .value-in{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:50}.sheet{width:100%;max-width:480px;max-height:92vh;overflow-y:auto;background:var(--surface-page);border-top-left-radius:20px;border-top-right-radius:20px;border:1px solid var(--border);padding:8px 18px calc(24px + var(--safe-bottom));display:flex;flex-direction:column;gap:14px}.sheet-handle{width:44px;height:4px;border-radius:2px;background:var(--border);margin:6px auto 2px}.sheet-header{display:flex;align-items:center;justify-content:space-between}.sheet-header h2{font-size:1.1rem;margin:0}.copy-prev{width:100%;margin-bottom:14px}.budget-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.budget-actions .copy-prev{width:auto;flex:1;min-width:200px;margin-bottom:0}.budget-add-select{flex:1;min-width:200px}.budget-add-select select{width:100%}.budget-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.budget-item{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.budget-head{display:flex;align-items:center;gap:10px}.budget-name{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.limit-group{display:flex;align-items:center;gap:6px}.limit-ok{padding:7px 12px}.budget-remove{font-size:1rem}.limit-input{display:flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:4px 8px;flex-shrink:0}.limit-input input{width:76px;border:none;background:none;color:var(--text);font-size:.95rem;text-align:right;outline:none;font-variant-numeric:tabular-nums}.budget-bar{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.budget-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.budget-bar-fill.is-near{background:var(--status-warning)}.budget-bar-fill.is-over{background:var(--status-critical)}.budget-meta{display:flex;justify-content:space-between;gap:8px}.budget-warn{color:var(--status-warning);font-weight:600}.metric-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.metric-cards-3{grid-template-columns:repeat(3,1fr)}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.metric-card strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.metric-card{position:relative}.metric-card>span:first-child{padding-right:22px}.help-dot{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;display:grid;place-items:center;background:none;border:none;border-radius:50%;color:var(--muted);cursor:pointer;opacity:.55}.help-dot:hover,.help-dot:focus-visible,.help-dot.is-open{opacity:1;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.help-bubble{position:fixed;z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:0 10px 28px #00000038;font-size:.86rem;line-height:1.45;color:var(--text-secondary)}.help-bubble-title{display:block;color:var(--text);font-size:.9rem;margin-bottom:4px}.help-bubble-body strong{color:var(--text);font-weight:600}.kind-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.kind-card-wrap{position:relative;display:flex}.kind-card-wrap>.kind-card{flex:1}.kind-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;text-align:left;cursor:pointer;font-family:inherit;color:var(--text);transition:border-color .12s,box-shadow .12s}.kind-card strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.kind-card>span:first-child{padding-right:22px}.kind-card:hover{border-color:var(--kind-color, var(--primary))}.kind-card.active{border-color:var(--kind-color, var(--primary));box-shadow:inset 0 0 0 1px var(--kind-color, var(--primary))}.kind-card:focus-visible{outline:2px solid var(--kind-color, var(--primary));outline-offset:1px}.xsmall{font-size:.72rem}@media(min-width:900px){.kind-cards{grid-template-columns:repeat(4,1fr)}}.insight-box{margin-bottom:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.insight-box[open]{background:var(--surface)}.insight-summary{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-size:.9rem;list-style:none}.insight-summary::-webkit-details-marker{display:none}.insight-summary-text{font-weight:600;color:var(--text)}.insight-summary-hint{margin-left:auto}.insight-box[open] .insight-summary-hint:after{content:""}.insight-box[open] .insight-summary-hint{visibility:hidden}.insight-summary:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.insight-list{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px}.insight-card{border-radius:12px;padding:10px 12px;font-size:.9rem;border:1px solid var(--border);background:var(--surface)}.insight-card.warning{border-color:color-mix(in srgb,var(--status-critical) 40%,transparent);background:color-mix(in srgb,var(--status-critical) 8%,var(--surface))}.insight-card.info{border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.leftover-card{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-radius:12px;padding:14px 16px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--status-good) 40%,transparent);background:color-mix(in srgb,var(--status-good) 8%,var(--surface))}.leftover-titulo{font-size:1rem;margin:0 0 2px}.leftover-texto{min-width:0;flex:1 1 260px}.leftover-texto p{margin:0}.leftover-acoes{display:flex;gap:8px;flex-shrink:0}@media(max-width:899px){.leftover-acoes{width:100%}.leftover-acoes .btn,.leftover-acoes .btn-ghost{flex:1 1 0}}.chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;list-style:none;margin:4px 0 0;padding:0;font-size:12px;color:var(--text-secondary)}.chart-legend li{display:inline-flex;align-items:center;gap:6px}.chart-legend-swatch{width:16px;height:10px;border-radius:3px;border:1.5px solid transparent;flex:none}.chart-scroll{overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y;scrollbar-width:thin}.chart-scroll::-webkit-scrollbar{height:8px}.chart-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.chart-tooltip-total{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.reimport-warn{border:1px solid color-mix(in srgb,var(--status-warning) 45%,transparent);background:color-mix(in srgb,var(--status-warning) 12%,var(--surface));border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.reimport-warn p{margin:0;font-size:.92rem}.reimport-acoes{display:flex;gap:8px;justify-content:flex-end}@media(max-width:899px){.reimport-acoes .btn,.reimport-acoes .btn-ghost{flex:1 1 0}}.chart-section{margin-bottom:22px}.chart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.small-seg{width:auto;flex:0}.small-seg button{padding:5px 12px;font-size:.78rem}.chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:.82rem;box-shadow:0 4px 16px #00000026}.chart-tooltip-label{font-weight:700;margin-bottom:4px;color:var(--text)}.chart-tooltip-row{display:flex;align-items:center;gap:6px;color:var(--text)}.chart-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.empty-state{text-align:center;padding:28px 16px}.breadcrumb{margin:-4px 0 8px}.uncategorized-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;text-decoration:none;color:var(--text)}.uncategorized-card:hover{background:var(--surface-2)}.cat-tree{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.cat-tree-children-outer{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .22s ease,visibility 0s linear .22s}.cat-tree-children-outer.open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .22s ease,visibility 0s linear 0s}.cat-tree-children-inner{overflow:hidden;min-height:0}.cat-tree-children{list-style:none;margin:8px 0 0;padding:0 0 0 22px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:8px}.cat-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 12px}.cat-row-accordion{padding:6px 8px 6px 12px;gap:4px}.cat-row-toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:none;border:none;padding:6px 4px;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:10px}.cat-row-toggle:disabled{cursor:default}.cat-row-toggle:not(:disabled):hover{background:var(--surface-2)}.chevron{flex-shrink:0;display:inline-block;color:var(--muted);font-size:.85rem;transition:transform .2s ease}.chevron-open{transform:rotate(90deg)}.cat-row-dot{width:12px;height:12px;flex-shrink:0}.cat-row-body{display:flex;flex-direction:column;flex:1;min-width:0}.cat-row-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-row-actions{display:flex;gap:2px;flex-shrink:0}.swatch-row{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.swatch-selected{border-color:var(--text);box-shadow:0 0 0 2px var(--surface-page)}.swatch-custom{position:relative;overflow:hidden;background:conic-gradient(#e34948,#eda100,#1baf7a,#2a78d6,#4a3aa7,#e87ba4,#e34948);display:inline-block}.swatch-custom-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:none;padding:0;margin:0;cursor:pointer}.icon-picker{display:flex;flex-direction:column;gap:8px}.icon-search{width:100%}.icon-scroll{max-height:240px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:10px;padding:8px;background:var(--surface)}.icon-section+.icon-section{margin-top:10px}.icon-section-title{margin:0 0 6px;position:sticky;top:-8px;background:var(--surface);padding:4px 0;z-index:1}.icon-opt-none{margin-bottom:8px}.icon-empty{margin:4px 2px}.icon-grid{display:flex;flex-wrap:wrap;gap:8px}.icon-opt{width:38px;height:38px;display:grid;place-items:center;font-size:1.15rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);cursor:pointer;padding:0;line-height:1}.icon-opt:hover{border-color:var(--muted)}.icon-selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}@media(min-width:900px){.app-shell{flex-direction:row;align-items:flex-start;max-width:1440px;margin-inline:auto}.app-main{padding-bottom:0;flex:1;min-width:0}.page{padding:32px 40px;max-width:1080px;margin:0 auto}.page-narrow{max-width:680px}.card{max-width:460px}.settings-page .card{max-width:100%}.card.empty-state{max-width:none}.metric-cards{grid-template-columns:repeat(5,1fr)}.metric-cards-3{grid-template-columns:repeat(3,1fr)}.quick-form,.import-form{max-width:560px;margin-inline:auto}}@media(min-width:900px){.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.dashboard-grid .chart-section{margin-bottom:0}.dashboard-grid .chart-head{min-height:33px}}.review-kind,.review-installment{display:flex;flex-direction:column;gap:4px}.install-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.9rem;cursor:pointer}.install-toggle input[type=checkbox]{width:auto;margin:0}.install-fields{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.85rem}.install-fields input{width:56px;padding:6px 8px;text-align:center}.install-stepper{display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:4px;width:fit-content}.install-stepper button{width:34px;height:34px;border:none;background:var(--surface);color:var(--text);border-radius:50%;font-size:1.2rem;line-height:1;cursor:pointer}.install-stepper button:disabled{opacity:.4;cursor:not-allowed}.install-stepper-value{min-width:68px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.budget-committed{color:var(--status-warning)}.account-removed{margin:0 0 12px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.account-intro{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:11px 14px;font-size:.85rem;color:var(--text-secondary);margin-bottom:14px}.account-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.account-group-head .section-title{margin:0}.tx-installment{font-size:.7rem;font-weight:600;padding:1px 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--status-warning) 45%,transparent);color:var(--status-warning);white-space:nowrap}.offline-banner{margin:8px 16px 0;padding:10px 14px;border-radius:12px;font-size:.88rem;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.offline-banner.is-offline{border-color:var(--primary)}.offline-banner.is-warning{border-color:#f0a020}.offline-failed{color:var(--danger)}.tx-pending-badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:999px;border:1px dashed var(--muted);color:var(--muted);white-space:nowrap}@media(max-width:899px){.cat-row{flex-wrap:wrap}.cat-row-toggle{flex:1 1 100%}.cat-row-body{flex:1 1 auto}.cat-row-name{white-space:normal}.cat-row-actions{flex:1 1 100%;justify-content:flex-end;margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.budget-head{flex-wrap:wrap}.budget-name{flex:1 1 100%;white-space:normal}.budget-controls{flex:1 1 100%;justify-content:flex-end}}@media(max-width:899px){.budget-controls .limit-group,.budget-controls .limit-input{flex:1}.budget-controls .limit-input input{width:100%;text-align:left}}.cbl-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px}.cbl-item{display:block;width:100%;text-align:left;background:none;border:none;padding:0;font:inherit;color:inherit}.cbl-drill{cursor:pointer}.cbl-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:5px}.cbl-name{display:flex;align-items:center;gap:8px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbl-dot{width:11px;height:11px;border-radius:3px;flex:none}.cbl-chevron{color:var(--muted);font-weight:700}.cbl-val{color:var(--text-secondary);font-size:.86rem;white-space:nowrap;flex:none;font-variant-numeric:tabular-nums}.cbl-bar{height:10px;background:var(--surface-2);border-radius:6px;overflow:hidden}.cbl-bar>div{height:100%;border-radius:6px;min-width:4px}@media(max-width:899px){.metric-card{padding:10px 12px}.metric-card strong{font-size:1.05rem}}@media(max-width:899px){.metric-card-wide{grid-column:1 / -1}}.acumulado-card{display:grid;grid-template-columns:1fr;align-items:stretch;gap:0;margin-bottom:10px}.acumulado-card.tem-futuro{grid-template-columns:1fr 1fr}.acumulado-principal{display:flex;align-items:center;gap:14px;min-width:0}.acumulado-texto{display:flex;flex-direction:column;gap:2px;min-width:0}.acumulado-futuro{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding-left:14px;border-left:1px solid var(--border)}@media(max-width:620px){.acumulado-card.tem-futuro{grid-template-columns:1fr}.acumulado-principal{justify-content:space-between}.acumulado-futuro{padding:8px 0 0;margin-top:8px;border-left:none;border-top:1px solid var(--border)}}.acumulado-acao{flex-shrink:0;border:1px solid var(--border);color:var(--primary);font-weight:600}.acumulado-acao:hover{border-color:var(--primary);color:var(--primary)}@media(max-width:899px){.tx-desc{white-space:normal;overflow:visible;overflow-wrap:anywhere;font-size:.9rem}}.update-banner{position:fixed;left:50%;transform:translate(-50%);bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:50;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;max-width:min(92vw,440px);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 16px;box-shadow:0 14px 40px -12px #00000073}@media(min-width:900px){.update-banner{bottom:22px}}.update-banner-text{font-size:.92rem}.update-banner-actions{display:flex;align-items:center;gap:8px}.update-banner-dismiss{background:none;border:none;color:var(--muted);cursor:pointer;font:inherit;font-size:.85rem;padding:6px 4px}.update-banner-dismiss:hover{color:var(--text)}.float-actions{position:fixed;top:calc(env(safe-area-inset-top,0px) + 10px);right:12px;z-index:40;display:flex;gap:8px}.float-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;line-height:1;background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);box-shadow:0 4px 14px -6px #00000059;cursor:pointer}.float-btn:hover{color:var(--text)}.hide-values-btn.is-hidden-mode{color:var(--primary);border-color:var(--primary)}.refresh-btn.is-spinning{color:var(--primary);animation:refresh-spin .8s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.refresh-btn.is-spinning{animation:none}}@media(min-width:900px){.float-actions{top:16px;right:20px}}
