@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.overview-page{color:var(--foreground);width:100%;max-width:1400px;min-height:100vh;margin:0 auto;padding:0}.content-wrapper>*{animation:.5s ease-out both fadeSlideIn}.content-wrapper>:first-child{animation-delay:0s}.content-wrapper>:nth-child(2){animation-delay:50ms}.content-wrapper>:nth-child(3){animation-delay:.1s}.content-wrapper>:nth-child(4){animation-delay:.15s}.content-wrapper>:nth-child(5){animation-delay:.2s}.content-wrapper>:nth-child(6){animation-delay:.25s}.content-wrapper>:nth-child(7){animation-delay:.3s}.content-wrapper>:nth-child(8){animation-delay:.35s}.subtitle{color:var(--secondary);margin-top:.25rem}.overview-page .background-animation{display:none}.overview-page .orb-1{background:radial-gradient(circle,#16a34a1f 0%,#0000 70%);width:500px;height:500px;animation:20s ease-in-out infinite orbFloat1;top:-10%;left:-10%}.overview-page .orb-2{background:radial-gradient(circle,#10b9811a 0%,#0000 70%);width:450px;height:450px;animation:25s ease-in-out infinite orbFloat2;bottom:-15%;right:-10%}.overview-page .orb-3{background:radial-gradient(circle,#f59e0b14 0%,#0000 70%);width:350px;height:350px;animation:30s ease-in-out infinite orbFloat3;top:40%;left:50%}@keyframes orbFloat1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(80px,60px)scale(1.1)}66%{transform:translate(-40px,30px)scale(.95)}}@keyframes orbFloat2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-60px,-40px)scale(1.05)}66%{transform:translate(40px,-60px)scale(.9)}}@keyframes orbFloat3{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-50px,50px)scale(1.08)}66%{transform:translate(60px,-30px)scale(.92)}}.yearly-strip{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-xl);align-items:stretch;margin-bottom:1.5rem;display:flex;overflow:hidden}.yearly-strip-stat{transition:background var(--transition-fast);flex:1;padding:1.25rem 1.5rem;position:relative}.yearly-strip-stat:hover{background:var(--background-hover)}.yearly-strip-divider{background:var(--border);flex-shrink:0;align-self:stretch;width:1px}.yearly-strip-label{font-family:var(--font-heading),"Plus Jakarta Sans",system-ui,sans-serif;font-size:var(--font-sm);color:var(--secondary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:var(--space-2);margin-bottom:.5rem;font-weight:600;display:flex}.yearly-strip-tag{font-size:var(--font-2xs);border-radius:var(--radius-sm);background:var(--background-hover);color:var(--secondary);letter-spacing:.03em;padding:1px 5px;font-weight:700}.yearly-strip-value{font-family:var(--font-mono),"JetBrains Mono",monospace;font-variant-numeric:tabular-nums;font-size:var(--font-2xl);letter-spacing:-.5px;font-weight:700;line-height:1.1}.stat-sub-mini{font-size:var(--font-base);color:var(--muted)}.text-primary,.text-purple{color:var(--primary)}.text-orange{color:var(--warning)}.text-green{color:var(--success)}.overview-page .modern-card{border-radius:var(--radius-xl);z-index:1;transition:border-color var(--transition-fast);position:relative}.overview-page .modern-card:hover{border-color:rgba(var(--primary-rgb),.2)}.overview-page .modern-card,.income-spend-chart{background:var(--card-bg);border:1px solid var(--border)}.greeting-stats{gap:var(--space-3);align-items:center;display:flex}.greeting-stat-pill{text-align:center;background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);padding:.35rem .75rem}.greeting-stat-label{font-size:var(--font-xs);color:var(--secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.greeting-stat-value{font-size:var(--font-lg);font-weight:700;line-height:1.2}.cards-grid{grid-template-columns:repeat(6,1fr);gap:1.5rem;margin-bottom:1.5rem;display:grid}.card-slot{flex-direction:column;min-width:0;display:flex}.card-slot>.modern-card{flex-direction:column;flex:1;display:flex}.card-slot-1,.card-slot-2,.card-slot-3{grid-column:span 2}.card-slot-4,.card-slot-5{grid-column:span 3}.card-slot-1,.card-slot-2,.card-slot-3,.card-slot-4,.card-slot-5{height:580px}.card-slot-1>.modern-card,.card-slot-2>.modern-card,.card-slot-3>.modern-card,.card-slot-4>.modern-card,.card-slot-5>.modern-card{flex-direction:column;height:100%;display:flex;overflow:hidden}.card-slot-6,.card-slot-full{grid-column:1/-1}@media (max-width:1200px){.cards-grid{grid-template-columns:1fr 1fr}.card-slot-1,.card-slot-2,.card-slot-3,.card-slot-4,.card-slot-5{grid-column:auto}.card-slot-1{grid-column:1/-1}}.stat-value{font-size:var(--font-md);font-weight:700}.card-body-scroll{flex:1;min-height:0;overflow:hidden}.list-section{flex-direction:column;flex:1;gap:.25rem;display:flex}.view-all-link-container{flex-shrink:0;justify-content:flex-end;padding-top:.75rem;display:flex}.list-section.scrollable{max-height:320px;overflow-y:auto}.button-secondary{border-radius:var(--radius-sm);cursor:pointer;font-weight:500;font-size:var(--font-base);border:1px solid var(--border);transition:all var(--transition-fast);background:var(--background-hover);color:var(--foreground);align-items:center;gap:.4rem;padding:.4rem .75rem;text-decoration:none;display:inline-flex}.button-secondary:hover{color:var(--primary);border-color:var(--primary)}.button-secondary:active{transform:translateY(0)}.budget-summary-bar{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:10px;padding:0 2px;display:flex}.budget-summary-main{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.budget-left-value{font-family:var(--font-mono),"JetBrains Mono",monospace;font-variant-numeric:tabular-nums;font-size:var(--font-xl);letter-spacing:-.5px;font-weight:800;line-height:1}.budget-left-sub{font-size:var(--font-sm);color:var(--secondary);white-space:nowrap}.budget-summary-chips{gap:var(--space-1);flex-shrink:0;display:flex}.budget-chip{font-family:var(--font-mono),"JetBrains Mono",monospace;font-variant-numeric:tabular-nums;font-size:var(--font-xs);border-radius:var(--radius-sm);background:var(--background-hover);color:var(--foreground);white-space:nowrap;border:1px solid var(--border);padding:3px 8px;font-weight:600}.budget-chip-unit{color:var(--secondary);font-weight:400}.budget-bar-label{font-size:var(--font-xs);color:var(--secondary);justify-content:space-between;margin-bottom:14px;padding:0 2px;display:flex}.budget-cats{flex-direction:column;flex:1;gap:0;min-height:0;display:flex;overflow-y:auto}.budget-cat-row{align-items:center;gap:var(--space-3);border:1px solid #0000;border-bottom-color:var(--border);transition:all var(--transition-fast);border-radius:var(--radius-sm);padding:9px 6px;display:flex}.budget-cat-row:last-child{border-bottom-color:#0000}.budget-cat-row:hover{background:var(--background-hover);border-color:rgba(var(--primary-rgb),.3)}.budget-cat-row.clickable{cursor:pointer}.budget-cat-name{font-size:var(--font-sm);color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;align-items:center;gap:5px;width:70px;font-weight:600;display:flex;overflow:hidden}.budget-cat-dot{border-radius:var(--radius-full);flex-shrink:0;width:6px;height:6px}.budget-cat-bar{border-radius:var(--radius-sm);height:100%;transition:width .6s}.budget-cat-val{font-size:var(--font-sm);text-align:right;white-space:nowrap;flex-shrink:0;font-weight:600}.budget-cat-limit{color:var(--secondary);font-weight:400}.budget-sub-rows{border-bottom:1px solid var(--border);padding:2px 0 4px 20px}.budget-sub-row{align-items:center;gap:var(--space-2);padding:5px 6px;display:flex}.budget-sub-name{font-size:var(--font-xs);color:var(--secondary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:60px;overflow:hidden}.budget-sub-val{font-size:var(--font-xs);color:var(--secondary);text-align:right;white-space:nowrap;flex-shrink:0;font-weight:600}.pay-period-item{border:1px solid var(--border);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;padding:1rem;display:flex}.pay-period-item:hover{background:var(--background-hover);border-color:rgba(var(--primary-rgb),.3)}.pp-title{font-weight:600;font-size:var(--font-md);color:var(--foreground)}.pp-dates{font-size:var(--font-base);color:var(--secondary)}.pp-net{font-family:var(--font-mono),"JetBrains Mono",monospace;font-variant-numeric:tabular-nums;font-size:var(--font-lg);color:var(--success);font-weight:700}.clickable{cursor:pointer}.empty-msg{text-align:center;color:var(--secondary);font-size:var(--font-md);padding:1rem;font-style:italic}.empty-msg.centered{flex:1;justify-content:center;align-items:center;height:100%;display:flex}.account-grid{flex:1;grid-template-columns:1fr 1fr;gap:.4rem;min-height:0;padding:.1rem;display:grid;overflow-y:auto}.account-mini-card{border-radius:var(--radius-lg);cursor:pointer;background:var(--background-hover);border:1px solid var(--border);color:var(--foreground);transition:all var(--transition-fast);flex-direction:column;min-height:72px;padding:.6rem .7rem;display:flex;position:relative;overflow:hidden}.account-mini-chip{display:none}.account-mini-header{justify-content:space-between;align-items:center;margin-bottom:.2rem;display:flex}.account-mini-name{font-weight:600;font-size:var(--font-sm);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;line-height:1.2;overflow:hidden}.account-mini-type{font-size:var(--font-2xs);text-transform:uppercase;letter-spacing:.5px;opacity:.55;flex-shrink:0;margin-left:.3rem;font-weight:600}.account-mini-balance{font-family:var(--font-mono),"JetBrains Mono",monospace;font-size:var(--font-md);font-variant-numeric:tabular-nums;margin-top:auto;font-weight:700;line-height:1.2}.account-mini-emi{font-size:var(--font-2xs);opacity:.5;margin-top:.1rem}.account-mini-card:hover{border-color:rgba(var(--primary-rgb),.3)}.pp-detail-grid{text-align:right;align-items:center;gap:1.5rem;display:flex}.pp-detail-col{text-align:right;min-width:80px}.pp-detail-col.wide{min-width:100px}.pp-detail-label{font-size:var(--font-base);color:var(--secondary)}.pp-detail-value{font-weight:600}.pp-status-text{color:var(--secondary);font-weight:500}.pp-status--review{color:var(--warning);font-weight:600}.mobile-fab{z-index:50;border-radius:var(--radius-full);background:var(--primary);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:0 4px 16px rgba(var(--primary-rgb),.4);transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:none;position:fixed;bottom:24px;right:24px}.mobile-fab:hover{box-shadow:0 6px 24px rgba(var(--primary-rgb),.5);transform:scale(1.1)}.mobile-fab:active{transform:scale(.95)}.income-spend-chart{border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border);margin:-.5rem 0 1rem;padding:1rem 1.5rem}.income-spend-chart .legend-dot{border-radius:var(--radius-full);vertical-align:middle;width:8px;height:8px;margin-right:4px;display:inline-block}.bills-calendar-strip{scrollbar-width:none;gap:1px;margin-bottom:6px;padding:4px 0;display:flex;overflow-x:auto}.bills-calendar-strip::-webkit-scrollbar{display:none}.calendar-day{border-radius:var(--radius-sm);min-width:26px;font-size:var(--font-xs);color:var(--secondary);transition:background var(--transition-fast);flex-direction:column;flex:1 0 0;align-items:center;padding:3px 1px;display:flex}.calendar-day.today{background:rgba(var(--primary-rgb),.1);color:var(--primary);font-weight:600}.calendar-day .day-num{font-size:var(--font-sm);color:var(--foreground);font-weight:600}.calendar-day .bill-dot{border-radius:var(--radius-full);background:var(--danger);width:5px;height:5px;margin-top:2px}.calendar-day .bill-dot.paid{background:var(--success)}.greeting-header{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:1.5rem;display:flex}.bill-row,.tx-row{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:default;border:1px solid #0000;padding:7px 6px;display:flex;position:relative}.bill-row:hover,.tx-row:hover{background:var(--background-hover);border-color:rgba(var(--primary-rgb),.3)}.bill-row.clickable,.tx-row.clickable{cursor:pointer}.bill-accent{display:none}.bill-info,.tx-info{flex:1;gap:1px;min-width:0}.bill-name,.tx-name{font-size:var(--font-base);white-space:nowrap;text-overflow:ellipsis;color:var(--foreground);align-items:center;gap:.3rem;font-weight:500;display:flex;overflow:hidden}.bill-name.struck,.tx-name.struck{opacity:.5;text-decoration:line-through}.bill-meta,.tx-meta{align-items:center;gap:var(--space-2);font-size:var(--font-xs);color:var(--secondary);margin-top:1px;display:flex}.bill-tag{font-size:var(--font-2xs);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.3px;background:var(--background-hover);color:var(--secondary);white-space:nowrap;padding:1px 6px;font-weight:600}.bill-tag.auto{background:var(--surface-warning,#d299221a);color:var(--warning)}.bill-tag.paid{background:var(--surface-success);color:var(--success)}.bill-tag.urgent{background:var(--surface-warning,#d299221f);color:var(--warning);font-weight:700}.bill-tag.overdue{background:var(--surface-danger);color:var(--danger);font-weight:700}.bill-tag.from-account{background:var(--surface-primary);color:var(--primary)}.bill-amount,.tx-amount{font-size:var(--font-base);white-space:nowrap;flex-shrink:0;font-weight:600}.bill-amount.struck{color:var(--secondary);text-decoration:line-through}.bill-right{place-items:center end;gap:var(--space-2);flex-shrink:0;display:flex}.fund-reminder{align-items:center;gap:var(--space-2);background:var(--surface-warning);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:var(--font-sm);color:var(--foreground);margin-bottom:6px;padding:8px 12px;display:flex}.fund-reminder strong{color:var(--warning)}.fund-reminder .fund-needed{color:var(--danger);font-weight:600}.toggle-bar{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.tooltip-content{background:var(--foreground);color:var(--background);border-radius:var(--radius-sm);font-size:var(--font-sm);z-index:200;pointer-events:none;padding:6px 12px;font-weight:500;line-height:1;animation:.15s ease-out tooltipFadeIn;box-shadow:0 4px 12px #00000026}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.summary-bar{background:var(--background-hover);border-radius:var(--radius-md);border:1px solid var(--border);justify-content:space-between;align-items:center;margin:0 0 4px;padding:8px 12px;display:flex}.summary-bar-item{flex-direction:column;display:flex}.summary-bar-label{color:var(--secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.6rem}.summary-bar-value{font-size:.92rem;font-weight:700}.summary-bar-divider{background:var(--border);width:1px;height:20px}.payday-banner{border-radius:var(--radius-md);background:#22c55e0f;border:1px solid #22c55e26;margin:0 0 10px;padding:10px 14px}.payday-pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.payday-pill{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-sm);background:#22c55e1a;padding:4px 10px;display:inline-flex}.payday-pill-days{color:var(--success);font-weight:800;font-size:var(--font-md)}.payday-pill-amount{color:var(--foreground);font-weight:600}.payday-pill-date{color:var(--secondary);font-size:var(--font-sm)}.autopay-warning{align-items:center;gap:var(--space-2);background:var(--surface-warning);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:var(--font-sm);margin:0 0 6px;padding:6px 12px;display:flex}.cat-breakdown-bar{border-radius:var(--radius-sm);height:4px;display:flex;overflow:hidden}.cat-breakdown-bar>div{min-width:3px}.cat-breakdown-legend{gap:var(--space-2);flex-wrap:wrap;margin-top:3px;display:flex}.cat-legend-item{font-size:var(--font-xs);color:var(--secondary);align-items:center;gap:3px;display:flex}.cat-legend-dot{border-radius:var(--radius-full);flex-shrink:0;width:6px;height:6px}.date-section-header{font-size:var(--font-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;background:var(--surface);z-index:1;justify-content:space-between;align-items:center;padding:6px 4px 3px;font-weight:700;display:flex;position:sticky;top:0}@keyframes skeleton-pulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}.skeleton{background:var(--surface-secondary);animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-grid-4{gap:var(--space-4);grid-template-columns:repeat(4,1fr);margin-bottom:24px;display:grid}.skeleton-grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.bill-streak{align-items:center;gap:var(--space-1);font-size:var(--font-sm);color:var(--warning);font-weight:600;display:inline-flex}.pay-periods-list{gap:var(--space-2);flex-direction:column;display:flex}.text-blue{color:var(--info)}.greeting-row{align-items:center;gap:var(--space-2);display:flex}.greeting-row h2{font-size:var(--font-xl);margin:0;font-weight:700}.greeting-subtitle{color:var(--secondary);font-size:var(--font-base);align-items:center;gap:var(--space-2);display:flex}.greeting-separator{opacity:.5}.greeting-time{align-items:center;gap:var(--space-1);display:inline-flex}.greeting-tz{font-size:var(--font-sm);opacity:.6}.tx-icon-bubble{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.tx-meta-text{font-size:var(--font-xs)}.tx-meta-text--muted{color:var(--muted)}.tx-meta-text--success{color:var(--success)}.tx-meta-text--primary{color:var(--primary)}.info-banner-sub{color:var(--secondary)}.info-banner-label-row{font-size:var(--font-sm);color:var(--secondary);justify-content:space-between;margin-bottom:4px;display:flex}.payday-summary-row{justify-content:space-between;align-items:center;display:flex}.payday-summary-label{font-size:var(--font-xs);color:var(--secondary);text-transform:uppercase;letter-spacing:.5px}.payday-summary-right{align-items:center;gap:var(--space-3);display:flex}.payday-hours-text{font-size:var(--font-sm);color:var(--secondary)}.payday-total-amount{font-size:var(--font-md);color:var(--success);font-weight:700}.period-stat-box{background:var(--background-hover);border-radius:var(--radius-md);border:1px solid var(--border);justify-content:space-between;align-items:center;margin:0 0 10px;padding:10px 14px;display:flex}.period-stat-label{font-size:var(--font-xs);color:var(--secondary);text-transform:uppercase;letter-spacing:.5px}.period-stat-value{font-size:var(--font-md);color:var(--success);font-weight:700}.period-stat-value--default{color:var(--foreground)}.period-stat-divider{background:var(--border);width:1px;height:24px}.cal-selected-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.cal-selected-label{font-size:var(--font-sm);color:var(--primary);font-weight:600}.cal-clear-btn{cursor:pointer;font-size:var(--font-xs);color:var(--secondary);background:0 0;border:none;padding:0;text-decoration:underline}.cal-clear-btn:hover{color:var(--foreground)}.weekly-chart-wrap{margin:4px 0 8px}.empty-state-no-match{text-align:center;color:var(--secondary);font-size:var(--font-base);padding:12px}.toggle-bar--compact{margin-top:2px;margin-bottom:2px}.budget-sub-name--other{font-style:italic}.content-wrapper{padding:0 16px}.mfa-promo-banner{align-items:flex-start;gap:var(--space-4);background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-lg,12px);margin-bottom:24px;padding:16px 20px;animation:.4s ease-out both fadeSlideIn;display:flex;position:relative}.mfa-promo-icon{border-radius:var(--radius-full);background:var(--primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.mfa-promo-content{flex:1;min-width:0}.mfa-promo-title{font-family:var(--font-heading);font-weight:600;font-size:var(--font-md);color:var(--foreground);margin-bottom:4px}.mfa-promo-desc{font-size:var(--font-base);color:var(--secondary);margin-bottom:var(--space-3);line-height:1.5}.mfa-promo-actions{align-items:center;gap:var(--space-3);display:flex}.mfa-promo-btn{align-items:center;gap:var(--space-2);border-radius:var(--radius-md,8px);background:var(--primary);color:#fff;font-weight:600;font-size:var(--font-base);cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast);border:none;padding:8px 16px;text-decoration:none;display:inline-flex}.mfa-promo-btn:hover{opacity:.9;transform:translateY(-1px)}.mfa-promo-dismiss{color:var(--secondary);font-size:var(--font-base);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:8px 4px;font-weight:500}.mfa-promo-dismiss:hover{color:var(--foreground)}.mfa-promo-close{color:var(--secondary);cursor:pointer;border-radius:var(--radius-sm,4px);transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:12px;right:12px}.mfa-promo-close:hover{color:var(--foreground);background:var(--card-hover)}@media (max-width:600px){.mfa-promo-banner{gap:var(--space-3);flex-direction:column;padding:16px}.mfa-promo-icon{width:36px;height:36px}.mfa-promo-actions{align-items:flex-start;gap:var(--space-2);flex-direction:column}}.overview-loading{min-height:50vh;color:var(--secondary);font-size:var(--font-md);justify-content:center;align-items:center;display:flex}.skeleton-card{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1rem}.text-right{text-align:right}.text-center{text-align:center}.skeleton-greeting{margin-bottom:var(--space-6)}.skeleton-greeting-sub{margin-top:var(--space-2)}.plaid-reauth-wrap{margin-bottom:var(--space-3)}
