@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";.day-details-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:10000;padding:0;animation:fadeIn .2s ease;overscroll-behavior:contain;touch-action:none}.day-details-modal{background:#f9fafb;border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.32,.72,0,1);box-shadow:0 -4px 30px #0003;touch-action:pan-y;overscroll-behavior:contain}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.day-details-header{padding:12px 20px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#4a7c59,#5b9aab);color:#fff;position:relative}.day-details-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:#ffffff80;border-radius:2px}.day-details-header h3{margin:0;font-size:18px;font-weight:600}.close-button{background:none;border:none;font-size:32px;cursor:pointer;color:#fff;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.close-button:hover{transform:scale(1.2)}.day-details-summary{padding:16px 20px;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f9fafb;border-bottom:2px solid #e5e7eb}.day-details-summary:has(.summary-item:only-of-type){grid-template-columns:1fr}.day-details-summary:has(.summary-item.income):has(.summary-item.balance):not(:has(.summary-item.expense)) .summary-item.income{grid-column:1 / -1}.day-details-summary:has(.summary-item.expense):has(.summary-item.balance):not(:has(.summary-item.income)) .summary-item.expense{grid-column:1 / -1}.summary-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000f;text-align:center}.summary-item.income{background:linear-gradient(135deg,#4a7c5914,#4a7c591f)}.summary-item.expense{background:linear-gradient(135deg,#e87d3e14,#e87d3e1f)}.summary-item.balance{grid-column:1 / -1;padding:20px 16px;background:linear-gradient(135deg,#5b9aab14,#4a7c591f)}.summary-item.balance.negative-bg{background:linear-gradient(135deg,#f4a26114,#e87d3e1f)}.summary-icon{flex-shrink:0}.summary-content{display:flex;flex-direction:column;gap:4px;width:100%}.summary-label{font-size:12px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.summary-amount{font-size:20px;font-weight:700;font-family:Courier New,monospace;color:#1f2937}.summary-amount.positive{color:#4a7c59}.summary-amount.negative{color:#e87d3e}.day-details-transactions{flex:1;overflow-y:auto;padding:16px 20px;background:transparent}.transaction-section{margin-bottom:24px}.transaction-section:last-child{margin-bottom:0}.section-title{font-size:14px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:8px}.section-title.income-title{color:#10b981}.section-title.expense-title{color:#ef4444}.transaction-item{display:flex;align-items:center;gap:12px;padding:12px;background:transparent;border-radius:8px;margin-bottom:8px;border:none;transition:all .2s ease}.transaction-item:hover{background:#ffffff0d}.transaction-item:last-child{margin-bottom:0}.transaction-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;flex-shrink:0}.transaction-details{flex:1;min-width:0}.transaction-title{font-weight:600;color:#1f2937;font-size:14px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-category{font-size:12px;color:#6b7280}.transaction-amount{font-weight:700;font-size:16px;font-family:Courier New,monospace;white-space:nowrap}@media (max-width: 768px){.day-details-overlay{padding:0}.day-details-modal{max-width:100%;width:100%;max-height:85vh;border-radius:16px 16px 0 0;align-self:flex-end;margin:0}.day-details-header{padding:24px 16px 16px}.day-details-header h3{font-size:16px;font-weight:600}.summary-emoji{font-size:20px}.summary-amount{font-size:16px}.transaction-title{font-size:13px}.transaction-amount{font-size:14px}.day-details-summary{padding:12px 16px;gap:10px}.summary-item{padding:14px 10px;gap:6px}.summary-icon{width:24px;height:24px}.summary-label{font-size:11px}.summary-amount{font-size:18px}.summary-item.balance{padding:16px 12px}.day-details-transactions{padding:12px 16px}.close-button{width:28px;height:28px;font-size:28px}}.calendar{background:#f4f4f2;border-radius:16px;padding:var(--space-4) var(--space-4) var(--space-6) var(--space-4);box-shadow:0 4px 20px #1a365d14;width:100%;height:calc(100vh - 120px);min-height:650px;display:flex;flex-direction:column;transition:all .3s ease;position:relative;overflow:visible;box-sizing:border-box}.calendar:hover{box-shadow:0 6px 24px #1a365d1f;transform:translateY(-1px)}.header-right-section{display:flex;align-items:center;gap:var(--space-3);justify-content:flex-end;width:100%}.header-right-controls{display:flex;align-items:center;gap:var(--space-3);justify-content:flex-end}.custom-dropdown{position:relative;display:inline-block}.dropdown-button{padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius);background:#fff;color:var(--navy-primary);font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:var(--space-2)}.dropdown-button:hover{border-color:var(--forest-green);background:var(--hover-bg)}.dropdown-button:focus{outline:none;border-color:var(--forest-green);box-shadow:0 0 0 2px #4a7c5926}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius);box-shadow:0 4px 12px #00000026;z-index:1000;min-width:100%;overflow:hidden}.dropdown-item{padding:var(--space-2) var(--space-3);color:var(--navy-primary);font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.dropdown-item:hover{background:var(--hover-bg);color:var(--forest-green)}.dropdown-item.active{background:#4a7c591a;color:var(--forest-green);font-weight:600}.calendar .view-controls{display:flex;background:none;border-radius:0;padding:var(--space-1);border:none;gap:var(--space-2);box-shadow:none}.calendar .view-controls button{padding:var(--space-2) var(--space-4)!important;border:none!important;background:none!important;border-radius:20px!important;cursor:pointer;font-size:var(--font-size-sm)!important;font-weight:600!important;color:var(--deep-ink)!important;transition:all .2s ease;font-family:var(--font-primary);white-space:nowrap;min-width:80px}.calendar .view-controls button:hover{background:var(--gray-100)!important;transform:translateY(-1px);box-shadow:0 2px 8px #0000000d;color:var(--deep-ink)!important}.calendar .view-controls button.active{color:var(--deep-ink)!important;background:none!important}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-shrink:0;position:relative}.calendar-title{font-size:var(--font-size-4xl);font-weight:600;color:var(--deep-ink);font-family:var(--font-secondary);position:absolute;left:70px;margin:0}.nav-button{padding:var(--space-2) var(--space-4);border:none;background:none;border-radius:20px;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;color:var(--deep-ink);transition:all .2s ease;font-family:var(--font-primary);min-width:80px}.today-button{padding:var(--space-2) var(--space-4);border:none;background:none;border-radius:20px;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;color:var(--deep-ink);transition:all .2s ease;font-family:var(--font-primary);white-space:nowrap;display:flex;align-items:center;justify-content:center;min-width:80px}.add-goal-button{padding:var(--space-3) var(--space-6);border:2px solid var(--forest-green);background:linear-gradient(135deg,var(--forest-green) 0%,var(--warm-teal) 100%);border-radius:0;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:var(--font-accent);box-shadow:0 4px 12px #4a7c594d;white-space:nowrap;display:flex;align-items:center}.add-goal-button:hover{background:linear-gradient(135deg,var(--warm-teal) 0%,var(--forest-green) 100%);border-color:var(--warm-teal);transform:translateY(-2px);box-shadow:0 6px 20px #4a7c5966}.calendar-grid{display:grid;gap:6px;background:transparent;border-radius:0;overflow:visible;flex:1;min-height:0;padding:var(--space-1) var(--space-1) calc(var(--space-4) + 5px) var(--space-1);width:100%;box-sizing:border-box;align-items:stretch}.calendar-grid.month{grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(6,1fr);max-width:100%}.calendar-grid.week{grid-template-columns:1fr;grid-template-rows:repeat(7,minmax(80px,1fr));max-height:calc(100vh - 140px);min-height:560px}.day-header{background:#ecece9;color:var(--deep-ink);padding:var(--space-4);text-align:center;font-weight:600;font-size:var(--font-size-base);border-radius:8px;text-transform:uppercase;font-family:var(--font-secondary);letter-spacing:.5px;box-shadow:0 2px 4px #0000000d}.calendar-day{background:#fff;padding:var(--space-4);cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;overflow:visible;border-radius:10px;border:1px solid var(--gray-200);box-shadow:0 2px 4px #0000000d}.calendar-grid.month .calendar-day{min-height:100px;max-height:140px;height:calc((100vh - 250px) / 6);position:relative;overflow:hidden;box-sizing:border-box}.calendar-grid.week .calendar-day{min-height:60px;flex:1}.calendar-day:hover{background:var(--gray-50);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:var(--gray-300)}.calendar-day.other-month{background:var(--gray-50);color:var(--gray-400);opacity:.7}.calendar-day.today{background:inherit!important;color:inherit!important;border-color:inherit!important}.calendar-day.today:hover{background:inherit!important;color:inherit!important}.calendar-day.income{background:#4a7c5959;border-color:#4a7c5999;box-shadow:inset 0 0 0 1px #4a7c594d}.calendar-day.income:hover{background:#4a7c5973;border-color:#4a7c59b3;box-shadow:inset 0 0 0 1px #4a7c5966}.calendar-day.expense{background:#e87d3e59;border-color:#e87d3e99;box-shadow:inset 0 0 0 1px #e87d3e4d}.calendar-day.expense:hover{background:#e87d3e73;border-color:#e87d3eb3;box-shadow:inset 0 0 0 1px #e87d3e66}.calendar-day.mixed{background:linear-gradient(135deg,#4a7c5959 50%,#e87d3e59 50%);border-color:#96969699;box-shadow:inset 0 0 0 1px #9696964d}.calendar-day.mixed:hover{background:linear-gradient(135deg,#4a7c5973 50%,#e87d3e73 50%);box-shadow:inset 0 0 0 1px #96969666}.day-number{font-size:var(--font-size-base);font-weight:700;margin-bottom:var(--space-2);color:var(--navy-primary);position:relative;z-index:10}.day-name{font-size:var(--font-size-sm);color:var(--gray-600);margin-bottom:var(--space-2);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.day-summary{flex:1;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);margin-bottom:var(--space-2);background:transparent}.daily-net-amount{font-weight:700;font-size:var(--font-size-base);text-align:center;padding:var(--space-2);border:none;background:transparent}.transaction-balance{font-size:var(--font-size-xs);font-weight:600;position:absolute;bottom:var(--space-2);right:var(--space-2);display:flex;flex-direction:column;align-items:flex-end;gap:2px}.transaction-balance .positive{color:#166534}.transaction-balance .negative{color:#991b1b}.balance-income,.balance-expense{line-height:1.2}.income-amount{color:var(--income-green);font-weight:600;font-size:var(--font-size-sm)}.expense-amount{color:var(--expense-red);font-weight:600;font-size:var(--font-size-sm)}.day-header-info{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;flex-shrink:0;position:relative;z-index:10;width:100%}.day-category-icons{display:grid;grid-template-columns:repeat(2,auto);gap:2px;align-items:start;justify-content:end}.day-category-icon{display:flex;align-items:center;justify-content:center;padding:2px;background:#ffffffe6;border-radius:3px;box-shadow:0 1px 3px #0000001a}.day-content{flex:1;display:flex;flex-direction:column;gap:.25rem;overflow:visible}.calendar-grid.month .day-content{min-height:80px}.calendar-grid.week .day-content{min-height:60px}.day-transactions{display:flex;flex-direction:column;gap:.2rem;flex:1;overflow:visible}.calendar-grid.month .day-transactions{max-height:90px}.calendar-grid.week .day-transactions{max-height:none}.transaction-card{display:flex;flex-direction:column;padding:10px;border-radius:0;font-size:14px;margin-bottom:8px;background:#fff;border:2px solid var(--gray-300);cursor:pointer;transition:all .2s ease;position:relative;box-shadow:0 2px 4px #0000001a;min-height:50px}.transaction-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--primary-400)}.transaction-card.income{background:#f0fdf4;border-color:#10b981;border-left:4px solid #10b981}.transaction-card.expense{background:#fef2f2;border-color:#ef4444;border-left:4px solid #ef4444}.transaction-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-1);gap:var(--space-1)}.transaction-card .transaction-title{font-weight:600;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-size:var(--font-size-sm);line-height:1.2}.transaction-card .transaction-amount{font-weight:700;font-size:var(--font-size-sm);white-space:nowrap}.transaction-card.income .transaction-amount{color:var(--success)}.transaction-card.expense .transaction-amount{color:var(--danger)}.transaction-category{font-size:12px;color:var(--gray-600);font-weight:500;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.transaction-card.category-food-dining{border-left-color:#f59e0b}.transaction-card.category-transportation{border-left-color:#3b82f6}.transaction-card.category-shopping{border-left-color:#8b5cf6}.transaction-card.category-entertainment{border-left-color:#ec4899}.transaction-card.category-bills-utilities{border-left-color:#f97316}.transaction-card.category-healthcare{border-left-color:#10b981}.transaction-card.category-salary{border-left-color:#059669}.transaction-card.category-freelance{border-left-color:#0891b2}.transaction-preview{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) var(--space-2);border-radius:0;font-size:var(--font-size-sm);margin-bottom:var(--space-1);background:transparent;border:1px solid var(--gray-200)}.transaction-preview.income{background:var(--success-light);border-color:var(--success)}.transaction-preview.expense{background:var(--danger-light);border-color:var(--danger)}.transaction-preview .transaction-title{font-weight:500;color:var(--gray-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.transaction-preview .transaction-amount{font-weight:600;font-size:var(--font-size-sm)}.transaction-preview.income .transaction-amount{color:var(--success)}.transaction-preview.expense .transaction-amount{color:var(--danger)}.more-transactions{font-size:var(--font-size-sm);color:var(--gray-500);text-align:center;padding:var(--space-1);font-weight:500}.calendar-grid.week .calendar-day{display:flex;flex-direction:row;padding:.75rem;align-items:flex-start}.calendar-grid.week .day-header-info{min-width:70px;flex-shrink:0;margin-bottom:0;flex-direction:column;align-items:flex-start}.calendar-grid.week .day-content{margin-left:.75rem;flex:1;overflow:visible}.calendar-grid.week .day-transactions{flex-direction:row;flex-wrap:wrap;gap:.25rem;overflow:visible}.calendar-grid.week .transaction-card{flex:0 0 auto;min-width:160px;max-width:240px;font-size:14px;padding:10px;margin-bottom:8px;min-height:50px}.calendar-grid.week .transaction-preview{flex:0 0 auto;min-width:140px;max-width:220px;font-size:.75rem}.calendar-grid.week .income-amount{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:500;font-size:var(--font-size-sm);line-height:1.2;background:#4a7c591a;color:var(--forest-green);border:1px solid rgba(74,124,89,.2);width:fit-content;max-width:95%;min-height:20px;pointer-events:auto;box-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px;margin:2px}.calendar-grid.week .expense-amount{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:500;font-size:var(--font-size-sm);line-height:1.2;background:#e87d3e1a;color:var(--warm-orange);border:1px solid rgba(232,125,62,.2);width:fit-content;max-width:95%;min-height:20px;pointer-events:auto;box-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px;margin:2px}.calendar-grid.week .income-amount:hover{background:#4a7c5926;color:var(--forest-green);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.calendar-grid.week .expense-amount:hover{background:#e87d3e26;color:var(--warm-orange);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.calendar-grid.week .day-summary{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:4px;margin-bottom:var(--space-2);background:transparent;border:none;border-radius:0}@media (max-height: 800px){.calendar{padding:1rem}.calendar-header{margin-bottom:.75rem}.calendar-title{font-size:1.5rem}.day-header{padding:.5rem;font-size:.8rem}.calendar-day{padding:.5rem;min-height:100px}.transaction-preview{font-size:.7rem;padding:.2rem .4rem}.transaction-card{font-size:.7rem;padding:.25rem}.transaction-card .transaction-title,.transaction-card .transaction-amount{font-size:.65rem}.transaction-category{font-size:8px}}@media (max-height: 600px){.calendar{padding:.75rem}.calendar-title{font-size:1.3rem}.nav-button,.today-button{padding:.5rem .75rem;font-size:.9rem}.transaction-card{padding:.2rem;margin-bottom:.15rem}.transaction-header{margin-bottom:.1rem}.transaction-card .transaction-title,.transaction-card .transaction-amount{font-size:.6rem}.transaction-category{font-size:7px}}@media (max-width: 480px){.transaction-card{padding:var(--space-1)}.transaction-header{flex-direction:column;align-items:flex-start;gap:.1rem}.calendar-day.other-month .transaction-card{opacity:.6}.more-transactions{font-size:9px;padding:.1rem}}.calendar-grid.month .day-summary{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:absolute;top:50%;left:0;right:0;width:100%;transform:translateY(-50%);pointer-events:none;gap:2px;padding:0;z-index:1;background:transparent;border:none;border-radius:0;margin-bottom:0}.calendar-grid.month .income-amount{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:500;font-size:var(--font-size-sm);line-height:1.2;background:#4a7c591a;color:var(--forest-green);border:1px solid rgba(74,124,89,.2);width:fit-content;max-width:95%;min-height:20px;pointer-events:auto;box-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.calendar-grid.month .expense-amount{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:500;font-size:var(--font-size-sm);line-height:1.2;background:#e87d3e1a;color:var(--warm-orange);border:1px solid rgba(232,125,62,.2);width:fit-content;max-width:95%;min-height:20px;pointer-events:auto;box-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.calendar-grid.month .income-amount:hover{background:#4a7c5926;color:var(--forest-green);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.calendar-grid.month .expense-amount:hover{background:#e87d3e26;color:var(--warm-orange);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.calendar-grid.month .more-transactions{font-size:10px;color:var(--gray-500);text-align:center;font-weight:500;padding:2px 4px;background:transparent;border-radius:0;opacity:.8}.calendar-grid.month .day-header{display:flex;align-items:center;justify-content:center;text-align:center}.calendar-header{display:flex;justify-content:space-between;align-items:center}.calendar-title{text-align:center}.nav-button,.today-button{display:flex;align-items:center;justify-content:center;text-align:center}.calendar-grid.month .income-amount.recurring,.calendar-grid.month .expense-amount.recurring{border:2px dashed rgba(255,255,255,.8);position:relative}.recurring-icon{font-size:8px;margin-right:2px;opacity:.9}@keyframes recurringPulse{0%,to{opacity:1}50%{opacity:.8}}.calendar-grid.month .recurring{animation:recurringPulse 2s ease-in-out infinite}.day-goals{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-1)}.goal-indicator{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:3px 6px;border-radius:0;font-weight:500;font-size:10px;line-height:1.2;background:var(--goal-blue);color:#fff;border:1px solid var(--goal-blue);width:fit-content;max-width:95%;min-height:16px;pointer-events:auto;box-shadow:0 1px 2px #0000001a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-indicator:hover{background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.goal-indicator.clickable{cursor:pointer}.goal-indicator.clickable:hover{background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px) scale(1.05);box-shadow:0 3px 8px #0003}.goal-icon{font-size:8px;margin-right:2px}.goal-name{flex:1;overflow:hidden;text-overflow:ellipsis}.more-goals{font-size:10px;color:var(--primary-600);text-align:center;font-weight:500;padding:2px 4px;background:var(--primary-50);border-radius:0;opacity:.9}.more-goals.clickable{cursor:pointer;transition:all .2s ease}.more-goals.clickable:hover{background:var(--primary-100);transform:translateY(-1px);opacity:1;box-shadow:0 2px 4px #0000001a}.calendar-grid.month .day-goals{position:absolute;bottom:0;left:0;right:0;width:100%;align-items:center;justify-content:center;padding:0 2px 2px;z-index:2;pointer-events:none}.calendar-grid.month .goal-indicator{pointer-events:auto}.timeline-dropdown,.view-dropdown{padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius);background:#fff;color:var(--navy-primary);font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.timeline-dropdown:hover,.view-dropdown:hover{border-color:var(--forest-green);background:var(--hover-bg)}.timeline-dropdown:focus,.view-dropdown:focus{outline:none;border-color:var(--forest-green);box-shadow:0 0 0 2px #4a7c5926}.desktop-dropdown{padding:var(--space-2) var(--space-4);font-size:var(--font-size-base)}.heatmap-placeholder,.no-paycheck-message{display:flex;align-items:center;justify-content:center;min-height:400px;padding:var(--space-6);background:var(--gray-50);border-radius:var(--radius-lg);margin-top:var(--space-4)}.placeholder-content{text-align:center;max-width:500px}.placeholder-content h3{color:var(--navy-primary);font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--space-3);font-family:var(--font-headings)}.placeholder-content p{color:var(--gray-600);font-size:var(--font-size-base);line-height:1.6}.waterfall-container{width:100%;flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#fff;border-radius:var(--radius);margin-top:var(--space-4);min-height:400px}.waterfall-chart{width:100%;height:100%;min-height:400px}.waterfall-label{font-size:2px;fill:var(--navy-primary);font-family:var(--font-primary);font-weight:500}.waterfall-value{font-size:2px;fill:var(--navy-primary);font-family:var(--font-primary);font-weight:600}.heatmap-view .calendar-day{border:1px solid rgba(0,0,0,.05);transition:all .2s ease;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;position:relative;padding:var(--space-2);background:#fff}.heatmap-view .calendar-day:hover{transform:scale(1.05);z-index:10;box-shadow:0 4px 12px #00000026;border-color:var(--navy-primary)}.heatmap-view .day-number{font-size:var(--font-size-sm);font-weight:600;color:var(--navy-primary);position:absolute;top:var(--space-2);left:var(--space-2)}.heatmap-view .heatmap-balance{font-size:var(--font-size-xs);font-weight:600;position:absolute;bottom:var(--space-2);right:var(--space-2)}.heatmap-view .heatmap-balance .positive{color:#166534}.heatmap-view .heatmap-balance .negative{color:#991b1b}.heatmap-view .calendar-day.other-month{opacity:.3}.heatmap-view .calendar-day.other-month .day-number{color:var(--gray-400)}.add-budget-fab{position:absolute;bottom:calc(var(--space-4) + 12px);right:calc(var(--space-4) + 8px);width:84px;height:84px;background:#2c8ee8;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff;font-weight:600;box-shadow:0 4px 12px #2c8ee84d;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:100}.add-budget-fab:hover{background:#2173be;transform:translateY(-2px);box-shadow:0 6px 16px #2173be66}.add-budget-fab:active{transform:translateY(0);box-shadow:0 4px 12px #2c8ee84d}.mobile-header-row,.mobile-controls-row{display:none}.desktop-header-layout{position:relative;display:flex;align-items:center;width:100%}.header-left-section{position:absolute;left:0;display:flex;align-items:center}.desktop-calendar-title{font-size:var(--font-size-4xl);font-weight:600;color:var(--deep-ink);font-family:var(--font-secondary);margin:0;letter-spacing:-.01em}.desktop-nav-arrows{display:flex;align-items:center;gap:var(--space-2)}.desktop-nav-button{background:none;border:none;color:var(--deep-ink);cursor:pointer;font-size:var(--font-size-lg);font-weight:700;transition:all .2s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-family:var(--font-primary);border-radius:6px}.mobile-right-controls{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0;max-width:50%}.mobile-nav-group{display:flex;align-items:center;gap:2px;flex-shrink:0}.mobile-nav-button{width:28px;height:28px;font-size:var(--font-size-sm);border-radius:4px}.mobile-add-transaction-btn{background:#2c8ee8;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:var(--font-size-base);font-weight:700;transition:all .2s ease;width:24px;height:28px;display:flex;align-items:center;justify-content:center;font-family:var(--font-primary);box-shadow:0 2px 8px #2c8ee84d}.mobile-add-transaction-btn:hover{background:#2173be;transform:translateY(-1px);box-shadow:0 4px 12px #2173be66}.mobile-add-transaction{display:none}.desktop-only{display:block}@media (max-width: 768px){.mobile-month-summary{display:block!important;margin-bottom:16px}.mobile-month-summary .summary-cards-grid{display:none!important}.summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0}.summary-month{font-size:18px!important;font-weight:700!important;color:#1a1a1a!important;margin:0;text-align:left!important;font-family:var(--font-primary)!important}.nav-buttons{display:flex;gap:8px}.summary-nav-btn{width:32px;height:32px;border:none;background:#f0f0f0;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .2s;color:#374151;line-height:1}.summary-nav-btn:hover,.summary-nav-btn:active{background:#e0e0e0}.summary-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary-card{padding:12px;border-radius:10px;text-align:center}.summary-card.income-card{background:#dcfce7}.summary-card.expense-card{background:#ffedd5}.summary-card.balance-card{background:#e0e7ff}.summary-card.balance-card.negative{background:#fee2e2}.summary-label{font-size:11px;color:#666;font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.summary-amount{font-size:18px;font-weight:700;color:#1a1a1a;font-family:Courier New,monospace}.summary-amount.positive{color:#16a34a}.summary-amount.negative{color:#dc2626}.hide-dollar-on-mobile{display:inline}.calendar{padding:0!important;height:auto!important;min-height:0!important;display:flex;flex-direction:column;background:transparent;overflow:visible;width:100%;box-sizing:border-box;border-radius:0;box-shadow:none}.calendar:hover{transform:none;box-shadow:none;background:transparent}.calendar-header{flex-direction:column;gap:6px;margin-bottom:4px!important;width:100%;box-sizing:border-box}.mobile-header-row{display:none}.mobile-controls-row{display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;padding:0}.desktop-header-layout{display:none}.mobile-view-toggle{display:flex;gap:8px;flex-shrink:1;min-width:0;width:100%}.mobile-view-toggle .custom-dropdown{flex:1;min-width:0}.mobile-view-toggle .dropdown-button{width:100%;padding:8px 10px;font-size:.75rem;font-weight:600;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#1f2937;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:6px}.mobile-view-toggle .dropdown-button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.mobile-view-toggle .dropdown-chevron{flex-shrink:0;transition:transform .2s ease;color:#6b7280}.mobile-view-toggle .dropdown-chevron.open{transform:rotate(180deg)}.mobile-view-toggle .dropdown-button:active{background:#f3f4f6;border-color:#4a7c59}.mobile-view-toggle .dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:2000;min-width:120px;max-height:200px;overflow-y:auto}.mobile-view-toggle .dropdown-item{padding:10px 12px;font-size:.8rem;font-weight:500;color:#1f2937;cursor:pointer;transition:all .15s ease;min-height:40px;display:flex;align-items:center}.mobile-view-toggle .dropdown-item:active{background:#f3f4f6}.mobile-view-toggle .dropdown-item.active{background:#4a7c591a;color:#4a7c59;font-weight:600}.mobile-view-toggle button{padding:var(--space-2) var(--space-4);border:none;background:transparent;color:var(--deep-ink);border-radius:6px;cursor:pointer;font-weight:500;font-size:var(--font-size-sm);transition:all .2s ease;font-family:var(--font-primary);min-height:44px}.mobile-view-toggle button.active{background:#fff;color:var(--navy-primary);font-weight:600;box-shadow:0 1px 3px #0000001a}.calendar-title,.nav-button,.today-button,.mobile-nav-group{display:none}.calendar-grid.month{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(6,auto);gap:2px!important;margin:0!important;width:100%;max-width:100%;box-sizing:border-box;background:transparent;padding:0!important;height:auto;align-content:start;overflow:visible}.calendar-grid{padding:0!important;margin:0!important}.calendar-grid.week{display:flex;flex-direction:column;overflow-x:hidden;gap:4px;padding:0;width:100%;height:100%}.calendar-grid.week .calendar-day{width:100%;flex:1 1 0;min-height:0;display:flex;flex-direction:row;align-items:center;padding:8px;gap:12px}.day-header{padding:4px 1px;text-align:center;font-weight:600;color:#64748b;font-size:.6rem;background:#f8fafc;box-sizing:border-box;display:flex;align-items:center;justify-content:center;height:22px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.calendar-day{aspect-ratio:1 / 1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;border-radius:4px;cursor:pointer;transition:all .2s ease;position:relative;font-weight:600;background:#fff;border:1px solid #e2e8f0;padding:3px;font-size:.7rem;box-sizing:border-box;width:100%!important;height:auto!important;overflow:hidden;box-shadow:0 1px 2px #0000000d;max-width:100%}.calendar-grid.month .calendar-day{aspect-ratio:1 / 1!important;min-height:unset!important;max-height:unset!important;height:auto!important;position:relative!important;overflow:hidden!important}.calendar-day:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.calendar-day.today{background:inherit!important;color:inherit!important;border-color:inherit!important}.calendar-day.today .day-number{color:inherit!important}.calendar-day.income{background:linear-gradient(135deg,#4a7c5926,#4a7c5940);border-color:#4a7c5980;border-width:2px}.calendar-day.income .day-number{color:#166534}.calendar-day.expense{background:linear-gradient(135deg,#e87d3e26,#e87d3e40);border-color:#e87d3e80;border-width:2px}.calendar-day.expense .day-number{color:#9a3412}.calendar-day.mixed{background:linear-gradient(135deg,#4a7c5940,#4a7c5940 45%,#e87d3e40 55%,#e87d3e40);border:2px solid;border-image:linear-gradient(135deg,#4a7c5999,#e87d3e99) 1}.calendar-day.mixed .day-number{color:#1f2937}.calendar-day.neutral{background:#fff}.calendar-day.neutral .day-number{color:#1f2937}.calendar-day.other-month{background:#f1f5f9;border-color:#e2e8f0;opacity:.5}.calendar-day.other-month .day-number{color:#94a3b8}.day-number{font-size:.7rem;font-weight:700;line-height:1;color:#1f2937;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;z-index:2!important;margin:0!important}.calendar-grid.month .calendar-day .day-number{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.calendar-day .day-header-info{display:block;width:100%;height:100%;position:relative;margin:0;padding:0}.calendar-day .day-category-icons{display:flex;align-items:center;justify-content:center;gap:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.calendar-day .day-category-icon{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border-radius:0;box-shadow:none;font-size:1.2rem}.calendar-day .day-category-icon:first-child{display:flex}.calendar-day .day-category-icon:not(:first-child){display:none}.calendar-day .day-category-icons:after{content:"";position:absolute;bottom:-2px;right:-2px;width:6px;height:6px;background:#3b82f6;border-radius:50%;border:1px solid white;display:none}.calendar-day .day-category-icons.has-multiple:after{display:block}.add-budget-fab.desktop-only{display:none}.mobile-add-transaction{display:block;text-align:center;flex-shrink:0}.day-content,.calendar-grid.month .day-summary,.calendar-grid.week .day-summary,.calendar-grid.month .income-amount,.calendar-grid.month .expense-amount,.calendar-grid.week .income-amount,.calendar-grid.week .expense-amount,.transaction-balance{display:none!important}}@media (max-width: 480px){.calendar{padding:6px}.calendar-grid.month{gap:3px;padding:2px}.day-header{height:24px;font-size:.65rem;padding:4px 2px}.calendar-day{aspect-ratio:1;padding:2px;border-radius:6px}.day-number{font-size:.85rem}.calendar-title{font-size:var(--font-size-lg)}.nav-button{min-width:40px;min-height:40px;padding:var(--space-2)}.today-button{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0}.mobile-view-toggle button{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);min-height:40px}.calendar-grid.week .calendar-day{width:100%;flex:1 1 0;min-height:0;display:flex;flex-direction:row;align-items:center;padding:8px;gap:12px}}@media (max-width: 320px){.mobile-controls-row{flex-direction:column;gap:var(--space-2)}.mobile-view-toggle{width:100%;justify-content:center}.calendar-grid.week .calendar-day{width:100%;flex:1 1 0;min-height:0;display:flex;flex-direction:row;align-items:center;padding:6px;gap:8px}}.flow-view-toggle{display:flex;gap:var(--space-2)}.view-toggle-container{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.toggle-option{color:#6b7280;font-size:14px;font-weight:500;transition:color .2s ease;-webkit-user-select:none;user-select:none}.toggle-option.active{color:#1e3a5f;font-weight:600}.toggle-switch{width:44px;height:24px;background:#e5e7eb;border-radius:12px;position:relative;cursor:pointer;transition:background .2s ease}.toggle-switch:hover{background:#d1d5db}.toggle-slider{width:20px;height:20px;background:#fff;border-radius:10px;position:absolute;top:2px;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.toggle-slider.transaction{left:2px}.toggle-slider.flow{left:22px;background:var(--deep-ink)}.calendar-day.flow-view{background:#fff;border-radius:8px;border:1px solid var(--gray-200);box-shadow:0 2px 4px #0000000d;position:relative;overflow:hidden;transition:all .3s ease}.calendar-day.flow-view:hover{background:var(--gray-50);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:var(--gray-300)}.calendar-day.flow-view.other-month{background:var(--gray-50);color:var(--gray-400);opacity:.7}.flow-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--space-2);color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3);position:relative;z-index:1}.flow-info{text-align:center}.flow-percentage{font-size:var(--font-size-lg);font-weight:700;line-height:1;margin-bottom:var(--space-1);font-family:var(--font-accent)}.flow-amount{font-size:var(--font-size-sm);font-weight:500;opacity:.9;font-family:var(--font-primary)}.flow-message{text-align:center}.flow-message span{font-size:var(--font-size-xs);font-weight:500;color:#6b7280;text-shadow:none;padding:var(--space-1) var(--space-2);background:#ffffffe6;border-radius:var(--radius-sm);font-family:var(--font-primary)}.calendar-day.flow-view .day-number{position:relative;z-index:2;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.3);color:#1a365d}.flow-amount-top{position:absolute!important;left:50%!important;transform:translate(-50%,-50%)!important;z-index:2!important;font-size:var(--font-size-lg)!important;font-weight:700!important;font-family:var(--font-mono)!important;text-align:center!important;display:flex!important;justify-content:center!important;align-items:center!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;box-sizing:border-box!important;transition:all .3s ease!important}.flow-amount-top.positive{color:#1a365d!important}.flow-amount-top.negative{color:var(--warm-orange)!important}.flow-amount-top.above-fill{text-shadow:1px 1px 2px rgba(255,255,255,.8)!important}.flow-amount-top.overlay.positive,.flow-amount-top.overlay.negative{color:#fffffff2!important;text-shadow:1px 1px 3px rgba(0,0,0,.3)!important}.calendar-day.flow-before-paycheck .day-number,.calendar-day.flow-no-paycheck .day-number{color:#374151;text-shadow:none}.flow-chart-container{flex:1;width:100%;padding:0;margin:0;background:transparent;display:flex;align-items:stretch;justify-content:stretch;min-height:0;box-sizing:border-box;position:relative}.balance-chart{width:100%;height:100%;max-width:100%;overflow:visible;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;border:1px solid var(--gray-200);box-sizing:border-box}.grid-line{stroke:#e5e7eb;stroke-width:.3;opacity:.6}.zero-line{stroke:#9ca3af;stroke-width:.6;stroke-dasharray:2,2;opacity:.8}.balance-line{fill:none;stroke:#4a7c59;stroke-width:.4;stroke-linecap:round;stroke-linejoin:round}.data-point{fill:#4a7c59;stroke:#fff;stroke-width:.5;transition:all .2s ease}.data-point:hover{r:2;fill:#3d6649}.axis-label{font-family:var(--font-primary);font-size:3px;font-weight:500;fill:var(--soft-gray)}.y-label{font-family:var(--font-mono);font-size:3px;font-weight:500}.x-label{font-family:var(--font-primary);font-size:2.5px;font-weight:500}.no-data-message{font-size:var(--font-size-lg);color:var(--gray-500);text-align:center;padding:var(--space-8);font-family:var(--font-primary)}@media (max-width: 768px){.flow-btn{padding:var(--space-1) var(--space-3)!important;font-size:var(--font-size-xs)!important}.flow-percentage{font-size:var(--font-size-base)}.flow-amount{font-size:var(--font-size-xs)}.mobile-view-toggle .view-toggle-container{flex:1;min-width:0;justify-content:center}.flow-chart-container{padding:0;min-height:0}.balance-chart{border-radius:6px;max-width:100%}.axis-label{font-size:2.5px}.y-label{font-family:var(--font-mono);font-size:2.5px}.x-label{font-family:var(--font-primary);font-size:2px}}.flow-chart-tooltip,.calendar-tile-tooltip{background:#fff;border:1px solid var(--gray-300);border-radius:6px;padding:12px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:200px;max-width:250px;font-family:var(--font-primary);animation:tooltipFadeIn .15s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tooltip-header{font-size:var(--font-size-sm);color:var(--deep-ink);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--gray-200)}.tooltip-balance{font-size:var(--font-size-sm);color:var(--gray-600);margin-top:8px;padding-top:8px;border-top:1px solid var(--gray-200);font-family:var(--font-mono)}.tooltip-balance span{font-weight:700;color:var(--navy-primary);font-size:var(--font-size-base)}.tooltip-transactions{margin-top:0;padding-top:0;border-top:none}.tooltip-transactions-title{font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:600}.tooltip-transaction{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);margin-bottom:4px;padding:4px 0}.tooltip-transaction-title{color:var(--gray-700);flex:1;margin-right:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooltip-transaction-amount{font-weight:700;font-family:var(--font-mono);font-size:var(--font-size-sm)}.tooltip-transaction.income .tooltip-transaction-amount{color:var(--forest-green)}.tooltip-transaction.expense .tooltip-transaction-amount{color:var(--warm-orange)}.tooltip-more{font-size:11px;color:var(--gray-500);margin-top:4px;text-align:center;font-style:italic}@media (max-width: 768px){.desktop-only-tooltip{display:none!important}.calendar-grid.week .calendar-day{position:relative!important}.calendar-grid.week .calendar-day .day-header-info{position:static!important;display:block!important;width:100%!important;height:0!important;padding:0!important;margin:0!important}.calendar-grid.week .calendar-day .day-number{position:absolute!important;top:6px!important;left:8px!important;font-size:1.5rem!important;font-weight:700!important;margin:0!important;padding:0!important;z-index:2!important;line-height:1!important}.calendar-grid.week .calendar-day .day-name{position:absolute!important;top:6px!important;right:8px!important;padding:4px 8px!important;background:#ffffffe6!important;border-radius:4px!important;font-size:.7rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin:0!important;z-index:2!important;line-height:1!important}.calendar-grid.week .day-content{flex:1;display:flex;flex-direction:column;gap:4px;overflow:hidden;padding-top:40px}.calendar-grid.week .day-transactions{display:flex;flex-direction:column;gap:2px;overflow:visible}.calendar{background:#fff!important;border-radius:16px!important;padding:20px!important;box-shadow:none!important}.calendar-grid.month{gap:4px!important;padding:0!important}.calendar-grid.month .day-header{background:transparent!important;box-shadow:none!important;padding:8px 0!important;font-size:12px!important;font-weight:600!important;color:#999!important;border-radius:0!important;text-transform:capitalize!important}.day-header{font-size:12px!important;text-align:center!important}.calendar-header .header-right-section,.calendar-header .mobile-controls-row,.calendar-header .mobile-view-toggle,.calendar-header .mobile-header-row,.calendar-header{display:none!important}.calendar-legend{display:flex;gap:16px;justify-content:center;margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#666}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.income{background:#22c55e}.legend-dot.expense{background:#f97316}}@media (min-width: 769px){.desktop-budget-section .overview-sidebar{height:calc(100vh - 82px - 3rem)!important}.desktop-budget-section .calendar{height:calc(100vh - 82px - 3rem)!important;min-height:calc(100vh - 82px - 3rem)!important;max-height:calc(100vh - 82px - 3rem)!important;box-sizing:border-box!important;background:#fff!important}.desktop-budget-section .calendar-day.today{background:#fff!important;color:var(--charcoal)!important;border-color:var(--gray-300)!important}.desktop-budget-section .calendar-day[style*="3b82f6"],.desktop-budget-section .calendar-day[style*="2563eb"],.calendar-day[style*="3b82f6"],.calendar-day[style*="2563eb"]{background:#fff!important}}.icon-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.icon-picker-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.icon-picker-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--gray-200)}.icon-picker-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--navy-primary);font-family:var(--font-primary)}.icon-picker-close{background:none;border:none;cursor:pointer;color:var(--gray-600);padding:.5rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.icon-picker-close:hover{background:var(--gray-100);color:var(--navy-primary)}.icon-picker-color-section{padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200)}.color-section-label{display:block;font-size:.875rem;font-weight:600;color:var(--navy-primary);margin-bottom:.75rem;font-family:var(--font-primary)}.color-picker-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.color-picker-swatch{width:100%;aspect-ratio:1;min-width:28px;min-height:28px;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s ease;padding:0;box-sizing:border-box}.color-picker-swatch:hover{transform:scale(1.1);border-color:var(--gray-400);box-shadow:0 2px 8px #00000026}.color-picker-swatch.selected{border-color:var(--navy-primary);box-shadow:0 0 0 3px #1a365d33;transform:scale(1.05)}.icon-picker-search{position:relative;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200)}.icon-picker-search .search-icon{position:absolute;left:2rem;top:50%;transform:translateY(-50%);color:var(--gray-500);pointer-events:none}.icon-picker-search input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--gray-200);border-radius:8px;font-size:.9375rem;font-family:var(--font-primary);transition:border-color .2s ease}.icon-picker-search input:focus{outline:none;border-color:var(--forest-green);box-shadow:0 0 0 3px #4a7c591a}.icon-picker-grid{padding:1.5rem;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;max-height:50vh}.icon-picker-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;border:2px solid var(--gray-200);border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;gap:.5rem;min-height:100px}.icon-picker-item:hover{border-color:var(--forest-green);background:#4a7c590d;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.icon-picker-item.selected{border-color:var(--forest-green);background:#4a7c591a;box-shadow:0 0 0 3px #4a7c591a}.icon-picker-item svg{color:var(--navy-primary);flex-shrink:0}.icon-picker-item.selected svg{color:var(--forest-green)}.icon-picker-item .icon-name{font-size:.625rem;color:var(--gray-600);text-align:center;word-break:break-word;font-family:var(--font-primary);line-height:1.2}.icon-picker-item.selected .icon-name{color:var(--forest-green);font-weight:600}.icon-picker-empty{grid-column:1 / -1;text-align:center;padding:3rem 1rem;color:var(--gray-500)}.icon-picker-empty p{font-size:1.125rem;font-weight:600;margin:0 0 .5rem;color:var(--gray-700);font-family:var(--font-primary)}.icon-picker-empty span{font-size:.875rem;font-family:var(--font-primary)}@media (max-width: 768px){.icon-picker-modal{width:95%;max-height:85vh}.color-picker-grid{grid-template-columns:repeat(7,1fr)}.icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;padding:1rem}.icon-picker-item{padding:.75rem;min-height:80px}.icon-picker-item svg{width:20px;height:20px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#ecece9;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:modalSlideUp .3s ease-out;box-shadow:var(--shadow-lg)}.modal-content::-webkit-scrollbar{display:none}.modal-content{-ms-overflow-style:none;scrollbar-width:none}.modal-slide-container{position:relative;overflow:hidden;border-radius:12px}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.slide-in-from-right{animation:slideInFromRight .3s ease-out}.slide-in-from-left{animation:slideInFromLeft .3s ease-out}.add-goal-button{background:#2c8ee8;color:#fff;border:none;padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);width:200px;text-align:center;display:flex;align-items:center;justify-content:center}.add-goal-button:hover{background:#2173be;transform:translateY(-1px);box-shadow:0 4px 12px #f4a2614d}.date-picker{padding:var(--space-3);border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius);color:var(--gray-900);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.date-picker:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #8fd14e1a}.modal-body{padding:var(--space-6)}.recurring-section{margin-top:var(--space-6)}.day-summary{background:#f4f4f2;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.summary-item{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center;font-weight:500;font-size:var(--font-size-base);color:var(--gray-700);width:100%}.summary-item .label{color:var(--gray-900);font-weight:500}.summary-item .amount{font-weight:600;font-family:var(--font-mono)}.summary-item:last-child{border-top:1px solid var(--gray-200);padding-top:var(--space-3);margin-top:var(--space-2);font-weight:700;font-size:var(--font-size-lg)}.summary-item:last-child .label{font-weight:700}.summary-item:last-child .amount{font-weight:700}.summary-item.income{color:var(--forest-green)}.summary-item.expense{color:var(--warm-orange)}.summary-item.net.positive{color:var(--forest-green)}.summary-item.net.negative{color:var(--warm-orange)}.transaction-form{background:#f4f4f2;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.header-controls{display:flex;align-items:center;gap:var(--space-3)}.modal-toggle{display:flex;background:transparent;border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-300)}.toggle-btn{background:transparent;color:var(--gray-700);border:none;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.toggle-btn:hover:not(.active){color:var(--gray-900);background:var(--gray-100)}.toggle-btn.active{background:var(--forest-green);color:#fff;font-weight:600}.toggle-btn:disabled{opacity:.6;cursor:not-allowed}.transaction-form h3{margin:0;color:var(--gray-900);font-weight:700;font-size:var(--font-size-xl)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:500;color:var(--gray-700);font-size:var(--font-size-sm)}.type-buttons{display:flex;gap:var(--space-2);background:var(--gray-100);padding:var(--space-1);border-radius:var(--radius-lg)}.type-buttons button{flex:1;padding:var(--space-3) var(--space-4);border:none;background:transparent;border-radius:var(--radius);cursor:pointer;font-weight:500;color:var(--gray-600);transition:all .2s ease;font-family:var(--font-family);font-size:var(--font-size-sm)}.type-buttons button:hover{color:var(--gray-700);background:var(--gray-200)}.type-buttons button.active.income{background:var(--forest-green);color:#fff;box-shadow:var(--shadow-sm)}.type-buttons button.active.expense{background:var(--warm-orange);color:#fff;box-shadow:var(--shadow-sm)}.form-group input,.form-group select{width:100%;padding:var(--space-3);border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius);font-size:var(--font-size-base);color:var(--gray-900);font-weight:400;transition:all .2s ease;font-family:var(--font-family)}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-outer-spin-button,.form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-group input::placeholder{color:var(--gray-400)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #8fd14e1a}.custom-category-input input{flex:1;padding:var(--space-3);border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius);font-size:var(--font-size-sm);transition:all .2s ease}.custom-category-input input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #8fd14e1a}.save-category-btn,.cancel-category-btn{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.save-category-btn:hover{background:#2d5f47;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.cancel-category-btn{background:var(--gray-300);color:var(--gray-700)}.cancel-category-btn:hover{background:var(--gray-400)}.category-select-wrapper{width:100%}.manage-categories-btn{padding:var(--space-2) var(--space-3);background:var(--gray-200);border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;font-size:var(--font-size-base);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.manage-categories-btn:hover{background:var(--gray-300);transform:translateY(-1px)}.category-manager-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.category-manager-modal{background:#ecece9;border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;box-shadow:var(--shadow-xl);animation:modalSlideUp .3s ease-out}.category-manager-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--gray-300)}.category-manager-header h3{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--deep-ink)}.close-category-manager{background:none;border:none;font-size:2rem;color:var(--gray-600);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:var(--radius);line-height:1}.close-category-manager:hover{background:var(--gray-200);color:var(--deep-ink)}.category-manager-body{padding:var(--space-4);max-height:calc(80vh - 80px);overflow-y:auto}.no-custom-categories{text-align:center;color:var(--gray-500);padding:var(--space-8);margin:0}.custom-categories-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.custom-category-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius);transition:all .2s ease}.custom-category-item:hover{border-color:var(--gray-400);box-shadow:var(--shadow-sm)}.category-name{font-weight:500;color:var(--deep-ink);flex:1}.category-actions{display:flex;gap:var(--space-2)}.edit-category-btn,.delete-category-btn{background:none;border:none;cursor:pointer;font-size:var(--font-size-lg);padding:var(--space-1);transition:transform .2s ease}.edit-category-btn:hover,.delete-category-btn:hover{transform:scale(1.2)}.edit-category-input{flex:1;padding:var(--space-2);border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius);font-size:var(--font-size-sm)}.edit-category-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #8fd14e1a}.save-edit-btn,.cancel-edit-btn{padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.save-edit-btn:hover{background:#2d5f47;transform:translateY(-1px)}.cancel-edit-btn{background:var(--gray-300);color:var(--gray-700)}.cancel-edit-btn:hover{background:var(--gray-400)}.submit-button{width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.submit-button.income{background:var(--forest-green);color:#fff}.submit-button.expense{background:var(--warm-orange);color:#fff}.submit-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.submit-button:disabled{opacity:.5;cursor:not-allowed;background:var(--gray-400)}.submit-button:disabled:hover{transform:none;box-shadow:none}.custom-category-reminder{background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius);padding:var(--space-3);margin:var(--space-3) 0;color:#856404;font-size:var(--font-size-sm);text-align:center;font-weight:500;animation:slideDown .3s ease-out}.form-buttons{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.form-buttons .submit-button{width:200px;background:#2c8ee8;color:#fff;border:none}.form-buttons .submit-button:hover{background:#2173be;transform:translateY(-1px);box-shadow:0 4px 12px #2c8ee84d}.transactions-list{border-top:1px solid var(--gray-200);padding-top:var(--space-6)}.transactions-list h3{margin:0 0 var(--space-4) 0;color:var(--gray-900);font-weight:700;font-size:var(--font-size-xl)}.transaction-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:#f4f4f2;border:1px solid var(--gray-200);border-radius:var(--radius-lg);margin-bottom:var(--space-3);transition:all .2s ease;box-shadow:var(--shadow-sm)}.transaction-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--gray-300)}.transaction-item.income,.transaction-item.expense{border-left:none}.transaction-info{flex:1}.transaction-title{font-weight:600;color:var(--gray-900);margin-bottom:var(--space-1);font-size:var(--font-size-base)}.transaction-category{font-size:var(--font-size-sm);color:var(--gray-500);font-weight:400}.transaction-amount{font-weight:700;font-size:var(--font-size-lg);color:var(--gray-900)}.transaction-item.income .transaction-amount{color:var(--forest-green)}.transaction-item.expense .transaction-amount{color:var(--warm-orange)}.delete-button{padding:var(--space-2) var(--space-3);background:transparent;color:var(--gray-700);border:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:all .2s ease;font-family:var(--font-family);min-width:60px}.delete-button:hover{color:var(--error-red);text-decoration:underline}.hide-button{padding:var(--space-2) var(--space-3);background:transparent;color:var(--gray-700);border:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:all .2s ease;font-family:var(--font-family);min-width:60px}.hide-button:hover{color:var(--navy-primary);text-decoration:underline}.hide-button.is-hidden{color:#38a169}.hide-button.is-hidden:hover{color:#2f8a5a;text-decoration:underline}.transaction-item.hidden{opacity:.5;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.02) 10px,rgba(0,0,0,.02) 20px)}.recurring-checkbox{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.recurring-checkbox input[type=checkbox]{width:auto;margin:0;cursor:pointer}.recurring-checkbox label{margin:0;cursor:pointer;font-weight:500;color:var(--gray-700)}.recurring-tooltip{font-size:var(--font-size-xs);color:var(--gray-500);font-style:italic;margin-left:var(--space-2)}.recurring-options{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-4);animation:slideDown .2s ease-out}.recurring-options.header-recurring{background:var(--primary-50);border:1px solid var(--primary-200);margin-top:var(--space-3);margin-bottom:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.recurring-preview{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius);padding:var(--space-3);margin-top:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.preview-label{font-size:var(--font-size-sm);color:var(--gray-600);font-weight:500}.preview-date{font-size:var(--font-size-sm);color:var(--primary-700);font-weight:600}.recurring-indicator{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--primary-600);font-weight:500;background:var(--primary-50);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--primary-200)}.recurring-indicator:before{content:"🔄";font-size:10px}.recurring-frequency{color:var(--primary-600);font-weight:500;margin-left:var(--space-2)}.transaction-item.recurring{border-left:none;background:linear-gradient(135deg,var(--primary-50) 0%,transparent 100%)}.transaction-item.recurring.income{border-left:none;background:linear-gradient(135deg,var(--forest-green) 0%,rgba(74,124,89,.1) 30%,transparent 100%)}.transaction-item.recurring.expense{border-left:none;background:linear-gradient(135deg,var(--warm-orange) 0%,rgba(232,125,62,.1) 30%,transparent 100%)}.edit-buttons{display:flex;gap:var(--space-2)}.edit-buttons .submit-button{flex:1}.cancel-button{padding:var(--space-3) var(--space-4);border:none;background:transparent;cursor:pointer;font-size:var(--font-size-base);font-weight:500;color:var(--gray-700);transition:all .2s ease;font-family:var(--font-family)}.cancel-button:hover{color:var(--navy-primary);text-decoration:underline}.transaction-actions{display:flex;gap:0;align-items:center}.action-separator{color:var(--gray-400);font-weight:300;padding:0 var(--space-2);-webkit-user-select:none;user-select:none}.edit-button{padding:var(--space-2) var(--space-3);background:transparent!important;color:var(--gray-700)!important;border:none!important;border-radius:0!important;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:all .2s ease;font-family:var(--font-family);min-width:60px;box-shadow:none!important}.edit-button:hover{background:transparent!important;color:var(--navy-primary)!important;text-decoration:underline;transform:none!important;box-shadow:none!important}.transaction-actions .edit-button,.transactions-list .edit-button{padding:var(--space-2) var(--space-3)!important;background:transparent!important;color:var(--gray-700)!important;border:none!important;border-radius:0!important;cursor:pointer!important;font-size:var(--font-size-sm)!important;font-weight:500!important;min-width:60px!important;box-shadow:none!important}.transaction-actions .edit-button:hover,.transactions-list .edit-button:hover{background:transparent!important;color:var(--navy-primary)!important;text-decoration:underline!important;transform:none!important;box-shadow:none!important}.transaction-item{position:relative}.goal-allocations-section{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4)}.goal-allocations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.goal-allocations-header label{font-weight:600;color:var(--gray-900);font-size:var(--font-size-base)}.add-goal-btn{background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.add-goal-btn:hover:not(:disabled){background:var(--primary-600);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.add-goal-btn:disabled{background:var(--gray-300);cursor:not-allowed;opacity:.6}.goal-allocation-item{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-3);background:#fff;border-radius:var(--radius);border:1px solid var(--primary-200)}.goal-select{flex:2;padding:var(--space-2);border:1px solid var(--gray-300);border-radius:var(--radius);font-size:var(--font-size-sm);color:var(--gray-900);background:#fff;font-family:var(--font-family)}.goal-select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #8fd14e1a}.goal-amount-input{flex:1;padding:var(--space-2);border:1px solid var(--gray-300);border-radius:var(--radius);font-size:var(--font-size-sm);color:var(--gray-900);background:#fff;font-family:var(--font-family)}.goal-amount-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #8fd14e1a}.remove-goal-btn{background:var(--danger);color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-lg);font-weight:600;transition:all .2s ease}.remove-goal-btn:hover{background:var(--danger-600);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.allocation-summary{background:#fff;border:1px solid var(--primary-200);border-radius:var(--radius);padding:var(--space-3);margin-top:var(--space-3)}.allocation-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.allocation-row:last-child{margin-bottom:0}.allocated-amount{font-weight:600;color:var(--primary-600)}.remaining-amount{font-weight:600}.remaining-amount.positive{color:var(--success)}.remaining-amount.negative{color:var(--danger)}.allocation-warning{background:var(--danger-light);color:var(--danger);padding:var(--space-2);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;text-align:center;border:1px solid var(--danger);margin-top:var(--space-2)}.category-icon-grid-wrapper{display:flex;flex-direction:column;gap:var(--space-3)}.category-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2);max-height:300px;overflow-y:auto;padding:var(--space-2);background:#fff;border-radius:var(--radius);border:1px solid var(--gray-200)}.category-icon-button{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);border:2px solid var(--gray-300);border-radius:var(--radius);background:transparent;cursor:pointer;transition:all .2s ease;font-family:var(--font-family);min-height:70px}.category-icon-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.category-icon-button.selected{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-width:2px}.category-icon-label{font-size:var(--font-size-xs);font-weight:500;text-align:center;color:var(--gray-700);line-height:1.2}.add-custom-category-btn{padding:var(--space-2) var(--space-3);background:var(--blue-secondary);color:#fff;border:none;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.add-custom-category-btn:hover{background:var(--navy-primary);transform:translateY(-1px)}.custom-category-input{display:flex;gap:var(--space-2);align-items:center}.icon-select-button{width:50px;height:50px;padding:var(--space-2);display:flex;align-items:center;justify-content:center;border:2px solid var(--gray-300);border-radius:var(--radius);background:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.icon-select-button:hover{border-color:var(--forest-green);background:#4a7c590d}.icon-select-button svg{color:var(--navy-primary)}.category-icon-inline{margin-right:var(--space-2);vertical-align:middle;color:var(--gray-600)}.color-picker-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.color-picker-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;padding:var(--space-2);background:#fff;border-radius:var(--radius);border:1px solid var(--gray-200)}.color-picker-swatch{width:28px;height:28px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:all .2s ease;padding:0}.color-picker-swatch:hover{transform:scale(1.15);box-shadow:0 2px 8px #0003}.color-picker-swatch.selected{border-color:var(--navy-primary);box-shadow:0 0 0 3px #1a365d33;transform:scale(1.1)}@media (max-width: 768px){.color-picker-grid{grid-template-columns:repeat(7,1fr)}.color-picker-swatch{width:24px;height:24px}}.custom-category-input input[type=text]:not(.emoji-input){flex:1;padding:var(--space-2);border:1px solid var(--gray-300);border-radius:var(--radius);font-size:var(--font-size-base);font-family:var(--font-family)}.save-category-btn,.cancel-category-btn{padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.save-category-btn{background:var(--forest-green);color:#fff}.save-category-btn:hover{background:var(--success)}.cancel-category-btn{background:var(--gray-200);color:var(--gray-700)}.cancel-category-btn:hover{background:var(--gray-300)}.custom-emoji-icon{font-size:20px;line-height:1}.category-emoji{font-size:16px;margin-right:var(--space-1)}.edit-category-row{display:flex;gap:var(--space-2);align-items:center;width:100%}.edit-category-input{flex:1;padding:var(--space-2);border:1px solid var(--gray-300);border-radius:var(--radius);font-size:var(--font-size-base);font-family:var(--font-family)}.save-edit-btn,.cancel-edit-btn{padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.save-edit-btn{background:var(--forest-green);color:#fff}.save-edit-btn:hover{background:var(--success)}.cancel-edit-btn{background:var(--gray-200);color:var(--gray-700)}.cancel-edit-btn:hover{background:var(--gray-300)}.financial-overview{background:#f4f4f2;border-radius:16px;padding:var(--space-4);box-shadow:0 4px 20px #1a365d14;display:flex;flex-direction:column;transition:all .3s ease}.financial-overview:hover{box-shadow:0 6px 24px #1a365d1f;transform:translateY(-2px)}.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.overview-title{color:var(--navy-primary);font-size:var(--font-size-2xl);font-weight:700;font-family:var(--font-headings);margin:0}.overview-subtitle{color:var(--gray-600);font-size:var(--font-size-sm);font-weight:400;font-family:var(--font-primary);margin:var(--space-1) 0 0 0;font-style:italic}.days-counter{color:var(--gray-600);font-size:var(--font-size-sm);font-weight:500;background:var(--primary-50);padding:var(--space-2) var(--space-3);border-radius:0;border:1px solid var(--primary-200)}.progress-section{margin-bottom:0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.progress-label{color:var(--gray-700);font-size:var(--font-size-sm);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.financial-overview .progress-amount{font-size:var(--font-size-lg);font-weight:800!important;font-family:var(--font-mono)}.financial-overview .progress-amount.positive{color:var(--success-green)}.financial-overview .progress-amount.negative{color:var(--error-red)}.progress-bar-container{margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.progress-bar{flex:1;height:12px;background:var(--gray-200);border-radius:6px;overflow:hidden;position:relative;box-shadow:inset 0 1px 3px #0000001a}.progress-fill{height:100%;background:var(--forest-green);border-radius:6px;position:relative;transition:width 2s ease-out,background-color .3s ease;min-width:24px}.progress-percentage{color:var(--gray-700);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;line-height:1;min-width:32px;text-align:right}.progress-fill:after{content:attr(data-percentage);position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#fff;font-weight:600;font-size:var(--font-size-xs);text-shadow:1px 1px 2px rgba(0,0,0,.3);opacity:0;transition:opacity .3s ease}.progress-fill[data-percentage]:after{opacity:1}.progress-fill:after{display:none!important}.progress-fill[data-percentage]:after{display:none!important}.progress-percentage-zero{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);color:var(--gray-600);font-size:var(--font-size-xs);font-weight:600}.progress-status{color:var(--gray-600);font-size:var(--font-size-sm);font-weight:500;text-align:center;font-style:italic}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-top:auto}.metric-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:0;padding:var(--space-4);text-align:center;transition:all .2s ease}.metric-card:hover{background:var(--gray-100);border-color:var(--gray-300)}.metric-label{color:var(--gray-medium);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1);font-family:var(--font-accent)}.metric-value{color:var(--navy-primary);font-size:var(--font-size-lg);font-weight:700;font-family:var(--font-mono)}@media (max-width: 1024px){.financial-overview{padding:var(--space-5)}.metrics-grid{grid-template-columns:1fr;gap:var(--space-3)}}@media (max-width: 768px){.financial-overview{display:flex!important;flex-direction:column;margin-bottom:var(--space-4);padding:var(--space-4);background:#fff!important;box-shadow:0 4px 20px #1a365d14!important;border:none!important;border-radius:12px!important}.overview-title{font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.days-counter{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2)}.overview-header{flex-direction:column;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3)}.progress-section{width:100%;margin-bottom:var(--space-4)}.progress-header{flex-direction:column;align-items:flex-start;gap:var(--space-1);margin-bottom:var(--space-2)}.financial-overview .progress-amount{font-size:var(--font-size-lg);font-weight:800!important}.progress-bar-container{margin-bottom:var(--space-2)}.progress-bar{height:20px}.metrics-grid{grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-3)}.progress-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.celebration-content{padding:var(--space-6);margin:var(--space-4)}.celebration-message h2{font-size:var(--font-size-2xl)}}.progress-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.progress-status-mobile{display:none;color:var(--gray-600);font-size:var(--font-size-xs);font-weight:500;text-align:right;font-style:italic;line-height:1.2}.progress-status-desktop{color:var(--gray-600);font-size:var(--font-size-sm);font-weight:500;text-align:center;font-style:italic}@media (max-width: 768px){.progress-right{flex-direction:row;justify-content:space-between;align-items:center;width:100%;gap:var(--space-2)}.financial-overview .progress-amount{order:1}.progress-status-mobile{display:block;order:2;text-align:right;flex:1;margin-left:var(--space-2)}.progress-status-desktop{display:none}}@media (max-width: 480px){.metrics-grid{grid-template-columns:1fr}.progress-percentage{font-size:10px}}.next-paycheck-countdown-card{background:#f4f4f2;border-radius:16px;padding:var(--space-4);margin-top:var(--space-4);box-shadow:0 4px 20px #1a365d14;transition:all .3s ease}.next-paycheck-countdown-card:hover{box-shadow:0 6px 24px #1a365d1f;transform:translateY(-2px)}.countdown-header{margin-bottom:var(--space-4)}.countdown-title{color:var(--navy-primary);font-size:var(--font-size-2xl);font-weight:700;font-family:var(--font-headings);margin:0}.countdown-subtitle{color:var(--gray-600);font-size:var(--font-size-sm);font-weight:500;margin:var(--space-1) 0 0 0;font-style:italic}.countdown-subtitle.positive{color:var(--success-green)}.countdown-subtitle.negative{color:var(--error-red)}.countdown-metrics{display:flex;flex-direction:column;gap:var(--space-3)}.countdown-metric{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:0;transition:all .2s ease}.countdown-metric:hover{background:var(--gray-100);border-color:var(--gray-300)}.countdown-label{color:var(--gray-medium);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-accent)}.countdown-value{color:var(--navy-primary);font-size:var(--font-size-lg);font-weight:700;font-family:var(--font-mono);line-height:1}.paycheck-kpi-card{background:#fff;border-radius:12px;padding:var(--space-4);transition:all .3s ease;border:none;box-shadow:0 4px 12px #00000014;position:relative;overflow:hidden}.paycheck-kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;transition:all .3s ease}.paycheck-kpi-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001f}.kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.kpi-label{color:var(--gray-600);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.8px}.kpi-main-value{color:var(--navy-primary);font-size:var(--font-size-2xl);font-weight:700;font-family:var(--font-mono);line-height:1}.kpi-details{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid rgba(0,0,0,.08)}.kpi-detail-item{color:var(--gray-600);font-size:var(--font-size-xs);font-weight:500}.kpi-coverage-status{font-size:var(--font-size-xs);font-weight:600;padding:var(--space-1) var(--space-2);border-radius:6px;white-space:nowrap}.days-kpi.urgency-low{background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.days-kpi.urgency-low:before{background:var(--success-green)}.days-kpi.urgency-low .kpi-main-value{color:var(--success-green)}.days-kpi.urgency-medium{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.days-kpi.urgency-medium:before{background:#f59e0b}.days-kpi.urgency-medium .kpi-main-value{color:#f59e0b}.days-kpi.urgency-high{background:linear-gradient(135deg,#fef2f2,#fecaca)}.days-kpi.urgency-high:before{background:var(--error-red)}.days-kpi.urgency-high .kpi-main-value{color:var(--error-red)}.days-kpi.urgency-none{background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.days-kpi.urgency-none:before{background:var(--gray-400)}.bills-kpi{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.bills-kpi:before{background:var(--navy-primary)}.bills-kpi .kpi-main-value{color:var(--navy-primary)}.bills-kpi.covered .kpi-coverage-status{background:var(--success-green);color:#fff}.bills-kpi.uncovered .kpi-coverage-status{background:var(--error-red);color:#fff}.financial-metrics-cards{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.financial-metric-card{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:2px solid;font-weight:700;transition:all .2s ease;cursor:pointer}.financial-metric-card:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.financial-metric-card.income{background:transparent;border-color:var(--gray-300)}.financial-metric-card.income:hover{background:var(--light-mist);border-color:var(--gray-300)}.financial-metric-card.expense{background:transparent;border-color:var(--gray-300)}.financial-metric-card.expense:hover{background:var(--light-mist);border-color:var(--gray-300)}.financial-metric-card.net-total{border-width:3px;font-weight:800}.metric-card-label{font-size:var(--font-size-md);color:var(--navy-primary);font-weight:600;font-family:var(--font-accent)}.metric-card-value{font-size:var(--font-size-lg);font-weight:700;font-family:var(--font-mono)}.metric-card-value.income-total{color:var(--income-success)}.metric-card-value.expense-total{color:var(--warm-orange)}.add-transaction-btn{width:100%;padding:var(--space-4);background:var(--forest-green);color:#fff;border:none;border-radius:15px;font-size:var(--font-size-base);font-weight:600;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease;margin-top:var(--space-4);box-shadow:0 4px 20px #1a365d14}.add-transaction-btn:hover{background:var(--success-sage);transform:translateY(-2px);box-shadow:0 6px 24px #4a7c594d}.add-transaction-btn:active{transform:translateY(0)}@media (min-width: 769px){.overview-subtitle{display:none!important}}@media (max-width: 768px){.financial-overview{padding:0;background:transparent;box-shadow:none;border:none;border-radius:0}.next-paycheck-countdown-card{padding:var(--space-4);margin-top:var(--space-4);background:#fff;box-shadow:0 4px 20px #1a365d14;border-radius:12px}.countdown-title{font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.countdown-metrics{gap:var(--space-3)}.countdown-metric{padding:var(--space-2) var(--space-3)}.countdown-value{font-size:var(--font-size-lg)}}@media (max-width: 480px){.countdown-value{font-size:var(--font-size-md)}.countdown-title{font-size:var(--font-size-lg)}.countdown-subtitle{font-size:var(--font-size-xs)}}.mobile-budget-health-tile,.mobile-value{display:none}.desktop-value{display:inline}@media (max-width: 768px){.mobile-budget-health-tile{display:flex!important;flex-direction:column;gap:.5rem;background:#fff;border-radius:12px;padding:1rem;box-shadow:0 4px 12px #00000014;border:1px solid var(--gray-200);margin:0}.desktop-progress-section{display:none}.budget-health-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.budget-health-label{font-size:1rem;font-weight:600;color:#1f2937;text-align:left}.budget-health-percentage{font-size:2rem;font-weight:700;color:var(--forest-green);text-align:right;font-family:Courier New,monospace;line-height:1}.mobile-budget-health-tile .progress-bar-container{display:flex;align-items:center;gap:0;width:100%}.mobile-budget-health-tile .progress-percentage{display:none}.mobile-health-container .overview-header,.mobile-health-container .mobile-budget-health-tile,.mobile-health-container .financial-metrics-cards,.mobile-health-container .next-paycheck-countdown-card,.mobile-health-container .add-transaction-btn{display:none!important}.mobile-budget-health-wrapper{display:block!important;margin:0 0 1rem!important}.mobile-budget-health-wrapper .overview-header,.mobile-budget-health-wrapper .financial-metrics-cards,.mobile-budget-health-wrapper .add-transaction-btn,.mobile-budget-health-wrapper .desktop-progress-section,.mobile-budget-health-wrapper .mobile-budget-health-tile,.mobile-budget-health-wrapper .next-paycheck-countdown-card{display:none!important}.mobile-budget-health-wrapper .financial-overview{background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important}.mobile-budget-health-wrapper .countdown-header{margin-bottom:2rem!important}.mobile-budget-health-wrapper .countdown-metrics{margin-top:0!important}.mobile-budget-health-wrapper .countdown-title{font-size:1rem!important;font-weight:600!important;margin-bottom:.25rem;color:#1f2937!important;font-family:var(--font-primary)!important}.mobile-budget-health-wrapper .countdown-subtitle{font-size:.875rem}.mobile-budget-health-wrapper .countdown-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding-left:1rem}.mobile-budget-health-wrapper .countdown-metric{background:#fff;border-radius:8px;padding:.75rem .5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:75px;box-shadow:0 2px 4px #0000000f;border:1px solid #e5e7eb}.mobile-budget-health-wrapper .countdown-label{font-size:.7rem;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.3px;text-align:center;word-break:break-word}.mobile-budget-health-wrapper .countdown-value{font-size:1.1rem;font-weight:700;color:#1f2937;text-align:center;word-break:break-word}.mobile-budget-health-wrapper .desktop-value{display:none}.mobile-budget-health-wrapper .mobile-value{display:inline}.mobile-paycheck-countdown-wrapper .financial-overview{background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important}.mobile-paycheck-countdown-wrapper .next-paycheck-countdown-card{display:flex!important;margin:0!important;background:#fff;border-radius:12px;padding:1rem;box-shadow:0 4px 12px #00000014;border:1px solid var(--gray-200)}}.paycheck-countdown-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000001a;margin:0}.countdown-card-header{margin-bottom:20px}.countdown-card-title{font-size:20px;font-weight:700;color:var(--navy-primary);margin:0 0 4px;font-family:var(--font-primary)}.countdown-status-text{font-size:14px;font-weight:600;margin:0}.countdown-status-text.status-covered{color:var(--forest-green)}.countdown-status-text.status-short{color:var(--warm-orange)}.paycheck-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.paycheck-kpi-item{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px}.paycheck-kpi-icon{font-size:28px;line-height:1;flex-shrink:0;width:28px;height:28px}.paycheck-kpi-item.kpi-days .paycheck-kpi-icon{color:#2563eb;stroke-width:2}.paycheck-kpi-item.kpi-bills .paycheck-kpi-icon{color:#ea580c;stroke-width:2}.paycheck-kpi-item.kpi-amount .paycheck-kpi-icon{color:#dc2626;stroke-width:2}.paycheck-kpi-item.kpi-balance .paycheck-kpi-icon{color:#16a34a;stroke-width:2}.paycheck-kpi-item.kpi-balance-short .paycheck-kpi-icon{color:#dc2626;stroke-width:2}.paycheck-kpi-content{flex:1}.paycheck-kpi-value{font-size:24px;font-weight:700;color:var(--navy-primary);line-height:1.2;font-family:var(--font-mono)}.paycheck-kpi-label{font-size:12px;color:var(--gray-600);margin-top:2px;font-family:var(--font-primary)}.paycheck-kpi-item.kpi-days{background-color:#dbeafe}.paycheck-kpi-item.kpi-bills{background-color:#fed7aa}.paycheck-kpi-item.kpi-amount{background-color:#fecaca}.paycheck-kpi-item.kpi-balance{background-color:#d1fae5}.paycheck-kpi-item.kpi-balance-short{background-color:#fecaca}.budget-health-progress{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;border:1px solid var(--gray-200)}.health-header{display:flex;align-items:flex-start;margin-bottom:1.5rem;gap:.75rem}.header-icon-wrapper{background:#38a1691a;padding:.75rem;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-icon{color:var(--forest-green);stroke-width:2}.header-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.health-title{font-size:1.25rem;font-weight:700;color:var(--navy-primary);margin:0;font-family:var(--font-primary)}.health-subtitle{font-size:.875rem;color:var(--gray-600);margin:0;font-family:var(--font-primary)}.health-status-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--gray-50);padding:.5rem .75rem;border-radius:8px;align-self:flex-start}.status-icon{flex-shrink:0}.status-icon.icon-good{color:var(--forest-green)}.status-icon.icon-warning{color:#f59e0b}.status-icon.icon-critical{color:var(--warm-orange)}.status-text{font-size:.875rem;font-weight:600;color:var(--navy-primary);font-family:var(--font-primary);white-space:nowrap}.progress-section{margin-bottom:1.5rem}.progress-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.progress-label{font-size:.875rem;font-weight:600;color:var(--gray-600);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.progress-value{font-size:.875rem;font-weight:700;color:var(--navy-primary);font-family:var(--font-mono)}.progress-bar-wrapper{width:100%;background:var(--gray-200);border-radius:6px;height:16px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.progress-bar-fill{height:100%;border-radius:6px;transition:width .8s cubic-bezier(.4,0,.2,1);min-width:24px}.progress-bar-fill.health-good{background:var(--forest-green)}.progress-bar-fill.health-warning{background:#f59e0b}.progress-bar-fill.health-critical{background:var(--warm-orange)}.budget-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.detail-card{padding:.75rem;border-radius:10px}.detail-card.income-card{background:#dcfce7;border:none}.detail-card.expense-card{background:#ffedd5;border:none}.detail-label{font-size:.75rem;color:var(--gray-600);margin:0 0 .25rem;font-weight:600;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.3px}.detail-amount{font-size:1.25rem;font-weight:700;color:var(--navy-primary);margin:0;font-family:var(--font-mono)}.summary-card{padding:.75rem 1rem;border-radius:10px;display:flex;justify-content:space-between;align-items:center}.summary-card.shortfall-card{background:#ffedd5;border:none}.summary-card.surplus-card{background:#dcfce7;border:none}.summary-label{font-size:.875rem;color:var(--gray-600);margin:0;font-weight:600;font-family:var(--font-primary)}.summary-amount{font-size:1.75rem;font-weight:700;margin:0;font-family:var(--font-mono);color:var(--navy-primary)}.summary-amount.shortfall-amount,.summary-amount.surplus-amount{color:var(--navy-primary)}@media (max-width: 768px){.budget-health-progress{padding:1rem;border-radius:12px}.health-header{margin-bottom:1rem;gap:.5rem}.header-icon-wrapper{padding:.5rem}.header-icon{width:20px;height:20px}.header-text{gap:.4rem}.health-title{font-size:1rem}.health-subtitle{font-size:.75rem}.health-status-badge{padding:.4rem .6rem}.status-text{font-size:.75rem}.status-icon{width:16px;height:16px}.progress-section{margin-bottom:1rem}.progress-label,.progress-value{font-size:.75rem}.progress-bar-wrapper{height:12px}.budget-details-grid{gap:.5rem;margin-bottom:.75rem}.detail-card{padding:.6rem}.detail-label{font-size:.65rem}.detail-amount{font-size:1.1rem}.summary-card{padding:.6rem .75rem}.summary-label{font-size:.75rem}.summary-amount{font-size:1.5rem}}@media (max-width: 480px){.budget-health-progress{padding:.75rem}.health-title{font-size:.9rem}.detail-amount{font-size:1rem}.summary-amount{font-size:1.3rem}}@media (min-width: 769px){.overview-sidebar .budget-health-progress{display:flex;flex-direction:column;border-radius:16px;margin-bottom:1rem}.overview-sidebar .health-header{flex-shrink:0;align-items:stretch}.overview-sidebar .progress-bar-wrapper{height:10px}.overview-sidebar .header-icon-wrapper{padding:0;border-radius:10px;display:flex;align-items:center;justify-content:center;align-self:stretch;aspect-ratio:1 / 1;height:100%;width:auto}.overview-sidebar .header-icon{width:24px;height:24px}.overview-sidebar .header-text{gap:.4rem;justify-content:center}.overview-sidebar .health-title{font-size:1.1rem;line-height:1.2}.overview-sidebar .health-status-badge{padding:.35rem .6rem;border-radius:6px}.overview-sidebar .status-text{font-size:.75rem}.overview-sidebar .status-icon{width:14px;height:14px}.overview-sidebar .progress-section,.overview-sidebar .budget-details-grid,.overview-sidebar .summary-card{flex-shrink:0}}.goal-modal{max-width:500px}.goal-description{width:100%;padding:var(--space-3);border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius);font-size:var(--font-size-base);color:var(--gray-900);font-weight:400;transition:all .2s ease;font-family:var(--font-family);resize:vertical;min-height:80px}.goal-description:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #8fd14e1a}.goal-description::placeholder{color:var(--gray-400)}.submit-button.goal{background:var(--primary-500);color:#fff}.submit-button.goal:hover{background:var(--primary-600)}.goal-progress-summary{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.progress-info{display:flex;flex-direction:column;gap:var(--space-2)}.progress-amount{font-size:var(--font-size-sm);color:var(--gray-700);font-weight:500}.progress-bar{width:100%;height:8px;background:var(--gray-200);border-radius:var(--radius);overflow:hidden}.progress-fill{height:100%;background:var(--forest-green);border-radius:var(--radius);transition:width .3s ease}.progress-percentage{font-size:var(--font-size-sm);color:var(--primary-700);font-weight:600;text-align:right}.transactions-page{padding:var(--space-6);background:#ecece9;height:100%;display:flex;flex-direction:column;position:relative}.transactions-header{margin-bottom:var(--space-6);padding:0 var(--space-2)}.month-navigation-inline{display:flex;align-items:center;gap:var(--space-2)}.month-nav-button-inline{padding:var(--space-2);border:none;background:transparent;cursor:pointer;font-size:var(--font-size-lg);font-weight:600;color:var(--gray-700);transition:all .2s ease;min-width:36px;display:flex;align-items:center;justify-content:center;position:relative;z-index:10;pointer-events:auto}.month-nav-button-inline:hover{color:var(--gray-900);transform:scale(1.1)}.month-title-inline{font-size:var(--font-size-sm);font-weight:600;color:var(--navy-primary);font-family:var(--font-accent);margin:0 var(--space-2);white-space:nowrap}.current-month-button-inline{padding:var(--space-2) var(--space-4);border:none;background:none;border-radius:20px;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;color:var(--deep-ink);transition:all .2s ease;font-family:var(--font-primary);white-space:nowrap;min-width:80px}.current-month-button-inline:hover{background:var(--gray-100);transform:translateY(-1px);box-shadow:0 2px 8px #0000000d}.header-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.transactions-header h1{color:var(--navy-primary);font-size:var(--font-size-3xl);font-weight:600;font-family:var(--font-headings);margin:0}.header-actions{display:flex;gap:var(--space-3)}.btn-primary{background:#2c8ee8;color:#fff;border:2px solid #2c8ee8;padding:var(--space-3) var(--space-6);border-radius:8px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);box-shadow:0 2px 8px #2c8ee84d}.btn-primary:hover{background:#2173be;color:#fff;border-color:#2173be;transform:translateY(-1px);box-shadow:0 4px 12px #2173be66}.btn-secondary{background:transparent;color:var(--deep-ink);border:2px solid var(--deep-ink);padding:var(--space-3) var(--space-6);border-radius:8px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.btn-secondary:hover{background:var(--light-mist);border-color:var(--deep-ink);color:var(--deep-ink)}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6);padding:0 var(--space-2)}.stat-card{background:#f4f4f2;border-radius:16px;padding:var(--space-4);border:1px solid rgba(226,232,240,.8);box-shadow:0 4px 12px #1e293b14;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:var(--space-2)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #1e293b1f;border-color:#3b82f633}.stat-label{font-size:var(--font-size-sm);color:var(--slate-medium);font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-accent)}.stat-value{font-size:var(--font-size-xl);font-weight:700;color:var(--navy-primary);font-family:var(--font-mono)}.stat-card.income .stat-value{color:var(--forest-green)}.stat-card.expense .stat-value{color:var(--warm-orange)}.stat-card.net.positive .stat-value{color:var(--forest-green)}.stat-card.net.negative .stat-value{color:var(--warm-orange)}.transactions-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);gap:var(--space-4);padding:0 var(--space-2)}.filters-left{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.search-container{flex:1;max-width:400px}.search-input{width:100%;padding:var(--space-3);border:2px solid var(--gray-300);border-radius:var(--radius);font-size:var(--font-size-sm);background:var(--content-bg);color:var(--charcoal);font-family:var(--font-primary);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--blue-accent);box-shadow:0 0 0 4px #3b82f61a}.filter-container{min-width:160px}.category-filter{width:100%;padding:var(--space-3);border:2px solid var(--gray-300);border-radius:var(--radius);font-size:var(--font-size-sm);background:var(--content-bg);color:var(--charcoal);font-family:var(--font-primary);cursor:pointer;transition:all .2s ease}.category-filter:focus{outline:none;border-color:var(--blue-accent);box-shadow:0 0 0 4px #3b82f61a}.hidden-toggle-container{display:flex;align-items:center;min-width:120px}.hidden-toggle-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--charcoal);font-family:var(--font-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.hidden-toggle-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--forest-green)}.transactions-table-container{background:#f4f4f2;border-radius:16px;border:1px solid rgba(226,232,240,.8);box-shadow:0 4px 12px #1e293b14;margin:0 var(--space-2) var(--space-6) var(--space-2);max-height:calc(100vh - 400px);overflow-y:auto}.transactions-table{width:100%;border-collapse:collapse}.transactions-table thead{background:var(--header-bg)}.transactions-table th{padding:var(--space-4) var(--space-3);text-align:left;font-size:var(--font-size-sm);font-weight:600;color:var(--navy-primary);border-bottom:2px solid var(--gray-200);position:relative;font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.5px}.transactions-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.transactions-table th.sortable:hover{background:#3b82f61a}.sort-indicator{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid var(--gray-light);opacity:.5}.transactions-table th.sorted-asc .sort-indicator{border-bottom:4px solid var(--blue-accent);opacity:1}.transactions-table th.sorted-desc .sort-indicator{border-bottom:none;border-top:4px solid var(--blue-accent);opacity:1}.transaction-row{border-bottom:1px solid var(--gray-200);transition:background-color .2s ease;min-height:48px}.transaction-row.even{background:var(--content-bg)}.transaction-row.odd{background:var(--app-bg)}.transaction-row:hover{background:#3b82f60d!important}.transactions-table td{padding:var(--space-3);vertical-align:middle}.date-cell{width:120px;font-size:var(--font-size-sm);color:var(--slate-medium);font-family:var(--font-mono)}.actions-header{width:100px;text-align:center}.actions-cell{width:100px;text-align:center;padding:var(--space-2)}.title-cell{font-size:var(--font-size-sm);color:var(--navy-primary);font-weight:500;font-family:var(--font-primary)}.account-cell{width:150px;font-size:var(--font-size-sm);color:var(--slate-medium);font-family:var(--font-primary)}.account-name{display:inline-block;padding:.25rem .5rem;background:#e8f4f8;border-radius:4px;font-size:var(--font-size-xs);color:var(--blue-secondary);font-weight:500}.account-empty{color:var(--gray-400);font-style:italic}.category-cell{width:200px;min-width:180px}.category-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.category-badge.income{background:#4a7c591a;color:var(--forest-green);border:1px solid rgba(74,124,89,.2)}.category-badge.expense{background:#e87d3e1a;color:var(--warm-orange);border:1px solid rgba(232,125,62,.2)}.amount-cell{width:120px;text-align:right;font-size:var(--font-size-sm);font-weight:600;font-family:monospace}.amount-cell.income{color:var(--forest-green)}.amount-cell.expense{color:var(--warm-orange)}.edit-btn{background:transparent;color:var(--deep-ink);border:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);min-width:60px}.edit-btn:hover{background:var(--gray-100);color:var(--navy-primary);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.hide-toggle-btn{background:transparent;color:var(--gray-700);border:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);min-width:60px;margin-right:var(--space-2)}.hide-toggle-btn:hover{background:var(--gray-100);color:var(--navy-primary);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.hide-toggle-btn.is-hidden{color:#38a169}.hide-toggle-btn.is-hidden:hover{background:var(--income-bg);color:#2f8a5a}.transaction-row.hidden{opacity:.5;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.02) 10px,rgba(0,0,0,.02) 20px)}.empty-state td{padding:var(--space-12) var(--space-4);text-align:center}.empty-message{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.empty-message p{font-size:var(--font-size-lg);color:var(--slate-medium);margin:0}.pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--content-bg);border-radius:16px;border:1px solid rgba(226,232,240,.8);box-shadow:0 4px 12px #1e293b14;margin:0 var(--space-2)}.pagination-btn{background:var(--blue-accent);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:10px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:var(--font-accent)}.pagination-btn:hover:not(:disabled){background:var(--blue-secondary);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.pagination-btn:disabled{background:var(--gray-200);cursor:not-allowed;transform:none;color:var(--slate-medium)}.pagination-info{font-size:var(--font-size-sm);color:var(--slate-medium);font-weight:500;font-family:var(--font-accent)}.import-modal{background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.import-modal::-webkit-scrollbar{display:none}.import-modal{-ms-overflow-style:none;scrollbar-width:none}.import-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--gray-200)}.import-modal .modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--deep-ink);font-family:var(--font-headings)}.import-modal .close-button{background:none;border:none;font-size:24px;cursor:pointer;color:var(--slate-medium);padding:var(--space-1);border-radius:0;transition:color .2s ease}.import-modal .close-button:hover{color:var(--deep-ink)}.import-modal .modal-body{padding:var(--space-4)}.import-instructions{margin-bottom:var(--space-3)}.import-instructions h3{color:var(--navy-primary);font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--space-2);font-family:var(--font-headings)}.import-instructions p{color:var(--slate-medium);margin-bottom:var(--space-2);font-family:var(--font-primary);font-size:var(--font-size-sm)}.import-instructions ul{color:var(--slate-medium);padding-left:var(--space-4);margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.import-instructions li{margin-bottom:var(--space-1)}.file-upload-section{text-align:center}.file-upload-label{display:inline-block;background:var(--blue-accent);color:#fff;padding:var(--space-4) var(--space-6);border-radius:var(--radius);cursor:pointer;font-size:var(--font-size-base);font-weight:500;transition:all .2s ease;font-family:var(--font-primary)}.file-upload-label:hover{background:var(--blue-secondary);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.file-input{display:none}.upload-area{border:2px dashed var(--blue-accent);border-radius:12px;padding:var(--space-4);text-align:center;background:linear-gradient(135deg,#3b82f60d,#93c5fd14);transition:all .3s ease;margin-top:var(--space-2)}.upload-area:hover{border-color:var(--blue-secondary);background:linear-gradient(135deg,#3b82f614,#93c5fd1f);transform:translateY(-2px)}.upload-icon{font-size:1.8rem;margin-bottom:var(--space-2)}.upload-area h4{color:var(--navy-primary);font-size:var(--font-size-base);font-weight:600;margin:0 0 var(--space-1) 0;font-family:var(--font-headings)}.upload-area p{color:var(--gray-600);font-size:var(--font-size-xs);margin:0 0 var(--space-2) 0;font-family:var(--font-primary)}.csv-upload-button{display:inline-block;background:var(--forest-green);color:#fff;padding:var(--space-3) var(--space-6);border-radius:8px;cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:all .3s ease;font-family:var(--font-primary);text-decoration:none;border:none;box-shadow:0 2px 8px #4a7c5933}.csv-upload-button:hover{background:var(--forest-green-dark, #3e6b47);transform:translateY(-1px);box-shadow:0 4px 12px #4a7c594d}@media (max-height: 900px){.import-modal{max-height:85vh}.import-modal .modal-body{padding:var(--space-3)}.import-instructions{margin-bottom:var(--space-2)}.upload-area{padding:var(--space-3);margin-top:var(--space-1)}}@media (max-height: 700px){.import-modal{max-height:90vh}.import-modal .modal-body{padding:var(--space-2)}.import-instructions h3{font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.import-instructions p,.import-instructions ul{font-size:var(--font-size-xs);margin-bottom:var(--space-1)}.import-instructions li{margin-bottom:0}.upload-area{padding:var(--space-2)}.upload-icon{font-size:1.4rem;margin-bottom:var(--space-1)}.upload-area h4{font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.upload-area p{font-size:10px;margin-bottom:var(--space-1)}}@media (max-width: 768px){.import-modal{width:95%;max-height:90vh}.import-modal .modal-header,.import-modal .modal-body{padding:var(--space-3)}}.scroll-indicator{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);z-index:10;cursor:pointer}.scroll-arrow{font-size:32px;color:var(--deep-ink);animation:bounce 1s ease-in-out;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.scroll-text{font-size:var(--font-size-sm);color:var(--soft-gray);font-weight:500;background:#ffffffe6;padding:var(--space-2) var(--space-3);border-radius:var(--radius);box-shadow:0 2px 8px #0000001a;white-space:nowrap}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width: 1024px){.transactions-page{padding:var(--space-4)}.summary-stats{grid-template-columns:repeat(2,1fr)}.transactions-filters{flex-direction:column;align-items:stretch;gap:var(--space-3)}.filters-left{flex-direction:column;align-items:stretch;width:100%}.import-filter-tabs-inline{width:100%;justify-content:center}.filter-tab{flex:1}.month-navigation-inline{justify-content:center}.search-container{max-width:none}}@media (max-width: 768px){.transactions-page{padding:var(--space-4);height:100%;flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f4f4f2;border-radius:8px;box-shadow:0 4px 20px #1a365d14;margin:var(--space-4)}.header-main{flex-direction:row;justify-content:space-between;align-items:center;gap:var(--space-3)}.header-actions{justify-content:flex-end;gap:var(--space-2);flex-shrink:0}.header-actions .btn-secondary{display:none}.header-actions .btn-primary{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);min-height:40px;white-space:nowrap}.month-navigation{flex-direction:column;gap:var(--space-3)}.month-title{min-width:auto}.summary-stats{display:none}.transactions-table-container{overflow-x:hidden;overflow-y:auto;border-radius:var(--radius);box-shadow:0 2px 8px #0000001a;margin:0;flex:1;display:flex;flex-direction:column;background:#fff}.transactions-table{width:100%;max-width:100%;table-layout:fixed;font-size:var(--font-size-sm);flex:1;height:100%}.transactions-table th{padding:var(--space-2);font-size:var(--font-size-xs);background:var(--gray-100)}.transactions-table td{padding:var(--space-2);font-size:var(--font-size-sm);vertical-align:middle}.transactions-table th:nth-child(3),.transactions-table td:nth-child(3){display:none}.transactions-table th:nth-child(1),.transactions-table td:nth-child(1){width:22%;min-width:70px}.transactions-table th:nth-child(2),.transactions-table td:nth-child(2){width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:var(--space-1)}.transactions-table th:nth-child(4),.transactions-table td:nth-child(4){width:26%;text-align:right;font-weight:600;padding-right:var(--space-1)}.transactions-table th:nth-child(5),.transactions-table td:nth-child(5){width:12%;text-align:center;padding:var(--space-1);min-width:50px}.date-cell{font-size:var(--font-size-xs);font-weight:500}.amount-cell{font-weight:600;font-family:var(--font-mono)}.amount-cell.income{color:var(--income-success)}.amount-cell.expense{color:var(--warm-orange)}.actions-cell{padding:var(--space-1)}.edit-btn{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);min-width:40px;min-height:32px;border-radius:var(--radius);border:1px solid var(--gray-300);background:#fff;color:var(--navy-primary);font-weight:500;display:flex;align-items:center;justify-content:center;width:100%;max-width:45px}.edit-btn:hover{background:var(--gray-100);color:var(--navy-primary)}.pagination{flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.pagination-controls{justify-content:center}.pagination-info{text-align:center}.transactions-filters{flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.filters-left{flex-direction:column;align-items:stretch;width:100%}.import-filter-tabs-inline{width:100%;justify-content:center}.filter-tab{flex:1}.month-navigation-inline{justify-content:center;flex-wrap:wrap}.search-container{max-width:none}.search-input,.filter-select{min-height:44px;padding:var(--space-3);font-size:var(--font-size-base)}}@media (max-width: 480px){.transactions-page{padding:var(--space-3)}.transactions-header h1{font-size:var(--font-size-xl)}.header-actions .btn-primary{width:100%;justify-content:center;padding:var(--space-4) var(--space-6);font-size:var(--font-size-base);min-height:48px}.transactions-table{font-size:var(--font-size-xs)}.transactions-table th,.transactions-table td{padding:var(--space-1)}.transactions-table th:nth-child(1),.transactions-table td:nth-child(1){width:22%;min-width:65px}.transactions-table th:nth-child(2),.transactions-table td:nth-child(2){width:38%;max-width:120px}.transactions-table th:nth-child(4),.transactions-table td:nth-child(4){width:26%}.transactions-table th:nth-child(5),.transactions-table td:nth-child(5){width:14%;min-width:45px}.edit-btn{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);min-width:36px;min-height:36px;border-radius:var(--radius);width:100%;max-width:40px}.month-nav-button-inline,.pagination-btn{min-height:44px;min-width:44px;padding:var(--space-3)}}@media (max-width: 320px){.transactions-page{padding:var(--space-2)}.transactions-header h1{font-size:var(--font-size-lg)}.transactions-table th,.transactions-table td{padding:var(--space-1);font-size:var(--font-size-xs)}.edit-btn{min-width:36px;min-height:36px;padding:var(--space-1)}}.bulk-update-modal{background:var(--pure-white);border-radius:12px;max-width:90vw;width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--gray-200)}.bulk-update-modal .modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:var(--space-4);background:var(--light-mist)}.bulk-instructions{margin-bottom:var(--space-4);padding:var(--space-3);background:var(--light-mist);border-radius:8px;border:1px solid var(--gray-200)}.bulk-instructions p{margin:0;color:var(--warm-charcoal);font-size:var(--font-size-sm);font-family:var(--font-primary)}.bulk-table-container{flex:1;overflow:auto;border:1px solid var(--gray-200);border-radius:8px;background:var(--pure-white);box-shadow:var(--shadow-sm)}.bulk-transactions-table{width:100%;border-collapse:collapse;min-width:800px}.bulk-transactions-table th{background:var(--pale-gray);padding:var(--space-3);text-align:left;font-weight:600;color:var(--deep-ink);font-size:var(--font-size-sm);font-family:var(--font-headings);border-bottom:2px solid var(--gray-200);position:sticky;top:0;z-index:10}.bulk-transaction-row{border-bottom:1px solid var(--gray-100)}.bulk-transaction-row:hover{background:var(--hover-bg)}.bulk-transaction-row td{padding:var(--space-2);vertical-align:middle}.bulk-input{width:100%;padding:var(--space-2);border:1px solid var(--gray-300);border-radius:6px;font-size:var(--font-size-sm);font-family:var(--font-primary);color:var(--deep-ink);background:var(--pure-white);transition:all .2s ease}.bulk-input:focus{outline:none;border-color:var(--warm-orange);box-shadow:0 0 0 3px #e87d3e1a;background:var(--focus-bg)}.date-input{min-width:140px}.title-input{min-width:200px}.amount-input{min-width:100px;text-align:right}.category-select{min-width:150px}.type-select{min-width:100px}.remove-row-btn{background:none;border:none;cursor:pointer;padding:var(--space-1);border-radius:4px;font-size:16px;transition:all .2s ease;color:var(--soft-gray)}.remove-row-btn:hover:not(:disabled){background:#e76f511a;color:var(--error-coral)}.remove-row-btn:disabled{opacity:.3;cursor:not-allowed}.bulk-actions{padding:var(--space-4) 0;display:flex;justify-content:flex-start}.add-row-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--forest-green);color:var(--pure-white);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:var(--font-size-sm);font-family:var(--font-primary);box-shadow:var(--shadow-sm)}.add-row-btn:hover{background:var(--success-sage);transform:translateY(-1px);box-shadow:0 4px 12px #4a7c594d}.plus-icon{font-size:18px;font-weight:700}.bulk-modal-footer{padding:var(--space-4);border-top:1px solid var(--gray-200);display:flex;gap:var(--space-3);justify-content:flex-end;background:var(--pale-gray)}.bulk-modal-footer .btn-secondary{min-width:120px;background:var(--pure-white);color:var(--warm-charcoal);border:1px solid var(--gray-300);font-family:var(--font-primary)}.bulk-modal-footer .btn-secondary:hover{background:var(--hover-bg);border-color:var(--warm-orange)}.bulk-modal-footer .btn-primary{min-width:120px;background:#2c8ee8;color:#fff;border:1px solid #2c8ee8;font-family:var(--font-primary);box-shadow:var(--shadow-sm)}.bulk-modal-footer .btn-primary:hover{background:#2173be;border-color:#2173be;transform:translateY(-1px);box-shadow:0 4px 12px #2173be66}@media (max-width: 768px){.bulk-update-modal{width:95vw;max-height:85vh}.bulk-table-container{font-size:var(--font-size-xs)}.bulk-transactions-table th,.bulk-transaction-row td{padding:var(--space-1)}.bulk-input{padding:var(--space-1);font-size:var(--font-size-xs)}.date-input{min-width:110px}.title-input{min-width:150px}.amount-input{min-width:80px}.category-select{min-width:120px}.type-select{min-width:80px}.bulk-modal-footer{flex-direction:column}.bulk-modal-footer .btn-secondary,.bulk-modal-footer .btn-primary{width:100%}}.transactions-page.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:9999;background:#fff;overflow:auto;padding:var(--space-4)}.transactions-page.fullscreen .transactions-header{margin-bottom:var(--space-4)}.transactions-page.fullscreen .summary-stats{display:none}.transactions-page.fullscreen .transactions-table-container{max-height:calc(100vh - 200px);overflow-y:auto}.btn-icon{background:transparent;color:var(--navy-primary);border:2px solid var(--navy-primary);padding:var(--space-3);border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.btn-icon:hover{background:var(--navy-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #1a365d33}.btn-icon:active{transform:translateY(0)}.btn-icon-inline{padding:var(--space-2);border:1px solid var(--gray-300);background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;color:var(--navy-primary);margin-left:var(--space-2)}.btn-icon-inline:hover{background:var(--navy-primary);color:#fff;border-color:var(--navy-primary);transform:translateY(-1px);box-shadow:0 2px 8px #1a365d26}.btn-icon-inline:active{transform:translateY(0)}.transaction-row.pending-import{background:#fef3c7!important;border-left:3px solid #f59e0b}.transaction-row.pending-import:hover{background:#fde68a!important}.edit-btn{padding:var(--space-2) var(--space-4);background:transparent;color:var(--navy-primary);border:1px solid var(--navy-primary);border-radius:6px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.edit-btn:hover{background:var(--navy-primary);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #1a365d4d}.import-btn{padding:var(--space-2) var(--space-4);background:var(--forest-green);color:#fff;border:1px solid var(--forest-green);border-radius:6px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);display:flex;align-items:center;gap:.5rem}.import-btn:hover:not(:disabled){background:#2f855a;border-color:#2f855a;transform:translateY(-1px);box-shadow:0 2px 8px #38a1694d}.import-btn:disabled{opacity:.6;cursor:not-allowed}.import-filter-tabs-inline{display:flex;gap:var(--space-2)}.filter-tab{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--gray-300);border-radius:6px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);color:var(--gray-700);white-space:nowrap}.filter-tab:hover{border-color:var(--navy-primary);color:var(--navy-primary)}.filter-tab.active{background:var(--navy-primary);border-color:var(--navy-primary);color:#fff}.accounts-container{padding:var(--space-6) var(--space-8);height:calc(100vh - 64px);overflow-y:auto}.accounts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8)}.accounts-header h2{font-size:var(--font-size-3xl);font-weight:600;font-family:var(--font-headings);color:var(--deep-ink);letter-spacing:-.01em;margin:0}.accounts-description{margin-bottom:var(--space-6);padding:var(--space-4);background:#f4f4f2;border-radius:16px;box-shadow:0 4px 20px #1a365d14;transition:all .3s ease}.accounts-description:hover{box-shadow:0 6px 24px #1a365d1f;transform:translateY(-2px)}.accounts-description p{margin:0;font-size:var(--font-size-base);color:var(--deep-ink);line-height:1.6;font-family:var(--font-primary)}.add-account-button{display:flex;align-items:center;gap:var(--space-2);background:#2c8ee8;color:#fff;border:2px solid #2c8ee8;padding:var(--space-3) var(--space-6);border-radius:8px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);box-shadow:0 2px 8px #2c8ee84d}.add-account-button:hover{background:#2173be;color:#fff;border-color:#2173be;transform:translateY(-1px);box-shadow:0 4px 12px #2173be66}.plus-icon{font-size:var(--font-size-lg);font-weight:700;line-height:1}.accounts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-top:var(--space-6)}.account-card{background:#fff;border-radius:var(--radius-lg);border:2px solid;padding:var(--space-6);box-shadow:0 4px 12px #0000000d;transition:all .2s ease}.account-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.card-info h3.card-name{font-size:var(--font-size-lg);font-weight:600;color:var(--deep-ink);margin:0 0 var(--space-1) 0;font-family:var(--font-headings)}.card-details{font-size:var(--font-size-sm);color:var(--soft-gray);margin:0;font-weight:500}.card-logo{width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:var(--font-size-sm)}.card-balance{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-4)}.balance-info,.credit-info{display:flex;flex-direction:column;gap:var(--space-1)}.balance-label,.credit-label{font-size:var(--font-size-sm);color:var(--soft-gray);font-weight:500}.balance-amount{font-size:var(--font-size-xl);font-weight:600;color:var(--deep-ink);font-family:var(--font-headings)}.credit-limit{font-size:var(--font-size-base);font-weight:600;color:var(--soft-gray)}.utilization-bar{width:100%;height:6px;background:var(--gray-200);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--space-2)}.utilization-fill{height:100%;border-radius:var(--radius);transition:width .3s ease}.utilization-text{font-size:var(--font-size-sm);color:var(--soft-gray);font-weight:500;text-align:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.add-account-modal{background:#fff;border-radius:16px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--gray-200)}.modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--deep-ink);font-family:var(--font-headings)}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:var(--soft-gray);padding:var(--space-1);border-radius:8px;transition:color .2s ease}.close-button:hover{color:var(--deep-ink)}.add-account-modal form{padding:var(--space-6)}.form-group{margin-bottom:var(--space-4)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:500;color:var(--deep-ink);font-size:var(--font-size-sm)}.form-group input,.form-group select{width:100%;padding:var(--space-3);border:1px solid var(--gray-300);border-radius:8px;font-size:var(--font-size-base);color:var(--deep-ink);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2c8ee8;box-shadow:0 0 0 3px #2c8ee81a}.form-group input::placeholder{color:var(--soft-gray)}.security-notice{background:var(--gentle-peach);border:1px solid var(--warm-orange);border-radius:8px;padding:var(--space-3);margin:var(--space-4) 0}.security-notice p{margin:0;font-size:var(--font-size-sm);color:var(--deep-ink);display:flex;align-items:center;gap:var(--space-2)}.modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6)}.cancel-button{padding:var(--space-3) var(--space-5);background:transparent;color:var(--soft-gray);border:1px solid var(--gray-300);border-radius:8px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.cancel-button:hover{background:var(--gray-100);color:var(--deep-ink);border-color:var(--gray-400)}.connect-button{padding:var(--space-3) var(--space-5);background:#2c8ee8;color:#fff;border:1px solid #2c8ee8;border-radius:8px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.connect-button:hover{background:#2173be;border-color:#2173be;transform:translateY(-1px);box-shadow:0 4px 12px #2c8ee84d}@media (max-width: 768px){.accounts-container{padding:92px var(--space-4) var(--space-4) var(--space-4);height:100%;display:flex;flex-direction:column;flex:1;overflow:hidden}.example-card-label{font-size:var(--font-size-sm);color:var(--soft-gray);margin-bottom:var(--space-1);text-align:left;font-weight:500;opacity:.8;margin-top:-var(--space-2)}.accounts-header{flex-direction:column;gap:var(--space-4);align-items:flex-start;flex-shrink:0}.accounts-header h2{font-size:var(--font-size-2xl)}.add-account-button{width:100%;justify-content:center;padding:var(--space-4);font-size:var(--font-size-base);min-height:44px}.accounts-description{margin-bottom:var(--space-2);flex-shrink:0}.accounts-grid{grid-template-columns:1fr;gap:var(--space-3);flex:1;overflow:hidden;align-content:start;width:100%;max-width:100%;box-sizing:border-box;margin-top:var(--space-2)}.account-card{padding:var(--space-3);min-height:160px;max-height:180px;width:100%;max-width:100%;display:flex;flex-direction:column;justify-content:space-between;transform:none!important;box-shadow:0 4px 20px #00000014;border-width:3px;overflow:hidden;box-sizing:border-box;aspect-ratio:1.586}.account-card:hover{transform:none!important;box-shadow:0 4px 20px #00000014}.card-header{margin-bottom:var(--space-2);flex-shrink:0}.card-info h3.card-name{font-size:var(--font-size-base);line-height:1.2;margin-bottom:var(--space-1)}.card-details{font-size:var(--font-size-xs);margin-top:0;line-height:1.3}.card-logo{width:36px;height:36px;font-size:var(--font-size-sm)}.card-balance{flex-direction:column;gap:var(--space-2);align-items:flex-start;margin-bottom:var(--space-2);flex:1}.balance-amount{font-size:var(--font-size-lg);line-height:1.1}.credit-limit{font-size:var(--font-size-sm);line-height:1.2}.utilization-bar{height:4px;margin-bottom:var(--space-1);flex-shrink:0}.utilization-text{font-size:var(--font-size-xs);font-weight:600;flex-shrink:0}.add-account-modal{width:95%;margin:var(--space-4)}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.cancel-button,.connect-button{width:100%;min-height:44px;padding:var(--space-4)}}.budget-setup-container{min-height:100vh;background:#ecece9;padding:var(--space-6);overflow-y:auto}@media (min-width: 769px){.budget-setup-container{background-color:#f9faf9}.budget-welcome-modal,.instructions-section,.templates-section,.budget-table-container{background:#fff!important;box-shadow:0 2px 8px #0000000d!important}}.budget-welcome-modal{max-width:600px;margin:60px auto;background:var(--pure-white);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:0 10px 40px #1a1b231a;text-align:center}.welcome-icon{margin-bottom:var(--space-4)}.openmoji-icon{width:80px;height:80px}.budget-welcome-modal h1{font-size:var(--font-size-3xl);font-weight:700;color:var(--deep-ink);margin-bottom:var(--space-4);font-family:"Inter",var(--font-primary)}.welcome-description{font-size:var(--font-size-lg);color:var(--soft-gray);margin-bottom:var(--space-6)}.welcome-features{list-style:none;padding:0;margin:var(--space-6) 0;text-align:left}.welcome-features li{font-size:var(--font-size-base);color:var(--midnight-blue);margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.openmoji-list{width:24px;height:24px;flex-shrink:0}.welcome-tip{background:var(--gentle-peach);border-left:4px solid var(--forest-green);padding:var(--space-4);margin:var(--space-6) 0;text-align:left;border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--deep-ink)}.welcome-actions{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-6)}.budget-setup-content{max-width:1200px;margin:0 auto}.budget-setup-header{text-align:center;margin-bottom:var(--space-6)}.budget-setup-header h1{font-size:var(--font-size-3xl);font-weight:700;color:var(--deep-ink);margin-bottom:var(--space-2);font-family:"Inter",var(--font-primary)}.budget-setup-header p{font-size:var(--font-size-lg);color:var(--soft-gray)}.instructions-section{background:var(--pure-white);border-radius:var(--radius-lg);margin-bottom:var(--space-6);box-shadow:0 2px 8px #0000000d;overflow:hidden}.instructions-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--pure-white);border:none;cursor:pointer;font-size:var(--font-size-base);font-weight:600;color:var(--deep-ink);transition:background .2s;font-family:"Inter",var(--font-primary)}.instructions-toggle:hover{background:var(--hover-bg)}.toggle-icon{color:var(--forest-green);font-size:var(--font-size-sm)}.instructions-content{padding:var(--space-6);border-top:1px solid var(--gray-200)}.instruction-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.instruction-step{display:flex;gap:var(--space-3)}.step-number{width:32px;height:32px;border-radius:50%;background-color:#4a7c59!important;color:#fff!important;display:grid;place-items:center;font-weight:700;font-size:14px;flex-shrink:0}.step-content h3{font-size:var(--font-size-base);font-weight:600;color:var(--deep-ink);margin-bottom:var(--space-1);font-family:"Inter",var(--font-primary)}.step-content p{font-size:var(--font-size-sm);color:var(--soft-gray);line-height:1.5}.instruction-tip{background:var(--light-amber);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--deep-ink);display:flex;align-items:center;gap:var(--space-2)}.instruction-tip strong{color:var(--forest-green)}.openmoji-tip{width:20px;height:20px;flex-shrink:0}.templates-section{background:var(--pure-white);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:0 2px 8px #0000000d}.templates-section h3{font-size:var(--font-size-xl);font-weight:600;color:var(--deep-ink);margin-bottom:var(--space-4);text-align:center;font-family:"Inter",var(--font-primary)}.template-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.template-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s;font-family:var(--font-primary)}.template-btn:hover{background:var(--hover-bg);border-color:var(--forest-green);transform:translateY(-2px);box-shadow:0 4px 12px #4a7c5940}.template-btn.active{background:var(--income-bg);border-color:var(--forest-green);box-shadow:0 2px 8px #4a7c5933}.template-icon{width:48px;height:48px}.template-name{font-size:var(--font-size-sm);font-weight:600;color:var(--deep-ink);font-family:"Inter",var(--font-primary)}.budget-table-container{background:var(--pure-white);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:0 2px 8px #0000000d}.budget-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--gray-200)}.budget-table-header h3{font-size:var(--font-size-lg);font-weight:600;color:var(--deep-ink);margin:0;font-family:"Inter",var(--font-primary)}.month-navigation{display:flex;gap:var(--space-2);align-items:center}.month-nav-btn{display:flex;align-items:center;justify-content:center;padding:var(--space-2);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;color:var(--deep-ink);font-family:var(--font-primary);min-width:36px;height:36px}.month-nav-btn:hover{background:var(--income-bg);border-color:var(--forest-green);color:var(--forest-green);transform:translateY(-1px);box-shadow:0 2px 8px #4a7c5933}.month-nav-btn:active{transform:translateY(0);box-shadow:0 1px 4px #4a7c5933}.today-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:600;min-width:60px}.budget-table-scroll{overflow-x:auto;margin-bottom:var(--space-4)}.budget-table{width:100%;border-collapse:collapse;min-width:900px}.budget-table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-300)}.budget-table th{padding:var(--space-3);text-align:left;font-size:var(--font-size-sm);font-weight:600;color:var(--deep-ink);white-space:nowrap;font-family:"Inter",var(--font-primary)}.budget-table tbody tr{border-bottom:1px solid var(--gray-200);transition:all .2s}.budget-table tbody tr:hover{background:var(--hover-bg);box-shadow:0 2px 8px #4a7c591a}.budget-table tbody tr.income{border-left:4px solid var(--forest-green)}.budget-table tbody tr.expense{border-left:4px solid var(--warm-orange)}.budget-table td{padding:var(--space-2)}.table-input{width:100%;padding:var(--space-2);border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-primary);color:var(--deep-ink);background:var(--pure-white);transition:all .2s}.table-input:focus{outline:none;border-color:var(--forest-green);box-shadow:0 0 0 2px #4a7c5926}.table-input.date-input{min-width:130px}.table-input.title-input{min-width:180px}.table-input.amount-input{min-width:100px;text-align:right}.table-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--forest-green)}.not-applicable{color:var(--soft-gray);font-size:var(--font-size-lg)}.remove-row-btn{background:none;border:none;color:var(--soft-gray);font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s;margin:0 auto}.remove-row-btn:hover{background:var(--error-coral);color:var(--pure-white);transform:scale(1.1);box-shadow:0 2px 8px #e76f514d}.add-row-btn{width:100%;padding:var(--space-3);background:var(--gray-50);border:2px dashed var(--gray-300);border-radius:var(--radius-md);color:var(--deep-ink);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font-primary);margin-bottom:var(--space-4)}.add-row-btn:hover{background:var(--income-bg);border-color:var(--forest-green);color:var(--forest-green);box-shadow:0 2px 8px #4a7c5926}.budget-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg)}.summary-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.summary-label{font-size:var(--font-size-sm);font-weight:500;color:var(--soft-gray);font-family:"Inter",var(--font-primary)}.summary-amount{font-size:var(--font-size-2xl);font-weight:700}.summary-item.income .summary-amount{color:var(--forest-green)}.summary-item.expense .summary-amount{color:var(--warm-orange)}.summary-item.net.positive .summary-amount{color:var(--forest-green)}.summary-item.net.negative .summary-amount{color:var(--error-coral)}.complete-actions{display:flex;gap:var(--space-3);justify-content:center;padding:var(--space-6) 0}.btn-primary,.btn-primary-large{padding:var(--space-3) var(--space-6);background:var(--forest-green);color:var(--pure-white);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font-primary)}.btn-primary-large{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.btn-primary:hover,.btn-primary-large:hover{background:var(--success-sage);transform:translateY(-2px);box-shadow:0 4px 12px #4a7c5966}.btn-primary:disabled,.btn-primary-large:disabled{background:var(--gray-300);cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{padding:var(--space-3) var(--space-6);background:transparent;color:var(--deep-ink);border:2px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font-primary)}.btn-secondary:hover{border-color:var(--forest-green);background:var(--hover-bg);transform:translateY(-2px);box-shadow:0 2px 8px #4a7c5933}@media (max-width: 768px){.budget-setup-container{padding:var(--space-4)}.budget-welcome-modal{margin:var(--space-6) auto;padding:var(--space-6)}.instruction-steps,.budget-summary,.template-buttons{grid-template-columns:1fr}.welcome-actions,.complete-actions{flex-direction:column;width:100%}.welcome-actions button,.complete-actions button{width:100%}.budget-table-scroll{margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));padding:0 var(--space-4)}}.budget-building-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1a1b23d9;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;z-index:9999;animation:fadeIn .3s ease-out}.building-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);animation:slideUp .6s ease-out}.calendar-icon-pulse{width:100px;height:100px;color:var(--forest-green);animation:pulse 2s ease-in-out infinite}.calendar-icon-pulse svg{width:100%;height:100%;filter:drop-shadow(0 0 20px rgba(56,161,105,.6))}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes slideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.building-text{font-size:var(--font-size-2xl);font-weight:600;color:#fff;font-family:var(--font-headings);margin:0;animation:fadeInText .5s ease-out .2s both}@keyframes fadeInText{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.setup-method-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);margin:var(--space-6) 0}@media (max-width: 768px){.setup-method-options{grid-template-columns:1fr}.budget-welcome-modal{max-width:100%;padding:var(--space-6)}}.setup-option-card{background:var(--pure-white);border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-6);cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center}.setup-option-card:hover{border-color:var(--forest-green);transform:translateY(-4px);box-shadow:0 8px 24px #4a7c5933}.option-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);transition:all .3s ease}.bank-icon{background:linear-gradient(135deg,#4a7c59,#6faf8f);color:#fff}.manual-icon{background:var(--gray-100);color:var(--navy-primary)}.setup-option-card:hover .option-icon{transform:scale(1.1)}.setup-option-card h3{font-size:var(--font-size-xl);font-weight:600;color:var(--deep-ink);margin-bottom:var(--space-2);font-family:"Inter",var(--font-primary)}.setup-option-card p{font-size:var(--font-size-sm);color:var(--soft-gray);margin-bottom:var(--space-4);line-height:1.6}.option-benefits{list-style:none;padding:0;margin:var(--space-4) 0;text-align:left;width:100%}.option-benefits li{font-size:var(--font-size-sm);color:var(--midnight-blue);margin-bottom:var(--space-2);padding-left:var(--space-2)}.option-button{margin-top:auto;width:100%}.setup-skip{margin-top:var(--space-6);text-align:center}.btn-text{background:none;border:none;color:var(--soft-gray);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-2);transition:color .2s ease;font-family:var(--font-primary)}.btn-text:hover{color:var(--navy-primary);text-decoration:underline}.bank-connect-info{margin:var(--space-4) 0;text-align:left}.bank-connect-info p{margin-bottom:var(--space-3);color:var(--deep-ink);font-weight:600}.welcome-actions{display:flex;flex-direction:column;gap:var(--space-3);align-items:center;margin-top:var(--space-6)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000}.two-factor-verify-modal{background:#fff;border-radius:12px;padding:var(--space-6);max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d;position:relative;z-index:10001}.two-factor-verify-modal h2{color:var(--navy-primary);margin-bottom:var(--space-3);text-align:center}.verify-description{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.two-factor-verify-modal .error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:var(--space-3);border-radius:8px;margin-bottom:var(--space-3);text-align:center;font-size:var(--font-size-sm)}.two-factor-verify-modal .form-group{margin-bottom:var(--space-4)}.two-factor-verify-modal .form-group label{display:block;margin-bottom:var(--space-2);color:var(--text-primary);font-weight:600;font-size:var(--font-size-sm)}.token-input{width:100%;padding:var(--space-3);font-size:1.5rem;font-family:Courier New,monospace;text-align:center;border:2px solid var(--border-color);border-radius:8px;transition:border-color .2s;letter-spacing:.5em}.token-input:focus{outline:none;border-color:var(--blue-secondary)}.token-input:disabled{background:#f8f9fa;cursor:not-allowed}.verify-button{width:100%;padding:var(--space-3);background:var(--blue-secondary);color:#fff;border:none;border-radius:8px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background-color .2s}.verify-button:hover:not(:disabled){background:var(--navy-primary)}.verify-button:disabled{background:#ccc;cursor:not-allowed}.alternative-methods{margin:var(--space-4) 0;text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}.resend-code-button{background:transparent;color:var(--blue-secondary);border:1px solid var(--blue-secondary);border-radius:6px;cursor:pointer;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);transition:all .2s;font-weight:600}.resend-code-button:hover:not(:disabled){background:var(--blue-secondary);color:#fff}.resend-code-button:disabled{opacity:.5;cursor:not-allowed}.toggle-method-button{background:none;border:none;color:var(--blue-secondary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-2);transition:color .2s}.toggle-method-button:hover:not(:disabled){color:var(--navy-primary);text-decoration:underline}.toggle-method-button:disabled{color:#ccc;cursor:not-allowed}.cancel-link{display:block;width:100%;background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-2);text-align:center;transition:color .2s}.cancel-link:hover:not(:disabled){color:var(--text-primary)}@media (max-width: 768px){.two-factor-verify-modal{padding:var(--space-4)}.token-input{font-size:1.25rem}}.cookie-banner-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:9998;animation:fadeIn .3s ease-in-out}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#ecece9f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#1a365d;padding:.5rem 1.5rem;box-shadow:0 -2px 8px #0000001a;z-index:9999;animation:slideUp .4s ease-out;border-top:1px solid rgba(0,0,0,.1)}.cookie-banner-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;max-width:1400px;margin:0 auto}@media (max-width: 768px){.cookie-banner{padding:.5rem 1rem}.cookie-banner-content{gap:.75rem}}.cookie-banner-text{flex:1;display:flex;align-items:center;gap:.5rem}.cookie-banner-text h3{display:none}.cookie-banner-text p{margin:0;font-size:.875rem;line-height:1.4;color:#2d3748}.cookie-banner-note{display:none}@media (max-width: 768px){.cookie-banner-text p{font-size:.8rem}}.cookie-banner-actions{display:flex;gap:.75rem;flex-shrink:0;align-items:center}.cookie-banner-btn{padding:.5rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}@media (max-width: 768px){.cookie-banner-btn{padding:.5rem 1rem;font-size:.8rem}}.cookie-banner-btn-primary{background:var(--forest-green, #38a169);color:#fff}.cookie-banner-btn-primary:hover{background:#2f8a5a;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.cookie-banner-btn-primary:active{transform:translateY(0)}.cookie-banner-btn-secondary{background:transparent;color:#1a365d;border:2px solid #1a365d}.cookie-banner-btn-secondary:hover{background:#1a365d1a;border-color:#1a365d}.cookie-banner-btn-secondary:active{background:#1a365d26}.cookie-banner-link{color:#1a365d;font-size:.875rem;text-decoration:underline;transition:color .2s ease;white-space:nowrap}.cookie-banner-link:hover{color:#2d3748}@media (max-width: 768px){.cookie-banner-link{font-size:.8rem}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (min-width: 769px){@keyframes slideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}}@media print{.cookie-banner,.cookie-banner-backdrop{display:none!important}}.auth-page-container{height:100vh;display:flex;align-items:center;justify-content:center;background:#ecece9;padding:20px;overflow:hidden}.auth-split-container{display:grid;grid-template-columns:450px 1fr;grid-template-rows:minmax(0,1fr);max-width:1400px;width:100%;height:calc(100vh - 40px);max-height:700px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d}@media (min-width: 1025px){.auth-page-container{padding:0}.auth-split-container{max-width:none;max-height:none;height:100vh;border-radius:0;box-shadow:none}}.auth-left-panel{padding:60px 50px;display:flex;flex-direction:column;justify-content:center;background:var(--pure-white);overflow-y:auto;height:100%;scrollbar-width:none;-ms-overflow-style:none}.auth-left-panel::-webkit-scrollbar{display:none}.auth-form-wrapper{width:100%}.auth-logo{font-size:28px;font-weight:700;color:var(--deep-ink);margin-bottom:8px;font-family:var(--font-headings);text-align:center}.auth-tagline{color:var(--soft-gray);margin-bottom:20px;font-size:14px;font-family:var(--font-primary);text-align:center}.auth-toggle{display:flex;background:var(--gray-100);border-radius:8px;padding:var(--space-1);margin-bottom:20px}.auth-toggle .toggle-btn{flex:1;padding:var(--space-2) var(--space-3);border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-primary);color:var(--gray-600);transition:all .2s ease}.auth-toggle .toggle-btn.active{background:var(--forest-green);color:#fff;box-shadow:0 2px 4px #4a7c5933}.auth-toggle .toggle-btn:hover:not(.active){background:var(--gray-200);color:var(--gray-800)}.auth-form-container{position:relative}.auth-form-new{display:flex;flex-direction:column;gap:16px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-input-group{display:flex;flex-direction:column}.auth-input-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--midnight-blue);font-size:14px;font-family:var(--font-primary)}.auth-terms-group{margin-top:4px;margin-bottom:4px}.auth-terms-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-family:var(--font-primary)}.auth-terms-checkbox{margin-top:4px;width:18px;height:18px;cursor:pointer;flex-shrink:0;accent-color:var(--forest-green)}.auth-terms-text{font-size:13px;color:var(--gray-700);line-height:1.5}.auth-terms-link{color:var(--forest-green);text-decoration:underline;font-weight:500;transition:color .2s ease}.auth-terms-link:hover{color:var(--warm-teal)}.auth-input-group input{width:100%;padding:10px 14px;border:2px solid var(--gray-200);border-radius:8px;font-size:15px;font-family:var(--font-primary);transition:border-color .3s ease;box-sizing:border-box}.auth-input-group input:focus{outline:none;border-color:var(--forest-green);box-shadow:0 0 0 3px #4a7c591a}.auth-input-group input::placeholder{color:var(--soft-gray)}.auth-password-wrapper{position:relative;width:100%}.auth-password-wrapper input{padding-right:45px}.auth-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--gray-600);display:flex;align-items:center;justify-content:center;padding:4px;transition:color .2s ease}.auth-password-toggle:hover{color:var(--forest-green)}.auth-password-toggle:focus{outline:none;color:var(--forest-green)}.auth-error-message{background:#e76f511a;border:1px solid rgba(231,111,81,.2);color:var(--error-coral);padding:12px 16px;border-radius:8px;font-size:14px;font-family:var(--font-primary);margin-bottom:20px}.auth-footer-toggle{margin-top:var(--space-6);text-align:center;padding-top:var(--space-4);border-top:1px solid var(--gray-200)}.auth-footer-toggle p{font-size:var(--font-size-sm);color:var(--soft-gray);margin:0;font-family:var(--font-primary)}.auth-toggle-link{background:none;border:none;color:#2c8ee8;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-decoration:underline;margin-left:var(--space-2);font-family:var(--font-primary);transition:color .2s ease}.auth-toggle-link:hover:not(:disabled){color:#2173be}.auth-toggle-link:disabled{color:var(--gray-400);cursor:not-allowed}.auth-forgot-password-link{text-align:center;margin-top:var(--space-3)}.auth-link-btn{background:none;border:none;color:#2c8ee8;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;text-decoration:underline;font-family:var(--font-primary);transition:color .2s ease;padding:0}.auth-link-btn:hover{color:#2173be}.auth-submit-button{width:100%;padding:12px;background:linear-gradient(135deg,#4a7c59,#6faf8f);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;font-family:var(--font-primary);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.auth-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #4a7c5966}.auth-submit-button:active:not(:disabled){transform:translateY(0)}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-right-panel{background:linear-gradient(135deg,#4a7c59,#6faf8f);padding:24px 40px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;position:relative;overflow:hidden;height:100%;gap:16px}.auth-preview-title,.auth-preview-subtitle,.slider-header label,.slider-value{color:#fff}.auth-preview-title{font-size:22px;font-weight:700;margin-bottom:0;text-align:center;z-index:2;font-family:var(--font-headings);margin-top:0}.auth-preview-subtitle{font-size:13px;opacity:.9;margin-bottom:0;text-align:center;z-index:2;font-family:var(--font-primary)}.auth-demo-content{display:grid;grid-template-columns:240px 1fr;gap:16px;width:100%;z-index:2;min-height:0;overflow:hidden}.auth-demo-left{display:flex;flex-direction:column;gap:8px;overflow:hidden}.auth-demo-right{display:flex;flex-direction:column;overflow:hidden;height:100%}.auth-calendar-preview{width:100%;background:#fff;border-radius:12px;padding:14px;z-index:2;display:flex;flex-direction:column;box-shadow:0 2px 8px #0000001a;border:1px solid var(--gray-200);overflow:hidden;flex:1;height:100%}.preview-calendar-header{text-align:center;margin-bottom:8px;flex-shrink:0}.preview-month{font-size:1.25rem;font-weight:600;color:#1a1b23;font-family:var(--font-primary)}.preview-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(6,1fr);gap:4px;flex:1;min-height:0}.preview-day-header{text-align:center;font-size:.625rem;font-weight:600;color:#1a1b23;padding:.5rem;font-family:var(--font-primary);background:#ecece9;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #0000000d}.preview-day{min-height:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#1a1b23;background:#fff;border-radius:8px;font-weight:600;font-family:var(--font-primary);border:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d;transition:all .2s ease;cursor:pointer}.preview-day:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a;background:#f9fafb}.preview-day.other-month{background:#f9fafb;opacity:.7;color:#94a3b8}.preview-day.today{background:#fff;color:#1a1b23;font-weight:600;border-color:var(--gray-300);box-shadow:0 2px 4px #0000000d}.preview-day.today:hover{background:var(--gray-50)}.preview-day.income{background:#4a7c5959;border-color:#4a7c5999;color:#1a1b23;font-weight:700;box-shadow:inset 0 0 0 1px #4a7c594d}.preview-day.income:hover{background:#4a7c5973;border-color:#4a7c59b3}.preview-day.expense{background:#e87d3e59;border-color:#e87d3e99;color:#1a1b23;font-weight:700;box-shadow:inset 0 0 0 1px #e87d3e4d}.preview-day.expense:hover{background:#e87d3e73;border-color:#e87d3eb3}.preview-day.mixed{background:linear-gradient(135deg,#4a7c5959 50%,#e87d3e59 50%);border-color:#96969699;color:#1a1b23;font-weight:700;box-shadow:inset 0 0 0 1px #9696964d}.preview-day.mixed:hover{background:linear-gradient(135deg,#4a7c5973 50%,#e87d3e73 50%);box-shadow:inset 0 0 0 1px #96969666}.auth-sliders{width:100%;z-index:2;display:flex;flex-direction:row;gap:20px;margin-top:0;padding:0 20px;flex-shrink:0}.slider-group{flex:1}.slider-hint{width:100%;text-align:center;font-style:italic;font-size:13px;color:#fff;opacity:.8;margin-top:8px;font-family:var(--font-primary)}.slider-instruction-text{width:100%;text-align:center;font-size:14px;color:#fff;opacity:.9;margin-top:12px;font-family:var(--font-primary);font-style:italic}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.slider-header label{font-size:10px;font-weight:600;color:#fff;opacity:.9;font-family:var(--font-primary)}.slider-value{font-size:11px;font-weight:700;color:#fff;background:#fff3;padding:2px 8px;border-radius:10px;font-family:var(--font-primary)}.demo-slider{width:100%;height:8px;border-radius:4px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff3}.demo-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:transform .2s ease}.demo-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.demo-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;cursor:pointer;border:none;box-shadow:0 2px 6px #0000004d;transition:transform .2s ease}.demo-slider::-moz-range-thumb:hover{transform:scale(1.1)}.income-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,#fff3,#22c55e80);border-radius:4px}.expense-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,#fff3,#f9731680);border-radius:4px}.auth-features{margin-top:20px;display:flex;flex-direction:column;gap:12px;z-index:2;width:100%}.auth-feature{display:flex;align-items:center;gap:12px;font-size:14px;font-family:var(--font-primary)}.auth-feature-icon{width:24px;height:24px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:700}.auth-bg-decoration{position:absolute;border-radius:50%;background:#ffffff0d}.auth-bg-decoration:nth-child(1){width:300px;height:300px;top:-100px;right:-100px}.auth-bg-decoration:nth-child(2){width:400px;height:400px;bottom:-150px;left:-150px}@media (max-width: 968px){.auth-split-container{grid-template-columns:1fr}.auth-right-panel{display:none}.auth-left-panel{padding:40px 30px}.auth-page-container{padding:10px}}@media (min-width: 769px){.auth-left-panel{justify-content:flex-start;padding-top:40px}.auth-demo-header{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0}.auth-demo-header .auth-preview-title{margin-bottom:0;margin-top:0}.auth-demo-header .auth-preview-subtitle{margin-bottom:0;font-size:14px}.auth-demo-header .auth-preview-subtitle:before{content:"- "}}@media (max-width: 480px){.auth-left-panel{padding:30px 20px}.auth-logo,.auth-preview-title{font-size:24px}.auth-tabs{gap:20px}.auth-input-group input,.auth-submit-button{padding:14px}}.auth-demo-left .budget-health-progress{padding:.75rem;margin-bottom:0}.auth-demo-left .health-header{margin-bottom:.75rem;gap:.5rem}.auth-demo-left .header-icon-wrapper{width:30px;height:30px;min-width:30px;min-height:30px}.auth-demo-left .header-icon{width:15px;height:15px}.auth-demo-left .progress-section{margin-bottom:.5rem}.auth-demo-left .progress-bar-wrapper{height:8px}.auth-demo-left .budget-details-grid{gap:.5rem;margin-bottom:.75rem}.auth-demo-left .header-icon{color:var(--forest-green)!important;stroke:var(--forest-green)!important}.auth-demo-left .paycheck-kpi-icon{color:inherit!important;stroke:currentColor!important}.auth-demo-left .status-icon.icon-good{color:var(--forest-green)!important;stroke:var(--forest-green)!important}.auth-demo-left .status-icon.icon-warning{color:#f59e0b!important;stroke:#f59e0b!important}.auth-demo-left .status-icon.icon-critical{color:var(--warm-orange)!important;stroke:var(--warm-orange)!important}.auth-demo-left .health-title,.auth-demo-left .countdown-card-title,.auth-demo-left .status-text{color:var(--navy-primary)!important}.auth-demo-left .detail-label,.auth-demo-left .progress-label,.auth-demo-left .paycheck-kpi-label,.auth-demo-left .summary-label,.auth-demo-left .countdown-status-text{color:var(--gray-600)!important}.auth-demo-left .detail-amount,.auth-demo-left .summary-amount,.auth-demo-left .paycheck-kpi-value,.auth-demo-left .progress-value{color:var(--navy-primary)!important}.auth-demo-left .health-title{font-size:1rem}.auth-demo-left .header-icon-wrapper{padding:.5rem}.auth-demo-left .header-icon{width:20px;height:20px}.auth-demo-left .status-icon{width:16px;height:16px}.auth-demo-left .status-text,.auth-demo-left .progress-label,.auth-demo-left .progress-value{font-size:.75rem}.auth-demo-left .detail-label{font-size:.6rem}.auth-demo-left .detail-amount{font-size:.875rem}.auth-demo-left .summary-label{font-size:.65rem}.auth-demo-left .summary-amount{font-size:1.1rem}.auth-demo-left .financial-overview{padding:0;background:transparent;box-shadow:none;overflow:visible}.auth-demo-left .paycheck-countdown-card{padding:1rem;overflow:hidden;box-sizing:border-box}.auth-demo-left .paycheck-kpi-grid{gap:.5rem}.auth-demo-left .paycheck-kpi-item{padding:.75rem;min-width:0}.auth-demo-left .paycheck-kpi-item.kpi-remaining{background-color:#d1fae5}.auth-demo-left .paycheck-kpi-content{min-width:0;overflow:visible;flex:1;max-width:calc(100% - 30px)}.auth-demo-left .paycheck-remaining-wrapper{min-width:0;max-width:calc(100% - 30px)}.auth-demo-left .countdown-card-header{margin-bottom:.5rem}.auth-demo-left .countdown-card-title{font-size:1rem}.auth-demo-left .countdown-status-text{font-size:.7rem}.auth-demo-left .paycheck-kpi-icon{width:20px;height:20px;flex-shrink:0}.auth-demo-left .paycheck-kpi-value{font-size:.95rem;white-space:nowrap;overflow:visible;line-height:1.4;text-align:left}.auth-demo-left .paycheck-kpi-label{font-size:.6rem}.auth-mobile-preview{display:none;margin-top:var(--space-6);padding-top:var(--space-6)}.mobile-preview-logo{font-size:28px;font-weight:700;color:var(--deep-ink);margin-bottom:var(--space-6);font-family:var(--font-headings);text-align:center}.mobile-preview-header{text-align:center;margin-bottom:var(--space-6)}.mobile-preview-header h3{font-size:1.5rem;font-weight:700;color:var(--navy-primary);margin:0 0 var(--space-2) 0;font-family:var(--font-primary)}.mobile-preview-header p{font-size:.875rem;color:var(--gray-600);margin:0}.mobile-preview-card{background:#f4f4f2;border-radius:16px;padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:0 4px 20px #1a365d14;transition:all .3s ease}.preview-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.preview-icon-wrapper{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#4a7c59,#6faf8f);display:flex;align-items:center;justify-content:center;color:#fff}.preview-card-header h4{font-size:1rem;font-weight:600;color:var(--navy-primary);margin:0;font-family:var(--font-primary)}.preview-health-bar{width:100%;height:12px;background:var(--gray-200);border-radius:6px;overflow:hidden;margin-bottom:var(--space-3)}.preview-progress{height:100%;background:linear-gradient(90deg,#4a7c59,#6faf8f);transition:width .3s ease}.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.preview-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.preview-label{font-size:.75rem;color:var(--gray-600);margin-bottom:var(--space-1)}.preview-value{font-size:1rem;font-weight:600;font-family:var(--font-primary)}.preview-value.income{color:var(--forest-green)}.preview-value.expense{color:var(--warm-orange)}.preview-value.remaining{color:var(--navy-primary)}.preview-countdown-content{display:flex;flex-direction:column;gap:var(--space-3)}.preview-days{text-align:center;padding:var(--space-3);background:linear-gradient(135deg,#4a7c591a,#74b7ae1a);border-radius:8px}.preview-days-number{display:block;font-size:2rem;font-weight:700;color:var(--forest-green);font-family:var(--font-primary)}.preview-days-label{font-size:.875rem;color:var(--gray-600)}.preview-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.preview-kpi{text-align:center}.preview-kpi-label{display:block;font-size:.75rem;color:var(--gray-600);margin-bottom:var(--space-1)}.preview-kpi-value{display:block;font-size:1.125rem;font-weight:600;color:var(--navy-primary);font-family:var(--font-primary)}.preview-kpi-value.success{color:var(--forest-green)}.preview-calendar-mini{display:flex;flex-direction:column;gap:var(--space-3)}.preview-calendar-month{text-align:center;font-size:.875rem;font-weight:600;color:var(--navy-primary)}.preview-calendar-grid-mini{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.preview-day-label{font-size:.75rem;font-weight:600;color:var(--gray-600);text-align:center;padding:4px 0}.preview-calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.75rem;border-radius:4px;background:#fff;border:1px solid var(--gray-200);color:var(--gray-800)}.preview-calendar-day.other{color:var(--gray-400)}.preview-calendar-day.today{background:var(--navy-primary);color:#fff;font-weight:600;border-color:var(--navy-primary)}.preview-calendar-day.income{background:#dcfce7;border-color:var(--forest-green);color:var(--forest-green);font-weight:600}.preview-calendar-day.expense{background:#ffedd5;border-color:var(--warm-orange);color:var(--warm-orange);font-weight:600}.preview-calendar-day.mixed{background:linear-gradient(135deg,#dcfce7 50%,#ffedd5 50%);border-color:var(--forest-green);color:var(--navy-primary);font-weight:600}.preview-calendar-legend{display:flex;justify-content:center;gap:var(--space-4);padding-top:var(--space-2)}.preview-legend-item{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;color:var(--gray-600)}.preview-legend-dot{width:12px;height:12px;border-radius:3px}.preview-legend-dot.income{background:#dcfce7;border:1px solid var(--forest-green)}.preview-legend-dot.expense{background:#ffedd5;border:1px solid var(--warm-orange)}.mobile-auth-buttons-top{display:none;flex-direction:row;gap:var(--space-3);margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:2px solid var(--gray-200)}.mobile-auth-buttons{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:2px solid var(--gray-200)}.mobile-auth-btn{width:100%;padding:var(--space-4);font-size:1.125rem;font-weight:700;font-family:var(--font-primary);border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.mobile-auth-login{background:#fff;color:var(--navy-primary);border:2px solid var(--navy-primary)}.mobile-auth-login:hover{background:var(--navy-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #1a365d33}.mobile-auth-signup{background:var(--forest-green);color:#fff}.mobile-auth-signup:hover{background:#3e6b47;transform:translateY(-2px);box-shadow:0 4px 12px #4a7c594d}.mobile-form-collapse-notice{text-align:center;padding:var(--space-6);background:linear-gradient(135deg,#4a7c591a,#74b7ae1a);border-radius:12px;margin-top:var(--space-4)}.mobile-form-collapse-notice p{font-size:1rem;color:var(--navy-primary);margin:0 0 var(--space-3) 0;font-weight:600}.mobile-back-to-preview{background:#fff;color:var(--navy-primary);border:2px solid var(--navy-primary);padding:var(--space-3) var(--space-6);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.mobile-back-to-preview:hover{background:var(--navy-primary);color:#fff}@media (max-width: 1024px){.auth-mobile-preview{display:block;margin-top:0;padding-top:0}.mobile-auth-buttons-top{display:flex}.auth-left-panel{justify-content:flex-start!important}.auth-logo,.auth-tagline,.auth-toggle,.auth-form-container{display:none}.auth-left-panel.show-form .auth-logo,.auth-left-panel.show-form .auth-tagline,.auth-left-panel.show-form .auth-toggle,.auth-left-panel.show-form .auth-form-container{display:block}.auth-left-panel.show-form .auth-toggle{display:flex}.auth-left-panel.show-form .auth-mobile-preview{display:none}.mobile-preview-card .paycheck-kpi-grid{gap:8px}.mobile-preview-card .paycheck-kpi-item{padding:12px;gap:8px}.mobile-preview-card .paycheck-kpi-icon{flex-shrink:0}.mobile-preview-card .paycheck-kpi-value{font-size:1.25rem}.mobile-preview-card .paycheck-kpi-label{font-size:.75rem}}@media (max-width: 380px){.mobile-preview-card .paycheck-kpi-item{padding:10px;gap:6px}.mobile-preview-card .paycheck-kpi-value{font-size:1.1rem}.mobile-preview-card .paycheck-kpi-label{font-size:.7rem}}.mobile-bottom-cta{display:none;margin-top:var(--space-8);padding-top:var(--space-6);border-top:2px solid var(--gray-200);text-align:center}.mobile-bottom-signup-btn{width:100%;padding:var(--space-4);font-size:1.125rem;font-weight:700;font-family:var(--font-primary);border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a;background:var(--forest-green);color:#fff}.mobile-bottom-signup-btn:hover{background:#3e6b47;transform:translateY(-2px);box-shadow:0 4px 12px #4a7c594d}.mobile-back-button{display:none;background:transparent;border:none;color:var(--navy-primary);font-size:1.75rem;cursor:pointer;padding:var(--space-2);margin-bottom:var(--space-3);transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px}.mobile-back-button:active{background:#1a365d1a;transform:scale(.95)}@media (max-width: 1024px){.mobile-bottom-cta,.auth-left-panel.show-form .mobile-back-button{display:block}}.two-factor-setup-modal{background:#fff;border-radius:12px;padding:var(--space-6);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.two-factor-setup-modal h2{color:var(--navy-primary);margin-bottom:var(--space-4);text-align:center}.setup-step{display:flex;flex-direction:column;gap:var(--space-4)}.step-header{text-align:center;margin-bottom:var(--space-3)}.step-number{display:inline-block;background:var(--blue-secondary);color:#fff;padding:var(--space-1) var(--space-3);border-radius:20px;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-2)}.step-header h3{color:var(--navy-primary);margin-top:var(--space-2)}.step-description{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-3)}.qr-code-container{display:flex;justify-content:center;padding:var(--space-4);background:#f8f9fa;border-radius:8px}.qr-code{max-width:300px;width:100%;height:auto}.manual-entry{margin-top:var(--space-4);padding:var(--space-3);background:#f8f9fa;border-radius:8px}.manual-entry-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-2);text-align:center}.secret-display{display:flex;gap:var(--space-2);align-items:center;justify-content:center}.secret-code{font-family:Courier New,monospace;font-size:var(--font-size-base);padding:var(--space-2) var(--space-3);background:#fff;border:1px solid var(--border-color);border-radius:4px;color:var(--navy-primary);word-break:break-all}.copy-button{padding:var(--space-2) var(--space-3);background:var(--blue-secondary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:background-color .2s}.copy-button:hover{background:var(--navy-primary)}.warning-box{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:var(--space-4);margin-bottom:var(--space-3)}.warning-box p{margin:var(--space-2) 0;font-size:var(--font-size-sm);color:#856404}.warning-box strong{font-weight:700}.backup-codes-container{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin:var(--space-3) 0}.backup-code{background:#f8f9fa;border:1px solid var(--border-color);border-radius:4px;padding:var(--space-2);text-align:center}.backup-code code{font-family:Courier New,monospace;font-size:var(--font-size-base);color:var(--navy-primary);font-weight:600}.download-button{width:100%;padding:var(--space-3);background:var(--forest-green);color:#fff;border:none;border-radius:8px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background-color .2s;margin-bottom:var(--space-3)}.download-button:hover{background:#2f855a}.form-group label{font-weight:600;color:var(--navy-primary);font-size:var(--font-size-base)}.phone-input,.code-input{padding:var(--space-3);border:1px solid var(--border-color);border-radius:8px;font-size:var(--font-size-base);transition:border-color .2s}.phone-input:focus,.code-input:focus{outline:none;border-color:var(--blue-secondary);box-shadow:0 0 0 3px #3182ce1a}.code-input{text-align:center;font-size:1.5rem;letter-spacing:.5em;font-weight:600;font-family:Courier New,monospace}.input-hint{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-1)}.error-message{background:#fee;border:1px solid #fcc;border-radius:4px;padding:var(--space-2) var(--space-3);color:#c33;font-size:var(--font-size-sm);text-align:center}.resend-section{text-align:center;margin:var(--space-3) 0}.resend-button{background:transparent;color:var(--blue-secondary);border:none;cursor:pointer;font-size:var(--font-size-sm);text-decoration:underline;padding:var(--space-2)}.resend-button:hover{color:var(--navy-primary)}.resend-button:disabled{opacity:.5;cursor:not-allowed}.button-group{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.button-group button{flex:1;padding:var(--space-3);border:none;border-radius:8px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s}.cancel-button,.back-button{background:#fff;color:var(--text-primary);border:1px solid var(--border-color)}.cancel-button:hover,.back-button:hover{background:#f8f9fa}.next-button,.complete-button{background:var(--blue-secondary);color:#fff}.next-button:hover,.complete-button:hover{background:var(--navy-primary)}@media (max-width: 768px){.two-factor-setup-modal{padding:var(--space-4)}.backup-codes-container{grid-template-columns:1fr}.button-group{flex-direction:column}}.privacy-rights-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.privacy-rights-content{background:#ecece9;border-radius:16px;max-width:64rem;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid rgba(226,232,240,.8);animation:modalSlideUp .3s ease-out}.privacy-rights-header{position:sticky;top:0;background:#f4f4f2;border-bottom:1px solid var(--gray-200);padding:var(--space-6);display:flex;justify-content:space-between;align-items:center;z-index:10}.privacy-rights-header h2{font-size:var(--font-size-2xl);font-weight:600;font-family:var(--font-headings);color:var(--deep-ink);letter-spacing:-.01em;margin:0}.privacy-rights-close{background:none;border:none;color:var(--soft-gray);font-size:2rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:var(--radius);line-height:1}.privacy-rights-close:hover{color:var(--deep-ink);background:var(--gray-100)}.privacy-rights-tabs{border-bottom:1px solid var(--gray-200);padding:0 var(--space-6);display:flex;gap:var(--space-3);background:#f4f4f2}.privacy-tab{padding:var(--space-3) var(--space-4);border:none;background:none;border-bottom:2px solid transparent;font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-primary);color:var(--soft-gray);cursor:pointer;transition:all .2s ease;position:relative}.privacy-tab:hover{color:var(--deep-ink)}.privacy-tab.active{color:#2173be;border-bottom-color:#2173be}.privacy-rights-body{flex:1;overflow-y:auto;padding:var(--space-6);background:#ecece9}.privacy-overview{display:flex;flex-direction:column;gap:var(--space-6)}.privacy-info-banner{background:#fff7ed;border:1px solid rgba(232,125,62,.2);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;gap:var(--space-3);box-shadow:var(--shadow-sm)}.privacy-info-banner .privacy-icon{width:1.25rem;height:1.25rem;color:#2173be;flex-shrink:0;margin-top:.125rem}.privacy-info-banner h3{font-weight:600;font-family:var(--font-primary);color:var(--deep-ink);margin:0 0 .25rem;font-size:var(--font-size-base)}.privacy-info-banner p{font-size:var(--font-size-sm);color:var(--midnight-blue);margin:0;line-height:1.5;font-family:var(--font-primary)}.privacy-info-banner a{color:#2173be;text-decoration:none;font-weight:600;transition:opacity .2s}.privacy-info-banner a:hover{opacity:.8;text-decoration:underline}.privacy-rights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4)}.privacy-right-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-5);transition:all .2s ease;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.privacy-right-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#e87d3e33}.privacy-right-card.delete-account{border-color:#fecaca;background:#fef2f2}.privacy-card-icon{width:1.5rem;height:1.5rem;margin-bottom:var(--space-3)}.privacy-card-icon.access{color:#6366f1}.privacy-card-icon.portability{color:var(--forest-green)}.privacy-card-icon.erasure{color:#2173be}.privacy-card-icon.delete{color:#ef4444}.privacy-card-icon.restrict{color:var(--dusty-purple)}.privacy-card-icon.optout{color:var(--rose-gold)}.privacy-card-content h3{font-weight:600;font-family:var(--font-primary);color:var(--deep-ink);margin:0 0 var(--space-2) 0;font-size:var(--font-size-base)}.privacy-card-content p{font-size:var(--font-size-sm);color:var(--soft-gray);margin:0 0 var(--space-2) 0;line-height:1.4;font-family:var(--font-primary)}.privacy-card-timeline{font-size:.75rem!important;color:var(--soft-gray)!important;margin-top:var(--space-2)!important}.privacy-action-btn{margin-top:auto;padding-top:var(--space-4);width:100%;padding-left:var(--space-4);padding-right:var(--space-4);padding-bottom:var(--space-3);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease;border:none}.privacy-action-btn.access{background:#eef2ff;color:#4f46e5}.privacy-action-btn.access:hover{background:#e0e7ff;transform:translateY(-1px)}.privacy-action-btn.portability{background:#f0fdf4;color:var(--forest-green)}.privacy-action-btn.portability:hover{background:#dcfce7;transform:translateY(-1px)}.privacy-action-btn.erasure{background:#e0f2fe;color:#2173be}.privacy-action-btn.erasure:hover{background:#bae6fd;transform:translateY(-1px)}.privacy-action-btn.delete{background:#ef4444;color:#fff}.privacy-action-btn.delete:hover{background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-md)}.privacy-action-btn.restrict{background:#faf5ff;color:var(--dusty-purple)}.privacy-action-btn.restrict:hover{background:#f3e8ff;transform:translateY(-1px)}.privacy-action-btn.optout{background:#fefce8;color:#a16207}.privacy-action-btn.optout:hover{background:#fef9c3;transform:translateY(-1px)}.privacy-additional-rights{border-top:1px solid var(--gray-200);padding-top:var(--space-6);margin-top:var(--space-6)}.privacy-additional-rights h3{font-weight:600;font-family:var(--font-primary);color:var(--deep-ink);margin:0 0 var(--space-4) 0;font-size:var(--font-size-lg)}.privacy-rights-list{display:flex;flex-direction:column;gap:var(--space-3)}.privacy-right-item{display:flex;gap:var(--space-2);font-size:var(--font-size-sm);line-height:1.5;font-family:var(--font-primary)}.privacy-right-item .check-icon{width:1.25rem;height:1.25rem;color:var(--forest-green);flex-shrink:0;margin-top:.125rem}.privacy-right-item .right-title{font-weight:600;color:var(--deep-ink)}.privacy-right-item a{color:#2173be;text-decoration:none;font-weight:500}.privacy-right-item a:hover{text-decoration:underline}.privacy-contact-info{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.privacy-contact-info h4{font-weight:600;font-family:var(--font-primary);color:var(--deep-ink);margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm)}.contact-details{display:flex;flex-direction:column;gap:var(--space-1)}.contact-details p{font-size:var(--font-size-sm);color:var(--midnight-blue);margin:0;font-family:var(--font-primary)}.contact-details a{color:#2173be;text-decoration:none;font-weight:500}.contact-details a:hover{text-decoration:underline}.privacy-requests-tab h3{font-weight:600;font-family:var(--font-primary);color:var(--deep-ink);margin:0 0 var(--space-4) 0;font-size:var(--font-size-xl)}.no-requests{text-align:center;padding:var(--space-12) 0;color:var(--soft-gray)}.no-requests-icon{width:3rem;height:3rem;color:var(--gray-300);margin:0 auto var(--space-3)}.no-requests p{margin:0;font-size:var(--font-size-sm);font-family:var(--font-primary)}.requests-list{display:flex;flex-direction:column;gap:var(--space-3)}.request-item{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm)}.request-info .request-type{font-weight:600;font-family:var(--font-primary);color:var(--deep-ink);margin:0 0 var(--space-1) 0;text-transform:capitalize}.request-info .request-date{font-size:var(--font-size-sm);color:var(--soft-gray);margin:0;font-family:var(--font-primary)}.request-status{padding:var(--space-1) var(--space-3);border-radius:9999px;font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-primary)}.request-status.completed{background:#d1fae5;color:#065f46}.request-status.pending{background:#fef3c7;color:#92400e}.request-status.failed{background:#fee2e2;color:#991b1b}.privacy-settings-tab h3{font-weight:600;font-family:var(--font-primary);color:var(--deep-ink);margin:0 0 var(--space-4) 0;font-size:var(--font-size-xl)}.loading-settings{text-align:center;padding:var(--space-8);color:var(--soft-gray);font-family:var(--font-primary)}.settings-list{display:flex;flex-direction:column;gap:var(--space-4)}.setting-item{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);box-shadow:var(--shadow-sm);transition:all .2s ease}.setting-item:hover{border-color:#e87d3e33;box-shadow:var(--shadow-md)}.setting-info h4{font-weight:600;font-family:var(--font-primary);color:var(--deep-ink);margin:0 0 var(--space-1) 0;font-size:var(--font-size-sm)}.setting-info p{font-size:var(--font-size-sm);color:var(--soft-gray);margin:0;line-height:1.4;font-family:var(--font-primary)}.privacy-rights-modal .toggle-switch{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.privacy-rights-modal .toggle-switch input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.privacy-rights-modal .toggle-slider{position:relative;cursor:pointer;width:44px;height:24px;background-color:#cbd5e1;transition:background-color .3s ease;border-radius:24px;display:block;flex-shrink:0}.privacy-rights-modal .toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;top:3px;background-color:#fff;transition:transform .3s ease;border-radius:50%;display:block;box-shadow:0 2px 4px #0003}.privacy-rights-modal .toggle-switch input:checked+.toggle-slider{background-color:#2173be}.privacy-rights-modal .toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.privacy-rights-modal .toggle-slider:hover{background-color:#94a3b8}.privacy-rights-modal .toggle-switch input:checked+.toggle-slider:hover{background-color:#1a5a9a}.privacy-rights-modal .toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 4px #2173be1a;outline:2px solid #2173be;outline-offset:2px}.data-retention-info{border-top:1px solid var(--gray-200);padding-top:var(--space-6);margin-top:var(--space-6)}.data-retention-info h4{font-weight:600;font-family:var(--font-primary);color:var(--deep-ink);margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm)}.retention-details{background:#fff;border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.retention-details p{font-size:var(--font-size-sm);color:var(--midnight-blue);margin:0;line-height:1.5;font-family:var(--font-primary)}.retention-details .retention-label{font-weight:600;color:var(--deep-ink)}.privacy-confirmation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease-out}.privacy-confirmation-dialog{background:#ecece9;border-radius:var(--radius-xl);max-width:28rem;width:100%;margin:var(--space-4);padding:var(--space-6);box-shadow:var(--shadow-xl);border:1px solid rgba(226,232,240,.8);animation:modalSlideUp .3s ease-out}.privacy-confirmation-dialog h3{font-size:var(--font-size-xl);font-weight:600;font-family:var(--font-headings);color:var(--deep-ink);margin:0 0 var(--space-3) 0}.privacy-confirmation-dialog p{color:var(--midnight-blue);margin:0 0 var(--space-6) 0;line-height:1.6;font-size:var(--font-size-sm);font-family:var(--font-primary)}.confirmation-actions{display:flex;gap:var(--space-3)}.cancel-confirm-btn,.confirm-btn{flex:1;padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-primary);cursor:pointer;border:none;transition:all .2s ease}.cancel-confirm-btn{background:#fff;border:2px solid var(--gray-300);color:var(--midnight-blue)}.cancel-confirm-btn:hover{background:var(--gray-100);transform:translateY(-1px)}.confirm-btn.primary{background:#2173be;color:#fff}.confirm-btn.primary:hover{background:#1a5a9a;transform:translateY(-1px);box-shadow:var(--shadow-md)}.confirm-btn.delete{background:#ef4444;color:#fff}.confirm-btn.delete:hover{background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-md)}@media (max-width: 768px){.privacy-rights-overlay{padding:0}.privacy-rights-content{max-width:100%;max-height:100vh;border-radius:0}.privacy-rights-header{padding:var(--space-4)}.privacy-rights-header h2{font-size:var(--font-size-xl)}.privacy-rights-tabs{padding:0 var(--space-4);overflow-x:auto;-webkit-overflow-scrolling:touch}.privacy-rights-body{padding:var(--space-4)}.privacy-rights-grid{grid-template-columns:1fr}.setting-item{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.privacy-rights-modal .toggle-switch{align-self:flex-end}.confirmation-actions{flex-direction:column}.cancel-confirm-btn,.confirm-btn{width:100%}}.profile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.profile-content{background:#ecece9;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideUp .3s ease-out;box-shadow:0 4px 12px #1e293b14;border:1px solid rgba(226,232,240,.8)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--gray-200);background:#f4f4f2}.profile-header h2{margin:0;color:var(--navy-primary);font-size:var(--font-size-2xl);font-weight:700;font-family:var(--font-headings)}.close-button{background:var(--gray-100);border:1px solid var(--gray-300);font-size:var(--font-size-xl);cursor:pointer;color:var(--gray-600);padding:var(--space-2);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{color:var(--gray-900);background:var(--gray-200);border-color:var(--gray-400)}.profile-body{padding:var(--space-6)}.profile-info{background:#f4f4f2;border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid rgba(226,232,240,.8)}.profile-avatar{display:flex;justify-content:center;margin-bottom:var(--space-6)}.avatar-circle{width:80px;height:80px;border-radius:50%;background:#2c8ee8;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:700;color:#fff;font-family:var(--font-accent)}.profile-details{display:flex;flex-direction:column;gap:var(--space-4)}.detail-item{display:flex;flex-direction:column;gap:var(--space-1)}.detail-item label{font-size:var(--font-size-sm);font-weight:600;color:var(--slate-medium);font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.5px}.detail-item span{font-size:var(--font-size-base);color:var(--navy-primary);font-weight:500;font-family:var(--font-primary)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--navy-primary);font-family:var(--font-accent)}.form-group input{padding:var(--space-3);border:2px solid var(--gray-300);border-radius:var(--radius);font-size:var(--font-size-base);color:var(--charcoal);background:#fff;font-family:var(--font-primary);transition:all .2s ease}.form-group input:focus{outline:none;border-color:#2c8ee8;box-shadow:0 0 0 4px #2c8ee81a}.profile-actions{display:flex;justify-content:center}.view-actions{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.edit-actions{display:flex;gap:var(--space-3)}.edit-button,.save-button,.enable-2fa-button,.disable-2fa-button,.privacy-rights-button,.profile-logout-button,.budget-setup-button{background:#2c8ee8!important;color:#fff!important;border:none!important;outline:none;padding:var(--space-3) var(--space-6)!important;border-radius:.375rem!important;font-size:var(--font-size-base)!important;font-weight:600!important;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);width:100%;line-height:normal!important;height:auto!important}.edit-button:hover,.save-button:hover,.enable-2fa-button:hover,.disable-2fa-button:hover,.profile-logout-button:hover,.budget-setup-button:hover{background:#2173be!important;transform:translateY(-1px);box-shadow:0 4px 12px #2c8ee84d}.cancel-button{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.cancel-button:hover{background:var(--gray-200);border-color:var(--gray-400);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.delete-profile-button{padding:var(--space-2) var(--space-4);background:none;color:var(--deep-ink);border:none;border-radius:20px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s ease;font-family:var(--font-primary);margin-top:var(--space-4);width:100%;text-align:center}.delete-profile-button:hover{background:var(--gray-100);transform:translateY(-1px);box-shadow:0 2px 8px #0000000d}.clear-transactions-button{background:#2c8ee8;color:#fff;border:none;outline:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);width:100%}.clear-transactions-button:hover{background:#2173be;transform:translateY(-1px);box-shadow:0 4px 12px #2c8ee84d}.clear-transactions-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.delete-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.delete-confirm-dialog{background:#ecece9;border-radius:16px;max-width:400px;width:90%;padding:var(--space-6);text-align:center;box-shadow:0 4px 12px #1e293b14;border:1px solid rgba(226,232,240,.8)}.delete-confirm-title{color:var(--deep-ink);font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-headings);margin:0 0 var(--space-4) 0}.delete-confirm-message{color:var(--slate-medium);font-size:var(--font-size-base);font-family:var(--font-primary);line-height:1.5;margin:0 0 var(--space-6) 0}.delete-confirm-actions{display:flex;gap:var(--space-3);justify-content:center}.delete-confirm-button{background:var(--deep-ink);color:#fff;border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.delete-confirm-button:hover{background:var(--charcoal);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.delete-confirm-button:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (max-width: 480px){.profile-content{width:95%;margin:var(--space-4)}.profile-header,.profile-body{padding:var(--space-4)}.view-actions,.edit-actions{flex-direction:column}.edit-button,.save-button,.logout-button,.cancel-button{width:100%}}.platform-lock-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease}.platform-lock-overlay.visible{opacity:1;visibility:visible}.platform-lock-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;transform:scale(.8) translateY(20px);transition:all .3s ease}.platform-lock-modal.visible{transform:scale(1) translateY(0)}.platform-lock-header{padding:var(--space-6) var(--space-6) var(--space-4);text-align:center;border-bottom:1px solid var(--gray-200)}.platform-lock-icon{font-size:2.5rem;margin-bottom:var(--space-3)}.platform-lock-header h3{margin:0;color:var(--navy-primary);font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-headings)}.platform-lock-content{padding:var(--space-6)}.platform-lock-content p{margin:0 0 var(--space-4) 0;color:var(--gray-700);font-size:var(--font-size-base);line-height:1.6}.change-description{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:var(--space-4);margin:var(--space-4) 0}.change-description strong{display:block;margin-bottom:var(--space-2);color:var(--navy-primary);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.change-description code{background:var(--gray-100);border:1px solid var(--gray-300);border-radius:4px;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--navy-primary);display:block;white-space:pre-wrap;word-break:break-all}.warning-text{color:var(--error-red)!important;font-weight:500!important;background:#ef44441a;padding:var(--space-3);border-radius:6px;border-left:4px solid var(--error-red)}.platform-lock-actions{padding:var(--space-4) var(--space-6) var(--space-6);display:flex;gap:var(--space-3);justify-content:flex-end;border-top:1px solid var(--gray-200);flex-wrap:wrap}.lock-button{padding:var(--space-3) var(--space-5);border-radius:8px;font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;border:2px solid transparent;min-width:120px}.lock-button.cancel{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-300)}.lock-button.cancel:hover{background:var(--gray-200);border-color:var(--gray-400)}.lock-button.confirm{background:var(--error-red);color:#fff;border-color:var(--error-red)}.lock-button.switch{background:var(--blue-500);color:#fff;border-color:var(--blue-500)}.lock-button.switch:hover{background:#3b82f6;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.lock-button.confirm:hover{background:#dc2626;border-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.lock-button:active{transform:translateY(0)}@media (max-width: 768px){.platform-lock-modal{width:95%;margin:var(--space-4)}.platform-lock-header,.platform-lock-content,.platform-lock-actions{padding-left:var(--space-4);padding-right:var(--space-4)}.platform-lock-actions{flex-direction:column}.lock-button{width:100%}.change-description code{font-size:var(--font-size-xs)}}.platform-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10001;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease}.platform-selector-overlay.visible{opacity:1;visibility:visible}.platform-selector-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;transform:scale(.8) translateY(30px);transition:all .3s ease}.platform-selector-modal.visible{transform:scale(1) translateY(0)}.platform-selector-header{padding:var(--space-6) var(--space-6) var(--space-4);text-align:center;border-bottom:1px solid var(--gray-200)}.platform-selector-icon{font-size:2.5rem;margin-bottom:var(--space-3)}.platform-selector-header h3{margin:0;color:var(--navy-primary);font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-headings)}.platform-selector-content{padding:var(--space-6)}.platform-selector-content p{margin:0 0 var(--space-5) 0;color:var(--gray-700);font-size:var(--font-size-base);line-height:1.6;text-align:center}.pending-change-info{background:var(--blue-50);border:1px solid var(--blue-200);border-radius:8px;padding:var(--space-4);margin:var(--space-4) 0 var(--space-5) 0}.pending-change-info strong{display:block;margin-bottom:var(--space-2);color:var(--navy-primary);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.change-details{display:flex;align-items:center;gap:var(--space-2)}.target-platform{background:var(--blue-500);color:#fff;padding:var(--space-1) var(--space-2);border-radius:4px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.change-description{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--gray-700);background:var(--gray-100);padding:var(--space-1) var(--space-2);border-radius:4px;flex:1}.platform-options{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.platform-option{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:2px solid var(--gray-200);border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left}.platform-option:hover{border-color:var(--blue-300);background:var(--blue-50);transform:translateY(-2px);box-shadow:0 8px 25px #3182ce1a}.platform-option.mobile:hover{border-color:var(--forest-green);background:var(--green-50);box-shadow:0 8px 25px #38a1691a}.platform-option.desktop:hover{border-color:var(--blue-500);background:var(--blue-50);box-shadow:0 8px 25px #3182ce1a}.platform-icon{font-size:2rem;min-width:48px;text-align:center}.platform-info{flex:1}.platform-name{font-size:var(--font-size-lg);font-weight:700;color:var(--navy-primary);margin-bottom:var(--space-1);font-family:var(--font-headings)}.platform-description{font-size:var(--font-size-sm);color:var(--gray-600);font-weight:500}.platform-selector-actions{padding:var(--space-4) var(--space-6) var(--space-6);border-top:1px solid var(--gray-200);display:flex;justify-content:center}.selector-button{padding:var(--space-3) var(--space-5);border-radius:8px;font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;border:2px solid transparent;min-width:100px}.selector-button.cancel{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-300)}.selector-button.cancel:hover{background:var(--gray-200);border-color:var(--gray-400)}@media (max-width: 768px){.platform-selector-modal{width:95%;margin:var(--space-4)}.platform-selector-header,.platform-selector-content,.platform-selector-actions{padding-left:var(--space-4);padding-right:var(--space-4)}.platform-option{flex-direction:column;text-align:center;gap:var(--space-2)}.platform-icon{min-width:auto}.change-details{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.change-description{width:100%;font-size:var(--font-size-xs)}}.install-app-prompt{position:fixed;bottom:1rem;left:1rem;right:1rem;background:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid var(--gray-200);padding:1rem;z-index:50;animation:slideUpFade .3s ease-out}@keyframes slideUpFade{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.install-prompt-content{display:flex;align-items:flex-start;gap:.75rem}.install-prompt-icon{flex-shrink:0}.prompt-icon-image{width:3rem;height:3rem;border-radius:.5rem}.install-prompt-text{flex:1}.install-prompt-title{font-weight:600;color:var(--gray-900);margin-bottom:.25rem;font-size:var(--font-size-base)}.install-prompt-description{font-size:var(--font-size-sm);color:var(--gray-600);margin-bottom:.75rem}.install-prompt-buttons{display:flex;gap:.5rem}.install-btn{padding:.5rem 1rem;border-radius:.5rem;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;border:none;font-family:var(--font-family)}.install-btn.primary{flex:1;background:var(--blue-secondary);color:#fff}.install-btn.primary:hover{background:var(--navy-primary)}.install-btn.secondary{padding:.5rem 1rem;color:var(--gray-600);background:transparent}.install-btn.secondary:hover{color:var(--gray-800);background:var(--gray-100)}@media (min-width: 768px){.install-app-prompt{left:auto;right:1rem;width:24rem}}@media (max-width: 767px){.install-app-prompt{left:.5rem;right:.5rem}.prompt-icon-image{width:2.5rem;height:2.5rem}.install-prompt-title{font-size:var(--font-size-sm)}.install-prompt-description{font-size:var(--font-size-xs)}}.pwa-status-offline{background-color:#fef3c7;border-bottom:1px solid #fde68a;padding:.5rem 1rem;text-align:center;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.pwa-status-message{font-size:var(--font-size-sm);color:#92400e;margin:0;font-weight:500}@media (max-width: 768px){.pwa-status-offline{padding:.75rem 1rem}.pwa-status-message{font-size:var(--font-size-xs)}}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden;background:#ecece9}@media (min-width: 769px){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#9ca3af}*{scrollbar-width:thin;scrollbar-color:#d1d5db transparent}}.app-header{background:#f4f4f2d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #E5E7EB;padding:var(--space-6) var(--space-8);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;height:64px}.app-header h1,.desktop-title{font-size:var(--font-size-3xl);font-weight:600;font-family:var(--font-headings);color:var(--deep-ink);letter-spacing:-.01em;margin:0}.navigation-controls{display:flex;align-items:center;gap:var(--space-6);margin-left:auto}.user-controls{display:flex;align-items:center;gap:var(--space-3)}.user-profile-button,.logout-button{padding:var(--space-2) var(--space-4);background:none;color:var(--deep-ink);border:none;border-radius:20px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);min-width:80px}.user-profile-button:hover,.logout-button:hover{background:var(--gray-100);transform:translateY(-1px);box-shadow:0 2px 8px #0000000d}.page-controls{display:flex;gap:var(--space-3);background:transparent;padding:0;border-radius:0;border:none}.view-controls{display:flex;gap:var(--space-2);background:var(--gray-blue-soft);padding:var(--space-1);border-radius:var(--radius-lg);border:1px solid var(--gray-300);box-shadow:0 2px 8px #2b77ad0f}.page-controls button{padding:var(--space-2) var(--space-4);border:none;background:none;color:var(--deep-ink);border-radius:20px;cursor:pointer;font-weight:600;font-size:var(--font-size-sm);transition:all .2s ease;font-family:var(--font-primary);position:relative;min-width:80px}.view-controls button{padding:var(--space-3) var(--space-5);border:none;background:transparent;color:var(--soft-gray);border-radius:6px;cursor:pointer;font-weight:500;font-size:var(--font-size-sm);transition:all .2s ease;font-family:var(--font-primary);position:relative}.page-controls button:hover{background:var(--gray-100);transform:translateY(-1px);box-shadow:0 2px 8px #0000000d}.page-controls button:focus{outline:none}.page-controls button.active{background:var(--gray-100);position:relative}.page-controls button.active:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:60%;height:3px;background:linear-gradient(135deg,#4a7c59,#6faf8f);border-radius:2px}.view-controls button:hover{color:var(--deep-ink);background:var(--gentle-peach)}.app-main-scroll{flex:1;overflow-y:auto;height:100vh}@media (min-width: 769px){.app-main-scroll{overflow:hidden}}.budget-section{min-height:calc(100vh - 64px);position:relative}.transactions-section{min-height:calc(100vh - 64px)}.accounts-section{min-height:calc(100vh - 64px);background:#ecece9}.desktop-budget-section .app-main{padding:var(--space-6) var(--space-8);display:flex;flex-direction:row;gap:var(--space-6);min-height:calc(100vh - var(--space-8))}.transactions-section .transactions-container{padding:0;min-height:calc(100vh - var(--space-8))}.app-main{position:relative;display:flex;flex-direction:row;gap:var(--space-6)}.overview-sidebar{flex:0 0 280px;display:flex;flex-direction:column}.calendar-container{flex:1;display:flex;flex-direction:column;min-width:0;max-height:calc(100vh - 145px)}.transactions-container{flex:1;display:flex;flex-direction:column;min-width:0}@media (max-width: 1024px){.budget-section .app-main{gap:var(--space-4)}.overview-sidebar{flex:0 0 260px}}.mobile-budget-status,.calendar-section{display:none}.desktop-budget-section{display:block;min-height:calc(100vh - 64px);position:relative}.mobile-header{display:none}.desktop-title{display:block}.mobile-menu-toggle{display:none;background:none;border:none;font-size:24px;color:var(--deep-ink);cursor:pointer;padding:var(--space-2);border-radius:4px;transition:background-color .2s ease;min-width:44px;min-height:44px;align-items:center;justify-content:center}.mobile-menu-toggle:hover{background:var(--gray-100)}.mobile-dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid var(--gray-300);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:120px;overflow:hidden}.dropdown-item{display:block;width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;text-align:left;color:var(--deep-ink);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background-color .2s ease;min-height:44px;font-family:var(--font-primary)}.dropdown-item:hover{background:var(--gray-100)}.dropdown-item:not(:last-child){border-bottom:1px solid var(--gray-200)}@media (max-width: 768px){.app{height:auto;min-height:100vh;overflow-x:hidden}.app-main-scroll{overflow-x:hidden!important;scrollbar-width:none;-ms-overflow-style:none}.app-main-scroll::-webkit-scrollbar{display:none}body{overflow-x:hidden!important;scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{display:none}*::-webkit-scrollbar{display:none!important}.app-header{padding:var(--space-4) var(--space-4);height:auto;min-height:60px;position:fixed;top:0;left:0;right:0;z-index:1000;background:#f4f4f2;border-bottom:1px solid #E5E7EB}.app-header h1{font-size:var(--font-size-2xl)}.day-category-icons{display:none!important}.day-indicators{display:flex;gap:3px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.indicator{width:4px;height:4px;border-radius:50%}.indicator.income{background:#22c55e}.indicator.expense{background:#f97316}.calendar-day{background:#fff!important;border:none!important;box-shadow:none!important;border-radius:10px!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;position:relative!important;aspect-ratio:1!important;transition:transform .1s!important}.calendar-day:active{transform:scale(.95)!important}.calendar-day:hover{background:#fff!important;transform:none!important;box-shadow:none!important;border:none!important}.calendar-day.other-month{background:#fff!important;opacity:.4!important}.calendar-day.other-month .day-number{color:#ccc!important}.calendar-day.today{background:#000!important;color:#fff!important}.calendar-day.today .day-number{color:#fff!important}.calendar-day.today .indicator{opacity:0!important}.calendar-day.income{background:#dcfce7!important}.calendar-day.expense{background:#ffedd5!important}.calendar-day.mixed{background:linear-gradient(135deg,#dcfce7 50%,#ffedd5 50%)!important}.calendar-day.today.income,.calendar-day.today.expense,.calendar-day.today.mixed{background:#000!important}.calendar-day .transaction-balance{display:none!important}.calendar-day .day-header-info{width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;position:relative!important;padding:0!important}.calendar-day .day-number{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;padding:0!important;width:auto!important;font-size:15px!important;font-weight:500!important;color:#1a1a1a!important;line-height:1!important;z-index:1!important}.calendar-day.today .day-number{font-weight:700!important;color:#fff!important}.day-indicators{position:absolute!important;bottom:4px!important;left:50%!important;transform:translate(-50%)!important;z-index:2!important}.calendar-day .day-content{display:none!important}.mobile-budget-status{display:flex!important;flex-direction:column;min-height:100vh;overflow:hidden}.transactions-section,.accounts-section,.transactions-section.mobile-active,.accounts-section.mobile-active,.desktop-budget-section{display:none!important}.mobile-header{display:flex!important;justify-content:space-between;align-items:center;width:100%;position:relative}.mobile-menu-toggle{display:flex!important}.desktop-title{display:none!important}.user-controls{display:none}.page-controls{gap:var(--space-1);flex-direction:row}.page-controls button{padding:var(--space-2) var(--space-3);min-width:60px;font-size:var(--font-size-xs)}.view-controls button{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.app-main-scroll{overflow-y:auto;height:100vh;position:relative;z-index:1;-webkit-overflow-scrolling:touch}.app-main-scroll.android-chrome{overflow-y:auto}.budget-section{min-height:100vh;display:flex;flex-direction:column;overflow:hidden;position:relative}.transactions-section,.accounts-section{min-height:100vh;display:flex;flex-direction:column;overflow:hidden;background:#ecece9;position:relative}.budget-section .app-main{flex-direction:column;gap:var(--space-4);padding:var(--space-4);height:100%;overflow-y:auto}.mobile-budget-status{padding:92px .5rem var(--space-4) .5rem!important}.mobile-modern-layout{flex:1;width:100%;max-width:100%;display:flex;flex-direction:column;gap:var(--space-4);margin:0;overflow-y:auto;box-sizing:border-box;padding-bottom:var(--space-4);scrollbar-width:none;-ms-overflow-style:none}.mobile-modern-layout::-webkit-scrollbar{display:none}.mobile-health-container{display:none!important}.mobile-main-grid{display:flex;flex-direction:column;gap:1rem;order:1}.mobile-calendar-section{background:transparent;border-radius:0;padding:0!important;box-shadow:none;border:none;width:100%;box-sizing:border-box;display:flex;flex-direction:column;height:fit-content!important;margin-bottom:0!important}.mobile-budget-health-wrapper,.mobile-paycheck-countdown-wrapper{display:flex!important;flex-direction:column;gap:0;margin:0!important;width:100%;box-sizing:border-box}.mobile-quick-actions{display:none!important}.mobile-action-card{background:#fff;border-radius:16px;padding:var(--space-4);box-shadow:0 4px 12px #00000014;border:1px solid var(--gray-200);cursor:pointer;transition:all .3s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;text-align:center}.mobile-action-card:hover{transform:translateY(-5px);box-shadow:0 12px 35px #0003}.action-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:var(--space-3)}.transactions-icon{background:linear-gradient(135deg,var(--warm-orange) 0%,#d97706 100%)}.accounts-icon{background:linear-gradient(135deg,var(--warm-teal) 0%,var(--forest-green) 100%)}.reports-icon{background:linear-gradient(135deg,var(--forest-green) 0%,#0891b2 100%)}.settings-icon{background:linear-gradient(135deg,var(--gray-600) 0%,#4b5563 100%)}.action-content{text-align:center}.action-title{font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--space-1);color:var(--navy-primary);font-family:var(--font-accent)}.action-description{font-size:var(--font-size-sm);color:var(--gray-600);line-height:1.4;font-family:var(--font-primary)}@media (max-width: 480px){.mobile-quick-actions{grid-template-columns:1fr;gap:var(--space-3)}.action-icon{width:40px;height:40px;font-size:1.3rem}.action-title{font-size:var(--font-size-sm)}.action-description{font-size:var(--font-size-xs)}}.mobile-calendar-container{background:#fff;border-radius:8px;box-shadow:0 4px 20px #1a365d14;padding:var(--space-3);height:auto;max-height:420px;overflow:hidden;flex-shrink:0}.mobile-calendar-container .calendar{padding:var(--space-2);height:100%}.calendar-section{padding:92px var(--space-2) var(--space-4) var(--space-2);background:#ecece9}.calendar-section .calendar-container{flex:1;width:100%;height:100%;background:#fff;border-radius:8px;box-shadow:0 4px 20px #1a365d14;overflow:hidden}.overview-sidebar{flex:0 0 auto;order:1;width:100%;background:#f4f4f2;border-radius:8px;box-shadow:0 4px 20px #1a365d14;padding:var(--space-4);gap:var(--space-4)}.calendar-container{order:2;width:100%;max-height:none}.transactions-section .transactions-container{padding:92px 0 0;height:100%;display:flex;flex-direction:column}.transactions-container{width:100%}.user-profile-button,.logout-button{min-height:44px;padding:var(--space-3) var(--space-4)}.page-controls button:hover,.view-controls button:hover,.user-profile-button:hover,.logout-button:hover{transform:none;box-shadow:none;background:var(--gray-100)}}.navigation-controls{display:flex!important;align-items:center;gap:var(--space-6);margin-left:auto;flex-direction:row}.user-controls{display:flex!important;align-items:center;gap:var(--space-3)}.budget-setup-section.fullscreen-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--app-bg);z-index:1100;overflow-y:auto;display:block}@media (max-width: 768px){.navigation-controls,.user-controls{display:none!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.legal-page{min-height:100vh;background:#ecece9;padding:var(--space-6) var(--space-4);font-family:var(--font-primary)}.legal-container{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;padding:var(--space-8);box-shadow:0 4px 20px #1a365d14;position:relative}.legal-back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--navy-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-6);padding:var(--space-2) var(--space-3);border-radius:8px;transition:all .2s ease}.legal-back-link:hover{background:#1a365d0d;color:var(--forest-green)}.legal-header{border-bottom:2px solid var(--gray-200);padding-bottom:var(--space-4);margin-bottom:var(--space-6)}.legal-header h1{font-size:2.5rem;font-weight:700;color:var(--navy-primary);margin:0 0 var(--space-2) 0;font-family:var(--font-primary)}.legal-last-updated{font-size:var(--font-size-sm);color:var(--gray-600);margin:0;font-style:italic}.legal-content{line-height:1.7;color:var(--gray-800)}.legal-section{margin-bottom:var(--space-8)}.legal-section:last-child{margin-bottom:0}.legal-section h2{font-size:1.75rem;font-weight:700;color:var(--navy-primary);margin:var(--space-6) 0 var(--space-4) 0;font-family:var(--font-primary);border-left:4px solid var(--forest-green);padding-left:var(--space-3)}.legal-section h3{font-size:1.25rem;font-weight:600;color:var(--navy-primary);margin:var(--space-4) 0 var(--space-3) 0;font-family:var(--font-primary)}.legal-section p{margin:var(--space-3) 0;font-size:var(--font-size-base)}.legal-section ul,.legal-section ol{margin:var(--space-3) 0;padding-left:var(--space-6)}.legal-section li{margin:var(--space-2) 0;font-size:var(--font-size-base)}.legal-section li strong{color:var(--navy-primary);font-weight:600}.legal-section a{color:var(--forest-green);text-decoration:none;font-weight:500;transition:color .2s ease}.legal-section a:hover{color:var(--navy-primary);text-decoration:underline}.legal-important{background:#fff3cd;border-left:4px solid #ffc107;padding:var(--space-4);margin:var(--space-4) 0;border-radius:8px}.legal-acceptance{background:#4a7c590d;border:2px solid var(--forest-green);border-radius:12px;padding:var(--space-6);margin-top:var(--space-8)}.legal-acceptance h2{border-left:none;padding-left:0;margin-top:0}.legal-acceptance p{font-weight:600;color:var(--navy-primary);font-size:1.125rem}.legal-footer{margin-top:var(--space-8);padding-top:var(--space-6);border-top:2px solid var(--gray-200);text-align:center}.legal-footer-link{display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--forest-green);text-decoration:none;font-weight:600;padding:var(--space-3) var(--space-6);border-radius:8px;transition:all .2s ease;font-size:var(--font-size-base)}.legal-footer-link:hover{background:var(--navy-primary);transform:translateY(-2px);box-shadow:0 4px 12px #1a365d33}@media (max-width: 768px){.legal-page{padding:var(--space-4) var(--space-2)}.legal-container{padding:var(--space-6) var(--space-4);border-radius:12px}.legal-header h1{font-size:2rem}.legal-section h2{font-size:1.5rem}.legal-section h3{font-size:1.125rem}.legal-section p,.legal-section li{font-size:var(--font-size-sm)}.legal-section ul,.legal-section ol{padding-left:var(--space-4)}.legal-acceptance p{font-size:var(--font-size-base)}}@media (max-width: 480px){.legal-container{padding:var(--space-4)}.legal-header h1{font-size:1.75rem}.legal-section h2{font-size:1.25rem;padding-left:var(--space-2)}}*{margin:0;padding:0;box-sizing:border-box}:root{--deep-ink: #1A1B23;--midnight-blue: #2C2D35;--warm-charcoal: #3A3B43;--soft-gray: #6B6C74;--pure-white: #FFFFFF;--cream-white: #FEFEFE;--light-mist: #F8F9FA;--pale-gray: #F4F5F6;--warm-orange: #E87D3E;--soft-coral: #F4A261;--gentle-peach: #FFF4ED;--light-amber: #FEF7E6;--forest-green: #4A7C59;--dusty-purple: #7B68A6;--warm-teal: #5B9AAB;--rose-gold: #D4A574;--success-sage: #52796F;--warning-amber: #F2CC8F;--error-coral: #E76F51;--info-slate: #264653;--income-success: #4A7C59;--expense-warm: #E87D3E;--savings-purple: #7B68A6;--growth-coral: #F4A261;--primary-blue: #2B77AD;--primary-orange: #FF6B47;--primary-500: #2B77AD;--primary-600: #1A365D;--primary-700: #1A365D;--dark-navy: #1A365D;--deep-blue: #2B77AD;--slate-blue: #4A5568;--light-gray-blue: #F7FAFC;--coral: #FF6B47;--success-blue: #38A169;--warning-orange: #D69E2E;--error-red: #E53E3E;--income-blue: #38A169;--expense-orange: #FF6B47;--success: #38A169;--warning: #D69E2E;--danger: #E53E3E;--blue-accent: #3B82F6;--blue-secondary: #2563EB;--violet-accent: #8B5CF6;--app-bg: #FEFEFE;--content-bg: #FFFFFF;--header-bg: #FFFFFF;--sidebar-bg: #F8F9FA;--modal-bg: #FFFFFF;--overlay-bg: rgba(26, 27, 35, .7);--hover-bg: #FFF4ED;--active-bg: #FEF7E6;--focus-bg: #FFF4ED;--selected-bg: #E87D3E;--disabled-bg: #F4F5F6;--calendar-bg: #F7FAFC;--calendar-cell: #FFFFFF;--calendar-header: #F7FAFC;--date-today: #E6F3FF;--date-selected: #2B77AD;--date-hover: #E6F3FF;--date-weekend: #F7FAFC;--income-bg: #F0FDF4;--expense-bg: #FFF5F0;--goal-bg: #FFF7ED;--recurring-bg: #E6F3FF;--gray-50: #F7FAFC;--gray-100: #F8FAFC;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #A0AEC0;--gray-500: #4A5568;--gray-600: #2D3748;--gray-700: #2D3748;--gray-800: #2D3748;--gray-900: #1A365D;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-headings: "Merriweather", "Times New Roman", serif;--font-reading: "Charter", "Georgia", serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--font-family: var(--font-primary);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .125rem;--radius: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}body{font-family:var(--font-primary);line-height:1.6;color:var(--deep-ink);background:var(--app-bg);min-height:100vh;font-size:var(--font-size-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-headings);color:var(--deep-ink);line-height:1.3;letter-spacing:-.01em}h1{font-size:var(--font-size-4xl);font-weight:600}h2{font-size:var(--font-size-3xl);font-weight:500}h3{font-size:var(--font-size-2xl);font-weight:500}h4{font-size:var(--font-size-xl);font-weight:500}#root{min-height:100vh;position:relative}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--primary-500);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--primary-600)}::selection{background:var(--primary-100);color:var(--gray-900)}*:focus-visible{outline:2px solid var(--blue-accent);outline-offset:2px}.shadow-sm{box-shadow:0 1px 3px #1e293b1a}.shadow-md{box-shadow:0 4px 12px #1e293b1f}.shadow-lg{box-shadow:0 8px 24px #1e293b26}.shadow-xl{box-shadow:0 16px 40px #1e293b2e}.btn-primary-writing{background:var(--deep-ink);color:#fff;padding:12px 24px;border-radius:8px;border:none;font-weight:500;font-size:14px;font-family:var(--font-primary);transition:all .2s ease;cursor:pointer}.btn-primary-writing:hover{background:var(--midnight-blue);transform:translateY(-1px);box-shadow:0 4px 12px #1a1b234d}.btn-secondary-writing{background:transparent;color:var(--warm-orange);border:2px solid var(--warm-orange);padding:12px 24px;border-radius:8px;font-weight:500;font-size:14px;font-family:var(--font-primary);transition:all .2s ease;cursor:pointer}.btn-secondary-writing:hover{background:var(--gentle-peach)}.btn-subtle-writing{background:var(--light-mist);color:var(--midnight-blue);border:none;padding:8px 16px;border-radius:6px;font-weight:500;font-size:14px;font-family:var(--font-primary);transition:all .2s ease;cursor:pointer}.btn-subtle-writing:hover{background:var(--pale-gray)}.card-content{background:var(--light-mist);border-radius:0;border:1px solid #E5E7EB;padding:24px;transition:all .2s ease;box-shadow:0 2px 8px #1a1b2314}.card-content:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1a1b231f;border-color:#e87d3e33}.text-gradient-primary{background:linear-gradient(135deg,var(--blue-accent) 0%,var(--violet-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.text-gradient-success{background:linear-gradient(135deg,var(--emerald-primary) 0%,#059669 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeInUp{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1)}@keyframes pulse-success{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 8px #10b98100}}.pulse-success{animation:pulse-success 2s infinite}.input-writing{background:var(--light-mist);border:2px solid #E5E7EB;border-radius:8px;padding:12px 16px;font-family:var(--font-primary);font-size:16px;transition:all .2s ease}.input-writing:focus{background:var(--pure-white);border-color:var(--warm-orange);box-shadow:0 0 0 3px #e87d3e1a;outline:none}.accent-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px}.accent-dot.emerald{background:var(--emerald-primary)}.accent-dot.coral{background:var(--coral-primary)}.accent-dot.violet{background:var(--violet-accent)}.accent-dot.amber{background:var(--amber-warm)}
