:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-main,#f6f5f1);min-height:100vh;margin:0;padding:0}#root{width:100%;min-height:100vh}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-main:#f4f5fb;--bg-card:#fff;--bg-subtle:#f9f9fd;--bg-muted:#ebedf8;--bg-input:#fff;--bg-hover:#f1f2fb;--border:#e1e4f2;--border-soft:#eceef8;--border-strong:#cdd2e8;--text-main:#1c2040;--text-muted:#5c6288;--header-bg:#262b6b;--header-text:#fff;--header-muted:#c9cdf0;--header-accent:#e4e6fb;--color-primary:#3a3fa8;--color-primary-hover:#2f3390;--color-primary-soft:#3a3fa81a;--color-on-primary:#fff;--color-accent:#0fb5c8;--color-accent-hover:#0aa0b2;--color-accent-soft:#0fb5c824;--color-accent-text:#0a6f7c;--color-accent-contrast:#04252b;--color-success:#2f8059;--color-success-soft:#2f80591f;--color-warning:#8f6310;--color-warning-soft:#b07d241f;--color-danger:#c2415a;--color-danger-soft:#c2415a1a;--color-info:#4a6fa5;--color-info-soft:#4a6fa51f;--color-danger-text:#92283e;--color-warning-text:#6b4a0a;--color-info-text:#34527f;--status-online:#7fc79f;--status-degraded:#e3b566;--status-offline:#e48a80;--data-1:#2a78d6;--data-2:#b0479b;--data-3:#cf7d1f;--data-4:#13866a;--data-5:#6250d6;--data-6:#008300;--chart-text:#4b5070;--chart-muted:#5c6288;--chart-grid:#1c204014;--chart-surface:#fff;--shadow-card:0 1px 2px #1c20400f;--shadow-modal:0 20px 40px #1c204033}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-main:#12142b;--bg-card:#1b1e3b;--bg-subtle:#1f2345;--bg-muted:#262a52;--bg-input:#171a33;--bg-hover:#242850;--border:#2e3363;--border-soft:#252a55;--border-strong:#3d4380;--text-main:#eceefb;--text-muted:#a3a8d0;--header-bg:#0d0f26;--header-text:#f1f2fc;--header-muted:#a2a8d8;--header-accent:#dfe1f7;--color-primary:#8087f0;--color-primary-hover:#949af4;--color-primary-soft:#8087f02e;--color-on-primary:#0d0f26;--color-accent:#2dd4e6;--color-accent-hover:#4fdcec;--color-accent-soft:#2dd4e629;--color-accent-text:#5fe3f0;--color-accent-contrast:#04252b;--color-success:#5bc48a;--color-success-soft:#5bc48a2e;--color-warning:#e0b04c;--color-warning-soft:#e0b04c2e;--color-danger:#ef7b92;--color-danger-soft:#ef7b9229;--color-info:#7fa6e0;--color-info-soft:#7fa6e02e;--color-danger-text:#f5a3b3;--color-warning-text:#ecc470;--color-info-text:#a8c4ee;--status-online:#7fc79f;--status-degraded:#e3b566;--status-offline:#e48a80;--data-1:#3987e5;--data-2:#c96bb0;--data-3:#cf7d1f;--data-4:#19a383;--data-5:#9085e9;--data-6:#28a428;--chart-text:#c5c9ea;--chart-muted:#a3a8d0;--chart-grid:#eceefb1a;--chart-surface:#1b1e3b;--shadow-card:0 1px 2px #0006;--shadow-modal:0 20px 40px #0000008c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-main:#12142b;--bg-card:#1b1e3b;--bg-subtle:#1f2345;--bg-muted:#262a52;--bg-input:#171a33;--bg-hover:#242850;--border:#2e3363;--border-soft:#252a55;--border-strong:#3d4380;--text-main:#eceefb;--text-muted:#a3a8d0;--header-bg:#0d0f26;--header-text:#f1f2fc;--header-muted:#a2a8d8;--header-accent:#dfe1f7;--color-primary:#8087f0;--color-primary-hover:#949af4;--color-primary-soft:#8087f02e;--color-on-primary:#0d0f26;--color-accent:#2dd4e6;--color-accent-hover:#4fdcec;--color-accent-soft:#2dd4e629;--color-accent-text:#5fe3f0;--color-accent-contrast:#04252b;--color-success:#5bc48a;--color-success-soft:#5bc48a2e;--color-warning:#e0b04c;--color-warning-soft:#e0b04c2e;--color-danger:#ef7b92;--color-danger-soft:#ef7b9229;--color-info:#7fa6e0;--color-info-soft:#7fa6e02e;--color-danger-text:#f5a3b3;--color-warning-text:#ecc470;--color-info-text:#a8c4ee;--status-online:#7fc79f;--status-degraded:#e3b566;--status-offline:#e48a80;--data-1:#3987e5;--data-2:#c96bb0;--data-3:#cf7d1f;--data-4:#19a383;--data-5:#9085e9;--data-6:#28a428;--chart-text:#c5c9ea;--chart-muted:#a3a8d0;--chart-grid:#eceefb1a;--chart-surface:#1b1e3b;--shadow-card:0 1px 2px #0006;--shadow-modal:0 20px 40px #0000008c}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);min-height:100vh;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app-container{flex-direction:column;min-height:100vh;display:flex}.app-header{background-color:var(--header-bg);color:var(--header-text);z-index:50;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 32px;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:12px;display:flex}.brand-logo{width:44px;height:44px;color:var(--header-text);justify-content:center;align-items:center;display:flex}.header-brand h1{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.header-motto{color:var(--header-muted);max-width:46ch;margin-top:2px;font-size:.78rem;font-style:italic}.system-health{color:var(--status-offline);align-items:center;gap:6px;margin-top:2px;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.online{background-color:var(--status-online);box-shadow:0 0 6px var(--status-online)}.status-dot.degraded{background-color:var(--status-degraded);box-shadow:0 0 6px var(--status-degraded)}.status-dot.offline{background-color:var(--status-offline);box-shadow:0 0 6px var(--status-offline)}.status-dot.checking{background-color:var(--header-muted)}.status-text{color:var(--text-muted);font-size:.75rem}.header-controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.period-selector{background-color:var(--bg-input);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;padding:4px 10px;display:flex}.selector-icon{color:var(--text-muted)}.select-input{color:var(--text-main);cursor:pointer;background:0 0;border:none;outline:none;font-size:.9rem}.select-input option{background-color:var(--bg-card);color:var(--text-main)}.btn-primary{background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 6px #0fb5c840}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-muted);color:var(--text-main);border:1px solid var(--border-strong);cursor:pointer;border-radius:8px;padding:10px 18px;font-size:.9rem;font-weight:500;transition:all .2s}.btn-secondary:hover{background:var(--border)}.user-profile{border-left:1px solid var(--border);align-items:center;gap:12px;padding-left:12px;display:flex}.user-info{flex-direction:column;display:flex}.user-name{font-size:.85rem;font-weight:600}.user-email{color:var(--text-muted);font-size:.75rem}.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;transition:all .2s}.btn-icon:hover{color:var(--color-danger);background-color:var(--color-danger-soft)}.app-header .status-text,.app-header .user-email,.app-header .selector-icon{color:var(--header-muted)}.app-header .period-selector{background-color:#ffffff1f;border-color:#ffffff38}.app-header .period-selector .select-input{box-shadow:none;color:var(--header-text);background:0 0;border:none;padding:4px 2px}.app-header .select-input option{background-color:var(--bg-card);color:var(--text-main)}.app-header .btn-secondary{color:var(--header-text);background:#ffffff1f;border-color:#ffffff40}.app-header .btn-secondary:hover{background:#ffffff38}.app-header .btn-primary{background:var(--color-accent);color:var(--color-accent-contrast);box-shadow:none}.app-header .btn-primary:hover{background:#fff}.app-header .user-profile{border-left-color:#fff3}.app-header .btn-icon{color:var(--header-muted)}.app-header .btn-icon:hover{color:var(--header-text);background-color:#ffffff1f}.dashboard-content{flex-direction:column;gap:32px;width:100%;max-width:1300px;margin:0 auto;padding:32px;display:flex}.dashboard-content>*{min-width:0}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:20px;display:grid}.card-positive .card-icon-wrapper{background:var(--color-success-soft);color:var(--color-success)}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:24px;display:grid}.chart-desc{color:var(--text-muted);margin-bottom:20px;font-size:.8rem}.chart-container{justify-content:center;align-items:center;height:260px;display:flex;position:relative}.empty-chart{color:var(--text-muted);font-size:.9rem}.transactions-section{background-color:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;padding:24px}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-title{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.section-title h2{font-size:1.25rem;font-weight:700}.count-tag{background-color:var(--bg-muted);color:var(--text-muted);border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:600}.filters-bar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.search-box{background-color:var(--bg-input);border:1px solid var(--border-strong);border-radius:8px;align-items:center;gap:8px;width:240px;padding:6px 12px;display:flex}.search-box input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-size:.85rem}.nature-filters{background-color:var(--bg-muted);border-radius:8px;gap:6px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.filter-btn{white-space:nowrap;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:.8rem;transition:all .2s}.filter-btn.active{background-color:var(--color-primary);color:var(--color-on-primary);font-weight:600}.table-responsive{overflow-x:auto}.transactions-table{border-collapse:collapse;width:100%;font-size:.88rem}.transactions-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;padding:12px 14px;font-size:.78rem;font-weight:600}.transactions-table td{border-bottom:1px solid var(--border-soft);padding:14px}.transactions-table tr:hover{background-color:var(--bg-hover)}.date-cell,.method-cell{white-space:nowrap}.desc-cell strong{display:block}.notes-preview{color:var(--text-muted);margin-top:2px;font-size:.75rem;display:block}.badge{border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge-income{background:var(--color-success-soft);color:var(--color-success)}.badge-fixed{background:var(--color-danger-soft);color:var(--color-danger)}.badge-variable{background:var(--color-warning-soft);color:var(--color-warning)}.badge-investment{background:var(--color-info-soft);color:var(--color-info)}.badge-other{background:var(--bg-muted);color:var(--text-muted)}.status-badge{align-items:center;gap:4px;font-size:.75rem;font-weight:500;display:inline-flex}.status-badge.paid{color:var(--color-success)}.status-badge.pending{color:var(--color-warning)}.amount-cell{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.95rem;font-weight:700}.amount-cell.income{color:var(--color-success)}.amount-cell.expense{color:var(--color-danger)}.text-right{text-align:right}.text-center{text-align:center}.actions-cell{justify-content:center;gap:8px;display:flex}.btn-action{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:6px;transition:all .2s}.btn-action.edit:hover{color:var(--color-primary);background:var(--color-primary-soft)}.btn-action.delete:hover{color:var(--color-danger);background:var(--color-danger-soft)}.empty-row{text-align:center;color:var(--text-muted);padding:36px!important}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#1c191773;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background-color:var(--bg-card);border:1px solid var(--border);width:100%;max-width:520px;box-shadow:var(--shadow-modal);border-radius:16px;padding:24px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-header h2{font-size:1.25rem;font-weight:700}.btn-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.modal-form{flex-direction:column;gap:12px;display:flex}.type-toggle{background-color:var(--bg-muted);border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px;font-size:.9rem;font-weight:600;transition:all .2s}.toggle-btn.active.expense{background-color:var(--color-danger);color:#fff}.toggle-btn.active.income{background-color:var(--color-success);color:#fff}.toggle-btn.active.fixed{background-color:var(--color-danger);color:#fff}.toggle-btn.active.variable{background-color:var(--color-warning);color:#fff}.toggle-btn.active.investment{background-color:var(--color-info);color:#fff}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-muted);font-size:.8rem;font-weight:600}.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.text-input,.select-input{background-color:var(--bg-input);border:1px solid var(--border-strong);width:100%;min-width:0;color:var(--text-main);border-radius:8px;outline:none;padding:8px 12px;font-size:.9rem;transition:border-color .2s}.text-input:focus,.select-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.nature-selector{gap:8px;display:flex}.radio-pill{text-align:center;background-color:var(--bg-input);border:1px solid var(--border-strong);cursor:pointer;border-radius:8px;flex:1;padding:8px 12px;font-size:.85rem;transition:all .2s}.radio-pill input{display:none}.radio-pill.selected{background-color:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.checkbox-group{margin-top:4px}.checkbox-inline{justify-content:flex-end;margin-top:0;padding-bottom:9px}.checkbox-label{cursor:pointer;color:var(--text-main);align-items:center;gap:8px;font-size:.85rem;display:flex}.checkbox-label input{width:16px;height:16px;accent-color:var(--color-primary)}.modal-actions{justify-content:flex-end;gap:12px;margin-top:4px;display:flex}.alert-error{background-color:var(--color-danger-soft);border:1px solid var(--color-danger);color:var(--color-danger-text);border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:.85rem}.auth-container{background:radial-gradient(circle at top, var(--header-accent) 0%, var(--bg-main) 70%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background-color:var(--bg-card);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-modal);border-radius:16px;padding:32px}.auth-header{text-align:center;margin-bottom:24px}.auth-header h2{margin-bottom:6px;font-size:1.5rem;font-weight:700}.auth-header p{color:var(--text-muted);font-size:.85rem}.auth-tabs{background-color:var(--bg-muted);border-radius:8px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:4px;display:grid}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px;font-weight:600;transition:all .2s}.tab-btn.active{background-color:var(--color-primary);color:var(--color-on-primary)}.input-with-icon{background-color:var(--bg-input);border:1px solid var(--border-strong);color:var(--text-muted);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.input-with-icon input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-size:.9rem}.btn-block{justify-content:center;width:100%;margin-top:10px;padding:12px}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-subtitle{color:var(--text-main);margin:18px 0 6px;font-size:1rem;font-weight:700}.modal-subtitle:first-of-type{margin-top:4px}.accounts-section{background-color:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;padding:24px}.modal-card{max-height:calc(100vh - 32px);overflow-y:auto}.modal-card-sm{max-width:440px}.modal-text{color:var(--text-main);font-size:.9rem;line-height:1.5}.field-hint{color:var(--text-muted);margin-top:-8px;font-size:.78rem;line-height:1.45}.color-swatches{flex-wrap:wrap;gap:8px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;outline:none;width:28px;height:28px}.color-swatch.selected{border-color:var(--bg-card);box-shadow:0 0 0 2px var(--text-main)}.alert-warning{background-color:var(--color-warning-soft);border:1px solid var(--color-warning);color:var(--color-warning-text);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:.83rem;line-height:1.45;display:flex}.alert-warning svg{flex-shrink:0;margin-top:1px}.btn-danger{background:var(--color-danger);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;display:flex}.btn-danger:hover{filter:brightness(1.1)}.btn-primary:disabled,.btn-danger:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;filter:none;transform:none}.text-income{color:var(--color-success)}.text-expense{color:var(--color-danger)}@media (width<=600px){.dashboard-content,.accounts-section,.transactions-section,.chart-card{padding:16px}.app-header{padding:12px 16px}.search-box,.filters-bar{width:100%}.form-row{grid-template-columns:1fr}}.btn-with-icon{align-items:center;gap:6px;display:flex}.modal-card-lg{max-width:620px}.modal-overlay-top{z-index:110}.field-hint-inline{margin-top:0}.modal-actions-split{flex-wrap:wrap;justify-content:space-between}.modal-actions-group{flex-wrap:wrap;gap:12px;display:flex}.category-icon{width:30px;height:30px;color:var(--category-color);background:color-mix(in srgb, var(--category-color) 16%, transparent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.categories-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.categories-toolbar .type-toggle{flex:1;max-width:320px}.category-list{flex-direction:column;gap:6px;display:flex}.category-row{background-color:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.category-row.archived{opacity:.55}.category-row-name{flex-direction:column;flex:1;min-width:0;display:flex}.category-row-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.category-row-name span{color:var(--text-muted);font-size:.75rem}.category-row-actions{gap:2px;display:flex}.categories-archived-toggle{margin:16px 0 8px}.category-name-input{align-items:center;gap:10px;display:flex}.category-name-input .text-input{flex:1}.color-custom{border:2px dashed var(--text-muted);cursor:pointer;border-radius:50%;width:28px;height:28px;position:relative;overflow:hidden}.color-custom input{cursor:pointer;opacity:.9;border:none;width:44px;height:44px;padding:0;position:absolute;inset:-8px}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:6px;display:grid}.icon-option{background-color:var(--bg-input);border:1px solid var(--border-strong);height:36px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:flex}.icon-option:hover{color:var(--text-main)}.icon-option.selected{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-soft)}.category-cell{align-items:center;gap:8px;display:inline-flex}.category-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}@media (width<=600px){.category-row .badge{display:none}}.main-tabs{scrollbar-width:thin;gap:8px;margin-bottom:-8px;padding-bottom:8px;display:flex;overflow-x:auto}.main-tab{white-space:nowrap;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-shrink:0;padding:9px 18px;font-size:.9rem;font-weight:600;transition:all .15s}.main-tab:hover{border-color:var(--border-strong);color:var(--text-main)}.main-tab.active{background:var(--bg-card);border-color:var(--border-strong);color:var(--text-main);box-shadow:inset 0 -3px 0 var(--color-accent)}.planning-view{flex-direction:column;gap:24px;display:flex}.planning-view>*{min-width:0}.planning-card{background-color:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;min-width:0;padding:24px}.planning-card h3{font-size:1.1rem;font-weight:600}.planning-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.planning-card-header .chart-desc{margin-bottom:0}.planning-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700;display:block}.planning-empty{color:var(--text-muted);padding:12px 0 4px;font-size:.88rem}.planning-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;display:grid}.planning-zone{flex-direction:column;gap:16px;display:flex}.zone-title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-text);align-items:center;gap:10px;margin-bottom:-8px;font-size:.78rem;font-weight:700;display:flex}.zone-title:after{content:"";background-color:var(--border);flex:1;height:1px}.zone-desc{color:var(--text-muted);margin-top:-8px;font-size:.85rem}.goal-group{border-top:3px solid var(--goal-color)}.goal-summary{border-bottom:1px solid var(--border-soft);flex-direction:column;gap:8px;margin-bottom:4px;padding:12px 0;display:flex}.free-balance{border-left:3px solid var(--goal-color);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.free-balance>div:first-child{flex:320px;min-width:0}.free-balance-values{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.free-balance-values strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.free-balance-values>span{color:var(--text-muted);font-size:.8rem}.planning-grid{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:24px;display:grid}.planning-add{align-self:flex-start}.income-card{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.income-input{border-bottom:2px solid var(--border-strong);align-items:center;gap:8px;margin-top:6px;transition:border-color .2s;display:flex}.income-input:focus-within{border-color:var(--color-primary)}.income-input span{color:var(--text-muted);font-size:1.3rem;font-weight:600}.income-input input{font:inherit;color:var(--text-main);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;width:100%;max-width:260px;padding:2px 0;font-size:1.9rem;font-weight:700}.income-realized{text-align:right}.income-realized strong{color:var(--color-success);margin-top:4px;font-size:1.15rem;display:block}.field-error{color:var(--color-danger);margin-top:4px;font-size:.78rem;display:block}.goal-cards{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;display:grid}.goal-card{background-color:var(--bg-card);border:1px solid var(--border);border-top:3px solid var(--goal-color);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:16px 18px;display:flex}.goal-values{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.goal-values strong{font-variant-numeric:tabular-nums;font-size:1.35rem}.goal-values span{color:var(--text-muted);font-size:.8rem}.progress-track{background:var(--bg-muted);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background-color:var(--goal-color,var(--color-primary));border-radius:999px;height:100%;transition:width .3s}.progress-fill.progress-good{background-color:var(--color-success)}.progress-fill.progress-bad{background-color:var(--color-danger)}.goal-status{align-items:flex-start;gap:6px;font-size:.8rem;font-weight:600;line-height:1.35;display:inline-flex}.goal-status svg{flex-shrink:0;margin-top:1px}.goal-status.good{color:var(--color-success)}.goal-status.bad{color:var(--color-danger)}.goal-status.neutral{color:var(--text-muted);font-weight:500}.goal-status.warning{color:var(--color-warning)}.chart-legend-inline{color:var(--text-muted);flex-wrap:wrap;gap:8px 16px;margin-bottom:12px;font-size:.8rem;display:flex}.chart-legend-inline span{align-items:center;gap:6px;display:inline-flex}.chart-legend-inline i.legend-track{background-color:var(--color-primary-soft);border:1.5px solid var(--color-primary)}.chart-legend-inline i.legend-fill{background-color:var(--color-primary)}.chart-legend-inline i{border-radius:3px;width:12px;height:12px;display:inline-block}.goal-categories{flex-direction:column;gap:10px;display:flex}.goal-category{border:1px solid var(--border-soft);background:var(--bg-subtle);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}.goal-category-header{align-items:center;gap:8px;min-width:0;display:flex}.goal-category-header strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.goal-category-values{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.88rem;font-weight:700}.goal-category-values span{color:var(--text-muted);font-weight:500}.goal-items{border-top:1px dashed var(--border);flex-direction:column;padding-top:4px;list-style:none;display:flex}.goal-items li{align-items:center;gap:6px;padding:2px 0;font-size:.85rem;display:flex}.goal-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.goal-item-amount{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-muted)}.goal-group-footer{border-top:2px solid var(--goal-color);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px;padding-top:12px;font-size:.85rem;display:flex}.goal-group-footer strong{color:var(--text-main);font-variant-numeric:tabular-nums}.income-gap{color:var(--text-muted);margin-top:2px;font-size:.75rem;display:block}.text-warning{color:var(--color-warning)}.thermo-bar{background:var(--bg-muted);border-radius:999px;height:16px;margin:8px 0 16px;display:flex;overflow:hidden}.thermo-segment{height:100%;transition:width .3s}.thermo-legend{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.thermo-item{background:color-mix(in srgb, var(--part-color) 8%, transparent);border:1px solid color-mix(in srgb, var(--part-color) 25%, transparent);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.thermo-name{color:var(--text-muted);font-size:.75rem}.thermo-item strong{color:var(--part-color);font-size:1.2rem}.thermo-planned{color:var(--text-muted);opacity:.85;font-size:.7rem}.thermo-target{color:var(--text-muted);font-size:.75rem}.thermo-status{font-size:.72rem;font-weight:600}.thermo-status.ok{color:var(--color-success)}.thermo-status.bad{color:var(--color-danger)}.chart-container-sm{height:230px}.btn-small{white-space:nowrap;flex-shrink:0;padding:6px 12px;font-size:.8rem}.btn-link{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.alert-info{background-color:var(--color-info-soft);border:1px solid color-mix(in srgb, var(--color-info) 45%, transparent);color:var(--color-info-text);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:.85rem;line-height:1.45;display:flex}.alert-info svg{flex-shrink:0;margin-top:1px}.targets-sum{text-align:right;font-size:.85rem}.targets-sum.ok strong{color:var(--color-success)}.targets-sum.bad strong{color:var(--color-danger)}@media (width<=600px){.planning-card{padding:16px}.thermo-legend{grid-template-columns:1fr}.income-realized{text-align:left}.main-tabs{margin-bottom:-4px}.main-tab{flex:1}}.type-toggle-3{grid-template-columns:1fr 1fr 1fr}.status-toggle{font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;margin-left:-6px;padding:3px 6px;font-size:.75rem;font-weight:500;transition:background .15s,border-color .15s}.status-toggle:hover:not(:disabled){background:var(--bg-muted);border-color:var(--border)}.status-toggle:disabled{cursor:default}.transactions-table tr.row-pending{background-color:color-mix(in srgb, var(--color-warning) 5%, transparent)}.transfer-accounts{grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;display:grid}.transfer-arrow{color:var(--text-muted);margin-bottom:12px}@media (width<=600px){.transfer-accounts{grid-template-columns:1fr}.transfer-arrow{justify-self:center;margin:0;transform:rotate(90deg)}}.list-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:14px;display:flex;overflow-x:auto}.list-tab{font:inherit;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:.9rem;font-weight:600}.list-tab:hover{color:var(--text-main)}.list-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.btn-secondary.is-active{border-color:var(--color-primary);color:var(--color-primary)}.advanced-filters{background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:12px;margin-bottom:14px;padding:14px;display:grid}.advanced-filters-actions{align-items:flex-end;padding-bottom:8px;display:flex}.list-summary{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:.85rem;display:flex}.list-summary strong{color:var(--text-main);font-variant-numeric:tabular-nums}.list-summary-note{font-style:italic}.bulk-bar{background:var(--color-primary-soft);border:1px solid color-mix(in srgb, var(--color-primary) 35%, transparent);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:.85rem;display:flex}.bulk-group{flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;display:inline-flex}.bulk-group .select-input,.bulk-group .text-input{width:auto;min-width:140px;max-width:100%;padding:6px 10px}.btn-danger.btn-small{padding:6px 12px;font-size:.8rem}.select-cell{text-align:center;width:32px}.select-cell input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.transactions-table tr.row-selected{background-color:var(--color-primary-soft)}.row-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.load-more{justify-content:center;margin-top:14px;display:flex}.tag-input{background-color:var(--bg-input);border:1px solid var(--border-strong);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;padding:5px 8px;display:flex}.tag-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.tag-input input{min-width:120px;font:inherit;color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:3px 2px;font-size:.9rem}.tag-chip{white-space:nowrap;background:var(--color-info-soft);color:var(--color-info-text);border:none;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.tag-chip button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.tag-chip-small{cursor:pointer;padding:1px 7px;font-size:.7rem}.tag-chip-small:hover{background:color-mix(in srgb, var(--color-info) 22%, transparent)}.allowance-card{border-left:4px solid var(--color-success);flex-direction:column;gap:6px;display:flex}.allowance-card.allowance-bad{border-left-color:var(--color-danger)}.allowance-value{color:var(--color-success);letter-spacing:-.02em;font-size:2.4rem;font-weight:700;line-height:1.1}.allowance-bad .allowance-value{color:var(--color-danger)}.allowance-detail{color:var(--text-muted);font-size:.78rem}.pace-track{background-color:var(--bg-muted);border-radius:999px;height:14px;margin:14px 0 10px;position:relative;overflow:hidden}.pace-fill{border-radius:999px;height:100%;transition:width .3s}.pace-marker{background-color:var(--text-main);width:2px;height:20px;position:absolute;top:-3px;transform:translate(-1px)}.pace-legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 18px;margin-bottom:10px;font-size:.78rem;display:flex}.pace-legend strong{color:var(--text-main)}.waterfall{flex-direction:column;gap:8px;margin-top:14px;display:flex}.waterfall-row{grid-template-columns:1fr 2fr auto;align-items:center;gap:12px;font-size:.85rem;display:grid}.waterfall-base,.waterfall-total{grid-template-columns:1fr auto;padding:8px 0;font-weight:700}.waterfall-base{border-bottom:1px solid var(--border)}.waterfall-total{border-top:2px solid var(--border-strong);color:var(--color-success)}.waterfall-total.negative{color:var(--color-danger)}.waterfall-label{color:var(--text-muted)}.waterfall-base .waterfall-label,.waterfall-total .waterfall-label{color:inherit}.waterfall-bar{background-color:var(--bg-muted);border-radius:999px;height:8px;display:block;overflow:hidden}.waterfall-bar i{border-radius:999px;height:100%;display:block}.waterfall-value{font-variant-numeric:tabular-nums;white-space:nowrap}@media (width<=640px){.allowance-value{font-size:2rem}.waterfall-row{grid-template-columns:1fr auto}.waterfall-row .waterfall-bar{display:none}}.waterfall-planned{color:var(--text-muted);opacity:.85;font-size:.72rem;font-style:normal;display:block}.waterfall-bar{position:relative}.waterfall-marker{background-color:var(--text-main);width:2px;height:14px;position:absolute;top:-3px;transform:translate(-1px)}.payables-section+.payables-section{margin-top:16px}.payables-section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:6px;display:flex}.payables-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:inline-flex}.payables-bad .payables-label,.payables-bad .payables-section-header strong{color:var(--color-danger)}.payables-warning .payables-label,.payables-warning .payables-section-header strong{color:var(--color-warning)}.payables-list{flex-direction:column;gap:6px;list-style:none;display:flex}.payables-list li{grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;font-size:.85rem;display:grid}.payables-due{font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;font-size:.78rem}.payables-name em{color:var(--text-muted);font-size:.72rem;font-style:normal;display:block}.payables-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.overdue-badge{color:var(--header-text);white-space:nowrap;background-color:#ffffff24;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:600;display:inline-flex}@media (width<=640px){.payables-list li{grid-template-columns:1fr auto}.payables-list .payables-due{grid-column:1/-1}}.modal-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-bottom:14px;display:flex}.recurrence-form{border:1px dashed var(--border-strong);background-color:var(--bg-subtle);border-radius:12px;margin-bottom:18px;padding:16px}.recurrence-list{flex-direction:column;gap:8px;list-style:none;display:flex}.recurrence-list li{border:1px solid var(--border);background-color:var(--bg-card);border-radius:10px;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.recurrence-list li.paused{opacity:.6;border-style:dashed}.recurrence-main{flex-direction:column;gap:2px;min-width:0;display:flex}.recurrence-meta{color:var(--text-muted);font-size:.75rem}.recurrence-mark{background-color:var(--bg-muted);color:var(--text-muted);vertical-align:middle;border-radius:999px;align-items:center;gap:3px;margin-left:6px;padding:1px 6px;font-size:.66rem;font-weight:600;display:inline-flex}.planning-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.planning-section-header h2{color:var(--text-main);font-size:1.05rem;font-weight:700}.quick-entry{border-top:1px dashed var(--border-strong);flex-direction:column;gap:6px;margin-top:14px;padding-top:14px;display:flex}.quick-entry-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.72rem;font-weight:700}.quick-entry-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quick-entry-amount{border:1px solid var(--border-strong);background-color:var(--bg-input);border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:flex}.quick-entry-amount span{color:var(--text-muted);font-size:.78rem}.quick-entry-amount input{width:92px;color:var(--text-main);font-variant-numeric:tabular-nums;background:0 0;border:none;padding:8px 0;font-size:.95rem;font-weight:600}.quick-entry-amount input:focus{outline:none}.quick-entry-row .select-input{flex:1;min-width:160px}.quick-entry-done{color:var(--color-success);font-size:.78rem}.fab{display:none}@media (width<=640px){.app-header{gap:10px;padding:10px 16px}.brand-logo{width:36px;height:36px}.header-brand h1{font-size:1.05rem}.system-health,.user-email{display:none}.user-profile{padding-left:8px}.header-controls{gap:8px;width:100%}.period-selector{flex:1;min-width:0}.header-controls>.btn-secondary.btn-with-icon span{display:none}.header-controls>.btn-secondary.btn-with-icon{min-height:44px;padding:10px 12px}.header-controls>.btn-primary{display:none}.overdue-badge{order:10;justify-content:center;width:100%}.main-tabs{width:100%}.main-tab{flex:1;padding:12px 10px}.list-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.list-tab{white-space:nowrap;padding:12px 14px}.table-responsive{overflow-x:visible}.transactions-table{font-size:.9rem;display:block}.transactions-table thead{display:none}.transactions-table tbody,.transactions-table tr,.transactions-table td{width:auto;display:block}.transactions-table tr{border:1px solid var(--border);background-color:var(--bg-card);border-radius:12px;margin-bottom:10px;padding:12px 14px;position:relative}.transactions-table tr.row-pending{border-left:3px solid var(--color-warning)}.transactions-table tr.row-selected{border-color:var(--color-primary)}.transactions-table td{border:none;padding:3px 0;text-align:left!important}.transactions-table td[data-label]{justify-content:space-between;align-items:center;gap:12px;display:flex}.transactions-table td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.72rem;font-weight:600}.transactions-table .desc-cell{margin-bottom:6px;padding-right:36px}.transactions-table .desc-cell strong{font-size:1rem}.transactions-table .amount-cell{font-size:1.05rem;font-weight:700}.transactions-table .select-cell{padding:0;position:absolute;top:12px;right:12px}.transactions-table .actions-cell{border-top:1px solid var(--border-soft);justify-content:flex-end;gap:4px;margin-top:8px;padding-top:8px;display:flex}.transactions-table .empty-row{justify-content:center;text-align:center!important}.transactions-table .empty-row:before{content:none}.btn-action,.btn-icon{min-width:40px;min-height:40px}.status-toggle{min-height:36px;padding:6px 12px}input[type=checkbox]{width:20px;height:20px}.quick-entry-row .select-input{flex-basis:100%}.fab{right:18px;bottom:calc(18px + env(safe-area-inset-bottom));background-color:var(--color-primary);color:#fff;cursor:pointer;z-index:60;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:fixed;box-shadow:0 6px 16px #1c191747}.fab:active{background-color:var(--color-primary-hover)}.dashboard-content{padding-bottom:92px}}@media (width<=420px){.dashboard-content{padding-left:12px;padding-right:12px}.allowance-value{font-size:1.75rem}.goal-cards,.planning-grid{gap:12px}.planning-card{padding:14px}.quick-entry-amount input{width:72px}.modal-card{border-radius:12px;padding:16px}.modal-actions{flex-wrap:wrap}.modal-actions .btn-primary,.modal-actions .btn-secondary{flex:1;justify-content:center;min-height:44px}}.btn-primary:focus-visible,.btn-secondary:focus-visible,.main-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle{background-color:#ffffff1a;border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.theme-option{width:30px;height:30px;color:var(--header-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.theme-option:hover{color:var(--header-text);background-color:#ffffff1f}.theme-option.active{background-color:var(--color-accent);color:var(--color-accent-contrast)}.theme-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.trend-card{background-color:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;padding:20px}.chart-container-trend{height:320px;position:relative}.trend-controls{flex-wrap:wrap;gap:8px;display:flex}.segmented{background-color:var(--bg-muted);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.segment{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:background-color .15s,color .15s}.segment:hover{color:var(--text-main)}.segment.active{background-color:var(--bg-card);color:var(--text-main);box-shadow:inset 0 -2px 0 var(--color-accent)}.segment:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width<=640px){.chart-container-trend{height:260px}.trend-controls{width:100%}.segmented{flex:1}.segment{text-align:center;flex:1;padding:7px 8px}.free-balance-values{text-align:left;align-items:flex-start}}.core-stack{flex-direction:column;gap:20px;min-width:0;display:flex}.core-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:20px;min-width:0;display:grid}.core-grid-4{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px;min-width:0;display:grid}.core-tight{gap:12px}.core-stat{flex-direction:column;gap:4px;padding:16px 18px;display:flex}.core-stat-value{overflow-wrap:anywhere;font-size:1.35rem;font-weight:700}.core-stat-detail{color:var(--text-muted);overflow-wrap:anywhere;font-size:.8rem}.core-stat-good .core-stat-value{color:var(--color-success)}.core-stat-bad .core-stat-value{color:var(--color-danger)}.core-stat-warning .core-stat-value{color:var(--color-warning)}.core-spend{border-left:4px solid var(--border-strong);flex-direction:column;gap:6px;display:flex}.core-spend-good{border-left-color:var(--color-success)}.core-spend-warning{border-left-color:var(--color-warning)}.core-spend-bad{border-left-color:var(--color-danger)}.core-spend-value{overflow-wrap:anywhere;font-size:2rem;font-weight:800;line-height:1.1}.core-spend-value small{color:var(--text-muted);font-size:1rem;font-weight:600}.core-spend-bad .core-spend-value{color:var(--color-danger)}.core-note{border-radius:8px;align-items:flex-start;gap:8px;margin:6px 0;padding:8px 12px;font-size:.85rem;display:flex}.core-note svg{flex-shrink:0;margin-top:2px}.core-note-bad{background:var(--color-danger-soft);color:var(--color-danger-text)}.core-note-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.core-note-good{background:var(--color-success-soft);color:var(--color-success)}.core-link{cursor:pointer;color:var(--color-primary);text-align:left;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:.82rem;font-weight:600;display:inline-flex}.core-link:hover{text-decoration:underline}.core-dl{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;margin:8px 0 0;font-size:.88rem;display:grid}.core-dl dt{color:var(--text-muted)}.core-dl dd{text-align:right;margin:0;font-weight:600}.core-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.core-chip{background:var(--bg-muted);border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:600}.core-summary-bar{margin-bottom:4px}.core-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.core-list>li{border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;min-width:0;padding:8px 0;display:flex}.core-list>li:last-child{border-bottom:none}.core-list-main{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.core-list-main em{color:var(--text-muted);font-size:.78rem;font-style:normal}.core-pos{color:var(--color-success)}.core-neg{color:var(--color-danger)}.core-muted{opacity:.6}.core-chosen{background:var(--color-accent-soft);border-radius:8px;padding-left:8px;padding-right:8px}.core-check{border:2px solid var(--border-strong);background:var(--bg-input);width:24px;height:24px;color:var(--color-accent-contrast);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.core-check.on{background:var(--color-accent);border-color:var(--color-accent)}.core-check-label{align-items:center;gap:8px;font-size:.85rem;display:flex}.core-inline-form{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));align-items:end;gap:12px;min-width:0;margin:12px 0;display:grid}.core-inline-input{flex-shrink:0;width:120px}.core-icon-btn{flex-shrink:0;width:32px;height:32px}.core-narrow{max-width:160px}.core-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.core-file{cursor:pointer;width:fit-content}.core-toggle{gap:6px;display:flex}.core-progress{background:var(--bg-muted);border-radius:999px;height:10px;margin:6px 0;overflow:hidden}.core-progress-fill{border-radius:999px;height:100%;transition:width .3s}.core-tone-neutral{background:var(--color-accent)}.core-tone-good{background:var(--color-success)}.core-tone-warning{background:var(--color-warning)}.core-tone-bad{background:var(--color-danger)}.core-good-text{color:var(--color-success)}.core-warning-text{color:var(--color-warning)}.core-bad-text{color:var(--color-danger)}.core-comp-bar{flex-shrink:0;width:120px}.core-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:8px 0 12px;display:grid}.core-cal-head{text-align:center;color:var(--text-muted);font-size:.72rem;font-weight:700}.core-cal-day{border:1px solid var(--border);background:var(--bg-card);min-height:48px;color:var(--text-main);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:center;padding:4px 2px;font-size:.85rem;display:flex}.core-cal-day:hover{background:var(--bg-hover)}.core-cal-day.today{border-color:var(--color-primary);font-weight:700}.core-cal-day.selected{background:var(--color-primary-soft);border-color:var(--color-primary)}.core-cal-marks{align-items:center;gap:3px;min-height:12px;display:flex}.core-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.core-dot-income{background:var(--color-success)}.core-dot-expense{background:var(--color-danger)}.core-bang{color:var(--color-warning);font-size:.8rem;line-height:1}.core-day{border-top:1px solid var(--border-soft);padding-top:12px}.core-cards{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;display:grid}.core-mini-card{border:1px solid var(--border);background:var(--bg-subtle);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:14px;display:flex}.core-mini-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.core-mini-edit{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;display:flex}.core-prio{border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.core-prio-alta{background:var(--color-danger)}.core-prio-media{background:var(--color-warning)}.core-prio-baixa{background:var(--color-success)}.core-limits{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.core-limit-head{justify-content:space-between;gap:12px;font-weight:600;display:flex}.core-limit-nums{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.core-limit-status{font-size:.8rem;font-weight:600}.core-limit-actions{align-items:center;gap:8px;margin-top:6px;display:flex}.core-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px;margin-right:8px;display:inline-block}.core-donut{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.core-donut-chart{flex-shrink:0;width:160px;height:160px;position:relative}.core-legend{flex-direction:column;flex:1;gap:6px;min-width:180px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.core-legend li{align-items:center;gap:4px;display:flex}.core-legend strong{margin-left:auto}.core-legend span{color:var(--text-muted);text-align:right;min-width:80px}.core-chart{height:260px;position:relative}.core-subrow td{color:var(--text-muted);font-size:.85rem}.core-current-row td{background:var(--color-accent-soft)}.core-total-row td{border-top:2px solid var(--border-strong);font-weight:700}.core-organize{padding:8px 12px}.core-tips{position:relative}.core-tips .btn-close{position:absolute;top:12px;right:12px}.core-tips ul{color:var(--text-muted);flex-direction:column;gap:4px;margin:8px 0 0 18px;font-size:.88rem;display:flex}@media (width<=640px){.core-spend-value{font-size:1.6rem}.core-comp-bar{width:70px}.core-list>li{flex-wrap:wrap}}@media print{.app-header,.main-tabs,.fab,.core-no-print,.core-tips,.core-summary-bar{display:none!important}body,.app-container{background:var(--bg-card)!important}.planning-card{box-shadow:none;break-inside:avoid}}.core-details>summary{cursor:pointer;font-weight:700}.core-details[open]>summary{margin-bottom:16px}.core-intro{color:var(--text-muted);font-size:.88rem}.planning-sublabel{text-transform:none;letter-spacing:0;margin-left:6px;font-style:normal;font-weight:500}.brand-logo svg{width:100%;height:100%}.auth-logo{margin:0 auto 14px;display:block}.alert-success{background:var(--color-success-soft);color:var(--color-success);border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:.85rem}.auth-notice{color:var(--text-muted);align-items:flex-start;gap:8px;margin-bottom:12px;font-size:.88rem;display:flex}.auth-form .core-link{align-self:center}.account-danger{border:1px solid var(--color-danger);border-radius:10px;padding:14px}.account-danger h4{color:var(--color-danger-text);margin-bottom:6px}.core-editor-row{flex-basis:100%;width:100%}.core-editor{background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;padding:14px}.core-editor-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.segmented,.segment{min-width:0}@media (width<=640px){.segment{padding:7px 4px;font-size:.78rem}}.goal-category-note{color:var(--text-muted);margin:2px 0 4px;font-size:.78rem;display:block}
