:root{--pf-color-primary:#8b6c52;--pf-color-primary-hover:#7a5e47;--pf-color-primary-on:#fff8f0;--pf-color-bg:#fdfaf6;--pf-color-bg-elevated:#f5efe6;--pf-color-bg-input:#fdfaf6;--pf-color-border:#d6c5b0;--pf-color-border-strong:#c4956a;--pf-color-border-subtle:#0000000f;--pf-color-text-primary:#3d2b1f;--pf-color-text-secondary:#a08060;--pf-color-text-on-elevated:#5c3d1e;--pf-color-positive:#3a7d44;--pf-color-positive-bg:#e8f5e2;--pf-color-positive-border:#9fd189;--pf-color-positive-text:#2e6b20;--pf-color-negative:#c05c2a;--pf-color-negative-bg:#fde8e8;--pf-color-negative-border:#f0a0a0;--pf-color-negative-text:#8b2020;--pf-color-warning:#b8963e;--pf-color-warning-bg:#fdf3e3;--pf-color-warning-border:#f0c060;--pf-color-warning-text:#7a5000;--pf-color-ai:#6b5b8a;--pf-color-ai-bg:#eee8d5;--pf-color-ai-border:#c8b06a;--pf-color-ai-text:#4a3800;--pf-font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--pf-font-mono:"JetBrains Mono", "SF Mono", Consolas, monospace;--pf-fs-display:28px;--pf-fs-section:20px;--pf-fs-label-strong:15px;--pf-fs-body:14px;--pf-fs-meta:12px;--pf-fs-micro:11px;--pf-fw-regular:400;--pf-fw-medium:500;--pf-lh-tight:1.2;--pf-lh-body:1.6;--pf-lh-loose:1.7;--pf-letter-spacing-display:-.5px;--pf-letter-spacing-meta:.07em;--pf-radius-sm:8px;--pf-radius-md:10px;--pf-radius-lg:12px;--pf-radius-xl:14px;--pf-radius-2xl:16px;--pf-radius-pill:20px;--pf-space-1:4px;--pf-space-2:8px;--pf-space-3:12px;--pf-space-4:16px;--pf-space-5:20px;--pf-space-6:24px;--pf-space-7:28px;--pf-space-8:32px;--pf-border-thin:.5px;--pf-border-default:1.5px;--pf-border-emphasis:3px;--pf-shadow-card:0 1px 2px #3d2b1f0a, 0 2px 8px #3d2b1f0a;--pf-shadow-elevated:0 4px 16px #3d2b1f14;--pf-shadow-focus:0 0 0 3px #8b6c522e;--bg-1:#2a1810;--bg-2:#3d2b1f;--bg-3:#5c3d1e;--text-1:var(--pf-color-bg);--text-2:var(--pf-color-border);--surface:#3d2b1fb8;--surface-soft:#fdfaf60f;--border:#d6c5b02e;--border-soft:#d6c5b052;--accent:#c4956a;--accent-2:var(--pf-color-warning);--accent-soft:var(--pf-color-bg-elevated);--accent-contrast:var(--pf-color-primary-on);--accent-rgb:196, 149, 106;--accent-2-rgb:184, 150, 62;--field-bg:#2a1810bd;--field-border:#d6c5b033;--link-color:#c4956a;--danger:var(--pf-color-negative);--status-error:var(--pf-color-negative-bg);--status-success:var(--pf-color-positive-bg);--kpi-value-primary:#c4956a;--kpi-value-secondary:#9fd189;--kpi-value-danger:#f0a0a0;--kpi-value-accent:#c8b06a;--kpi-positive:#9fd189;--kpi-danger:var(--pf-color-negative-bg);--kpi-warn:var(--pf-color-warning);--shadow:0 20px 48px #140c088c;--ui-radius:.9rem;--ui-radius-sm:.72rem;--ui-btn-height:2.75rem;--ui-btn-padding-x:.95rem;--ui-btn-border:#d6c5b038;--ui-btn-bg:#fdfaf614;--ui-btn-bg-hover:#fdfaf629;--ui-btn-text:var(--text-1);--ui-btn-primary-bg:linear-gradient(130deg, var(--accent), var(--accent-2));--ui-btn-primary-text:var(--accent-contrast);--ui-btn-danger-bg:linear-gradient(130deg, var(--pf-color-negative), #8b2020);--ui-btn-danger-text:var(--pf-color-bg);font-family:var(--pf-font-sans,"DM Sans", "Manrope", "Avenir Next", "Segoe UI", sans-serif);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{--bg-1:var(--pf-color-bg);--bg-2:var(--pf-color-bg-elevated);--bg-3:var(--pf-color-border);--text-1:var(--pf-color-text-primary);--text-2:#7a5a3c;--surface:#ffffffbf;--surface-soft:#ffffffeb;--border:#3d2b1f1a;--border-soft:#d6c5b08c;--accent:var(--pf-color-primary);--accent-2:var(--pf-color-warning);--accent-soft:var(--pf-color-bg-elevated);--accent-contrast:var(--pf-color-primary-on);--accent-rgb:139, 108, 82;--accent-2-rgb:184, 150, 62;--field-bg:var(--pf-color-bg-input);--field-border:#d6c5b0a6;--link-color:var(--pf-color-primary);--status-error:var(--pf-color-negative-text);--status-success:var(--pf-color-positive-text);--kpi-value-primary:var(--pf-color-primary);--kpi-value-secondary:var(--pf-color-positive);--kpi-value-danger:var(--pf-color-negative);--kpi-value-accent:var(--pf-color-ai);--kpi-positive:var(--pf-color-positive);--kpi-danger:var(--pf-color-negative);--kpi-warn:var(--pf-color-warning);--shadow:0 20px 48px #3d2b1f1a;--ui-btn-border:#c4956a66;--ui-btn-bg:#f5efe68c;--ui-btn-bg-hover:#f5efe6d9}@media (prefers-color-scheme:light){[data-theme=system]{--bg-1:var(--pf-color-bg);--bg-2:var(--pf-color-bg-elevated);--bg-3:var(--pf-color-border);--text-1:var(--pf-color-text-primary);--text-2:#7a5a3c;--surface:#ffffffbf;--surface-soft:#ffffffeb;--border:#3d2b1f1a;--border-soft:#d6c5b08c;--accent:var(--pf-color-primary);--accent-2:var(--pf-color-warning);--accent-soft:var(--pf-color-bg-elevated);--accent-contrast:var(--pf-color-primary-on);--accent-rgb:139, 108, 82;--accent-2-rgb:184, 150, 62;--field-bg:var(--pf-color-bg-input);--field-border:#d6c5b0a6;--link-color:var(--pf-color-primary);--status-error:var(--pf-color-negative-text);--status-success:var(--pf-color-positive-text);--kpi-value-primary:var(--pf-color-primary);--kpi-value-secondary:var(--pf-color-positive);--kpi-value-danger:var(--pf-color-negative);--kpi-value-accent:var(--pf-color-ai);--kpi-positive:var(--pf-color-positive);--kpi-danger:var(--pf-color-negative);--kpi-warn:var(--pf-color-warning);--shadow:0 20px 48px #3d2b1f1a;--ui-btn-border:#c4956a66;--ui-btn-bg:#f5efe68c;--ui-btn-bg-hover:#f5efe6d9}}[data-palette=foret]{--accent:#8fbf7a;--accent-rgb:143, 191, 122;--link-color:#8fbf7a;--kpi-value-primary:#8fbf7a}[data-theme=light][data-palette=foret]{--accent:#3a7d44;--accent-rgb:58, 125, 68;--link-color:#3a7d44;--kpi-value-primary:#3a7d44}[data-palette=ocean]{--accent:#7fb5d1;--accent-rgb:127, 181, 209;--link-color:#7fb5d1;--kpi-value-primary:#7fb5d1}[data-theme=light][data-palette=ocean]{--accent:#2e6e8e;--accent-rgb:46, 110, 142;--link-color:#2e6e8e;--kpi-value-primary:#2e6e8e}[data-palette=prune]{--accent:#a794c9;--accent-rgb:167, 148, 201;--link-color:#a794c9;--kpi-value-primary:#a794c9}[data-theme=light][data-palette=prune]{--accent:#6b5b8a;--accent-rgb:107, 91, 138;--link-color:#6b5b8a;--kpi-value-primary:#6b5b8a}[data-palette=terracotta]{--accent:#d98b5f;--accent-rgb:217, 139, 95;--link-color:#d98b5f;--kpi-value-primary:#d98b5f}[data-theme=light][data-palette=terracotta]{--accent:#c05c2a;--accent-rgb:192, 92, 42;--link-color:#c05c2a;--kpi-value-primary:#c05c2a}@media (prefers-color-scheme:light){[data-theme=system][data-palette=foret]{--accent:#3a7d44;--accent-rgb:58, 125, 68;--link-color:#3a7d44;--kpi-value-primary:#3a7d44}[data-theme=system][data-palette=ocean]{--accent:#2e6e8e;--accent-rgb:46, 110, 142;--link-color:#2e6e8e;--kpi-value-primary:#2e6e8e}[data-theme=system][data-palette=prune]{--accent:#6b5b8a;--accent-rgb:107, 91, 138;--link-color:#6b5b8a;--kpi-value-primary:#6b5b8a}[data-theme=system][data-palette=terracotta]{--accent:#c05c2a;--accent-rgb:192, 92, 42;--link-color:#c05c2a;--kpi-value-primary:#c05c2a}}*{box-sizing:border-box}.recurring-overlay{z-index:1100;background:#0f0a089e;place-items:center;padding:1rem;animation:.22s both fade-up;display:grid;position:fixed;inset:0;overflow-y:auto}.recurring-modal{gap:1.4rem;width:min(680px,100%);max-height:calc(100vh - 2rem);padding:1.4rem 1.6rem;display:grid;overflow-y:auto}.recurring-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.recurring-header h2{font-size:var(--text-xl);color:var(--text-1);margin:.25rem 0 0}.recurring-subtitle{color:var(--text-2);font-size:var(--text-sm);max-width:46ch;margin:.5rem 0 0}.recurring-close{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-1);cursor:pointer;border-radius:.6rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.recurring-close:hover{background:var(--surface)}.recurring-section h3{font-size:var(--text-base);color:var(--text-1);margin:0 0 .8rem}.recurring-form{gap:.75rem;display:grid}.recurring-form label{color:var(--text-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);gap:.3rem;font-weight:500;display:grid}.recurring-form input,.recurring-form select{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--pf-radius-md);color:var(--text-1);font-size:var(--text-sm);outline:none;padding:.55rem .75rem;font-family:inherit;transition:border-color .12s,box-shadow .12s}.recurring-form input:focus,.recurring-form select:focus{border-color:var(--accent);box-shadow:var(--pf-shadow-focus)}.recurring-form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (max-width:560px){.recurring-form-row{grid-template-columns:1fr}}.recurring-form-actions{gap:.6rem;margin-top:.4rem;display:flex}.recurring-form-actions .hero-cta-button{align-items:center;gap:.4rem;display:inline-flex}.recurring-error{border-radius:var(--pf-radius-md);background:var(--pf-color-negative-bg);color:var(--pf-color-negative-text);border:1px solid var(--pf-color-negative-border);font-size:var(--text-sm);margin:0;padding:.55rem .75rem}.recurring-empty{color:var(--text-2);font-size:var(--text-sm);margin:0;font-style:italic}.recurring-rules-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.recurring-item{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--pf-radius-md);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.7rem .85rem;transition:opacity .12s;display:grid}@media (max-width:480px){.recurring-item{grid-template-columns:auto 1fr;grid-template-areas:"dot main""dot actions";gap:.4rem .6rem}.recurring-color-dot{grid-area:dot;align-self:center}.recurring-item-main{grid-area:main}.recurring-item-actions{grid-area:actions;justify-self:start}}.recurring-item.is-paused{opacity:.55}.recurring-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.recurring-item-main{gap:.15rem;min-width:0;display:grid}.recurring-item-main strong{color:var(--text-1);font-size:var(--text-sm)}.recurring-item-meta{color:var(--text-2);font-size:var(--text-xs)}.recurring-item-actions{gap:.3rem;display:flex}.recurring-item-actions button{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:.5rem;place-items:center;width:2rem;height:2rem;transition:background .12s,color .12s,border-color .12s;display:grid}.recurring-item-actions button:hover{background:var(--surface);color:var(--text-1)}.recurring-item-actions .recurring-delete:hover{background:var(--pf-color-negative-bg);color:var(--pf-color-negative-text);border-color:var(--pf-color-negative-border)}.first-tx-overlay{z-index:1090;background:#0f0a089e;place-items:center;padding:1rem;animation:.22s both fade-up;display:grid;position:fixed;inset:0;overflow-y:auto}.first-tx-modal{gap:1.2rem;width:min(560px,100%);max-height:calc(100vh - 2rem);padding:1.4rem 1.6rem;display:grid;overflow-y:auto}.first-tx-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.first-tx-header .eyebrow{color:var(--accent);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.first-tx-header h2{font-size:var(--text-xl);color:var(--text-1);margin:.4rem 0 0}.first-tx-subtitle{color:var(--text-2);font-size:var(--text-sm);line-height:var(--pf-lh-loose);margin:.5rem 0 0}.first-tx-close{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-1);cursor:pointer;border-radius:.6rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.first-tx-close:hover{background:var(--surface)}.first-tx-form{gap:.75rem;display:grid}.first-tx-form label{color:var(--text-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);gap:.3rem;font-weight:500;display:grid}.first-tx-form input,.first-tx-form select{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--pf-radius-md);color:var(--text-1);font-size:var(--text-sm);outline:none;padding:.6rem .8rem;font-family:inherit;transition:border-color .12s,box-shadow .12s}.first-tx-form input:focus,.first-tx-form select:focus{border-color:var(--accent);box-shadow:var(--pf-shadow-focus)}.first-tx-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (max-width:480px){.first-tx-row{grid-template-columns:1fr}}.first-tx-error{border-radius:var(--pf-radius-md);background:var(--pf-color-negative-bg);color:var(--pf-color-negative-text);border:1px solid var(--pf-color-negative-border);font-size:var(--text-sm);margin:0;padding:.55rem .75rem}.first-tx-actions{gap:.6rem;margin-top:.4rem;display:flex}.first-tx-note{border-left:3px solid var(--accent);background:var(--surface-soft);color:var(--text-2);font-size:var(--text-xs);border-radius:0 var(--pf-radius-md) var(--pf-radius-md) 0;line-height:var(--pf-lh-loose);margin:.4rem 0 0;padding:.6rem .8rem}.first-tx-note strong{color:var(--text-1)}.accounts-overlay{z-index:1100;background:#0f0a089e;place-items:center;padding:1rem;animation:.22s both fade-up;display:grid;position:fixed;inset:0;overflow-y:auto}.accounts-modal{gap:1.2rem;width:min(720px,100%);max-height:calc(100vh - 2rem);padding:1.4rem 1.6rem;display:grid;overflow-y:auto}.accounts-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.accounts-header .eyebrow{color:var(--accent);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.accounts-header h2{font-size:var(--text-xl);color:var(--text-1);margin:.4rem 0 0}.accounts-subtitle{color:var(--text-2);font-size:var(--text-sm);line-height:var(--pf-lh-loose);max-width:56ch;margin:.5rem 0 0}.accounts-close{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-1);cursor:pointer;border-radius:.6rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.accounts-summary{background:var(--surface-soft);border-radius:var(--pf-radius-lg);border:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:.85rem 1rem;display:flex}.accounts-summary-label{color:var(--text-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta)}.accounts-summary strong{font-size:var(--text-2xl);font-weight:700}.accounts-summary strong.is-positive,.account-balance.is-positive{color:var(--pf-color-positive)}.accounts-summary strong.is-negative,.account-balance.is-negative{color:var(--pf-color-negative)}.accounts-section h3{font-size:var(--text-base);color:var(--text-1);margin:0 0 .8rem}.accounts-form{gap:.75rem;display:grid}.accounts-form label{color:var(--text-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);gap:.3rem;font-weight:500;display:grid}.accounts-form input,.accounts-form select{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--pf-radius-md);color:var(--text-1);font-size:var(--text-sm);outline:none;padding:.55rem .75rem;font-family:inherit;transition:border-color .12s,box-shadow .12s}.accounts-form input:focus,.accounts-form select:focus{border-color:var(--accent);box-shadow:var(--pf-shadow-focus)}.accounts-form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (max-width:480px){.accounts-form-row{grid-template-columns:1fr}}.accounts-form-color input[type=color]{cursor:pointer;width:5rem;height:2.4rem;padding:.2rem}.accounts-form-actions{gap:.6rem;display:flex}.accounts-error{border-radius:var(--pf-radius-md);background:var(--pf-color-negative-bg);color:var(--pf-color-negative-text);border:1px solid var(--pf-color-negative-border);font-size:var(--text-sm);margin:0;padding:.55rem .75rem}.accounts-empty{color:var(--text-2);font-size:var(--text-sm);margin:0;font-style:italic}.accounts-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.account-item{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--pf-radius-md);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.85rem;padding:.7rem .85rem;display:grid}@media (max-width:480px){.account-item{grid-template-columns:auto 1fr auto;grid-template-areas:"dot main balance""dot main actions";gap:.3rem .6rem}.account-color-dot{grid-area:dot;align-self:center}.account-item-main{grid-area:main}.account-balance{grid-area:balance}.account-item-actions{grid-area:actions;justify-self:end}}.account-item.is-archived{opacity:.55}.account-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.account-item-main{gap:.15rem;min-width:0;display:grid}.account-item-main strong{color:var(--text-1);font-size:var(--text-sm)}.account-item-meta{color:var(--text-2);font-size:var(--text-xs)}.account-balance{font-size:var(--text-sm);white-space:nowrap;font-weight:600}.account-item-actions{gap:.3rem;display:flex}.account-item-actions button{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:.5rem;place-items:center;width:2rem;height:2rem;transition:background .12s,color .12s,border-color .12s;display:grid}.account-item-actions button:hover{background:var(--surface);color:var(--text-1)}.account-item-actions .account-delete:hover{background:var(--pf-color-negative-bg);color:var(--pf-color-negative-text);border-color:var(--pf-color-negative-border)}.accounts-widget-body{gap:.85rem;display:grid}.accounts-widget-total{background:var(--surface-soft);border-radius:var(--pf-radius-md);border:1px solid var(--border);gap:.2rem;padding:.85rem 1rem;display:grid}.accounts-widget-total span{font-size:var(--text-2xl);letter-spacing:-.5px;font-weight:700}.accounts-widget-total.is-positive span{color:var(--pf-color-positive)}.accounts-widget-total.is-negative span{color:var(--pf-color-negative)}.accounts-widget-total small{color:var(--text-2);font-size:var(--text-xs)}.accounts-widget-breakdown{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.accounts-widget-breakdown li{font-size:var(--text-sm);border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:.35rem 0;display:flex}.accounts-widget-breakdown li:last-child{border-bottom:0}.accounts-widget-type{color:var(--text-2)}.accounts-widget-breakdown .is-positive{color:var(--pf-color-positive);font-weight:600}.accounts-widget-breakdown .is-negative{color:var(--pf-color-negative);font-weight:600}.tx-history-overlay{z-index:1100;background:#0f0a089e;place-items:center;padding:1rem;animation:.22s both fade-up;display:grid;position:fixed;inset:0;overflow-y:auto}.tx-history-modal{grid-template-rows:auto auto auto 1fr;gap:1rem;width:min(960px,100%);max-height:calc(100vh - 2rem);padding:1.4rem 1.6rem;display:grid;overflow:hidden}.tx-history-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.tx-history-header .eyebrow{color:var(--accent);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.tx-history-header h2{font-size:var(--text-xl);color:var(--text-1);margin:.4rem 0 0}.tx-history-subtitle{color:var(--text-2);font-size:var(--text-sm);margin:.5rem 0 0}.tx-history-close{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-1);cursor:pointer;border-radius:.6rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.tx-history-stats{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}@media (max-width:640px){.tx-history-stats{grid-template-columns:repeat(2,1fr)}}.tx-history-stats>div{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--pf-radius-md);gap:.2rem;padding:.6rem .85rem;display:grid}.tx-history-stats span{color:var(--text-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta)}.tx-history-stats strong{font-size:var(--text-base);color:var(--text-1);font-weight:700}.tx-history-stats strong.is-positive{color:var(--pf-color-positive)}.tx-history-stats strong.is-negative{color:var(--pf-color-negative)}.tx-history-filters{gap:.6rem;display:grid}.tx-history-search{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--pf-radius-md);color:var(--text-2);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.tx-history-search input{color:var(--text-1);font-size:var(--text-sm);background:0 0;border:0;outline:none;width:100%;font-family:inherit}.tx-history-filters-row{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-items:center;gap:.4rem;display:grid}@media (max-width:480px){.tx-history-filters-row{grid-template-columns:1fr 1fr}}.tx-history-filters-row select{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--pf-radius-md);color:var(--text-1);font-size:var(--text-sm);outline:none;width:100%;min-width:0;padding:.5rem .6rem;font-family:inherit}.tx-history-filters-row select:focus{border-color:var(--accent);box-shadow:var(--pf-shadow-focus)}.tx-history-export{font-size:var(--text-sm);justify-content:center;align-items:center;gap:.35rem;width:100%;padding:.5rem .75rem;display:inline-flex}.tx-history-custom-range{gap:.6rem;display:flex}.tx-history-custom-range label{color:var(--text-2);font-size:var(--text-xs);gap:.25rem;display:grid}.tx-history-custom-range input{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--pf-radius-md);color:var(--text-1);font-size:var(--text-sm);outline:none;padding:.4rem .6rem;font-family:inherit}.tx-history-list-wrap{min-height:0;overflow-y:auto}.tx-history-empty{text-align:center;color:var(--text-2);margin:0;padding:1.2rem;font-style:italic}.tx-history-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.tx-history-item{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--pf-radius-md);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.75rem;padding:.6rem .85rem;display:grid}@media (max-width:480px){.tx-history-item{grid-template-columns:auto 1fr auto;grid-template-areas:"dot main actions""dot amount actions";gap:.25rem .6rem}.tx-history-color-dot{grid-area:dot;align-self:center}.tx-history-main{grid-area:main}.tx-history-amount{grid-area:amount;justify-self:start}.tx-history-actions{grid-area:actions;align-self:center}.tx-history-confirm{flex-direction:column;grid-area:actions;align-self:center;gap:.2rem}}.tx-history-item.is-confirming{border-color:var(--pf-color-negative-border);background:var(--pf-color-negative-bg)}.tx-history-item.is-editing{border-color:var(--accent);padding:.85rem;display:block}.tx-history-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.tx-history-main{gap:.15rem;min-width:0;display:grid}.tx-history-main strong{color:var(--text-1);font-size:var(--text-sm)}.tx-history-meta{color:var(--text-2);font-size:var(--text-xs)}.tx-history-amount{font-size:var(--text-sm);white-space:nowrap;font-weight:600}.tx-history-amount.is-positive{color:var(--pf-color-positive)}.tx-history-amount.is-negative{color:var(--pf-color-negative)}.tx-history-actions{gap:.3rem;display:flex}.tx-history-actions button{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:.5rem;place-items:center;width:2rem;height:2rem;display:grid}.tx-history-actions button:hover{background:var(--surface);color:var(--text-1)}.tx-history-actions .tx-history-delete:hover{background:var(--pf-color-negative-bg);color:var(--pf-color-negative-text);border-color:var(--pf-color-negative-border)}.tx-history-confirm{font-size:var(--text-xs);color:var(--pf-color-negative-text);align-items:center;gap:.4rem;font-weight:600;display:flex}.tx-history-confirm button{font-size:var(--text-xs);cursor:pointer;border:0;border-radius:.5rem;padding:.3rem .6rem;font-weight:600}.tx-history-confirm-yes{background:var(--pf-color-negative);color:var(--pf-color-bg)}.tx-history-confirm-no{background:var(--surface-soft);color:var(--text-1)}.tx-history-edit{gap:.5rem;display:grid}.tx-history-edit input,.tx-history-edit select{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--pf-radius-md);color:var(--text-1);font-size:var(--text-sm);outline:none;padding:.45rem .65rem;font-family:inherit}.tx-history-edit-row{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}@media (max-width:560px){.tx-history-edit-row{grid-template-columns:1fr}}.tx-history-edit-actions{gap:.5rem;display:flex}.goals-overlay{z-index:1100;background:#0f0a089e;place-items:center;padding:1rem;animation:.22s both fade-up;display:grid;position:fixed;inset:0;overflow-y:auto}.goals-modal{gap:1.2rem;width:min(720px,100%);max-height:calc(100vh - 2rem);padding:1.4rem 1.6rem;display:grid;overflow-y:auto}.goals-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.goals-header .eyebrow{color:var(--accent);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.goals-header h2{font-size:var(--text-xl);color:var(--text-1);margin:.4rem 0 0}.goals-subtitle{color:var(--text-2);font-size:var(--text-sm);line-height:var(--pf-lh-loose);max-width:56ch;margin:.5rem 0 0}.goals-close{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-1);cursor:pointer;border-radius:.6rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.goals-section h3{font-size:var(--text-base);color:var(--text-1);margin:0 0 .8rem}.goals-form{gap:.75rem;display:grid}.goals-form label{color:var(--text-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);gap:.3rem;font-weight:500;display:grid}.goals-form input,.goals-form select{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--pf-radius-md);color:var(--text-1);font-size:var(--text-sm);outline:none;padding:.55rem .75rem;font-family:inherit;transition:border-color .12s,box-shadow .12s}.goals-form input[type=color]{cursor:pointer;width:5rem;height:2.4rem;padding:.2rem}.goals-form input:focus,.goals-form select:focus{border-color:var(--accent);box-shadow:var(--pf-shadow-focus)}.goals-form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (max-width:480px){.goals-form-row{grid-template-columns:1fr}}.goals-form-actions{gap:.6rem;display:flex}.goals-error{border-radius:var(--pf-radius-md);background:var(--pf-color-negative-bg);color:var(--pf-color-negative-text);border:1px solid var(--pf-color-negative-border);font-size:var(--text-sm);margin:0;padding:.55rem .75rem}.goals-empty{color:var(--text-2);font-size:var(--text-sm);margin:0;font-style:italic}.goals-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.goal-item{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--pf-radius-lg);gap:.5rem;padding:.85rem 1rem;display:grid}.goal-item.status-achieved{border-color:var(--pf-color-positive-border);background:var(--pf-color-positive-bg)}.goal-item.status-late{border-color:var(--pf-color-negative-border)}.goal-item-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.goal-item-head strong{color:var(--text-1);font-size:var(--text-sm)}.goal-status{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);border-radius:var(--pf-radius-pill);align-items:center;gap:.25rem;padding:.2rem .55rem;font-weight:600;display:inline-flex}.goal-status.status-achieved{background:var(--pf-color-positive-bg);color:var(--pf-color-positive-text);border:1px solid var(--pf-color-positive-border)}.goal-status.status-on_track{background:var(--surface);color:var(--text-2);border:1px solid var(--border)}.goal-status.status-late{background:var(--pf-color-negative-bg);color:var(--pf-color-negative-text);border:1px solid var(--pf-color-negative-border)}.goal-status.status-tight{background:var(--pf-color-warning-bg);color:var(--pf-color-warning-text);border:1px solid var(--pf-color-warning-border)}.goal-progress{background:var(--surface);border-radius:var(--pf-radius-pill);border:1px solid var(--border);height:8px;overflow:hidden}.goal-progress-fill{border-radius:var(--pf-radius-pill);height:100%;transition:width .2s}.goal-meta,.goal-deadline{font-size:var(--text-xs);color:var(--text-2);justify-content:space-between;display:flex}.goal-meta strong{color:var(--text-1);font-size:var(--text-sm)}.goal-actions{justify-content:flex-end;gap:.3rem;margin-top:.2rem;display:flex}.goal-actions button{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:.5rem;place-items:center;width:1.9rem;height:1.9rem;display:grid}.goal-actions button:hover{background:var(--surface);color:var(--text-1)}.goal-actions .goal-delete:hover{background:var(--pf-color-negative-bg);color:var(--pf-color-negative-text);border-color:var(--pf-color-negative-border)}.privacy-overlay,.legal-overlay{z-index:1110;background:#0f0a089e;place-items:center;padding:1rem;animation:.22s both fade-up;display:grid;position:fixed;inset:0;overflow-y:auto}.privacy-modal,.legal-modal{gap:1.2rem;width:min(680px,100%);max-height:calc(100vh - 2rem);padding:1.4rem 1.6rem;display:grid;overflow-y:auto}.legal-modal{width:min(720px,100%)}.privacy-header,.legal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.privacy-header .eyebrow,.legal-header .eyebrow{color:var(--accent);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.privacy-header h2,.legal-header h2{font-size:var(--text-xl);color:var(--text-1);margin:.4rem 0 0}.privacy-subtitle,.legal-subtitle{color:var(--text-2);font-size:var(--text-sm);line-height:var(--pf-lh-loose);max-width:56ch;margin:.5rem 0 0}.privacy-close,.legal-close{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-1);cursor:pointer;border-radius:.6rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.privacy-section h3{font-size:var(--text-base);color:var(--text-1);margin:0 0 .5rem}.privacy-section-help{color:var(--text-2);font-size:var(--text-sm);line-height:var(--pf-lh-loose);margin:0 0 .85rem}.privacy-section--danger{border-top:1px solid var(--pf-color-negative-border);margin-top:.4rem;padding-top:1rem}.privacy-section--danger h3{color:var(--pf-color-negative-text)}.privacy-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (max-width:480px){.privacy-actions{flex-direction:column}.privacy-actions>button{justify-content:center;width:100%}}.privacy-actions .hero-cta-button,.privacy-actions .ghost-button{align-items:center;gap:.4rem;display:inline-flex}.privacy-danger-btn{background:var(--pf-color-negative);color:var(--pf-color-bg);border-radius:var(--pf-radius-md);font-size:var(--text-sm);cursor:pointer;border:0;align-items:center;gap:.4rem;padding:.6rem 1rem;font-weight:600;display:inline-flex}.privacy-danger-btn:hover:not(:disabled){background:#a04518}.privacy-danger-btn:disabled{opacity:.6;cursor:not-allowed}.privacy-confirm-form{background:var(--pf-color-negative-bg);border:1px solid var(--pf-color-negative-border);border-radius:var(--pf-radius-md);gap:.75rem;margin-top:.6rem;padding:1rem;display:grid}.privacy-confirm-form label{color:var(--pf-color-negative-text);font-size:var(--text-xs);gap:.3rem;font-weight:500;display:grid}.privacy-confirm-form input{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--pf-radius-md);color:var(--text-1);font-size:var(--text-sm);outline:none;padding:.55rem .75rem;font-family:inherit}.privacy-confirm-form input:focus{border-color:var(--pf-color-negative);box-shadow:0 0 0 3px #c05c2a2e}.privacy-error{color:var(--pf-color-negative-text);font-size:var(--text-sm);margin:0;font-weight:600}.privacy-confirm-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (max-width:480px){.privacy-confirm-actions{flex-direction:column}.privacy-confirm-actions>button{justify-content:center;width:100%}}.legal-body{font-size:var(--text-sm);line-height:var(--pf-lh-loose);color:var(--text-1)}.legal-body h3{font-size:var(--text-base);color:var(--text-1);margin:1.4rem 0 .5rem}.legal-body h3:first-of-type{margin-top:.8rem}.legal-body p,.legal-body ul{margin:0 0 .6rem}.legal-body ul{padding-left:1.2rem}.legal-body li{margin-bottom:.35rem}.legal-body code{background:var(--surface-soft);font-family:var(--pf-font-mono);border-radius:4px;padding:.1rem .35rem;font-size:.85em}.legal-body a{color:var(--accent);text-decoration:underline}.legal-note{background:var(--pf-color-warning-bg);border-left:3px solid var(--pf-color-warning);border-radius:0 var(--pf-radius-md) var(--pf-radius-md) 0;color:var(--pf-color-warning-text);font-size:var(--text-sm);padding:.75rem 1rem}.profile-overlay{z-index:1110;background:#0f0a089e;place-items:center;padding:1rem;animation:.22s both fade-up;display:grid;position:fixed;inset:0;overflow-y:auto}.profile-modal{gap:1.2rem;width:min(560px,100%);max-height:calc(100vh - 2rem);padding:1.4rem 1.6rem;display:grid;overflow-y:auto}.profile-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.profile-header .eyebrow{color:var(--accent);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.profile-header h2{font-size:var(--text-xl);color:var(--text-1);margin:.4rem 0 0}.profile-subtitle{color:var(--text-2);font-size:var(--text-sm);line-height:var(--pf-lh-loose);max-width:56ch;margin:.5rem 0 0}.profile-close{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-1);cursor:pointer;border-radius:.6rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.profile-section h3{font-size:var(--text-base);color:var(--text-1);margin:0 0 .5rem}.profile-section-help{color:var(--text-2);font-size:var(--text-sm);line-height:var(--pf-lh-loose);margin:0 0 .75rem}.profile-section-help strong{color:var(--text-1);font-family:var(--pf-font-mono,monospace);font-size:.95em}.profile-form{gap:.75rem;display:grid}.profile-form label{color:var(--text-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--pf-letter-spacing-meta);gap:.3rem;font-weight:500;display:grid}.profile-form input{background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--pf-radius-md);color:var(--text-1);font-size:var(--text-sm);outline:none;padding:.55rem .75rem;font-family:inherit;transition:border-color .12s,box-shadow .12s}.profile-form input:focus{border-color:var(--accent);box-shadow:var(--pf-shadow-focus)}.profile-form input:disabled{opacity:.5;cursor:not-allowed}.profile-form-actions{gap:.5rem;display:flex}.profile-form-actions .hero-cta-button{align-items:center;gap:.4rem;display:inline-flex}.profile-form-actions .hero-cta-button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:480px){.profile-form-actions .hero-cta-button{justify-content:center;width:100%}}.profile-error{border-radius:var(--pf-radius-md);background:var(--pf-color-negative-bg);color:var(--pf-color-negative-text);border:1px solid var(--pf-color-negative-border);font-size:var(--text-sm);margin:0;padding:.55rem .75rem}.profile-success{border-radius:var(--pf-radius-md);background:var(--pf-color-positive-bg);color:var(--pf-color-positive-text);border:1px solid var(--pf-color-positive-border);font-size:var(--text-sm);margin:0;padding:.55rem .75rem}html{scroll-behavior:smooth}body{color:var(--text-1);background:radial-gradient(circle at 15% 20%, rgba(var(--accent-rgb), .22) 0%, transparent 38%), radial-gradient(circle at 82% 15%, rgba(var(--accent-2-rgb), .2) 0%, transparent 34%), linear-gradient(135deg, var(--bg-1) 0%, var(--bg-2) 45%, var(--bg-3) 100%);min-height:100svh;margin:0;transition:background .3s,color .3s}#root{min-height:100svh}.app-error-screen{place-items:center;min-height:100svh;padding:1.2rem;display:grid}.app-error-card{border:1px solid var(--border-soft);background:radial-gradient(circle at 85% 10%, #ff7d4b33, transparent 35%), var(--surface-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1.2rem;width:min(760px,100%);padding:clamp(1.2rem,2.2vw,2rem);box-shadow:0 22px 55px #0000003d}.app-error-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:1rem;display:grid}.app-error-badge-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;display:flex}.app-error-eyebrow{color:#ffd8a8;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin:0;font-weight:800}.app-error-pill{font-size:var(--text-2xs);color:#fff7ed;background:linear-gradient(130deg,#f97316d9,#ea580cd9);border-radius:999px;padding:.32rem .62rem;font-weight:700}.app-error-card h1{margin:.45rem 0 0;font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.2}.app-error-copy{color:var(--text-2);max-width:58ch;margin:.9rem 0 0}.app-error-steps{color:var(--text-1);font-size:var(--text-sm);gap:.38rem;margin:.95rem 0 0;padding-left:1.05rem;display:grid}.app-error-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;display:flex}.app-error-btn{appearance:none;border:1px solid var(--border-soft);background:var(--surface-soft);color:var(--text-1);cursor:pointer;border-radius:.8rem;padding:.65rem .95rem;font-weight:700;transition:transform .15s,border-color .15s}.app-error-btn:hover{border-color:rgba(var(--accent-rgb), .58);transform:translateY(-1px)}.app-error-btn:focus-visible{outline:2px solid rgba(var(--accent-rgb), .65);outline-offset:2px}.app-error-btn--primary{color:#fff7ed;background:linear-gradient(130deg,#c05c2a,#b8963e);border:0}.app-error-btn--ghost{border-color:var(--border);background:var(--surface-soft)}.app-error-details{border-top:1px solid var(--border);color:var(--text-2);margin-top:1rem;padding-top:.75rem}.app-error-details summary{cursor:pointer;color:var(--text-1);font-weight:700}.app-error-details p{word-break:break-word;margin:.5rem 0 0}.app-error-visual{border:1px solid var(--border);background:var(--surface-soft);border-radius:1rem;justify-self:end;width:min(260px,100%);padding:.7rem;box-shadow:inset 0 1px #ffffff14}.app-error-illustration{width:100%;height:auto;display:block}@media (max-width:640px){.app-error-card{border-radius:1rem}.app-error-layout{grid-template-columns:1fr}.app-error-visual{justify-self:stretch}.app-error-actions{grid-template-columns:1fr;display:grid}.app-error-btn{width:100%}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.inline-loading-label{align-items:center;gap:.42rem;display:inline-flex}.inline-loader{border:2px solid rgba(var(--accent-rgb), .24);border-top-color:rgba(var(--accent-rgb), .96);border-radius:999px;flex-shrink:0;width:.86rem;height:.86rem;animation:.8s linear infinite spin}:root{--text-2xs:.8125rem;--text-xs:.875rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-lg:clamp(1.1rem, 1.4vw, 1.25rem);--text-xl:clamp(1.25rem, 1.8vw, 1.7rem);--text-2xl:clamp(1.45rem, 2.6vw, 2.35rem)}.dashboard-shell{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:1rem;width:min(1360px,100% - 2rem);margin:0 auto;padding:1.6rem 0 2.2rem;display:grid}.dashboard-shell--three-columns{grid-template-columns:240px minmax(0,1fr) 280px;width:min(1680px,100% - 2rem)}.dashboard-main{gap:1rem;display:grid}.side-menu{grid-template-rows:auto 1fr auto;gap:1rem;padding:1.2rem;display:grid;position:sticky;top:1rem}.side-menu-helper{color:var(--text-3);font-size:var(--text-sm);margin:0;line-height:1.45}.side-menu-footer{border-top:1px solid var(--border-soft);gap:.6rem;margin-top:.25rem;padding-top:.6rem;display:grid}.side-menu-settings-btn{appearance:none;color:var(--text-2);cursor:pointer;font-size:var(--text-base);text-align:left;background:0 0;border:1px solid #0000;border-radius:.9rem;width:100%;min-height:3.2rem;padding:.9rem 1rem;font-weight:700;transition:all .2s}.side-menu-settings-btn:hover{color:var(--text-1);border-color:rgba(var(--accent-rgb), .45);background:rgba(var(--accent-rgb), .14)}.side-menu-logout-btn{appearance:none;color:#fff;cursor:pointer;font-size:var(--text-base);text-align:left;background:#dc2626;border:0;border-radius:.9rem;width:100%;min-height:3.2rem;padding:.9rem 1rem;font-weight:700;transition:transform .2s,box-shadow .2s}.side-menu-logout-btn:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 8px 20px #b91c1c59}.side-menu-logout-btn:active{background:#991b1b}.side-menu-logout-btn:focus-visible{outline-offset:2px;outline:2px solid #ef44448c}.side-menu nav{gap:.65rem;display:grid}.side-menu a,.side-menu button{color:var(--text-2);font-weight:700;font-size:var(--text-base);appearance:none;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:.9rem;width:100%;min-height:3.2rem;padding:.95rem 1rem;text-decoration:none;transition:all .2s}.side-menu a:hover,.side-menu button:hover{color:var(--text-1);border-color:rgba(var(--accent-rgb), .45);background:rgba(var(--accent-rgb), .14)}.side-menu a.active,.side-menu button.active{color:var(--accent-contrast);border-color:rgba(var(--accent-2-rgb), .35);background:linear-gradient(130deg, var(--accent), var(--accent-2))}.side-menu button:focus-visible,.side-menu a:focus-visible,.side-menu-settings-btn:focus-visible{outline:2px solid rgba(var(--accent-rgb), .65);outline-offset:2px}.glass-card{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);border-radius:1rem}.hero-header{background:linear-gradient(135deg,#0b7f8814 0%,#055aa60d 100%);border-top:3px solid #0b7f884d;grid-template-columns:1fr auto;align-items:start;gap:1.25rem;padding:1.85rem;animation:.62s both fade-up;display:grid}.hero-ai-info-bar{border:1px solid rgba(var(--accent-rgb), .3);background:linear-gradient(135deg, rgba(var(--accent-rgb), .14), rgba(var(--accent-2-rgb), .08));border-radius:.85rem;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.85rem;padding:.72rem .9rem;display:flex}.hero-ai-info-bar strong{color:var(--text-1);display:block}.hero-ai-info-bar small{color:var(--text-2);margin-top:.16rem;display:block}.hero-ai-info-bar button{border:1px solid var(--ui-btn-border);background:var(--ui-btn-bg);color:var(--text-1);cursor:pointer;border-radius:.72rem;min-height:2.55rem;padding:.55rem .85rem;font-weight:700}@media (max-width:768px){.hero-header{grid-template-columns:1fr;padding:1.5rem}.hero-ai-info-bar{flex-direction:column;align-items:flex-start}.hero-ai-info-bar button{width:100%}}.app-brand-row{align-items:center;gap:.6rem;display:flex}.app-brand-logo{object-fit:cover;border-radius:.55rem;width:2rem;height:2rem;box-shadow:0 8px 24px #0000002e}.eyebrow{color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.78rem;font-weight:700}h1{font-size:var(--text-2xl);margin:.45rem 0;line-height:1.15}.hero-copy{color:var(--text-2);max-width:62ch;margin:0}.hero-main{flex-direction:column;gap:.3rem;min-width:0;display:flex}.hero-greeting{color:var(--text-1);letter-spacing:-.01em;font-size:clamp(1.25rem,2.6vw,1.6rem);font-weight:800}.hero-wave{transform-origin:70% 80%;animation:1.6s ease-in-out .4s 2 hero-wave;display:inline-block}@keyframes hero-wave{0%,to{transform:rotate(0)}15%{transform:rotate(16deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-6deg)}75%{transform:rotate(8deg)}}.hero-greeting:hover .hero-wave{animation:1.6s ease-in-out infinite hero-wave}@media (prefers-reduced-motion:reduce){.hero-wave,.hero-greeting:hover .hero-wave{animation:none}}.hero-focus-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:.35rem 0 0;font-size:.8rem;font-weight:700}.hero-focus-value{letter-spacing:-.02em;color:var(--text-1);margin:0;font-size:clamp(2rem,5vw,2.9rem);font-weight:800;line-height:1.1}.hero-focus-value--negative{color:var(--kpi-danger)}.hero-focus-hint{font-size:var(--text-sm);color:var(--text-2);margin:0}.hero-primary-actions{flex-wrap:wrap;gap:.6rem;margin-top:.85rem;display:flex}.home-calendar-card{margin-bottom:1rem;padding:1.2rem 1.35rem 1.35rem}.home-calendar-card .panel-title{flex-direction:column;align-items:flex-start;gap:.1rem;margin-bottom:.6rem}.home-calendar-card .panel-title p{margin:0}.expense-calendar__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:.8rem;display:flex}.expense-calendar__nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.expense-calendar__nav button{appearance:none;border:1px solid var(--ui-btn-border);background:var(--ui-btn-bg);color:var(--text-1);cursor:pointer;border-radius:.6rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.1rem;font-weight:700;line-height:1;display:inline-flex}.expense-calendar__nav button.expense-calendar__today-btn{width:auto;height:2rem;font-size:var(--text-sm);padding:0 .7rem}.expense-calendar__title{color:var(--text-1);text-transform:capitalize;text-align:center;min-width:9ch;font-size:1.05rem}.expense-calendar__views{background:var(--surface-soft);border:1px solid var(--border);border-radius:.7rem;gap:.3rem;padding:.22rem;display:inline-flex}.expense-calendar__views button{appearance:none;color:var(--text-2);font-weight:700;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:.35rem .7rem}.expense-calendar__views button.active{background:linear-gradient(130deg, var(--accent), var(--accent-2));color:var(--accent-contrast)}.expense-calendar__head,.expense-calendar__week{grid-template-columns:2.2rem repeat(7,minmax(0,1fr));gap:.3rem;display:grid}.expense-calendar__head{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);text-align:center;margin-bottom:.35rem;font-weight:700}.expense-calendar__week{margin-bottom:.3rem}.expense-calendar__weeknum{font-size:var(--text-2xs);color:var(--text-2);justify-content:center;align-items:center;font-weight:700;display:flex}.expense-calendar__cell{appearance:none;border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;min-height:3.6rem;color:var(--text-1);border-radius:.55rem;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .25rem;transition:transform .1s,border-color .12s;display:flex}.expense-calendar__cell:hover{border-color:rgba(var(--accent-rgb), .55);transform:translateY(-1px)}.expense-calendar__cell--out{opacity:.38}.expense-calendar__cell--today{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .4)}.expense-calendar__cell--today .expense-calendar__daynum{color:var(--accent)}.expense-calendar__today-btn{appearance:none;border:1px solid var(--ui-btn-border);background:var(--ui-btn-bg);color:var(--text-1);font-size:var(--text-sm);cursor:pointer;border-radius:.6rem;padding:.35rem .7rem;font-weight:700}.expense-calendar__daynum{font-weight:800;font-size:var(--text-sm)}.expense-calendar__spent{color:var(--kpi-danger);font-weight:700;font-size:var(--text-2xs);white-space:nowrap}.expense-calendar__income{color:var(--kpi-positive);font-weight:700;font-size:var(--text-2xs);white-space:nowrap}.expense-calendar__year{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;display:grid}.expense-calendar__yearcell{appearance:none;border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;min-height:4.6rem;color:var(--text-1);border-radius:.7rem;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem .5rem;display:flex}.expense-calendar__yearcell--current{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .3)}.expense-calendar__empty{color:var(--text-2)}.expense-calendar__day-summary{font-size:var(--text-base);gap:.9rem;margin-bottom:.7rem;display:flex}.expense-calendar__day-list{gap:.45rem;margin:0 0 .8rem;padding:0;list-style:none;display:grid}.expense-calendar__day-list li{border:1px solid var(--border);background:var(--surface-soft);border-radius:.7rem;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:.65rem;padding:.6rem .75rem;display:grid}.expense-calendar__edit-btn{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:.4rem;padding:.2rem;font-size:.95rem;line-height:1;transition:transform .12s}.expense-calendar__edit-btn:hover{transform:scale(1.15)}.expense-calendar__day-label{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.expense-calendar__day-cat{font-size:var(--text-2xs);color:var(--text-2);white-space:nowrap;border:1px solid var(--border);background:var(--bg-2);border-radius:999px;padding:.15rem .55rem;font-weight:700}.expense-calendar__empty-day{color:var(--text-2);margin:0 0 .8rem}.expense-calendar__day-actions{flex-wrap:wrap;gap:.6rem;display:flex}.quick-add-modal{width:min(420px,100%)}.quick-add-modal h3{text-transform:capitalize}.quick-add-form{gap:.7rem;display:grid}.quick-add-form label{color:var(--text-2);font-weight:700;font-size:var(--text-sm);gap:.35rem;display:grid}.quick-add-form input,.quick-add-form select{border:1px solid var(--field-border);background:var(--field-bg);color:var(--text-1);font-size:var(--text-base);border-radius:.7rem;padding:.6rem .7rem}.quick-add-selects{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.quick-add-actions{justify-content:flex-end;gap:.6rem;margin-top:.3rem;display:flex}@media (max-width:420px){.quick-add-selects{grid-template-columns:1fr}}@media (max-width:640px){.expense-calendar__head,.expense-calendar__week{grid-template-columns:1.6rem repeat(7,minmax(0,1fr));gap:.18rem}.expense-calendar__cell{min-height:3rem;padding:.2rem .1rem}.expense-calendar__income,.expense-calendar__day-cat{display:none}}.recent-tx-card{margin-bottom:1rem;padding:1.1rem 1.25rem}.recent-tx-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recent-tx-list li{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.55rem 0;display:grid}.recent-tx-list li:last-child{border-bottom:0}.recent-tx-dot{border-radius:50%;flex-shrink:0;width:.6rem;height:.6rem}.recent-tx-label{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.recent-tx-meta{font-size:var(--text-xs);color:var(--text-2);white-space:nowrap}.recent-tx-amount{white-space:nowrap;font-weight:800}.recent-tx-amount--depense{color:var(--text-1)}.recent-tx-amount--revenu{color:var(--kpi-positive)}@media (max-width:560px){.recent-tx-list li{grid-template-columns:auto minmax(0,1fr) auto}.recent-tx-meta{display:none}}.kpi-progress-track{background:var(--border-soft);border-radius:999px;flex:auto;min-width:60px;height:6px;overflow:hidden}.kpi-progress-fill{background:var(--kpi-value-accent);border-radius:999px;height:100%;display:block}.kpi-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:.85rem;animation:.7s .1s both fade-up;display:grid}@media (max-width:768px){.kpi-summary{gap:.8rem;padding:.7rem}}.kpi-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1rem;gap:.6rem;padding:1.2rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:grid;position:relative;overflow:hidden}.kpi-card:before{content:"";background:var(--surface-soft);pointer-events:none;position:absolute;inset:0}.kpi-card--primary{background:linear-gradient(135deg, rgba(var(--accent-rgb), .22), rgba(var(--accent-rgb), .07));border-color:rgba(var(--accent-rgb), .3)}.kpi-card--secondary{background:linear-gradient(135deg,#3a7d4429,#3a7d440a);border-color:#3a7d443d}.kpi-card--danger{background:linear-gradient(135deg,#c05c2a29,#c05c2a0a);border-color:#c05c2a3d}.kpi-card--accent{background:linear-gradient(135deg,#6b5b8a29,#b8963e14);border-color:#6b5b8a3d}.kpi-card:hover{border-color:rgba(var(--accent-rgb), .5);transform:translateY(-4px);box-shadow:0 12px 32px #0003}.kpi-card-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;z-index:1;font-size:.85rem;font-weight:600;position:relative}.kpi-card-value{color:var(--text-1);z-index:1;letter-spacing:-.02em;font-size:1.8rem;font-weight:800;position:relative}.kpi-card--primary .kpi-card-value{color:var(--kpi-value-primary)}.kpi-card--secondary .kpi-card-value{color:var(--kpi-value-secondary)}.kpi-card--danger .kpi-card-value{color:var(--kpi-value-danger)}.kpi-card--accent .kpi-card-value{color:var(--kpi-value-accent)}.kpi-card-change{font-size:var(--text-xs);color:var(--text-2);z-index:1;align-items:center;gap:.35rem;display:flex;position:relative}.kpi-card-change.positive{color:var(--kpi-positive)}.kpi-card-change.negative{color:var(--kpi-danger)}.widget-customizer--direct .widget-customizer-toolbar,.widget-customizer--direct .widget-template-row,.widget-customizer--direct .widget-chip-grid{display:none}.widget-customizer--direct{background:0 0;padding:0}.widget-customizer--direct .widget-preview-card--direct{cursor:grab}.widget-customizer--direct .widget-preview-card--direct:active{cursor:grabbing}.widget-customizer--direct .widget-preview-card--direct:focus-visible{outline:2px solid rgba(var(--accent-rgb), .65);outline-offset:2px}.widget-mini-calendar{gap:.4rem;margin-top:.55rem;display:grid}.widget-mini-calendar__weekdays{color:var(--text-2);text-transform:uppercase;letter-spacing:.03em;grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;font-size:.66rem;font-weight:700;display:grid}.widget-mini-calendar__weekdays span{text-align:center}.widget-mini-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;display:grid}.widget-mini-calendar__cell{border:1px solid color-mix(in srgb, var(--text-2) 24%, transparent);background:color-mix(in srgb, var(--surface-soft) 88%, transparent);border-radius:.38rem;place-items:center;min-height:1.7rem;display:grid}.widget-mini-calendar__cell strong{color:var(--text-1);font-size:.7rem;font-weight:700}.widget-mini-calendar__cell.is-empty{opacity:.45;border-style:dashed}.widget-mini-calendar--compact .widget-mini-calendar__grid{gap:.16rem}.widget-mini-calendar--compact .widget-mini-calendar__cell{min-height:1.25rem}.widget-mini-calendar--compact .widget-mini-calendar__cell strong{font-size:.62rem}.widget-mini-calendar--large{gap:.52rem}.widget-mini-calendar--large .widget-mini-calendar__weekdays{gap:.28rem;font-size:.72rem}.widget-mini-calendar--large .widget-mini-calendar__grid{gap:.28rem}.widget-mini-calendar--large .widget-mini-calendar__cell{min-height:2.05rem}.widget-mini-calendar--large .widget-mini-calendar__cell strong{font-size:.78rem}.widget-mini-calendar__cell.has-details{align-content:center;justify-items:center;gap:.1rem;padding:.18rem .2rem}.widget-mini-calendar__cell.has-details small{color:var(--text-1);opacity:.9;font-size:.58rem;line-height:1.15}.widget-mini-trend{margin-top:.3rem}.widget-mini-trend--compact .widget-mini-trend__bars{grid-template-columns:repeat(3,minmax(0,1fr));min-height:3.35rem}.widget-mini-trend--compact .widget-mini-trend__bar-wrap small{font-size:.6rem}.widget-mini-trend__bars{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:.35rem;min-height:4.6rem;display:grid}.widget-mini-trend__bar-wrap{justify-items:center;gap:.24rem;display:grid}.widget-mini-trend__bar{border:1px solid var(--border-soft);background:linear-gradient(#f97316f2,#f9731673);border-radius:.45rem .45rem .2rem .2rem;width:100%;max-width:1.05rem}.widget-mini-trend__bar-wrap small{color:var(--text-2);text-transform:capitalize;font-size:.64rem}.widget-mini-alerts{gap:.34rem;margin:.15rem 0 0;padding:0;list-style:none;display:grid}.widget-mini-alerts__item{border:1px solid #0000;border-radius:.5rem;padding:.32rem .48rem;font-size:.74rem;line-height:1.35}.widget-mini-alerts--compact .widget-mini-alerts__item{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:.26rem .4rem;font-size:.7rem;line-height:1.2;display:-webkit-box;overflow:hidden}.widget-mini-alerts__item--danger{color:var(--kpi-danger);border-color:color-mix(in srgb, var(--kpi-danger) 45%, transparent);background:color-mix(in srgb, var(--kpi-danger) 14%, transparent)}.widget-mini-alerts__item--warning{color:var(--kpi-warn);border-color:color-mix(in srgb, var(--kpi-warn) 45%, transparent);background:color-mix(in srgb, var(--kpi-warn) 14%, transparent)}.widget-mini-alerts__item--info{color:var(--text-1);border-color:color-mix(in srgb, var(--text-2) 42%, transparent);background:color-mix(in srgb, var(--surface-soft) 72%, transparent)}.widget-mini-goals{gap:.42rem;margin:.15rem 0 0;padding:0;list-style:none;display:grid}.widget-mini-goals li{gap:.22rem;display:grid}.widget-mini-goals--compact{gap:.32rem}.widget-mini-goals--compact .widget-mini-goals__head{font-size:.69rem}.widget-mini-goals__head{color:var(--text-2);justify-content:space-between;gap:.45rem;font-size:.74rem;display:flex}.widget-mini-goals__head strong{color:var(--text-1);font-weight:700}.widget-mini-goals__track{background:color-mix(in srgb, var(--text-2) 24%, transparent);border-radius:999px;height:.35rem;overflow:hidden}.widget-mini-goals__track span{background:linear-gradient(90deg,#22c55ef2,#10b981cc);border-radius:999px;height:100%;display:block}.member-toggle{background:var(--surface-soft);border:1px solid var(--border);border-radius:.9rem;gap:.35rem;padding:.3rem;display:inline-flex}.member-toggle button{appearance:none;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:.65rem;padding:.5rem .8rem;font-weight:700;transition:all .25s}.member-toggle button.active{color:var(--accent-contrast);background:linear-gradient(130deg, var(--accent), var(--accent-2))}.member-toggle button:disabled{opacity:.45;cursor:not-allowed}.member-toggle--avatars{flex-wrap:wrap;max-width:100%}.member-toggle--avatars button{align-items:center;gap:.5rem;padding:.3rem .7rem .3rem .3rem;display:inline-flex}.member-avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.72rem;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff40}.member-toggle--avatars button.active .member-avatar{box-shadow:inset 0 0 0 1px #ffffff8c, 0 0 0 2px var(--accent-contrast)}.member-avatar--photo{object-fit:cover;background:var(--surface-soft);padding:0}.member-avatar--emoji{background:var(--surface-soft);font-size:1.05rem}.member-name{white-space:nowrap}.side-menu-profiles{border-bottom:1px solid var(--border-soft);gap:.45rem;margin-bottom:.85rem;padding-bottom:.85rem;display:grid}.side-menu-profiles__row{flex-wrap:wrap;gap:.5rem;display:flex}.side-menu-profiles__row button{appearance:none;cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:50%;width:auto;min-height:0;padding:2px;line-height:0;transition:opacity .14s,transform .12s,box-shadow .14s;display:inline-flex;position:relative}.side-menu-profiles__row button.active,.side-menu-profiles__row button:hover{background:0 0;border-color:#0000}.side-menu-profiles__row button:hover{opacity:1;transform:scale(1.07)}.side-menu-profiles__row button.active{opacity:1;box-shadow:0 0 0 2px var(--accent)}.side-menu-profiles__row .member-avatar{width:2.35rem;height:2.35rem;font-size:.85rem}.side-menu-profiles__row .member-avatar--emoji{font-size:1.35rem}.side-menu-profiles__star{background:var(--surface-soft);border:1px solid var(--border-soft);color:var(--accent);border-radius:50%;padding:2px;font-size:.6rem;line-height:1;position:absolute;bottom:-3px;right:-3px}.side-menu-profiles__name{color:var(--text-1);font-weight:700;font-size:var(--text-sm);margin:0}.cloud-sync-badge{font-size:var(--text-xs);color:var(--text-2);cursor:default;border-radius:.5rem;margin:0 0 .4rem;padding:.3rem .5rem;font-weight:700}.cloud-sync-badge--ok{color:var(--kpi-positive)}.cloud-sync-badge--error{color:var(--kpi-warn)}.cloud-sync-badge--syncing{animation:1.2s ease-in-out infinite cloud-pulse}@keyframes cloud-pulse{50%{opacity:.45}}.avatar-editor{flex-direction:column;gap:.5rem;margin-bottom:.35rem;display:flex}.avatar-editor__label{color:var(--text-2);font-weight:700;font-size:var(--text-sm)}.avatar-editor__label--sub{font-weight:600;font-size:var(--text-xs)}.avatar-editor__row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.avatar-editor__row .member-avatar{width:2.6rem;height:2.6rem;font-size:1rem}.avatar-editor__row .member-avatar--emoji{font-size:1.5rem}.avatar-upload-btn{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex;position:relative;overflow:hidden}.avatar-upload-btn input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.avatar-preset-grid{flex-wrap:wrap;gap:.4rem;display:flex}.avatar-preset{appearance:none;border:1.5px solid var(--border-soft);background:var(--surface-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:1.25rem;line-height:1;transition:transform .12s,border-color .12s;display:inline-flex}.avatar-preset:hover{border-color:rgba(var(--accent-rgb), .55);transform:scale(1.1)}.avatar-preset--active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .35)}.member-default-dot{opacity:.85;font-size:.72rem}.header-actions{justify-items:end;gap:.85rem;display:grid}.hero-priority-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.hero-secondary-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.hero-claude-card{border:1px solid var(--border);background:linear-gradient(135deg,#6366f12e,#f973161f);border-radius:.95rem;justify-content:space-between;align-items:center;gap:.9rem;width:min(32rem,100%);padding:.85rem .95rem;display:flex}.hero-claude-card strong,.tx-summary-card strong{display:block}.hero-claude-card small{color:var(--text-2);margin-top:.2rem;display:block}.hero-cta-button,.ghost-button{border:1px solid var(--ui-btn-border);background:var(--ui-btn-bg);color:var(--text-1);font-size:var(--text-sm);cursor:pointer;border-radius:.75rem;padding:.58rem .8rem;font-weight:700;line-height:1.3}.hero-cta-button{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);color:var(--accent-contrast);border:0}.month-nav--hero{background:var(--surface-soft);padding:.45rem .65rem}.month-nav--hero .month-picker-label span{letter-spacing:.01em;font-size:1.08rem;font-weight:800}.month-nav--hero button{border-radius:.65rem;justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;font-size:1.24rem;display:inline-flex}.logout-button{border:1px solid var(--border-soft);background:var(--surface-soft);color:var(--text-1);font-size:var(--text-sm);cursor:pointer;border-radius:.7rem;padding:.5rem .75rem;font-weight:700;line-height:1.3}.envelope-strip{background:linear-gradient(135deg,#0b7f880f,#055aa608);gap:1rem;padding:1.5rem;animation:.65s .15s both fade-up;display:grid}.envelope-actions{gap:1rem;display:grid}.widget-customizer{background:linear-gradient(135deg,#0b7f880f,#055aa608);gap:1.15rem;padding:1.6rem;animation:.7s both fade-up;display:grid}.widget-customizer .panel-title{margin-bottom:.5rem}.widget-customizer-toolbar{flex-wrap:wrap;gap:.65rem;display:flex}.widget-template-row{flex-wrap:wrap;gap:.55rem;display:flex}.widget-template-row button{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--surface-soft) 88%, transparent);color:var(--text-1);min-height:2.5rem;font-size:var(--text-xs);cursor:pointer;border-radius:999px;padding:.5rem .9rem;font-weight:700;line-height:1.3}.widget-template-row button.active{border-color:var(--accent);background:rgba(var(--accent-rgb), .16);color:var(--accent)}.widget-chip-grid{flex-wrap:wrap;gap:.6rem;display:flex}.widget-board{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.1rem;animation:.8s .2s both fade-up;display:grid}@keyframes widget-shake{0%{transform:rotate(-1.5deg)translateY(0)}25%{transform:rotate(1.5deg)translateY(-1px)}50%{transform:rotate(-1deg)translateY(0)}75%{transform:rotate(1deg)translateY(-1px)}to{transform:rotate(-1.5deg)translateY(0)}}.widget-board--editing .widget-preview-card{cursor:grab;transform-origin:50%;animation:.38s ease-in-out infinite widget-shake}.widget-board--editing .widget-preview-card:nth-child(2n){animation-delay:-.09s}.widget-board--editing .widget-preview-card:nth-child(3n){animation-delay:-.19s}.widget-board--editing .widget-preview-card:nth-child(4n){animation-delay:-.06s}.widget-board--editing .widget-preview-card:nth-child(5n){animation-delay:-.14s}.widget-board--editing .widget-preview-card.is-dragging{opacity:.5;animation:none;transform:scale(.98)}.widget-board--editing .widget-preview-card:hover{animation-play-state:paused}.widget-preview-card{border:1px solid var(--border);background:linear-gradient(135deg, rgba(var(--accent-rgb), .18), rgba(var(--accent-2-rgb), .08)), var(--surface-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);perspective:1100px;border-radius:1.1rem;grid-column:span 4;gap:.95rem;min-height:200px;padding:1.2rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:grid;position:relative;overflow:hidden}.widget-preview-card__flip{min-height:100%;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.34,1.56,.64,1);position:relative}.widget-preview-card__face{backface-visibility:hidden;gap:.95rem;display:grid}.widget-preview-card__face--back{opacity:0;pointer-events:none;place-items:center;position:absolute;inset:0;transform:rotateY(180deg)}.widget-preview-card--size-open .widget-preview-card__flip{transform:rotateY(180deg)}.widget-preview-card--size-open .widget-preview-card__face--front{opacity:.08;pointer-events:none}.widget-preview-card--size-open .widget-preview-card__face--back{opacity:1;pointer-events:auto}.widget-preview-card:before{content:"";background:var(--surface-soft);pointer-events:none;position:absolute;inset:0}.widget-board:not(.widget-board--editing) .widget-preview-card:not(.widget-preview-card--size-open):hover{border-color:rgba(var(--accent-rgb), .48);transform:translateY(-6px);box-shadow:0 16px 40px #0b7f8826}.widget-preview-card.is-dragging{opacity:.6;transform:scale(.96)}.widget-preview-card.is-drop-target{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .25), inset 0 0 20px rgba(var(--accent-rgb), .1);background:linear-gradient(135deg, rgba(var(--accent-rgb), .28), rgba(var(--accent-2-rgb), .12)), var(--surface-soft)}.widget-preview-card--large{grid-column:span 8}.widget-preview-card--calendar-full{grid-column:1/-1}.widget-preview-card--medium{grid-column:span 6}.widget-preview-card--empty{grid-column:1/-1;place-content:center;min-height:140px}.widget-preview-card__top{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.widget-preview-card__tools{align-items:center;gap:.4rem;display:inline-flex}.widget-preview-card__resize{border:1px solid color-mix(in srgb, var(--text-2) 45%, transparent);background:color-mix(in srgb, var(--surface-soft) 85%, transparent);width:2rem;height:2rem;color:var(--text-1);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.widget-preview-card__resize:hover{border-color:rgba(var(--accent-rgb), .45);background:rgba(var(--accent-rgb), .12)}.widget-size-flip-panel{border:1px solid color-mix(in srgb, var(--text-2) 35%, transparent);background:color-mix(in srgb, var(--surface) 92%, #050a19eb);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;border-radius:.9rem;gap:.65rem;width:min(16rem,92%);padding:.8rem;display:grid;box-shadow:0 10px 26px #00000042}.widget-size-flip-panel strong{color:var(--text-1);letter-spacing:.02em;font-size:.82rem}.widget-size-flip-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;display:grid}.widget-size-flip-options button{color:var(--text-1);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;min-height:2rem;font-size:.78rem;font-weight:700;line-height:1.2}.widget-size-flip-options button:hover{background:color-mix(in srgb, var(--surface-soft) 80%, transparent);border-color:color-mix(in srgb, var(--text-2) 30%, transparent)}.widget-size-flip-options button.active{background:color-mix(in srgb, rgba(var(--accent-rgb), .22) 85%, transparent);border-color:rgba(var(--accent-rgb), .45);color:var(--accent-soft)}.widget-preview-card__eyebrow{color:var(--accent-soft);text-transform:uppercase;font-size:var(--text-2xs);letter-spacing:.08em;margin-bottom:.4rem;font-weight:800;display:inline-block}.widget-preview-card__eyebrow-row{align-items:center;gap:.38rem;display:inline-flex}.widget-ai-badge{color:var(--text-1);border:1px solid rgba(var(--accent-rgb), .45);background:color-mix(in srgb, rgba(var(--accent-rgb), .22) 85%, transparent);border-radius:999px;align-items:center;gap:.24rem;padding:.16rem .38rem;font-size:.62rem;font-weight:800;display:inline-flex}.widget-ai-inline-icon{vertical-align:middle;color:var(--accent-soft);margin-left:.35rem;display:inline-flex}.widget-preview-card h3{font-size:var(--text-base);margin:0}.widget-preview-card__drag{width:2rem;height:2rem;color:var(--text-2);background:var(--surface-soft);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.widget-preview-card__remove{z-index:2;border:2.5px solid var(--bg-1);color:#fff;cursor:pointer;background:#c05c2a;border-radius:999px;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;font-size:.72rem;font-weight:900;line-height:1;transition:transform .18s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:-.65rem;left:-.65rem;transform:scale(0);box-shadow:0 2px 8px #00000052}.widget-board--editing .widget-preview-card__remove{transform:scale(1)}.widget-preview-card__summary{color:var(--text-2);margin:0;line-height:1.55}.widget-preview-card__summary--compact{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.widget-preview-card__accent{background:var(--surface-soft);color:var(--text-1);font-size:var(--text-xs);border-radius:999px;align-self:start;padding:.38rem .62rem;font-weight:700;display:inline-flex}.widget-preview-card__actions{flex-wrap:wrap;gap:.65rem;margin-top:auto;padding-top:.35rem;display:flex}@media (min-width:1024px){.widget-board:not(.widget-board--editing) .widget-preview-card--advice-rail{grid-column:9/span 4;align-self:start}}.widget-preview-card__actions .ghost-button{align-items:center;gap:.35rem;display:inline-flex}.widget-chip{border:1px solid var(--border-soft);background:var(--surface-soft);color:var(--text-1);min-height:2.75rem;font-size:var(--text-xs);cursor:pointer;border-radius:999px;align-items:center;padding:.5rem .92rem;line-height:1.3;transition:border-color .15s,background .15s;display:inline-flex}.widget-chip:hover{border-color:rgba(var(--accent-rgb), .4);background:rgba(var(--accent-rgb), .06)}.widget-chip--active{border-color:var(--accent);background:rgba(var(--accent-rgb), .16);color:var(--accent);font-weight:700}.widget-view-nav{gap:.65rem;padding:1rem;display:grid}.widget-view-nav__top{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.widget-view-nav__top strong{font-size:.9rem}.widget-view-nav__top span{color:var(--text-2);font-size:.8rem}.widget-view-nav__actions{flex-wrap:wrap;gap:.5rem;display:flex}.widget-view-nav__chips{flex-wrap:wrap;gap:.45rem;display:flex}.envelope-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.envelope-chip{border:1px solid var(--border);background:var(--surface-soft);border-radius:.85rem;gap:.2rem;padding:.65rem .75rem;display:grid}.envelope-chip .dot{border-radius:999px;width:.7rem;height:.7rem;display:inline-block}.envelope-chip small{color:var(--text-2)}.auth-shell{place-items:center;width:min(780px,100% - 1rem);min-height:100svh;margin:0 auto;display:grid;position:relative;overflow:hidden}.auth-shell-loading{animation:.28s both fade-up}.auth-floaters{pointer-events:none;z-index:0;position:fixed;inset:0}.auth-floater{-webkit-user-select:none;user-select:none;white-space:nowrap;will-change:transform;grid-template-areas:"cell";display:grid;position:fixed;top:0;left:0}.fb-emoji,.fb-word{color:rgba(var(--accent-rgb), .28);letter-spacing:.03em;grid-area:cell;font-size:1.8rem;font-weight:800;transition:opacity .7s}@media (max-width:980px){.auth-card .fb-emoji,.auth-card .fb-word{color:rgba(var(--accent-rgb), .24);font-size:1.55rem}}@media (max-width:760px){.auth-card .fb-emoji,.auth-card .fb-word{color:rgba(var(--accent-rgb), .22);font-size:1.35rem}}@media (max-width:560px){.auth-card .fb-emoji,.auth-card .fb-word{color:rgba(var(--accent-rgb), .2);font-size:1.15rem}}@media (max-width:380px){.auth-card .fb-emoji,.auth-card .fb-word{color:rgba(var(--accent-rgb), .18);font-size:.95rem}}.auth-card{z-index:1;gap:1rem;width:min(520px,100%);padding:1.4rem;animation:.5s both fade-up;display:grid;position:relative}.auth-card-loading{gap:.65rem}.auth-loading-spinner{border:2px solid rgba(var(--accent-rgb), .22);border-top-color:rgba(var(--accent-rgb), .95);border-radius:999px;width:1rem;height:1rem;animation:.8s linear infinite spin}.auth-loading-text{color:var(--text-2);font-size:var(--text-sm);margin:0}.auth-loading-skeleton{gap:.5rem;display:grid}.auth-loading-skeleton span{background:linear-gradient(90deg, rgba(var(--accent-rgb), .08) 25%, rgba(var(--accent-rgb), .24) 50%, rgba(var(--accent-rgb), .08) 75%);background-size:220% 100%;border-radius:999px;height:.62rem;animation:1.25s ease-in-out infinite shimmer;display:block}.auth-loading-skeleton span:first-child{width:88%}.auth-loading-skeleton span:nth-child(2){width:74%}.auth-loading-skeleton span:nth-child(3){width:66%}.auth-form{gap:.9rem;display:grid}.auth-form label{color:var(--text-2);font-size:var(--text-sm);gap:.35rem;display:grid}.auth-form input{border:1px solid var(--field-border);background:var(--field-bg);width:100%;min-height:2.75rem;color:var(--text-1);border-radius:.72rem;outline:none;padding:.72rem .8rem;font-size:1rem;line-height:1.3;box-shadow:inset 0 1px #ffffff14}.auth-form input::placeholder{color:color-mix(in srgb, var(--text-2) 78%, transparent)}.auth-form input:focus{border-color:rgba(var(--accent-rgb), .8);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .22)}.auth-form button[type=submit]{cursor:pointer;min-height:2.75rem;color:var(--accent-contrast);background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);border:0;border-radius:.75rem;padding:.68rem .86rem;font-size:1rem;font-weight:800;line-height:1.2}.auth-form button:disabled{opacity:.5;cursor:not-allowed}.auth-form .auth-link-button{color:var(--link-color);background:0 0;border:0;border-radius:0;align-items:center;min-height:2.75rem;padding:.45rem .12rem;font-size:.95rem;font-weight:700;line-height:1.35;display:inline-flex}.auth-form .auth-link-button:hover{text-decoration:underline}.auth-links{border-top:1px solid var(--border-soft);flex-direction:column;gap:.65rem;margin-top:.35rem;padding-top:.75rem;display:flex}.auth-rgpd{color:var(--text-2);background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:.6rem;margin:0;padding:.55rem .65rem;font-size:.86rem;line-height:1.6}.auth-rgpd-link{color:var(--link-color);text-decoration:underline}.auth-link-button{color:var(--link-color);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.auth-google-btn{border:1px solid var(--field-border);background:var(--surface-soft);width:100%;color:var(--text-1);cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.auth-config-banner{background:var(--pf-color-warning-bg);border:1px solid var(--pf-color-warning-border);color:var(--pf-color-warning-text);border-radius:var(--pf-radius-md);font-size:var(--text-sm);gap:.35rem;padding:.75rem 1rem;display:grid}.auth-config-banner strong{font-size:var(--text-base)}.auth-config-banner p{line-height:var(--pf-lh-loose);margin:0}.auth-rgpd-link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.auth-rgpd-link:hover{color:var(--accent-2)}.auth-config-banner code{font-family:var(--pf-font-mono);font-size:var(--text-xs);background:#ffffff73;border-radius:4px;padding:.1rem .35rem}.auth-google-btn:hover:not(:disabled){background:color-mix(in srgb, var(--surface-soft) 82%, var(--accent) 18%);border-color:rgba(var(--accent-rgb), .35)}.auth-google-btn:disabled{opacity:.5;cursor:not-allowed}.auth-brand{align-items:center;gap:.75rem;display:flex}.auth-brand-icon img{object-fit:cover;border-radius:.9rem;width:3rem;height:3rem;box-shadow:0 10px 24px #0000002e}.auth-divider{color:var(--text-2);align-items:center;gap:.75rem;font-size:.9rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-soft);flex:1;height:1px}.auth-recovery-card{background:#fb718514;border:1px solid #fb718547;border-radius:.85rem;gap:.55rem;padding:.75rem;display:grid}.auth-recovery-card h3{margin:0;font-size:.95rem}.auth-recovery-card p{color:var(--text-2);margin:0;font-size:.82rem}.auth-recovery-form{gap:.55rem;display:grid}.auth-recovery-check{margin-top:.15rem}.auth-inline-actions{flex-wrap:wrap;gap:.5rem;display:flex}.auth-error{color:var(--status-error);margin:0;font-size:.92rem;line-height:1.45}.auth-captcha{justify-content:center;min-height:65px;display:flex}.auth-captcha :is(iframe){max-width:100%}.auth-note{color:var(--text-2);margin:0;font-size:.88rem}.auth-success{color:var(--status-success);margin:0;font-size:.92rem;line-height:1.45}@media (prefers-reduced-motion:reduce){.auth-shell-loading,.auth-card,.auth-floater,.fb-emoji,.fb-word{transition:none!important;animation:none!important}}.remember-row{color:var(--text-2);align-items:center;gap:.5rem;font-size:.84rem;display:flex}.remember-row input{width:1rem;height:1rem}.kpi-grid,.panel-grid{gap:1rem;display:grid}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card{padding:1rem;animation:.76s both fade-up}.kpi-card p{color:var(--text-2);font-size:var(--text-sm);margin:0}.kpi-card h3{font-size:var(--text-xl);margin:.45rem 0 .4rem}.kpi-card span{color:var(--accent-soft);font-size:var(--text-xs);align-items:center;gap:.4rem;display:inline-flex}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-card,.transaction-panel,.form-panel{padding:1rem;animation:.88s both fade-up}.wide-card{grid-column:span 2}.panel-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.panel-title>div{flex:auto;min-width:0}.panel-title>.hero-cta-button,.panel-title>.ghost-button{flex:none}@media (max-width:480px){.panel-title>.hero-cta-button,.panel-title>.ghost-button{flex:100%;justify-content:center}}.panel-title h2{font-size:var(--text-base);margin:0;font-weight:700}.budget-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.55rem .8rem;display:grid}.panel-title>.budget-title-row{flex-basis:100%}.budget-title-row h2{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;margin:0;line-height:1.2;display:inline-flex}.budget-title-main{display:inline}.budget-export-toggle-inline{width:auto;min-width:116px;min-height:2.4rem;font-size:var(--text-sm);border-color:var(--ui-btn-border);background:var(--ui-btn-bg);color:var(--text-1);justify-self:end;padding:.58rem .85rem}.budget-export-controls-inline{max-width:360px}.budget-export-controls-inline:not(.open){margin-top:-.6rem;margin-bottom:-.6rem;padding-top:0}.info-dot{color:var(--text-1);vertical-align:middle;cursor:pointer;appearance:none;background:0 0;border:0;justify-content:center;align-items:center;margin-left:.3rem;padding:0;font-size:1rem;line-height:1;transition:transform .12s;display:inline-flex}.info-dot:hover{transform:scale(1.12)}.info-dot-wrap{align-items:center;display:inline-flex;position:relative}.info-mini-pop{z-index:25;border:1px solid rgba(var(--accent-rgb), .45);background:color-mix(in srgb, var(--field-bg) 94%, #fff 6%);min-width:210px;max-width:260px;color:var(--text-1);font-size:var(--text-2xs);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.55rem;padding:.48rem .55rem;line-height:1.35;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 14px 32px #02061738}.panel-title p{color:var(--text-2);font-size:var(--text-xs);margin:.25rem 0 .8rem}.chart-wrap{width:100%;height:270px}.budget-simple-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.72rem;margin-bottom:.85rem;display:grid}.budget-shell-layout{display:block}.budget-main-column{min-width:0}.dashboard-right-rail{align-self:start;position:sticky;top:1rem}.budget-advice-rail{grid-template-rows:auto auto 1fr auto;gap:.9rem;padding:1.1rem;display:grid;position:static;top:auto}.overview-coaching-rail{grid-template-rows:auto auto 1fr}.overview-coaching-list li{align-items:flex-start}.overview-coaching-list li span{line-height:1.4}.budget-advice-rail.collapsed{grid-template-rows:auto;gap:0;padding:.9rem 1rem}.budget-advice-helper{color:color-mix(in srgb, var(--text-2) 80%, var(--text-1) 20%);font-size:var(--text-sm);margin:0;line-height:1.45}.budget-advice-list{gap:.65rem;display:grid}.budget-advice-item{appearance:none;text-align:left;width:100%;min-height:3.2rem;color:var(--text-2);cursor:default;background:0 0;border:1px solid #0000;border-radius:.9rem;align-items:center;gap:.45rem;padding:.95rem 1rem;transition:all .2s;display:flex}.budget-advice-item strong{color:inherit;font-size:var(--text-base);font-weight:700}.budget-advice-item span{display:none}.budget-advice-item.muted{opacity:.95}.budget-advice-item.muted:hover{color:var(--text-1);border-color:rgba(var(--accent-rgb), .45);background:rgba(var(--accent-rgb), .14)}.budget-advice-item.active{color:var(--accent-contrast);border-color:rgba(var(--accent-2-rgb), .35);background:linear-gradient(130deg, var(--accent), var(--accent-2))}.budget-advice-item.active strong,.budget-advice-item.active span{color:var(--accent-contrast)}.budget-simple-card{background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-rgb), .2);border-radius:1rem;gap:.34rem;padding:.8rem .9rem;animation:.17s both budget-card-in;display:grid}@keyframes budget-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.budget-simple-card p{color:var(--text-2);font-size:var(--text-sm);margin:0;font-weight:700}.budget-simple-card strong{font-size:var(--text-xl);color:var(--text-1)}.budget-card-value-row{align-items:center;gap:.35rem;display:flex}.budget-change-badge{font-size:var(--text-xs);border-radius:999px;padding:.28rem .55rem;font-weight:700;display:inline-block}.budget-change-badge.positive{color:#22c55e;background:#22c55e2e}.budget-change-badge.negative{color:#f97316;background:#f973162e}.budget-change-badge.neutral{color:#64748b;background:#94a3b833}.budget-status-bar{background:var(--surface-soft);border-left:3px solid;border-radius:.8rem;align-items:center;gap:.55rem;margin:.95rem 0 1.1rem;padding:.85rem 1rem;display:flex}.budget-status-dot{border-radius:999px;flex-shrink:0;width:.72rem;height:.72rem;display:inline-block}.budget-status-text{font-size:var(--text-sm);color:var(--text-1)}.budget-quick-actions-row{border-top:1px solid var(--border-soft);flex-wrap:wrap;gap:.6rem;margin-top:0;margin-bottom:.2rem;padding-top:.55rem;display:flex}#budget .panel-title p{margin-bottom:0}.budget-mini-btn{appearance:none;border:1px solid rgba(var(--accent-rgb), .28);background:rgba(var(--accent-rgb), .1);color:var(--text-1);font-size:var(--text-sm);cursor:pointer;border-radius:.85rem;padding:.68rem .9rem;font-weight:600;transition:border-color .2s,background-color .2s,transform .2s}.budget-mini-btn.active,.budget-mini-btn:hover{border-color:rgba(var(--accent-rgb), .42);background:rgba(var(--accent-rgb), .16)}.budget-mini-btn-chip{background:rgba(var(--accent-rgb), .12);color:var(--accent-soft)}.budget-mini-btn-primary{background:rgba(var(--accent-rgb), .2);color:var(--text-1);border-color:rgba(var(--accent-rgb), .34);box-shadow:none}.budget-mini-btn-secondary{background:rgba(var(--accent-rgb), .06);border-color:rgba(var(--accent-rgb), .2)}.budget-mini-btn-primary:disabled{opacity:.6;cursor:not-allowed}.budget-ai-hint{border:1px solid rgba(var(--accent-rgb), .18);background:rgba(var(--accent-rgb), .08);color:color-mix(in srgb, var(--text-2) 65%, var(--text-1) 35%);font-size:var(--text-sm);border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-top:0;padding:.48rem .62rem;display:flex}.budget-ai-hint.warning{color:#b45309;background:#f59e0b1a;border-color:#b453094d}.budget-ai-hint-text{flex:1;min-width:220px;line-height:1.4}.budget-ai-hint-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:inline-flex}.budget-ai-hint-action{appearance:none;border:1px solid rgba(var(--accent-rgb), .28);background:rgba(var(--accent-rgb), .1);color:var(--text-1);font-size:var(--text-xs);cursor:pointer;border-radius:999px;padding:.35rem .68rem;font-weight:700;transition:background-color .2s,border-color .2s}.budget-ai-hint-action:hover{background:rgba(var(--accent-rgb), .16);border-color:rgba(var(--accent-rgb), .42)}.budget-ai-hint-action-ghost{color:var(--text-2);background:0 0;border-color:#94a3b873}.budget-ai-hint-action-ghost:hover{background:#94a3b81f;border-color:#94a3b894}.budget-delta-line{font-size:var(--text-xs);font-weight:700}.budget-delta-line.positive{color:#22c55e}.budget-delta-line.negative{color:#f97316}.budget-health-block{gap:.4rem;margin:.2rem 0 .95rem;display:grid}.budget-health-top{font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.budget-health-track{background:#94a3b840;border-radius:999px;width:100%;height:.55rem;overflow:hidden}.budget-health-fill{border-radius:inherit;height:100%}.budget-projection-note{color:var(--text-1);font-size:var(--text-sm);font-weight:600}.budget-profile-split{font-size:var(--text-xs);color:var(--text-2);margin:.3rem 0 .1rem}.budget-profile-split__label{color:var(--text-1);font-weight:700}.budget-status-summary{background:var(--surface-soft);border-left:3px solid;border-radius:.7rem;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.7rem .85rem;display:flex}.budget-status-summary__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.budget-status-summary__state{font-size:var(--text-sm);color:var(--text-1);align-items:center;gap:.4rem;display:inline-flex}.budget-status-summary__usage{color:var(--text-2)}.budget-status-summary__score{font-weight:800;font-size:var(--text-sm);white-space:nowrap}.budget-insights{margin-bottom:.9rem}.budget-insights h3{font-size:var(--text-base);margin:0 0 .35rem}.budget-insights ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.budget-insights li{background:rgba(var(--accent-rgb), .08);border-left:3px solid rgba(var(--accent-rgb), .35);font-size:var(--text-sm);border-radius:.7rem;padding:.68rem .8rem;line-height:1.45}.budget-switch{appearance:none;border:1px solid rgba(var(--accent-rgb), .28);background:rgba(var(--accent-rgb), .1);color:var(--text-1);min-height:2.55rem;font-size:var(--text-sm);cursor:pointer;border-radius:999px;justify-content:space-between;align-items:center;gap:.7rem;padding:.45rem .56rem .45rem .78rem;font-weight:700;transition:border-color .2s,background-color .2s;display:inline-flex}.budget-switch-label{color:var(--text-1)}.budget-switch-track{background:#94a3b873;border-radius:999px;align-items:center;width:2.22rem;height:1.28rem;padding:.13rem;display:inline-flex}.budget-switch-thumb{background:#fff;border-radius:999px;width:.98rem;height:.98rem;transition:transform .2s;transform:translate(0);box-shadow:0 1px 4px #0206173d}.budget-switch.on{background:#22c55e29;border-color:#22c55e73}.budget-switch.on .budget-switch-track{background:#22c55e9e}.budget-switch.on .budget-switch-thumb{transform:translate(.94rem)}.budget-series-legend{font-size:var(--text-2xs);color:var(--text-2);flex-wrap:wrap;gap:.75rem;margin:-.2rem 0 .5rem;display:flex}.budget-series-legend span{align-items:center;gap:.35rem;display:inline-flex}.budget-series-legend i{border-radius:999px;width:.55rem;height:.55rem;display:inline-block}.budget-simple-only-note{color:var(--text-1);font-size:var(--text-sm);background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-rgb), .25);border-radius:.85rem;margin:.35rem 0 0;padding:.95rem 1rem}.budget-quick-edit-modal{max-width:430px;padding:1.35rem}.budget-quick-edit-modal h3{font-size:var(--text-lg);margin-bottom:.3rem}.budget-quick-edit-help{color:var(--text-2);font-size:var(--text-sm);margin:0 0 .75rem;line-height:1.45}.budget-quick-edit-label{color:var(--text-2);font-size:var(--text-sm);gap:.4rem;margin-bottom:.4rem;font-weight:700;display:grid}.budget-quick-edit-label input{border:1px solid var(--field-border);background:var(--field-bg);color:var(--text-1);min-height:3.2rem;font-size:var(--text-lg);border-radius:.85rem;padding:.9rem .95rem;font-weight:700}.budget-quick-edit-note{color:var(--text-2);font-size:var(--text-xs);margin-bottom:.75rem;display:block}.budget-quick-edit-actions{grid-template-columns:1fr 1.4fr;gap:.6rem;display:grid}.budget-quick-edit-save{min-height:3.1rem;font-size:var(--text-base)}.budget-senior-mode .budget-actions-button,.budget-senior-mode .budget-export-toggle{min-height:2.7rem}.budget-senior-mode .budget-card-value-row{gap:.55rem}.budget-senior-mode .budget-simple-progress p,.budget-senior-mode .budget-health-top,.budget-senior-mode .budget-export-label{font-size:var(--text-base)}.budget-senior-mode .budget-status-text,.budget-senior-mode .budget-health-top strong,.budget-senior-mode .budget-insights h3,.budget-senior-mode .budget-advice-item strong,.budget-senior-mode .budget-status-summary__state,.budget-senior-mode .budget-status-summary__score{font-size:calc(var(--text-base) + .03rem)}.budget-senior-mode .budget-advice-helper,.budget-senior-mode .budget-advice-item span,.budget-senior-mode .budget-simple-card p{color:color-mix(in srgb, var(--text-2) 68%, var(--text-1) 32%)}.budget-senior-mode .budget-insights li,.budget-senior-mode .budget-simple-only-note,.budget-senior-mode .budget-projection-note{font-size:var(--text-base)}@media (max-width:640px){.budget-quick-edit-actions{grid-template-columns:1fr}}@media (max-width:1120px){.budget-shell-layout{grid-template-columns:1fr}.budget-advice-rail{position:static;top:auto}}.budget-actions-button{appearance:none;background:var(--ui-btn-primary-bg);color:#fff;cursor:pointer;font-size:var(--text-base);border:1px solid #0ea5e959;border-radius:.8rem;width:100%;margin-bottom:.75rem;padding:1rem 1.2rem;font-weight:700;transition:all .2s}.budget-actions-button:hover{background:linear-gradient(130deg, var(--accent-2), var(--accent));box-shadow:0 0 16px #06b6d440}.budget-export-controls{opacity:0;pointer-events:none;justify-items:start;gap:.55rem;width:100%;max-height:0;padding-top:.2rem;transition:max-height .38s,opacity .26s,transform .3s;display:grid;overflow:hidden;transform:translateY(-4px)}.budget-export-controls.open{opacity:1;pointer-events:auto;max-height:12rem;transform:translateY(0)}.budget-export-label{font-size:var(--text-sm);color:var(--text-2);font-weight:600}.budget-export-row{grid-template-columns:1fr;align-items:center;gap:.5rem;width:100%;display:grid}.budget-export-row select{border:1px solid var(--field-border);background:var(--field-bg);width:100%;color:var(--text-1);min-height:2.75rem;font-size:var(--text-sm);border-radius:.75rem;padding:.68rem .8rem}.budget-export-panel{border-top:1px solid var(--border-soft);gap:.5rem;margin-top:.1rem;padding-top:.6rem;display:grid}.budget-assistant-panel{gap:.65rem;display:grid}.budget-assistant-title-row{justify-content:space-between;align-items:center;gap:.55rem;display:flex}.budget-assistant-title-main{align-items:center;gap:.42rem;display:inline-flex}.budget-assistant-title-row .eyebrow{margin:0}.budget-assistant-ai-tag{border:1px solid rgba(var(--accent-rgb), .35);background:rgba(var(--accent-rgb), .14);color:var(--accent-soft);font-size:var(--text-2xs);border-radius:999px;align-items:center;gap:.24rem;padding:.2rem .48rem;font-weight:700;display:inline-flex}.budget-assistant-hide{appearance:none;border:1px solid rgba(var(--accent-rgb), .26);background:rgba(var(--accent-rgb), .08);color:var(--text-1);font-size:var(--text-xs);cursor:pointer;border-radius:999px;padding:.32rem .62rem;font-weight:700;transition:background-color .2s,border-color .2s}.budget-assistant-hide:hover{background:rgba(var(--accent-rgb), .16);border-color:rgba(var(--accent-rgb), .42)}.budget-assistant-header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.budget-assistant-header strong{color:var(--text-1);font-size:var(--text-sm)}.budget-assistant-answer-wrap{border:1px solid rgba(var(--accent-rgb), .2);background:rgba(var(--accent-rgb), .07);border-radius:.85rem;padding:.72rem .82rem}.budget-assistant-answer-wrap--local{background:linear-gradient(145deg, rgba(var(--accent-rgb), .12), rgba(var(--accent-2-rgb), .08));border-color:rgba(var(--accent-rgb), .28)}.budget-assistant-answer-wrap--ia{background:linear-gradient(145deg, rgba(var(--accent-rgb), .1), #22c55e14)}.budget-assistant-answer,.budget-assistant-error{font-size:var(--text-sm);white-space:pre-wrap;margin:0;line-height:1.42}.budget-assistant-answer{color:var(--text-1);font-weight:600}.budget-assistant-skeleton{gap:.42rem;display:grid}.budget-assistant-skeleton span{background:linear-gradient(90deg, rgba(var(--accent-rgb), .1) 25%, rgba(var(--accent-rgb), .28) 50%, rgba(var(--accent-rgb), .1) 75%);background-size:220% 100%;border-radius:999px;height:.58rem;animation:1.15s ease-in-out infinite shimmer;display:block}.budget-assistant-skeleton span:first-child{width:92%}.budget-assistant-skeleton span:nth-child(2){width:82%}.budget-assistant-skeleton span:nth-child(3){width:67%}.budget-assistant-error{color:#b91c1c}.budget-assistant-panel .budget-advice-item{align-items:start;min-height:auto;display:grid}.budget-assistant-panel .budget-advice-item strong{font-size:var(--text-sm)}.budget-assistant-panel .budget-advice-item span{font-size:var(--text-xs);line-height:1.38;display:block}.budget-export-toggle{appearance:none;width:100%;color:var(--text-2);min-height:3.2rem;font-size:var(--text-base);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.9rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.9rem 1rem;font-weight:700;transition:all .2s;display:inline-flex}.budget-export-toggle:hover{color:var(--text-1);border-color:rgba(var(--accent-rgb), .45);background:rgba(var(--accent-rgb), .14)}.budget-export-toggle.open{color:var(--accent-contrast);border-color:rgba(var(--accent-2-rgb), .35);background:linear-gradient(130deg, var(--accent), var(--accent-2))}.budget-export-toggle svg{transition:transform .28s,opacity .2s}.budget-export-toggle.open svg{transform:translateY(-1px)}.budget-export-link{appearance:none;color:var(--text-2);min-height:1.8rem;font-size:calc(var(--text-sm) + .02rem);cursor:pointer;text-underline-offset:.16rem;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:.45rem;padding:.1rem 0;font-weight:600;text-decoration:underline;transition:color .2s,opacity .2s;display:inline-flex}.budget-export-link:hover{color:var(--accent-soft)}.budget-export-controls .budget-export-label{margin-top:.15rem}.budget-senior-mode .budget-export-toggle,.budget-senior-mode .budget-export-link,.budget-senior-mode .budget-export-row select{font-size:var(--text-base)}@media (max-width:980px){.budget-simple-grid,.budget-title-row{grid-template-columns:1fr}.budget-export-toggle-inline{justify-self:start}}@media (max-width:560px){.budget-export-toggle{width:100%}}.operations-category-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.operations-category-item{background:rgba(var(--accent-rgb), .08);border-left:2px solid rgba(var(--accent-rgb), .3);border-radius:.6rem;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.65rem .75rem;display:grid}.operations-category-name{font-size:var(--text-sm);color:var(--text-1);font-weight:500}.operations-category-amount{font-size:var(--text-sm);color:var(--accent);font-weight:700}.operations-category-total{border-top:1px solid var(--border-soft);font-size:var(--text-base);grid-template-columns:1fr auto;gap:1rem;margin-top:.8rem;padding-top:.8rem;display:grid}.budget-actions-modal-overlay{z-index:999;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.budget-actions-modal,.quick-add-modal,.recurring-modal,.profile-modal:not(.profile-modal--inline),.settings-modal-card,.onboarding-modal,.tx-history-modal,.accounts-modal,.goals-modal,.privacy-modal,.legal-modal{background:var(--bg-2)!important}.budget-actions-modal{background:var(--surface);border:1px solid var(--border);border-radius:1rem;width:calc(100% - 2rem);max-width:420px;max-height:80vh;padding:1.2rem;position:relative;overflow:auto}.budget-actions-modal h3{font-size:var(--text-base);color:var(--text-1);margin:0 0 .8rem}.budget-actions-modal-close{appearance:none;color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.2rem;transition:color .2s;position:absolute;top:.8rem;right:.8rem}.budget-actions-modal-close:hover{color:var(--text-1)}.budget-actions-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.budget-actions-list li{background:rgba(var(--accent-rgb), .08);border-left:3px solid rgba(var(--accent-rgb), .35);font-size:var(--text-sm);border-radius:.5rem;padding:.8rem;line-height:1.4}.budget-simple-progress{gap:.32rem;margin-bottom:.9rem;display:grid}.budget-simple-progress p{font-size:var(--text-sm);margin:0;font-weight:700}.budget-simple-progress__track{background:var(--ui-btn-bg-hover);border-radius:999px;width:100%;height:.62rem;overflow:hidden}.budget-simple-progress__fill{border-radius:inherit;height:100%;transition:width .2s}.budget-simple-progress small{color:var(--text-2);font-size:var(--text-xs)}.budget-trend-title{margin-top:.15rem}.budget-chart-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:.75rem;display:grid}.budget-chart-toolbar label{color:color-mix(in srgb, var(--text-1) 72%, var(--accent-soft) 28%);font-size:var(--text-2xs);gap:.28rem;font-weight:700;display:grid}.toolbar-label-row{align-items:center;gap:.28rem;display:flex;position:relative}.toolbar-info-btn{appearance:none;background:rgba(var(--accent-rgb), .2);border:1px solid rgba(var(--accent-rgb), .42);color:var(--accent-contrast);cursor:help;border-radius:999px;justify-content:center;align-items:center;width:1rem;height:1rem;margin:0;padding:0;font-size:.68rem;line-height:1;transition:all .2s;display:inline-flex}.toolbar-info-btn:hover{background:rgba(var(--accent-rgb), .32);border-color:rgba(var(--accent-rgb), .62);transform:translateY(-1px)}.toolbar-info-pop{z-index:20;border:1px solid rgba(var(--accent-rgb), .35);background:color-mix(in srgb, var(--surface) 92%, #07111f 8%);min-width:220px;max-width:270px;color:var(--text-1);font-size:var(--text-2xs);box-shadow:var(--shadow);border-radius:.45rem;padding:.45rem .52rem;line-height:1.35;position:absolute;top:calc(100% + .35rem);left:0}.toolbar-info-text{background:rgba(var(--accent-rgb), .08);border-left:2px solid rgba(var(--accent-rgb), .35);color:var(--text-2);font-size:var(--text-2xs);border-radius:.4rem;margin-top:.2rem;padding:.42rem;line-height:1.35;display:block}.toolbar-toggle-btn{appearance:none;background:var(--field-bg);border:1px solid var(--field-border);color:var(--text-1);cursor:pointer;font-size:var(--text-xs);border-radius:.68rem;width:100%;padding:.5rem .58rem;transition:all .2s}.toolbar-toggle-btn:hover{border-color:rgba(var(--accent-rgb), .35);color:var(--text-1)}.toolbar-toggle-btn.active{background:linear-gradient(130deg, rgba(var(--accent-rgb), .28), rgba(var(--accent-2-rgb), .28));border-color:rgba(var(--accent-rgb), .45);color:var(--accent-contrast);font-weight:700}.budget-chart-toolbar select{border:1px solid var(--field-border);background:var(--field-bg);width:100%;color:var(--text-1);font-size:var(--text-xs);border-radius:.68rem;padding:.5rem .58rem;box-shadow:inset 0 0 0 1px #ffffff0a}.alert-list,.goal-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.csv-upload-box{grid-template-columns:1.2fr 1fr 1fr;align-items:end;gap:.75rem;display:grid}.csv-mapping-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-top:.75rem;display:grid}.csv-mapping-grid label{color:var(--text-2);gap:.3rem;font-size:.82rem;display:grid}.csv-mapping-grid select{border:1px solid var(--border);width:100%;color:var(--text-1);background:#080c18bd;border-radius:.7rem;padding:.58rem .62rem}.csv-input-label{border:1px dashed var(--border-soft);cursor:pointer;background:var(--surface-soft);border-radius:.9rem;align-items:center;gap:.5rem;min-height:3.3rem;padding:.8rem;display:flex}.csv-input-label input{display:none}.csv-preview-header{justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;display:flex}.csv-preview-header h3{align-items:center;gap:.4rem;margin:0;font-size:.95rem;display:flex}.csv-preview-header button{cursor:pointer;color:var(--accent-contrast);background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);border:0;border-radius:.75rem;padding:.6rem .8rem;font-weight:800}.csv-preview-list{gap:.5rem;margin-top:.6rem;display:grid}.csv-preview-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;display:flex}.csv-preview-row.is-duplicate{background:#f43f5e14;border-color:#f43f5e59}.csv-preview-row strong{display:block}.csv-preview-row small{color:var(--text-2);display:block}.csv-preview-amount{justify-items:end;gap:.15rem;display:grid}.alert-list li{background:#fbbf2417;border:1px solid #fbbf2459;border-radius:.75rem;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.coaching-list li{background:#22c55e14;border-color:#22c55e47}.pro-mini-stats{gap:.5rem;margin-top:.75rem;display:grid}.pro-mini-stats div{color:var(--text-2);align-items:center;gap:.45rem;font-size:.84rem;display:flex}.goal-list li{border:1px solid var(--border);background:var(--surface-soft);border-radius:.75rem;gap:.35rem;padding:.52rem .62rem;display:grid}.goal-list strong{font-size:.88rem}.goal-list small{color:var(--text-2)}.goal-progress-track{background:var(--ui-btn-bg-hover);border-radius:999px;width:100%;height:.42rem;overflow:hidden}.goal-progress-track span{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);border-radius:999px;height:100%;display:block}.goal-editor{grid-template-columns:1fr 1fr auto;gap:.45rem;margin-top:.7rem;display:grid}.goal-editor input,.goal-editor select{border:1px solid var(--border);background:var(--field-bg);width:100%;color:var(--text-1);border-radius:.7rem;padding:.52rem .58rem}.goal-editor button{color:var(--accent-contrast);background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);cursor:pointer;border:0;border-radius:.72rem;padding:.55rem .76rem;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.calendar-cell{border:1px solid var(--border);border-radius:.65rem;align-content:space-between;gap:.2rem;min-height:3.1rem;padding:.38rem;display:grid}.calendar-cell strong{font-size:.76rem}.calendar-cell small{color:var(--text-2);font-size:var(--text-2xs)}.transaction-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.transaction-list li{border:1px solid var(--border);background:var(--surface-soft);border-radius:.8rem;justify-content:space-between;align-items:center;padding:.7rem .8rem;display:flex}.transaction-list p{font-weight:600;font-size:var(--text-sm);margin:0}.transaction-list small{color:var(--text-2);font-size:var(--text-xs)}.expense{color:#fb7185}.income{color:#4ade80}.tx-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.tx-btn{border:1px solid var(--border);cursor:pointer;opacity:0;background:0 0;border-radius:.4rem;justify-content:center;align-items:center;min-width:2rem;min-height:2rem;padding:.38rem .45rem;transition:opacity .15s,background .15s;display:flex}.transaction-list li:hover .tx-btn{opacity:1}.tx-edit{color:#93c5fd}.tx-edit:hover{background:#93c5fd26;border-color:#93c5fd}.tx-delete{color:#fb7185}.tx-delete:hover{background:#fb718526;border-color:#fb7185}.transaction-list li.tx-editing{background:#93c5fd0f;border-color:#93c5fd66}.form-actions{gap:.6rem;display:flex}.form-actions button[type=submit]{flex:1}.btn-cancel{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:.7rem;align-items:center;gap:.3rem;padding:.55rem 1rem;font-size:.85rem;transition:background .15s;display:flex}.btn-cancel:hover{background:var(--ui-btn-bg-hover)}.form-panel form{gap:.6rem;display:grid}.form-panel label{color:var(--text-2);font-size:var(--text-sm);gap:.3rem;display:grid}.smart-hint{color:var(--accent-soft);font-size:.74rem}.form-panel input,.form-panel select{border:1px solid var(--border);background:var(--field-bg);width:100%;color:var(--text-1);border-radius:.7rem;outline:none;padding:.58rem .62rem}.form-panel input:focus,.form-panel select:focus{border-color:rgba(var(--accent-rgb), .8);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .22)}.form-panel button{cursor:pointer;color:var(--accent-contrast);background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);border:0;border-radius:.75rem;justify-content:center;align-items:center;gap:.35rem;margin-top:.3rem;padding:.68rem .86rem;font-weight:800;display:inline-flex}.danger-zone{border-top:1px dashed var(--border-soft);gap:.6rem;margin-top:.8rem;padding-top:.8rem;display:grid}.backup-zone{border-top:1px dashed var(--border-soft);gap:.55rem;margin-top:.8rem;padding-top:.8rem;display:grid}.backup-zone h3{margin:0;font-size:.95rem}.settings-inline-actions{flex-wrap:wrap;gap:.5rem;display:flex}.hidden-input{display:none}.danger-zone h3{color:#fecaca;margin:0;font-size:.95rem}.danger-button{background:var(--ui-btn-danger-bg)!important;color:#fff!important}.pin-log-zone{gap:.5rem;display:grid}.pin-log-zone:not(.settings-section-card){border-top:1px dashed var(--border-soft);margin-top:.8rem;padding-top:.8rem}.pin-log-zone h3{margin:0;font-size:.95rem}.pin-log-zone ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.pin-log-zone li{border:1px solid var(--border);background:var(--surface-soft);border-radius:.7rem;gap:.15rem;padding:.55rem .65rem;display:grid}.pin-log-zone span{font-size:.84rem}.pin-log-zone small{color:var(--text-2)}.modal-backdrop{z-index:50;background:#0206179e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{gap:.85rem;width:min(500px,100%);padding:1rem;display:grid}.settings-modal-backdrop{z-index:260;place-items:center}.settings-modal-card{gap:1rem;width:min(1240px,100% - 1rem);max-height:min(94svh,1040px);padding:1.25rem;display:grid;overflow:hidden}.settings-modal-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.settings-close-button{border:1px solid var(--border);background:var(--surface-soft);width:2.4rem;height:2.4rem;color:var(--text-1);cursor:pointer;border-radius:.8rem;justify-content:center;align-items:center;display:inline-flex}.settings-modal-body{grid-template-columns:240px minmax(0,1fr);gap:1rem;min-height:0;display:grid}.settings-nav{align-content:start;gap:.9rem;display:grid}.settings-nav-group{gap:.35rem;display:grid}.settings-nav-group__label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-2);padding:0 .2rem;font-weight:800}.settings-nav button{text-align:left;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.8rem;align-items:center;gap:.55rem;padding:.6rem .7rem;font-weight:700;transition:background .14s,border-color .14s;display:flex}.settings-nav button:hover{background:var(--surface-soft);border-color:var(--border)}.settings-nav-icon{flex-shrink:0;font-size:1rem;line-height:1}.settings-nav button.active{background:linear-gradient(130deg, rgba(var(--accent-rgb), .22), rgba(var(--accent-2-rgb), .14));border-color:rgba(var(--accent-rgb), .35);color:var(--text-1)}.settings-nav button.settings-nav-danger{color:var(--danger)}.settings-nav button.settings-nav-danger.active{color:var(--danger);background:#c05c2a24;border-color:#c05c2a66}.settings-content{align-content:start;gap:.8rem;min-height:0;padding-right:.2rem;display:grid;overflow:auto}.settings-section-grid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:1.1rem;display:grid}.settings-section-card{padding:1.35rem 1.5rem}.settings-section-card form{gap:.85rem;display:grid}.settings-inline-actions{gap:.75rem}.settings-section-card .panel-title{flex-direction:column;align-items:flex-start;gap:.1rem}.settings-section-card .panel-title p{margin:0 0 .35rem}.ai-status{border:1px solid var(--border);background:var(--surface-soft);border-radius:.8rem;align-items:flex-start;gap:.6rem;padding:.7rem .85rem;display:flex}.ai-status__dot{border-radius:50%;flex-shrink:0;width:.65rem;height:.65rem;margin-top:.3rem}.ai-status--ready .ai-status__dot{background:#3a7d44;box-shadow:0 0 0 3px #3a7d4440}.ai-status--off .ai-status__dot{background:var(--text-2)}.ai-status--soon .ai-status__dot{background:#b8963e;box-shadow:0 0 0 3px #b8963e40}.ai-status strong{color:var(--text-1);display:block}.ai-status small{color:var(--text-2);line-height:1.4}.ai-provider-label{color:var(--text-2);font-weight:700;font-size:var(--text-sm)}.ai-provider-grid{flex-wrap:wrap;gap:.45rem;display:flex}.ai-provider-chip{appearance:none;border:1.5px solid var(--border-soft);background:var(--surface-soft);color:var(--text-1);font-weight:700;font-size:var(--text-sm);cursor:pointer;border-radius:.7rem;align-items:center;gap:.45rem;padding:.45rem .7rem;transition:border-color .14s,transform .12s;display:inline-flex}.ai-provider-chip:hover{border-color:rgba(var(--accent-rgb), .55);transform:translateY(-1px)}.ai-provider-chip--active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .3)}.ai-provider-chip--soon{opacity:.65}.ai-provider-chip small{font-size:var(--text-2xs);color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.ai-provider-chip__logo{object-fit:contain;border-radius:.25rem;width:1.1rem;height:1.1rem}.ai-key-links{font-size:var(--text-xs);color:var(--text-2);margin:0}.ai-key-links a{color:var(--link-color);font-weight:700}.theme-picker{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.palette-picker{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;display:grid}.palette-option{appearance:none;border:1.5px solid var(--border-soft);background:var(--surface-soft);color:var(--text-1);font-weight:700;font-size:var(--text-sm);cursor:pointer;border-radius:.75rem;align-items:center;gap:.55rem;padding:.6rem .75rem;transition:border-color .15s,transform .12s;display:flex}.palette-option:hover{border-color:rgba(var(--accent-rgb), .55);transform:translateY(-1px)}.palette-option--active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .3)}.palette-dots{flex-shrink:0;display:inline-flex}.palette-dots span{border:1.5px solid var(--surface-soft);border-radius:50%;width:1.05rem;height:1.05rem}.palette-dots span+span{margin-left:-.35rem}.theme-option{border:2px solid var(--border);background:var(--surface);color:var(--text-1);cursor:pointer;border-radius:.85rem;flex-direction:column;align-items:center;gap:.4rem;padding:.9rem .5rem;font-size:.88rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.theme-picker .theme-option{border:2px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, #fff 12%);color:var(--text-1);margin-top:0;box-shadow:inset 0 0 0 1px #ffffff0d}.theme-option:hover{border-color:#f9731680}.theme-picker .theme-option--active{background:linear-gradient(145deg,#f59e0b47,#0e749033);border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b80,0 10px 22px #02061740}.theme-option-state{color:#f59e0b;font-size:.72rem;font-weight:800;line-height:1}.theme-option-icon{font-size:1.5rem}.claude-onboarding-card{grid-column:span 2}.claude-status-banner{background:var(--surface-soft);border:1px solid var(--border);border-radius:.85rem;padding:.85rem .95rem}.claude-status-banner small{color:var(--text-2);margin-top:.25rem;display:block}.claude-status-text{margin:0;font-size:.84rem}.claude-status-text--success{color:#86efac}.claude-status-text--error{color:#fda4af}.claude-status-text--testing{color:#fde68a}.backup-zone--standalone,.danger-zone--standalone{border-top:0;margin-top:0;padding-top:0}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}@media (max-width:980px){.hero-header,.panel-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.widget-board{grid-template-columns:repeat(6,minmax(0,1fr))}.widget-preview-card{grid-column:span 3}.widget-preview-card--large,.widget-preview-card--empty{grid-column:1/-1}.dashboard-shell{grid-template-columns:1fr;width:min(980px,100% - 1rem);padding-top:.8rem}.side-menu{grid-template-rows:auto auto auto;padding:1rem;position:static;top:auto}.side-menu-footer{border-top:none;margin-top:0;padding-top:0}.side-menu-settings-btn{flex-shrink:0;width:auto}.side-menu nav{flex-wrap:wrap;gap:.55rem;display:flex}.side-menu nav button,.side-menu nav a{flex-shrink:0;width:auto}.wide-card{grid-column:auto}.hero-header{padding:1rem}.header-actions{justify-items:stretch}.hero-priority-bar,.hero-secondary-actions,.hero-claude-card{justify-content:space-between;width:100%}.settings-modal-card{width:min(1240px,100% - .8rem);max-height:95svh;padding:1rem}.settings-modal-body,.settings-section-grid,.tx-summary-bar{grid-template-columns:1fr}.settings-nav{grid-auto-columns:minmax(140px,1fr);grid-auto-flow:column;padding-bottom:.2rem;overflow:auto}.goal-editor{grid-template-columns:1fr 1fr}.goal-editor button{grid-column:span 2}.envelope-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.csv-upload-box,.csv-preview-header{grid-template-columns:1fr;display:grid}.csv-mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-cell{min-height:2.4rem;padding:.25rem}}@media (max-width:760px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.widget-board{grid-template-columns:1fr}.widget-preview-card,.widget-preview-card--large{grid-column:1/-1}.hero-header,.budget-simple-grid{grid-template-columns:1fr}.budget-chart-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{justify-items:stretch;width:100%}.hero-secondary-actions{flex-wrap:wrap;width:100%}.transaction-list li{flex-wrap:wrap;gap:.4rem}.tx-btn{opacity:1}.csv-preview-row{flex-wrap:wrap;gap:.35rem}.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-cell{min-height:2.2rem}.csv-mapping-grid,.budget-chart-toolbar{grid-template-columns:1fr}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes spin{to{transform:rotate(360deg)}}.month-nav{background:var(--surface-soft);border:1px solid var(--border);border-radius:.7rem;align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:.82rem;font-weight:600;display:flex}.month-nav button{color:var(--text-1);cursor:pointer;background:0 0;border:none;border-radius:.6rem;justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;padding:0;font-size:1.1rem;line-height:1;transition:color .15s;display:inline-flex}.month-nav button:hover:not(:disabled){color:#93c5fd}.month-nav button:disabled{opacity:.3;cursor:default}.month-nav span{text-align:center;text-transform:capitalize;min-width:7rem}.tx-toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem;display:flex}.tx-summary-bar{grid-template-columns:repeat(2,minmax(0,160px)) minmax(0,1fr);gap:.7rem;margin-bottom:.8rem;display:grid}.tx-summary-card,.tx-summary-context{border:1px solid var(--border);background:var(--surface-soft);border-radius:.85rem;padding:.7rem .8rem}.tx-summary-card span,.tx-summary-context span,.tx-summary-context small{color:var(--text-2);font-size:.79rem;display:block}.tx-summary-context{gap:.22rem;display:grid}.tx-search{background:var(--surface-soft);border:1px solid var(--border);min-width:10rem;color:var(--text-1);font-size:var(--text-xs);border-radius:.6rem;flex:1;padding:.52rem .7rem}.tx-search::placeholder{color:var(--text-2)}.tx-toolbar select{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-1);font-size:var(--text-xs);cursor:pointer;border-radius:.6rem;padding:.52rem .6rem}.tx-show-more{background:var(--surface-soft);border:1px dashed var(--border);width:100%;color:var(--text-2);cursor:pointer;border-radius:.7rem;margin-top:.6rem;padding:.5rem;font-size:.82rem;transition:background .15s,color .15s}.tx-show-more:hover{background:var(--surface-soft);color:var(--text-1)}.tx-confirm-row{color:#fb7185;flex-shrink:0;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.tx-confirm-yes,.tx-confirm-no{cursor:pointer;background:0 0;border-radius:.4rem;padding:.2rem .55rem;font-size:.8rem;transition:background .15s}.tx-confirm-yes{color:#fb7185;border:1px solid #fb7185}.tx-confirm-yes:hover{background:#fb71852e}.tx-confirm-no{border:1px solid var(--border-soft);color:var(--text-2)}.tx-confirm-no:hover{background:var(--surface-soft)}.transaction-list li.tx-confirming{background:#fb71850d;border-color:#fb718566}.impact-hint{border-radius:.5rem;margin:0;padding:.35rem .6rem;font-size:.8rem}.impact-positive{color:#4ade80;background:#4ade8014;border:1px solid #4ade8033}.impact-negative{color:#fb7185;background:#fb718514;border:1px solid #fb718540}.pin-hint code{background:var(--ui-btn-bg-hover);letter-spacing:.1em;color:#fde68a;border-radius:.3rem;padding:.1rem .4rem;font-family:monospace}.chat-fab{z-index:200;color:#fff;cursor:pointer;background:linear-gradient(135deg,#6b5b8a,#8a76b0);border:none;border-radius:50%;justify-content:center;align-items:center;width:3.2rem;height:3.2rem;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 20px #6366f173}.chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px #6366f199}.chat-fab--open{background:linear-gradient(135deg,#c05c2a,#8b2020);box-shadow:0 4px 20px #f43f5e73}.chat-fab-badge{color:#fff;font-size:var(--text-2xs);background:#c05c2a;border-radius:.6rem;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-weight:700;display:flex;position:absolute;top:-.25rem;right:-.25rem}.chat-panel{z-index:199;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);background:#0c0f1af2;border-radius:1.2rem;flex-direction:column;width:22rem;max-height:70vh;animation:.2s fade-up;display:flex;position:fixed;bottom:5.5rem;right:1.5rem;overflow:hidden;box-shadow:0 20px 60px #00000080}.chat-header{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#6366f133,#8b5cf626);flex-shrink:0;align-items:center;gap:.5rem;padding:.85rem 1rem;font-size:.88rem;font-weight:600;display:flex}.chat-header small{color:var(--text-2);margin-left:auto;font-size:.75rem;font-weight:400}.chat-clear-btn{color:#fecdd3;cursor:pointer;background:#fb718521;border:1px solid #fb718559;border-radius:.45rem;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;margin-left:.4rem;transition:background .15s,opacity .15s;display:flex}.chat-clear-btn:hover:not(:disabled){background:#fb718542}.chat-clear-btn:disabled{opacity:.45;cursor:default}.chat-topic-bar{background:var(--surface-soft);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:.65rem;padding:.75rem 1rem;display:grid}.chat-topic-select,.chat-topic-create{align-items:center;gap:.45rem;display:flex}.chat-topic-select span{color:var(--text-2);flex-shrink:0;font-size:.72rem}.chat-topic-select select,.chat-topic-create input{background:var(--surface-soft);border:1px solid var(--border);width:100%;min-width:0;color:var(--text-1);border-radius:.7rem;padding:.45rem .65rem;font-size:.78rem}.chat-topic-create button{border:1px solid rgba(var(--accent-rgb), .32);background:rgba(var(--accent-rgb), .14);width:2rem;height:2rem;color:var(--accent-soft);cursor:pointer;border-radius:.7rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-topic-create button:disabled{opacity:.45;cursor:default}.chat-topic-meta{background:var(--surface-soft);border-bottom:1px solid var(--border);color:var(--text-2);justify-content:space-between;gap:.75rem;padding:0 1rem .65rem;font-size:.72rem;display:flex}.chat-topic-manage{background:var(--surface-soft);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem;padding:.75rem 1rem;display:grid}.chat-topic-manage input{background:var(--surface-soft);border:1px solid var(--border);min-width:0;color:var(--text-1);border-radius:.7rem;padding:.45rem .65rem;font-size:.78rem}.chat-topic-rename-btn,.chat-topic-delete-btn{cursor:pointer;border-radius:.7rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.chat-topic-rename-btn{color:#bfdbfe;background:#60a5fa24;border:1px solid #60a5fa4d}.chat-topic-delete-btn{color:#fecdd3;background:#fb718524;border:1px solid #fb71854d}.chat-topic-rename-btn:disabled,.chat-topic-delete-btn:disabled{opacity:.45;cursor:default}.chat-clear-confirm{color:#fde68a;background:#fbbf2414;border-bottom:1px solid #fbbf242e;justify-content:space-between;align-items:center;gap:.7rem;padding:.7rem 1rem;font-size:.78rem;display:flex}.chat-clear-confirm-actions{flex-shrink:0;gap:.45rem;display:flex}.chat-clear-confirm-yes,.chat-clear-confirm-no{cursor:pointer;border-radius:999px;padding:.28rem .65rem;font-size:.75rem}.chat-clear-confirm-yes{color:#fecdd3;background:#fb71852e;border:1px solid #fb718552}.chat-clear-confirm-no{border:1px solid var(--border);background:var(--surface-soft);color:var(--text-1)}.chat-undo-toast{color:#bbf7d0;background:#4ade8014;border-bottom:1px solid #4ade802e;justify-content:space-between;align-items:center;gap:.7rem;padding:.65rem 1rem;font-size:.78rem;display:flex}.chat-undo-toast button{color:#dcfce7;cursor:pointer;background:#4ade8029;border:1px solid #4ade8052;border-radius:999px;padding:.28rem .75rem}.chat-messages{flex-direction:column;flex:1;gap:.6rem;padding:.8rem;display:flex;overflow-y:auto}.chat-empty{color:var(--text-2);text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:1rem .5rem;font-size:.84rem;display:flex}.chat-empty-meta{color:#cbd5e1;font-size:.75rem}.chat-suggestions{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.3rem;display:flex}.chat-suggestions button{color:#a5b4fc;cursor:pointer;background:#6366f126;border:1px solid #6366f14d;border-radius:1rem;padding:.3rem .7rem;font-size:.78rem;transition:background .15s}.chat-suggestions button:hover{background:#6366f14d}.chat-bubble{max-width:88%;font-size:var(--text-sm);border-radius:1rem;padding:.55rem .8rem;line-height:1.5}.chat-bubble p{white-space:pre-wrap;margin:0}.chat-bubble--user{background:linear-gradient(135deg,#6366f159,#8b5cf640);border:1px solid #6366f14d;border-bottom-right-radius:.3rem;align-self:flex-end}.chat-bubble--assistant{background:#94a3b81f;border:1px solid #94a3b847;border-bottom-left-radius:.3rem;align-self:flex-start}.chat-bubble--loading{align-items:center;gap:.3rem;padding:.6rem 1rem;display:flex}.chat-bubble--loading span{background:var(--text-2);border-radius:50%;width:.45rem;height:.45rem;animation:1.2s infinite chat-dot}.chat-bubble--loading span:nth-child(2){animation-delay:.2s}.chat-bubble--loading span:nth-child(3){animation-delay:.4s}@keyframes chat-dot{0%{opacity:.3;transform:scale(.9)}40%{opacity:1;transform:scale(1.1)}80%{opacity:.3;transform:scale(.9)}to{opacity:.3;transform:scale(.9)}}.chat-input-row{border-top:1px solid var(--border);flex-shrink:0;gap:.4rem;padding:.7rem;display:flex}.chat-input-row input{background:var(--ui-btn-bg-hover);border:1px solid var(--border-soft);color:var(--text-1);border-radius:.7rem;flex:1;padding:.45rem .7rem;font-size:.84rem}.chat-input-row input:focus{outline-offset:1px;outline:2px solid #f973168c}.chat-input-row input::placeholder{color:var(--text-2)}.chat-input-row button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6b5b8a,#8a76b0);border:none;border-radius:.7rem;align-items:center;padding:.45rem .7rem;transition:opacity .15s;display:flex}.chat-input-row button:disabled{opacity:.4;cursor:default}@media (max-width:760px){.chat-fab{bottom:.85rem;right:.85rem}.chat-panel{border-radius:1rem;width:auto;max-height:72vh;bottom:4.6rem;left:.5rem;right:.5rem}.chat-messages{padding:.7rem}.chat-clear-confirm{flex-direction:column;align-items:stretch}.chat-topic-bar,.chat-undo-toast{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.chat-topic-meta{flex-direction:column}.chat-topic-manage{grid-template-columns:minmax(0,1fr) auto auto}.chat-clear-confirm-actions{justify-content:flex-end}.chat-bubble{max-width:92%;font-size:.82rem}}.alert-list li.alert--warning{border-left:3px solid #eab308;padding-left:.6rem}.alert-list li.alert--danger{border-left:3px solid #f43f5e;padding-left:.6rem}.alert-list li.alert--info{border-left:3px solid #0ea5e9;padding-left:.6rem}.predict-zone{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.predict-button{color:#fbbf24;cursor:pointer;background:linear-gradient(130deg,#fb923c2e,#facc151f);border:1px solid #fb923c59;border-radius:.6rem;align-items:center;gap:.5rem;width:-moz-fit-content;width:fit-content;padding:.55rem 1rem;font-size:.82rem;font-weight:600;transition:background .18s,opacity .18s;display:inline-flex}.predict-button:hover{background:linear-gradient(130deg,#fb923c47,#facc1533)}.predict-button:disabled{opacity:.55;cursor:default}.predict-result{color:#cbd5e1;white-space:pre-wrap;background:#0ea5e90f;border:1px solid #0ea5e933;border-radius:.75rem;padding:.85rem 1rem;font-size:.82rem;line-height:1.6}.recurring-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.recurring-list li{background:var(--surface-soft);border-radius:.6rem;justify-content:space-between;align-items:center;padding:.55rem .85rem;display:flex}.recurring-list li strong{color:var(--text-1);font-size:.85rem;display:block}.recurring-list li small{color:var(--text-2);font-size:.75rem}.recurring-icon{color:var(--text-2);flex-shrink:0}.savings-target-list{flex-direction:column;gap:.85rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.savings-target-header{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.savings-target-header strong{color:var(--text-1);flex:1;font-size:.88rem}.savings-target-header span{color:var(--text-2);font-size:.78rem}.savings-target-list small{color:var(--text-2);margin-top:.2rem;font-size:.72rem;display:block}.savings-target-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:.5rem;margin-top:.5rem;display:grid}.savings-target-form input{margin:0}.savings-target-form button{white-space:nowrap;align-items:center;gap:.35rem;padding:.55rem .85rem;font-size:.8rem;display:inline-flex}.yoy-list{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.yoy-row{justify-content:space-between;align-items:center;margin-bottom:.3rem;display:flex}.yoy-row strong{color:var(--text-1);font-size:.85rem}.yoy-row span{align-items:center;gap:.2rem;font-size:.78rem;font-weight:600;display:inline-flex}.yoy-bars{flex-direction:column;gap:.25rem;margin-bottom:.25rem;display:flex}.yoy-bar{border-radius:4px;min-width:4px;height:6px;transition:width .4s}.yoy-bar--prev{background:color-mix(in srgb, var(--text-2) 48%, transparent)}.yoy-bar--curr{background:rgba(var(--accent-rgb), .75)}.yoy-list li small{color:var(--text-2);font-size:.72rem}@media (max-width:980px){.savings-target-form{grid-template-columns:1fr 1fr}.savings-target-form button{grid-column:span 2}.yoy-list{gap:.7rem}}.hero-budget-bar{flex-direction:column;gap:.3rem;margin-top:.25rem;display:flex}.hero-budget-bar__track{background:color-mix(in srgb, var(--text-2) 22%, transparent);border:1px solid color-mix(in srgb, var(--text-2) 32%, transparent);border-radius:99px;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #0000002e}.hero-budget-bar__fill{border-radius:99px;height:100%;transition:width .4s,background .3s;box-shadow:inset 0 0 0 1px #ffffff29}.hero-budget-bar__label{color:var(--text-1);letter-spacing:.005em;font-size:clamp(.98rem,1.15vw,1.06rem);font-weight:700;line-height:1.4}.month-picker-label{cursor:pointer;align-items:center;display:flex;position:relative}.month-picker-label span{pointer-events:none;color:var(--text-1);-webkit-text-decoration:underline dotted color-mix(in srgb, var(--text-2) 55%, transparent);text-decoration:underline dotted color-mix(in srgb, var(--text-2) 55%, transparent);text-underline-offset:3px;font-size:.9rem;font-weight:600}.month-picker-input{opacity:0;cursor:pointer;background:0 0;border:none;width:100%;margin:0;padding:0;font-size:0;position:absolute;inset:0}.empty-month-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;margin:0;padding:2.5rem 1.5rem;display:flex}.empty-month-state h2{color:var(--text-1);margin:0;font-size:1.15rem;font-weight:700}.empty-month-state p{color:var(--text-2);max-width:320px;margin:0;font-size:.85rem}.empty-month-state .hero-cta-button{align-items:center;gap:.4rem;margin-top:.5rem;text-decoration:none;display:inline-flex}.empty-month-icon{color:#f9731680}.onboarding-overlay{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#09090b94;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.onboarding-modal{flex-direction:column;gap:1.5rem;width:100%;max-width:540px;max-height:90vh;padding:2rem 2.25rem;display:flex;overflow-y:auto}.onboarding-generating{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;min-height:240px;padding:2.75rem 1rem;display:flex}.onboarding-generating-spinner{border:3px solid rgba(var(--accent-rgb), .2);border-top-color:var(--accent);border-radius:50%;width:3rem;height:3rem;animation:.8s linear infinite onboarding-spin}@keyframes onboarding-spin{to{transform:rotate(360deg)}}.onboarding-generating-phase{color:var(--text-1);margin:0;font-size:1.05rem;font-weight:700;animation:.55s onboarding-phase-fade}@keyframes onboarding-phase-fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.onboarding-generating-sub{color:var(--text-2);margin:0;font-size:.85rem}@media (prefers-reduced-motion:reduce){.onboarding-generating-spinner,.onboarding-generating-phase{animation:none}}.onboarding-header h2{color:var(--text-1);margin:.25rem 0 .5rem;font-size:1.5rem;font-weight:800}.onboarding-header p{color:var(--text-2);margin:0;font-size:.875rem}.onboarding-key-label{color:var(--text-2);flex-direction:column;gap:.5rem;font-size:.85rem;display:flex}.onboarding-key-label input{margin:0}.onboarding-key-hint{color:var(--text-2);font-size:.75rem}.onboarding-key-hint a{color:var(--accent)}.onboarding-actions{flex-direction:column;gap:.75rem;margin-top:.25rem;display:flex}.onboarding-step1,.onboarding-step2{flex-direction:column;gap:1.25rem;display:flex}.onboarding-chat{flex-direction:column;gap:1rem;max-height:320px;padding-right:.25rem;display:flex;overflow-y:auto}.onboarding-msg{flex-direction:column;gap:.25rem;display:flex}.onboarding-msg__label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);font-size:.7rem;font-weight:700}.onboarding-msg--user{align-items:flex-end}.onboarding-msg--user p{background:rgba(var(--accent-rgb), .15);border:1px solid rgba(var(--accent-rgb), .25);color:var(--text-1);white-space:pre-wrap;border-radius:12px 12px 2px;max-width:85%;margin:0;padding:.6rem .9rem;font-size:.85rem}.onboarding-msg--assistant p{background:var(--surface-soft);border:1px solid var(--border-soft);color:var(--text-1);white-space:pre-wrap;border-radius:2px 12px 12px;max-width:90%;margin:0;padding:.6rem .9rem;font-size:.85rem}.onboarding-typing{letter-spacing:.15em;color:var(--text-2);font-size:1.25rem;animation:1s ease-in-out infinite pulse}.onboarding-success{text-align:center;color:var(--accent);background:rgba(var(--accent-rgb), .1);border:1px solid rgba(var(--accent-rgb), .25);border-radius:8px;padding:.75rem;font-size:.9rem;font-weight:600}.onboarding-input-row{gap:.75rem;display:flex}.onboarding-input-row input{flex:1;margin:0}.onboarding-skip{align-self:center;font-size:.78rem}@media (max-width:560px){.kpi-grid,.envelope-kpis{grid-template-columns:1fr 1fr}.goal-editor{grid-template-columns:1fr}.goal-editor button{grid-column:auto}.savings-target-form{grid-template-columns:1fr}.savings-target-form button{grid-column:auto}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-priority-bar{flex-direction:column;align-items:stretch}.month-nav--hero{justify-content:space-between;width:100%}.onboarding-modal{padding:1.5rem 1.25rem}.app-toast{white-space:normal;text-align:center;max-width:calc(100vw - 2rem)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.app-toast{z-index:10000;border:1px solid var(--border);color:var(--pf-color-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;text-align:center;background:#3d2b1ff2;border-radius:999px;max-width:min(560px,100vw - 2rem);padding:.6rem 1.25rem;font-size:.875rem;font-weight:500;line-height:1.4;animation:.2s forwards toast-in;position:fixed;top:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #140c0866}.app-toast--warning{background:var(--pf-color-warning);color:var(--pf-color-bg);border-color:var(--pf-color-warning-border);white-space:normal;padding:.8rem 1.4rem}.app-toast--danger{background:var(--pf-color-negative);color:var(--pf-color-bg);border-color:var(--pf-color-negative-border);white-space:normal;padding:.8rem 1.4rem}@media (max-width:480px){.app-toast{white-space:normal;max-width:none;bottom:1rem;left:1rem;right:1rem;transform:none}}.onboarding-choice-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.onboarding-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.onboarding-provider-grid>button:last-child:nth-child(odd){grid-column:1/-1;width:100%;max-width:calc(50% - .375rem);margin-inline:auto}@media (max-width:520px){.onboarding-choice-grid,.onboarding-provider-grid{grid-template-columns:1fr}}.onboarding-provider-card{text-align:left;border:1px solid var(--border-soft);background:var(--surface-soft);color:var(--text-1);cursor:pointer;border-radius:.9rem;padding:.85rem .9rem;transition:border-color .15s,box-shadow .15s,background .15s}.onboarding-provider-card:hover{border-color:rgba(var(--accent-rgb), .4);box-shadow:0 2px 10px #00000014}.onboarding-provider-card--active{border-color:var(--accent);background:rgba(var(--accent-rgb), .08);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .18)}.onboarding-provider-card__head{align-items:center;gap:.65rem;display:flex}.onboarding-provider-card__info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.onboarding-provider-model{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.onboarding-provider-logo{object-fit:contain;background:#fff;border-radius:.55rem;flex-shrink:0;width:2.4rem;height:2.4rem;padding:3px;box-shadow:0 1px 4px #0000001f}.onboarding-provider-badge{letter-spacing:.04em;color:#fff;border-radius:.7rem;justify-content:center;align-items:center;min-width:2.2rem;height:2.2rem;padding:0 .45rem;font-size:.7rem;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffff2e}.onboarding-provider-badge--violet{background:linear-gradient(135deg,#7c3aed,#5b21b6)}.onboarding-provider-badge--green{background:linear-gradient(135deg,#0f9f6e,#065f46)}.onboarding-provider-badge--orange{background:linear-gradient(135deg,#f59e0b,#c2410c)}.onboarding-provider-badge--blue{background:linear-gradient(135deg,#2563eb,#0f5b85)}.onboarding-provider-badge--slate{background:linear-gradient(135deg,#475569,#1e293b)}.onboarding-provider-card__info strong{color:var(--text-1);font-size:.88rem;font-weight:700;line-height:1.2}.onboarding-provider-pill{font-size:var(--text-2xs);white-space:nowrap;border-radius:999px;flex-shrink:0;margin-left:auto;padding:.18rem .5rem;font-weight:700}.onboarding-provider-pill--active{color:var(--accent);background:rgba(var(--accent-rgb), .14)}.onboarding-provider-pill--disabled{color:var(--text-2);opacity:.6}.onboarding-provider-card--disabled{opacity:.65}.onboarding-provider-help{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:.9rem;gap:.75rem;padding:1rem;display:grid}.onboarding-provider-help h3{color:var(--text-1);margin:0 0 .25rem;font-size:1rem}.onboarding-provider-help p{color:var(--text-2);margin:0;font-size:.82rem;line-height:1.5}.onboarding-provider-help__actions{flex-wrap:wrap;gap:.6rem;display:flex}.onboarding-provider-help__actions a{color:var(--link-color);font-size:.8rem;font-weight:700;text-decoration:underline}.onboarding-legal-note{background:color-mix(in srgb, var(--surface-soft) 80%, rgba(var(--accent-rgb), .08) 20%);border:1px solid var(--border-soft);border-radius:.9rem;gap:.35rem;padding:.9rem 1rem;display:grid}.onboarding-legal-note strong{color:var(--text-1);font-size:.82rem}.onboarding-legal-note p{color:var(--text-2);margin:0;font-size:.78rem;line-height:1.5}.onboarding-profile-step{flex-direction:column;gap:1.1rem;display:flex}.onboarding-profile-intro{color:var(--text-2);margin:0;font-size:.83rem;line-height:1.5}.onboarding-profile-question{flex-direction:column;gap:.5rem;display:flex}.onboarding-profile-qlabel{color:var(--text-1);letter-spacing:.02em;text-transform:uppercase;font-size:.8rem;font-weight:700}.onboarding-profile-options{flex-wrap:wrap;gap:.45rem;display:flex}.onboarding-profile-chip{border:1.5px solid var(--border-soft);background:var(--surface-soft);color:var(--text-1);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.38rem .85rem;font-size:.82rem;font-weight:500;transition:border-color .12s,background .12s,color .12s}.onboarding-profile-chip:hover{border-color:rgba(var(--accent-rgb), .4);background:rgba(var(--accent-rgb), .06)}.onboarding-profile-chip--active{border-color:var(--accent);background:rgba(var(--accent-rgb), .14);color:var(--accent);font-weight:700}.onboarding-choice-card{background:var(--surface-soft);border:1.5px solid var(--border-soft);text-align:left;cursor:pointer;color:inherit;border-radius:14px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.25rem 1.1rem 1.1rem;font-family:inherit;transition:border-color .18s,background .18s,transform .15s;display:flex;position:relative}.onboarding-choice-card:hover{border-color:var(--accent);background:rgba(var(--accent-rgb), .08);transform:translateY(-2px)}.onboarding-choice-card--manual:hover{border-color:color-mix(in srgb, var(--text-2) 55%, transparent);background:color-mix(in srgb, var(--surface-soft) 88%, var(--text-2) 12%)}.onboarding-choice-icon{font-size:1.4rem;line-height:1}.onboarding-choice-card strong{color:var(--text-1);font-size:.95rem;font-weight:700}.onboarding-choice-card p{color:var(--text-2);margin:0;font-size:.8rem;line-height:1.45}.onboarding-choice-badge{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-contrast);background:var(--accent);border:1px solid #0000;border-radius:99px;padding:.15rem .5rem;font-weight:800;position:absolute;top:.75rem;right:.75rem}.onboarding-back-btn{color:var(--text-2);cursor:pointer;background:0 0;border:none;margin-bottom:.5rem;padding:0;font-family:inherit;font-size:.8rem;transition:color .15s}.onboarding-back-btn:hover{color:var(--text-1)}:where(.hero-cta-button,.ghost-button,.logout-button,.danger-button,.app-error-btn,.budget-mini-btn,.budget-actions-button,.toolbar-info-btn,.toolbar-toggle-btn,.predict-button,.btn-cancel,.chat-clear-btn,.chat-topic-rename-btn,.chat-topic-delete-btn,.onboarding-back-btn,.auth-google-btn,.auth-link-button,.widget-chip,.side-menu-settings-btn,.widget-template-row button,.member-toggle button){appearance:none;min-height:var(--ui-btn-height);padding:.55rem var(--ui-btn-padding-x);border-radius:var(--ui-radius-sm);border:1px solid var(--ui-btn-border);background:var(--ui-btn-bg);color:var(--ui-btn-text);letter-spacing:.01em;font-weight:700;line-height:1.2;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}:where(.hero-cta-button,.danger-button,.app-error-btn,.budget-mini-btn,.budget-actions-button,.toolbar-info-btn,.toolbar-toggle-btn,.predict-button,.btn-cancel,.chat-clear-btn,.chat-topic-rename-btn,.chat-topic-delete-btn,.onboarding-back-btn,.auth-google-btn,.auth-link-button,.widget-chip,.widget-template-row button,.member-toggle button):hover{border-color:rgba(var(--accent-rgb), .55);background:var(--ui-btn-bg-hover);transform:translateY(-1px)}:where(.hero-cta-button,.ghost-button,.logout-button,.danger-button,.app-error-btn,.budget-mini-btn,.budget-actions-button,.toolbar-info-btn,.toolbar-toggle-btn,.predict-button,.btn-cancel,.chat-clear-btn,.chat-topic-rename-btn,.chat-topic-delete-btn,.onboarding-back-btn,.auth-google-btn,.auth-link-button,.widget-chip,.side-menu-settings-btn,.widget-template-row button,.member-toggle button):focus-visible{outline:2px solid rgba(var(--accent-rgb), .66);outline-offset:2px}:where(.hero-cta-button,.budget-mini-btn-primary,.predict-button,.app-error-btn--primary,.auth-google-btn){background:var(--ui-btn-primary-bg);color:var(--ui-btn-primary-text);border:0}:where(.danger-button,.chat-topic-delete-btn){background:var(--ui-btn-danger-bg);color:var(--ui-btn-danger-text);border:0}:where(.ghost-button,.logout-button,.btn-cancel,.budget-mini-btn-secondary,.chat-topic-rename-btn,.app-error-btn--ghost,.onboarding-back-btn){border-color:var(--border-soft);background:var(--surface-soft)}:where(.widget-chip,.member-toggle button,.widget-template-row button){border-radius:999px}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){border-radius:var(--ui-radius-sm);border:1px solid var(--border-soft);background:var(--surface-soft);color:var(--text-1);min-height:2.55rem;padding:.58rem .78rem;transition:border-color .16s,box-shadow .16s,background .16s}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):focus-visible{border-color:rgba(var(--accent-rgb), .62);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .2);background:var(--ui-btn-bg-hover);outline:none}.recurring-badge{opacity:.8;cursor:help;margin-left:.3rem;font-size:.75em}.month-summary-card{margin-bottom:1rem;padding:1.1rem 1.25rem}.month-summary-rows{gap:.55rem;display:grid}.month-summary-row{flex-wrap:wrap;align-items:baseline;gap:.7rem;display:flex}.month-summary-row>span:first-child{color:var(--text-2);font-size:var(--text-sm);min-width:7.5rem;font-weight:700}.month-summary-spent{color:var(--kpi-danger);font-size:1.1rem}.month-summary-income{color:var(--kpi-positive);font-size:1.1rem}.month-summary-row small.negative{color:var(--kpi-danger)}.month-summary-row small.positive{color:var(--kpi-positive)}.month-summary-cats{flex-wrap:wrap;gap:.45rem;display:flex}.month-summary-cat{font-size:var(--text-xs);color:var(--text-1);background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-weight:700;display:inline-flex}.kpi-progress-fill,.budget-health-fill,.budget-simple-progress__fill,.hero-budget-bar__fill{transition:width .7s cubic-bezier(.22,1,.36,1)}.kpi-card--celebrate{border-color:#3a7d448c;box-shadow:0 0 0 2px #3a7d4440}.kpi-celebrate-emoji{animation:.9s cubic-bezier(.34,1.56,.64,1) both celebrate-pop,2.4s ease-in-out 1s infinite celebrate-wiggle;display:inline-block}@keyframes celebrate-pop{0%{transform:scale(0)}60%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes celebrate-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}@media (prefers-reduced-motion:reduce){.kpi-celebrate-emoji{animation:none}.kpi-progress-fill,.budget-health-fill,.budget-simple-progress__fill,.hero-budget-bar__fill{transition:none}}.demo-banner{z-index:1200;color:#fff8f0;font-weight:700;font-size:var(--text-sm);background:linear-gradient(130deg,#c05c2a,#b8963e);flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;padding:.5rem 1rem;display:flex;position:sticky;top:0}.demo-banner button{appearance:none;color:#fff8f0;font-weight:800;font-size:var(--text-xs);cursor:pointer;background:#fff8f026;border:1px solid #fff8f099;border-radius:999px;padding:.25rem .75rem}.auth-demo-btn{width:100%;margin-top:.8rem}.tx-tag{background:rgba(var(--accent-rgb), .14);border:1px solid rgba(var(--accent-rgb), .3);color:var(--text-1);vertical-align:middle;white-space:nowrap;border-radius:999px;margin-left:.35rem;padding:.08rem .45rem;font-size:.68rem;font-weight:700;display:inline-block}.quick-add-hint{color:var(--text-2);font-weight:600;font-size:var(--text-2xs)}.invite-banner{z-index:1190;color:#fff8f0;font-weight:600;font-size:var(--text-sm);background:linear-gradient(130deg,#3a7d44,#6b5b8a);flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;padding:.55rem 1rem;display:flex;position:sticky;top:0}.invite-banner button{appearance:none;color:#fff8f0;cursor:pointer;background:#fff8f026;border:1px solid #fff8f099;border-radius:999px;padding:.3rem .9rem;font-weight:800}.family-view{margin-bottom:1rem;padding:1.2rem 1.35rem}.family-members-row{flex-wrap:wrap;gap:.7rem;margin:.4rem 0 .9rem;display:flex}.family-member-chip{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:999px;align-items:center;gap:.55rem;padding:.45rem .8rem .45rem .45rem;display:inline-flex}.family-member-chip strong{font-size:var(--text-sm);color:var(--text-1);display:block}.family-member-chip small{color:var(--kpi-danger);font-weight:700}.family-totals{flex-wrap:wrap;gap:1.6rem;margin-bottom:.9rem;display:flex}.family-totals span{color:var(--text-2);font-size:var(--text-sm);font-weight:700;display:block}.family-totals strong{font-size:1.25rem}.member-avatar--tiny{width:1.45rem;height:1.45rem;font-size:.6rem}.family-tx-list li{grid-template-columns:auto auto minmax(0,1fr) auto auto}.family-invite-block{border-top:1px solid var(--border-soft);margin-top:1rem;padding-top:.9rem}.family-invite-block h3{font-size:var(--text-base);color:var(--text-1);margin:0 0 .3rem}.family-invite-row{flex-wrap:wrap;gap:.6rem;margin-top:.6rem;display:flex}.family-invite-row input{border:1px solid var(--field-border);background:var(--field-bg);color:var(--text-1);border-radius:.7rem;flex:200px;padding:.6rem .7rem}@media (max-width:560px){.family-tx-list .recent-tx-meta{display:none}.family-tx-list li{grid-template-columns:auto auto minmax(0,1fr) auto}}.sent-invites-list{gap:.45rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.sent-invites-list li{border:1px solid var(--border);background:var(--surface-soft);border-radius:.7rem;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .6rem;display:flex}.sent-invite-info{flex:auto;min-width:0}.sent-invite-info strong{color:var(--text-1);font-size:var(--text-sm);display:block}.sent-invite-info small{color:var(--text-2);overflow-wrap:anywhere}.sent-invite-status{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--kpi-warn);white-space:nowrap;font-weight:800}.sent-invite-status--ok{color:var(--kpi-positive)}.sent-invite-btn{min-height:2rem;font-size:var(--text-xs);padding:.3rem .7rem}.sent-invite-btn--danger{color:var(--danger)}.settings-legal-footer{border-top:1px solid var(--border-soft);text-align:center;font-size:var(--text-xs);color:var(--text-2);margin-top:.4rem;padding:.6rem 0 0}.settings-section-grid--single{grid-template-columns:1fr}.profile-modal--inline{box-shadow:none;background:0 0;border:0;width:100%;max-height:none;padding:0}.recent-tx-list li:has(.recent-tx-hit){padding:0;display:block}.recent-tx-hit{appearance:none;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.5rem;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.55rem .3rem;transition:background .12s;display:grid}.recent-tx-hit:hover{background:var(--surface-soft)}@media (max-width:560px){.recent-tx-hit{grid-template-columns:auto minmax(0,1fr) auto}}.expense-calendar__planned{color:var(--text-2);font-weight:700;font-size:var(--text-2xs);white-space:nowrap;opacity:.9}.expense-calendar__planned-block{border:1px dashed var(--border-soft);background:var(--surface-soft);border-radius:.7rem;margin:.2rem 0 .8rem;padding:.55rem .7rem}.expense-calendar__planned-title{font-size:var(--text-xs);color:var(--text-2);margin:0 0 .3rem;font-weight:700}.expense-calendar__planned-row{opacity:.85}.quick-add-ai-nudge{appearance:none;text-align:left;border:1px dashed rgba(var(--accent-rgb), .45);background:rgba(var(--accent-rgb), .08);color:var(--text-1);font-size:var(--text-xs);cursor:pointer;border-radius:.7rem;padding:.55rem .7rem;line-height:1.45;transition:background .14s,border-color .14s}.quick-add-ai-nudge:hover{background:rgba(var(--accent-rgb), .15);border-color:var(--accent)}.notes-view{margin-bottom:1rem;padding:1.2rem 1.35rem}.notes-ai-box{border:1px dashed rgba(var(--accent-rgb), .45);background:rgba(var(--accent-rgb), .06);border-radius:.8rem;gap:.55rem;margin-bottom:1rem;padding:.8rem .9rem;display:grid}.notes-ai-box__title{color:var(--text-1);font-weight:800;font-size:var(--text-sm);margin:0}.notes-ai-box__hint{color:var(--text-2);font-size:var(--text-xs);margin:0}.notes-ai-box textarea,.notes-editor{border:1px solid var(--field-border);background:var(--field-bg);width:100%;color:var(--text-1);font:inherit;font-size:var(--text-sm);resize:vertical;border-radius:.7rem;padding:.7rem .8rem;line-height:1.5}.notes-ai-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.notes-ai-results ul{gap:.3rem;margin:.4rem 0;padding:0;list-style:none;display:grid}.notes-ai-row{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;font-size:var(--text-sm);border-radius:.6rem;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.4rem .5rem;display:grid}.notes-ai-row__label{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.notes-ai-row__meta{color:var(--text-2);font-size:var(--text-2xs);white-space:nowrap}.notes-toolbar{flex-wrap:wrap;gap:.6rem;margin-bottom:.7rem;display:flex}.notes-editor{min-height:9rem;margin-bottom:.9rem}.notes-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.notes-list li{border:1px solid var(--border);background:var(--surface-soft);border-radius:.7rem;align-items:center;gap:.4rem;padding:.2rem .3rem;display:flex}.notes-list li.active{border-color:rgba(var(--accent-rgb), .55)}.notes-list__open{appearance:none;text-align:left;cursor:pointer;min-width:0;color:var(--text-1);background:0 0;border:0;flex:auto;padding:.45rem .5rem}.notes-list__open strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.notes-list__open small{color:var(--text-2)}.notes-list__delete{appearance:none;cursor:pointer;opacity:.7;background:0 0;border:0;padding:.3rem;font-size:.9rem}.notes-list__delete:hover{opacity:1}@media (max-width:560px){.notes-ai-row__meta{display:none}.notes-ai-row{grid-template-columns:auto minmax(0,1fr) auto}}[data-textsize=large]{--text-2xs:.875rem;--text-xs:.9375rem;--text-sm:1rem;--text-base:1.125rem}[data-textsize=xl]{--text-2xs:.9375rem;--text-xs:1rem;--text-sm:1.0625rem;--text-base:1.25rem}[data-reduce-motion="1"] *,[data-reduce-motion="1"] :before,[data-reduce-motion="1"] :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}[data-contrast=high]{--text-2:color-mix(in srgb, var(--text-1) 78%, var(--bg-2));--border:color-mix(in srgb, var(--text-1) 32%, transparent);--border-soft:color-mix(in srgb, var(--text-1) 42%, transparent);--ui-btn-border:color-mix(in srgb, var(--text-1) 38%, transparent)}.a11y-size-option--normal .theme-option-icon{font-size:1rem}.a11y-size-option--large .theme-option-icon{font-size:1.25rem}.a11y-size-option--xl .theme-option-icon{font-size:1.55rem}.a11y-toggle{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;border-radius:.8rem;align-items:flex-start;gap:.65rem;padding:.7rem .8rem;display:flex}.a11y-toggle input{width:1.1rem;height:1.1rem;accent-color:var(--accent);margin-top:.2rem}.a11y-toggle strong{color:var(--text-1);display:block}.a11y-toggle small{color:var(--text-2);line-height:1.4}.info-hint{vertical-align:middle;margin-left:.35rem;display:inline-block;position:relative}.info-hint summary{cursor:pointer;font-size:.95rem;line-height:1;list-style:none;transition:transform .12s;display:inline-block}.info-hint summary::-webkit-details-marker{display:none}.info-hint summary:hover{transform:scale(1.15)}.info-hint[open] summary{transform:scale(1.1)}.info-hint__pop{z-index:60;background:var(--bg-2);border:1px solid var(--border-soft);width:max-content;max-width:min(300px,70vw);box-shadow:var(--shadow);font-size:var(--text-xs);color:var(--text-1);text-transform:none;letter-spacing:normal;border-radius:.7rem;padding:.6rem .75rem;font-weight:500;line-height:1.5;position:absolute;top:calc(100% + .45rem);left:0}.tx-merchant-icon{flex-shrink:0;margin-right:.15rem;font-size:1.05rem;line-height:1}.form-panel .ghost-button{background:var(--ui-btn-bg);border:1px solid var(--ui-btn-border);color:var(--text-1);margin-top:0;font-weight:700}.form-panel .ai-provider-chip{background:var(--surface-soft);color:var(--text-1);border:1.5px solid var(--border-soft);font-weight:700;font-size:var(--text-sm);border-radius:.7rem;margin-top:0;padding:.5rem .8rem}.form-panel .ai-provider-chip--active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .3);background:rgba(var(--accent-rgb), .1)}.form-panel .ai-provider-chip--soon{opacity:.6}.form-panel .ai-provider-chip small{color:var(--text-2)}.ai-provider-label{margin-top:.4rem}.ai-provider-grid{gap:.55rem;margin-bottom:.3rem}.ai-settings-card .settings-inline-actions{margin-top:.4rem}.ai-key-links{margin-top:-.3rem}.report-current{border:1.5px solid rgba(var(--accent-rgb), .45);background:rgba(var(--accent-rgb), .08);border-radius:.8rem;gap:.3rem;padding:.85rem 1rem;display:grid}.report-current strong{font-size:var(--text-sm);color:var(--text-1)}.report-current p{font-size:var(--text-sm);color:var(--text-1);margin:0}.report-current small{color:var(--text-2);font-size:var(--text-xs)}.report-current--off{border-color:var(--border-soft);background:var(--surface-soft)}.field-hint{color:var(--text-2);font-size:var(--text-xs);margin-top:.3rem;font-weight:400;display:block}
