:root{--teal-900: #0a4f55;--teal-700: #0d5c63;--teal-600: #0e6e76;--teal-100: #e0f2f1;--lime-400: #d4e80e;--lime-300: #e2f07e;--bg: #f5f5f0;--card-bg: #ffffff;--border: #e5e7eb;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--success: #22c55e;--danger: #ef4444;--income-green: #16a34a;--expense-red: #dc2626;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--tab-bar-height: 64px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .06);--shadow-sheet: 0 -4px 20px rgba(0, 0, 0, .12);--shadow-button: 0 2px 8px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}h1,h2,h3,h4{margin:0;font-weight:700}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.muted{color:var(--text-secondary);font-size:13px}.small{font-size:12px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;position:relative}.tab-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--tab-bar-height)}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:24px 16px;background:var(--teal-900);background-image:radial-gradient(ellipse at 50% 30%,var(--teal-600) 0%,var(--teal-900) 70%)}.login-card{width:100%;max-width:360px;background:var(--card-bg);border-radius:var(--radius-lg);padding:32px;box-shadow:0 8px 30px #0003}.login-card__brand{text-align:center;margin-bottom:28px}.login-card__title{font-size:24px;font-weight:800;color:var(--teal-700);margin-bottom:4px}.login-card__subtitle{font-size:14px;color:var(--text-secondary)}.login-card__field{margin-bottom:16px}.login-card__label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.login-card__input{display:block;width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-primary);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.login-card__input::placeholder{color:var(--text-muted)}.login-card__input:focus{border-color:var(--teal-700);box-shadow:0 0 0 3px #0d5c631f}.login-card__submit{display:block;width:100%;padding:14px;margin-top:8px;font-size:15px;font-weight:700;color:#fff;background:var(--teal-700);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.login-card__submit:hover{background:var(--teal-600)}.login-card__submit:active{background:var(--teal-900)}.login-card__submit:disabled{opacity:.6;cursor:not-allowed}.login-card__error{margin-bottom:16px;padding:10px 12px;font-size:13px;color:var(--expense-red);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);line-height:1.4}.bottom-tabs{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:stretch;height:var(--tab-bar-height);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--card-bg);border-top:1px solid var(--border);box-shadow:0 -1px 3px #0000000f}.bottom-tabs__tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:none;cursor:pointer;padding:6px 0 4px;color:var(--text-muted);position:relative;-webkit-tap-highlight-color:transparent;transition:color .15s ease}.bottom-tabs__tab--active{color:var(--teal-700)}.bottom-tabs__icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.bottom-tabs__dot{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:var(--radius-full);background:var(--lime-400);opacity:0;transition:opacity .15s ease}.bottom-tabs__tab--active .bottom-tabs__dot{opacity:1}.bottom-tabs__label{font-size:10px;font-weight:500;line-height:1;margin-top:2px}.bottom-sheet-backdrop{position:fixed;inset:0;z-index:200;background:#0006;opacity:0;pointer-events:none;transition:opacity .3s ease}.bottom-sheet-backdrop--open{opacity:1;pointer-events:auto}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:201;background:var(--card-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-sheet);transform:translateY(100%);transition:transform .3s ease;display:flex;flex-direction:column;overflow:hidden}.bottom-sheet--open{transform:translateY(0)}.bottom-sheet__handle-bar{display:flex;justify-content:center;padding:10px 0 4px;flex-shrink:0}.bottom-sheet__handle{width:40px;height:4px;border-radius:var(--radius-full);background:#d1d5db}.bottom-sheet__header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 12px;flex-shrink:0}.bottom-sheet__title{font-size:16px;font-weight:700;color:var(--text-primary)}.bottom-sheet__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-full);background:var(--bg);color:var(--text-secondary);font-size:18px;cursor:pointer;line-height:1;transition:background .15s ease}.bottom-sheet__close:active{background:var(--border)}.bottom-sheet__body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 16px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.more-menu__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 4px 24px}.more-menu__item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 8px 16px;background:none;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,transform .1s ease}.more-menu__item:hover{background:var(--teal-100)}.more-menu__item:active{transform:scale(.97)}.more-menu__icon-circle{width:56px;height:56px;border-radius:50%;background:var(--teal-100);display:flex;align-items:center;justify-content:center;color:var(--teal-700);flex-shrink:0}.more-menu__label{font-size:12px;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.3}.card{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:16px}.card--clickable{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.card--clickable:active{transform:scale(.98);box-shadow:0 0 #0000}.transaction-row{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);gap:12px;cursor:default}.transaction-row--clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.transaction-row--clickable:active{background:var(--bg)}.transaction-row__icon{width:40px;height:40px;border-radius:var(--radius-full);background:var(--teal-100);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;line-height:1}.transaction-row__info{flex:1;min-width:0}.transaction-row__merchant{font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-row__date{font-size:12px;color:var(--text-muted);margin-top:1px}.transaction-row__right{text-align:right;flex-shrink:0}.transaction-row__amount{font-size:14px;font-weight:700}.transaction-row__amount--positive{color:var(--income-green)}.transaction-row__amount--negative{color:var(--expense-red)}.transaction-row__category{font-size:11px;color:var(--text-muted);margin-top:1px}.spending-chart{width:100%;position:relative}.spending-chart__svg{display:block;width:100%;overflow:visible}.spending-chart__bar--income{fill:var(--teal-700)}.spending-chart__bar--spending{fill:var(--lime-400)}.spending-chart__bar--income,.spending-chart__bar--spending{rx:3;ry:3}.spending-chart__area{fill:url(#spending-gradient);opacity:.25}.spending-chart__line{fill:none;stroke:var(--teal-700);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.spending-chart__dot{fill:var(--teal-700);stroke:var(--card-bg);stroke-width:2}.spending-chart__month-label{font-size:10px;fill:var(--text-muted);text-anchor:middle;dominant-baseline:hanging;font-family:inherit}.spending-chart__legend{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:8px}.spending-chart__legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.spending-chart__legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.action-cards{display:flex;flex-direction:column;gap:10px}.action-cards__skeleton{height:60px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--border) 25%,rgba(255,255,255,.08) 50%,var(--border) 75%);background-size:200% 100%;animation:action-shimmer 1.5s infinite}@keyframes action-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.action-card{padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow-card);border-left:4px solid var(--border)}.action-card--phase{border-left-color:var(--teal-700)}.action-card--danger{border-left-color:var(--danger)}.action-card--warning{border-left-color:#f59e0b}.action-card--insight{border-left-color:var(--teal-600)}.action-card--neutral{border-left-color:var(--text-muted)}.action-card__header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.action-card__icon{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.action-card__title{font-size:12px;font-weight:700;color:var(--text-primary);letter-spacing:.02em;text-transform:uppercase}.action-card__body{font-size:13px;color:var(--text-secondary);line-height:1.45}.action-card__body strong{color:var(--text-primary);font-weight:600}.action-card__detail{font-size:11px;color:var(--text-muted);margin-top:2px}.action-card__cta{margin-top:8px;background:none;border:none;color:var(--teal-700);font-size:12px;font-weight:600;cursor:pointer;padding:0}.action-card__phase-badge{display:inline-block;font-size:11px;font-weight:700;border-radius:99px;padding:2px 10px;letter-spacing:.03em}.action-card__phase-badge--crisis{background:#ef44441f;color:var(--danger)}.action-card__phase-badge--starter-ef{background:#f59e0b1f;color:#d97706}.action-card__phase-badge--avalanche{background:#0f766e1f;color:var(--teal-700)}.action-card__phase-badge--low-debt{background:#0f766e14;color:var(--teal-600)}.action-card__phase-badge--full-ef{background:#84cc161f;color:#65a30d}.action-card__phase-badge--wealth{background:#22c55e1f;color:var(--success)}.action-card__insight-skeleton{display:flex;flex-direction:column;gap:6px}.action-card__insight-line{height:12px;border-radius:4px;background:linear-gradient(90deg,var(--border) 25%,rgba(255,255,255,.08) 50%,var(--border) 75%);background-size:200% 100%;animation:action-shimmer 1.5s infinite}.action-card__insight-line:last-child{width:60%}.home-tab{padding:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--tab-bar-height) + 24px);background:var(--bg)}.budget-pulse{background:var(--teal-700);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:20px;padding-top:max(20px,env(safe-area-inset-top,20px));margin:0;position:relative;box-shadow:inset 0 1px #ffffff0f,var(--shadow-card)}.budget-pulse__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.budget-pulse__label{font-size:13px;color:#ffffffb3;font-weight:500}.budget-pulse__month-label{color:#ffffffb3;font-size:12px;font-weight:600}.budget-pulse__remaining{font-size:32px;font-weight:800;letter-spacing:-.5px;margin-bottom:4px}.budget-pulse__remaining--good{color:#86efac}.budget-pulse__remaining--warning{color:#fde68a}.budget-pulse__remaining--danger{color:#fca5a5}.budget-pulse__bonus-badge{display:inline-block;font-size:11px;font-weight:600;color:var(--teal-900);background:var(--lime-400);border-radius:var(--radius-full);padding:2px 10px;margin-bottom:8px}.budget-pulse__bar-wrap{margin:12px 0 4px}.budget-pulse__bar{height:6px;border-radius:3px;background:#ffffff26;overflow:visible;position:relative}.budget-pulse__bar-fill{height:100%;border-radius:3px;background:#ffffff80;transition:width .3s ease}.budget-pulse__bar-fill--over{background:#fca5a5}.budget-pulse__bar-tick{position:absolute;top:-3px;width:2px;height:12px;background:#fffc;border-radius:1px;transform:translate(-1px)}.budget-pulse__bar-labels{display:flex;justify-content:space-between;font-size:10px;color:#ffffff73;margin-top:4px}.budget-pulse__stats{display:flex;align-items:center;gap:0;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}.budget-pulse__stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.budget-pulse__stat-label{font-size:11px;color:#fff9;font-weight:500}.budget-pulse__stat-value{font-size:14px;color:#fff;font-weight:700}.budget-pulse__stat-divider{width:1px;height:28px;background:#ffffff26;flex-shrink:0}.budget-pulse__source{font-size:10px;color:#ffffff80;font-weight:500}.budget-pulse__source--estimated{background:#ffffff1f;border-radius:var(--radius-full);padding:1px 6px;color:var(--lime-400)}.home-content{padding:16px;display:flex;flex-direction:column;gap:16px}.budget-execution{padding:16px}.budget-execution__leftover{margin-bottom:14px}.budget-execution__leftover-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.budget-execution__leftover-label{font-size:13px;color:var(--text-secondary);font-weight:500}.budget-execution__leftover-value{font-size:16px;font-weight:700;color:var(--teal-700)}.budget-execution__leftover-value--negative{color:var(--danger)}.budget-execution__progress{height:5px;border-radius:3px;background:var(--border);overflow:hidden;margin-bottom:4px}.budget-execution__progress-fill{height:100%;border-radius:3px;background:var(--teal-700);transition:width .3s ease}.budget-execution__leftover-hint{font-size:11px;color:var(--text-muted)}.budget-execution__overbudget{border-top:1px solid var(--border);padding-top:12px}.budget-execution__overbudget-title{display:block;font-size:12px;font-weight:600;color:var(--danger);margin-bottom:8px}.budget-execution__overbudget-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px}.budget-execution__overbudget-dot{width:6px;height:6px;border-radius:50%;background:var(--danger);flex-shrink:0}.budget-execution__overbudget-name{font-weight:600;color:var(--text-primary);flex:1}.budget-execution__overbudget-amounts{color:var(--text-secondary);font-size:12px}.budget-execution__overbudget-overage{color:var(--danger);font-weight:600;font-size:12px}.budget-execution__on-track{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:12px;font-size:13px;font-weight:600;color:var(--success)}.debt-snapshot{padding:16px}.debt-snapshot__summary{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.debt-snapshot__total{display:flex;align-items:baseline;gap:6px}.debt-snapshot__total-value{font-size:20px;font-weight:800;color:var(--text-primary)}.debt-snapshot__total-label{font-size:12px;color:var(--text-muted)}.debt-snapshot__projected{display:flex;flex-direction:column;align-items:flex-end}.debt-snapshot__projected-value{font-size:14px;font-weight:700;color:var(--teal-700)}.debt-snapshot__projected-label{font-size:11px;color:var(--text-muted)}.debt-snapshot__bar{height:5px;border-radius:3px;background:var(--border);overflow:hidden;margin-bottom:14px}.debt-snapshot__bar-fill{height:100%;border-radius:3px;background:var(--teal-700);transition:width .3s ease}.debt-snapshot__target{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:2px}.debt-snapshot__target-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:600}.debt-snapshot__target-name{font-size:15px;font-weight:700;color:var(--text-primary)}.debt-snapshot__target-detail{font-size:12px;color:var(--text-secondary)}.trends-card{padding:16px}.trends-card .spending-chart{margin-top:8px}.transactions-card{padding:16px}.transactions-list{display:flex;flex-direction:column;gap:2px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header__title{font-size:15px;font-weight:700;color:var(--text-primary)}.section-header__link{background:none;border:none;color:var(--teal-700);font-size:12px;font-weight:600;cursor:pointer;padding:4px 0;transition:opacity .15s}.section-header__link:hover{opacity:.7}.empty-state{font-size:13px;color:var(--text-muted);text-align:center;padding:20px 0}.header{display:flex;align-items:center;min-height:56px;padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));position:relative}.header--light{background:var(--card-bg);color:var(--text-primary);border-bottom:1px solid var(--border)}.header--dark{background:var(--teal-700);color:#fff}.header__left{flex-shrink:0;display:flex;align-items:center;margin-right:12px}.header__center{flex:1;min-width:0}.header__title{font-size:18px;font-weight:700;line-height:1.3}.header--dark .header__title{color:#fff}.header__subtitle{font-size:13px;font-weight:400;margin-top:2px;opacity:.75}.header--light .header__subtitle{color:var(--text-secondary);opacity:1}.header__right{flex-shrink:0;display:flex;align-items:center;margin-left:12px}.header__children{width:100%;padding:0 16px 16px}.header--dark .header__children{background:var(--teal-700)}.header--light .header__children{background:var(--card-bg);border-bottom:1px solid var(--border)}.collapsible{border-bottom:1px solid var(--border)}.collapsible__header{display:flex;align-items:center;cursor:pointer;padding:14px;gap:8px;border:none;background:none;width:100%;text-align:left;-webkit-tap-highlight-color:transparent}.collapsible__header:active{background:var(--bg)}.collapsible__title-group{flex:1;min-width:0}.collapsible__title{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.3}.collapsible__subtitle{font-size:12px;color:var(--text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapsible__badge{flex-shrink:0;margin-right:4px}.collapsible__arrow{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform .2s ease}.collapsible__arrow--open{transform:rotate(180deg)}.collapsible__body{padding:0 14px 14px;margin-top:0}.budget-tab{padding-bottom:calc(var(--tab-bar-height) + 24px)}.budget-month-select{font-size:14px;font-weight:600;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text-primary);cursor:pointer;outline:none}.budget-month-select:focus{border-color:var(--teal-700)}.budget-summary{padding:16px;display:flex;flex-direction:column;gap:8px}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.summary-row__label{color:var(--text-secondary);font-weight:500}.summary-row__value{font-weight:600;color:var(--text-primary)}.leftover-pill{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:13px;font-weight:600}.leftover-pill--good{background:#dcfce7;color:#166534}.leftover-pill--bad{background:#fee2e2;color:#991b1b}.progress-bar{height:6px;border-radius:3px;background:var(--border);overflow:hidden;margin-top:4px}.progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.progress-fill--ok{background:var(--teal-700)}.progress-fill--over{background:var(--danger)}.budget-categories{margin:12px 16px 0;background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-card);overflow:hidden}.cat-actual-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.cat-actual-badge--under{background:#dcfce7;color:#166534}.cat-actual-badge--over{background:#fee2e2;color:#991b1b}.budget-line-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 0;border:none;border-bottom:1px solid var(--border);background:none;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;transition:background .1s}.budget-line-row:last-of-type{border-bottom:none}.budget-line-row:active{background:#00000008}.line-row__left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.line-row__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.line-row__name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line-row__right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;margin-left:12px}.line-row__planned{font-size:14px;font-weight:600;color:var(--text-primary)}.line-row__actual{font-size:11px;color:var(--text-secondary)}.line-row__actual--over{color:var(--expense-red)}.add-line-btn{display:flex;align-items:center;gap:4px;padding:8px 0;border:none;background:none;color:var(--teal-700);font-size:13px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.add-line-btn:active{opacity:.7}.budget-add-global{margin:16px}.budget-add-global-btn{width:100%;padding:12px;border-radius:var(--radius-md);border:2px dashed var(--border);background:none;color:var(--teal-700);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.budget-add-global-btn:hover{border-color:var(--teal-700);background:var(--teal-100)}.budget-add-global-btn:active{opacity:.8}.budget-detail{display:flex;flex-direction:column;gap:20px;padding:4px 0 16px}.detail-field{display:flex;flex-direction:column;gap:6px}.detail-field__label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-field__input{font-size:16px;font-weight:500;color:var(--text-primary);padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);outline:none;transition:border-color .15s}.detail-field__input:focus{border-color:var(--teal-700)}.detail-amount-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);overflow:hidden;transition:border-color .15s}.detail-amount-input:focus-within{border-color:var(--teal-700)}.detail-amount-input__prefix{padding:10px 0 10px 12px;font-size:20px;font-weight:600;color:var(--text-secondary)}.detail-amount-input__field{flex:1;font-size:20px;font-weight:600;color:var(--text-primary);padding:10px 12px 10px 4px;border:none;background:none;outline:none;-moz-appearance:textfield}.detail-amount-input__field::-webkit-outer-spin-button,.detail-amount-input__field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.detail-stats{display:flex;gap:16px}.detail-stat{flex:1;display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}.detail-stat__label{font-size:12px;font-weight:500;color:var(--text-secondary)}.detail-stat__value{font-size:16px;font-weight:600;color:var(--text-primary)}.detail-variance--positive{color:var(--income-green)!important}.detail-variance--negative{color:var(--expense-red)!important}.detail-variance--zero{color:var(--text-muted)!important}.priority-toggle{display:flex;gap:8px}.priority-toggle__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.priority-toggle__btn--active{border-color:var(--teal-700);background:var(--teal-100);color:var(--teal-700);font-weight:600}.priority-toggle__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.detail-delete-area{margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.detail-delete-btn{width:100%;padding:12px;border:1px solid #fca5a5;border-radius:var(--radius-sm);background:none;color:#dc2626;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.detail-delete-btn:active{background:#fee2e2}.detail-delete-confirm{display:flex;flex-direction:column;gap:10px}.detail-delete-confirm__text{font-size:14px;color:var(--text-primary);font-weight:500}.detail-delete-confirm__actions{display:flex;gap:10px}.detail-delete-confirm__cancel{flex:1;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer}.detail-delete-confirm__yes{flex:1;padding:10px;border:none;border-radius:var(--radius-sm);background:#dc2626;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.transactions-tab{padding:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--tab-bar-height) + 24px);background:var(--bg)}.txn-header-actions{display:flex;align-items:center;gap:8px}.txn-search-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);border:none;background:none;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.txn-search-btn:hover{background:var(--teal-100);color:var(--teal-700)}.txn-month-select{font-size:14px;font-weight:600;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text-primary);cursor:pointer;outline:none}.txn-month-select:focus{border-color:var(--teal-700)}.txn-search-bar{display:flex;align-items:center;gap:8px;padding:8px 16px 12px;background:var(--card-bg)}.txn-search-bar__icon{flex-shrink:0;color:var(--text-muted)}.txn-search-bar__input{flex:1;border:none;background:var(--bg);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;color:var(--text-primary);outline:none}.txn-search-bar__input::placeholder{color:var(--text-muted)}.txn-search-bar__input:focus{box-shadow:0 0 0 2px var(--teal-700)}.txn-hero{background:linear-gradient(135deg,var(--teal-900) 0%,var(--teal-700) 50%,var(--teal-600) 100%);border-radius:var(--radius-lg);padding:20px;margin:12px 16px 0;position:relative;box-shadow:inset 0 1px #ffffff0f,var(--shadow-card);overflow:hidden}.txn-hero__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.txn-hero__label{font-size:13px;color:#ffffffb3;font-weight:500}.txn-hero__trend{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 8px;border-radius:var(--radius-full)}.txn-hero__trend--up{background:#ef444433;color:#fca5a5}.txn-hero__trend--down{background:#22c55e33;color:#86efac}.txn-hero__amount{font-size:32px;font-weight:800;color:#fff;letter-spacing:-.5px;margin-bottom:2px}.txn-hero__subtitle{font-size:12px;color:#ffffff80;font-weight:500}.txn-hero__chart{margin-top:12px;margin-left:-8px;margin-right:-8px;opacity:.7}.txn-hero__chart .spending-chart__line{stroke:var(--lime-400)}.txn-hero__chart .spending-chart__area{fill:#d4e80e26}.txn-hero__chart .spending-chart__dot{fill:var(--lime-400)}.txn-hero__chart .spending-chart__month-label{fill:#ffffff80}.txn-filters{display:flex;align-items:center;gap:8px;padding:16px 16px 8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.txn-filters::-webkit-scrollbar{display:none}.txn-filter-pill{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.txn-filter-pill:hover{border-color:var(--teal-700);color:var(--teal-700)}.txn-filter-pill--active{background:var(--lime-400);color:var(--teal-900);border-color:var(--lime-400);box-shadow:0 2px 8px #d4e80e4d}.txn-filter-pill--active:hover{background:var(--lime-300);border-color:var(--lime-300);color:var(--teal-900)}.txn-list-container{padding:0 16px 16px}.txn-date-group{margin-top:16px}.txn-date-group__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 4px}.txn-date-group__label{font-size:13px;font-weight:700;color:var(--text-primary)}.txn-date-group__count{font-size:11px;color:var(--text-muted);font-weight:500}.txn-date-group__card{padding:0 16px}.txn-date-group__card .transaction-row:last-child{border-bottom:none}.txn-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 16px}.txn-loading__spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--teal-700);border-radius:var(--radius-full);animation:txn-spin .8s linear infinite}@keyframes txn-spin{to{transform:rotate(360deg)}}.txn-loading__text{font-size:14px;color:var(--text-muted);font-weight:500}.txn-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 16px}.txn-empty__icon{font-size:36px;line-height:1;opacity:.5}.txn-empty__text{font-size:14px;color:var(--text-muted);text-align:center;max-width:240px;line-height:1.4}.txn-detail{padding:8px 0 16px}.txn-detail__header{display:flex;flex-direction:column;align-items:center;gap:8px;padding-bottom:20px;margin-bottom:16px;border-bottom:1px solid var(--border)}.txn-detail__icon{width:56px;height:56px;border-radius:var(--radius-full);background:var(--teal-100);display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1}.txn-detail__merchant{font-size:18px;font-weight:700;color:var(--text-primary);text-align:center}.txn-detail__amount{font-size:24px;font-weight:800}.txn-detail__amount--positive{color:var(--income-green)}.txn-detail__amount--negative{color:var(--expense-red)}.txn-detail__rows{display:flex;flex-direction:column;gap:0}.txn-detail__row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.txn-detail__row:last-child{border-bottom:none}.txn-detail__row-label{font-size:14px;color:var(--text-secondary);font-weight:500}.txn-detail__row-value{font-size:14px;color:var(--text-primary);font-weight:600;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn-detail__row-value--accent{color:var(--teal-700)}.txn-detail__badges{display:flex;align-items:center;gap:8px;padding:12px 0}.txn-detail__badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.txn-detail__badge--pending{background:#fef3c7;color:#92400e}.txn-detail__badge--recurring{background:var(--teal-100);color:var(--teal-700)}@media(max-width:480px){.txn-hero__amount{font-size:28px}.txn-filter-pill{padding:7px 12px;font-size:12px}}@media(min-width:768px){.txn-hero{max-width:600px;margin-left:auto;margin-right:auto}.txn-filters,.txn-list-container{max-width:600px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}}.coach-tab{display:flex;flex-direction:column;height:100%;background:var(--bg);position:relative;overflow:hidden}.coach-tab__body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.coach-chat{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 16px 8px;display:flex;flex-direction:column;gap:16px}.coach-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;text-align:center}.coach-welcome__card{background:linear-gradient(135deg,var(--teal-700) 0%,var(--teal-600) 100%);border-radius:var(--radius-lg);padding:32px 24px;width:100%;max-width:360px;box-shadow:0 4px 24px #0d5c6340,inset 0 1px #ffffff14}.coach-welcome__icon{width:56px;height:56px;border-radius:var(--radius-full);background:#ffffff1f;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.coach-welcome__title{font-size:18px;font-weight:700;color:#fff;margin-bottom:8px;line-height:1.3}.coach-welcome__desc{font-size:13px;color:#ffffffbf;line-height:1.6}.coach-bubble{display:flex;flex-direction:column;max-width:85%;animation:coach-bubble-in .2s ease-out}@keyframes coach-bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.coach-bubble--user{align-self:flex-end}.coach-bubble--assistant{align-self:flex-start}.coach-bubble__content{padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.coach-bubble--user .coach-bubble__content{background:var(--teal-700);color:#fff;border-bottom-right-radius:6px}.coach-bubble--assistant .coach-bubble__content{background:var(--card-bg);color:var(--text-primary);border-bottom-left-radius:6px;box-shadow:var(--shadow-card)}.coach-bubble__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;padding:0 4px}.coach-bubble--user .coach-bubble__label{text-align:right;color:var(--teal-700)}.coach-bubble--assistant .coach-bubble__label{text-align:left;color:var(--text-muted)}.coach-bubble__attachments{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px;padding:0 4px;justify-content:flex-end}.coach-bubble__attachment{display:flex;align-items:center;gap:4px;background:var(--teal-100);border:1px solid rgba(13,92,99,.15);border-radius:var(--radius-sm);padding:3px 8px;font-size:10px;color:var(--teal-700);font-weight:500}.coach-bubble__attachment-img{width:16px;height:16px;border-radius:3px;object-fit:cover}.coach-cursor{display:inline-block;width:6px;height:16px;background:var(--teal-700);margin-left:3px;vertical-align:text-bottom;animation:coach-blink 1s step-end infinite}@keyframes coach-blink{50%{opacity:0}}.coach-insight{background:var(--card-bg);border-left:4px solid var(--lime-400);border-radius:var(--radius-md);padding:14px 16px;box-shadow:var(--shadow-card);flex-shrink:0}.coach-insight__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.coach-insight__label{font-size:11px;font-weight:700;color:var(--teal-700);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:6px}.coach-insight__actions{display:flex;gap:6px}.coach-insight__btn{background:var(--teal-100);border:none;border-radius:var(--radius-sm);padding:4px 10px;font-size:11px;font-weight:600;color:var(--teal-700);cursor:pointer;transition:background .15s}.coach-insight__btn:hover:not(:disabled){background:var(--border)}.coach-insight__btn:disabled{opacity:.5;cursor:not-allowed}.coach-insight__btn--dismiss{color:var(--text-muted);background:none;padding:4px 6px;font-size:16px;line-height:1}.coach-insight__text{font-size:13px;line-height:1.6;color:var(--text-secondary)}.coach-prompts{flex-shrink:0;padding:8px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;display:flex;gap:8px;scrollbar-width:none}.coach-prompts::-webkit-scrollbar{display:none}.coach-prompt-pill{flex-shrink:0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-full);padding:8px 16px;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s;box-shadow:var(--shadow-card)}.coach-prompt-pill:hover:not(:disabled){background:var(--teal-100);border-color:var(--teal-600)}.coach-prompt-pill:disabled{opacity:.5;cursor:not-allowed}.coach-input-bar{flex-shrink:0;background:var(--card-bg);border-top:1px solid var(--border);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.coach-input-bar__attachments{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.coach-file-chip{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;font-size:11px;color:var(--text-primary);max-width:200px}.coach-file-chip__preview{width:20px;height:20px;border-radius:4px;object-fit:cover;flex-shrink:0}.coach-file-chip__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.coach-file-chip__size{color:var(--text-muted);flex-shrink:0}.coach-file-chip__remove{background:none;border:none;cursor:pointer;padding:0;line-height:1;font-size:14px;color:var(--text-muted);flex-shrink:0}.coach-file-chip__remove:hover{color:var(--danger)}.coach-input-bar__row{display:flex;align-items:flex-end;gap:8px}.coach-input-bar__attach{background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;transition:color .15s,background .15s}.coach-input-bar__attach:hover:not(:disabled){color:var(--teal-700);background:var(--teal-100)}.coach-input-bar__attach:disabled{opacity:.4;cursor:not-allowed}.coach-input-bar__textarea{flex:1;border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 14px;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg);resize:none;outline:none;min-height:42px;max-height:150px;overflow-y:auto;transition:border-color .15s;font-family:inherit}.coach-input-bar__textarea:focus{border-color:var(--teal-600)}.coach-input-bar__textarea:disabled{opacity:.5}.coach-input-bar__textarea::placeholder{color:var(--text-muted)}.coach-input-bar__send{width:42px;height:42px;border-radius:var(--radius-full);background:var(--teal-700);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,opacity .15s;box-shadow:var(--shadow-button)}.coach-input-bar__send:hover:not(:disabled){background:var(--teal-900)}.coach-input-bar__send:disabled{opacity:.4;cursor:not-allowed}.coach-input-bar__send--streaming{background:var(--danger)}.coach-input-bar__send--streaming:hover:not(:disabled){background:#dc2626}.coach-error{margin:0 16px 8px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);font-size:13px;color:#b91c1c;flex-shrink:0}.coach-drop-overlay{position:absolute;inset:0;z-index:50;background:#0d5c6314;border:2px dashed var(--teal-700);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;pointer-events:none}.coach-drop-overlay__label{background:var(--card-bg);padding:12px 24px;border-radius:var(--radius-sm);box-shadow:0 2px 12px #0000001a;font-size:14px;font-weight:600;color:var(--teal-700)}.coach-history{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px}.coach-history__title{font-size:13px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:16px}.coach-history__group{margin-bottom:16px}.coach-history__group-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.coach-history__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;margin-bottom:2px}.coach-history__item:hover,.coach-history__item--expanded{background:var(--teal-100)}.coach-history__item-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .15s}.coach-history__item-chevron--open{transform:rotate(90deg)}.coach-history__item-info{flex:1;min-width:0}.coach-history__item-preview{font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-history__item-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.coach-history__item-actions{display:flex;gap:6px;flex-shrink:0}.coach-history__item-btn{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;font-size:11px;font-weight:600;color:var(--teal-700);cursor:pointer;transition:background .15s}.coach-history__item-btn:hover{background:var(--teal-100)}.coach-history__item-btn--delete{color:var(--text-muted);border-color:transparent;background:none;padding:4px 6px;font-size:16px;line-height:1}.coach-history__item-btn--delete:hover{color:var(--danger)}.coach-history__messages{margin:6px 0 8px 22px;padding:10px 12px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:240px;overflow-y:auto}.coach-history__msg{margin-bottom:10px}.coach-history__msg:last-child{margin-bottom:0}.coach-history__msg-role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.coach-history__msg-role--user{color:var(--teal-700)}.coach-history__msg-role--assistant{color:var(--text-muted)}.coach-history__msg-text{font-size:12px;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;max-height:80px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.coach-history__clear-all{width:100%;margin-top:8px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;font-size:12px;font-weight:600;color:var(--danger);cursor:pointer;transition:background .15s}.coach-history__clear-all:hover{background:#fef2f2}.coach-header-actions{display:flex;align-items:center;gap:8px}.coach-header-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);position:relative;transition:color .15s,background .15s}.coach-header-btn:hover{color:var(--text-primary);background:var(--bg)}.coach-header-btn--active{color:var(--teal-700)}.coach-badge{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:var(--radius-full);background:var(--lime-400);border:2px solid var(--card-bg)}@keyframes coach-bulb-pulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.15);filter:brightness(1.3) drop-shadow(0 0 4px #d4e80e)}}.coach-header-btn--pulse{animation:coach-bulb-pulse 2s ease-in-out infinite}@keyframes coach-loading-pulse{0%,to{opacity:1}50%{opacity:.4}}.coach-header-btn--loading{animation:coach-loading-pulse 2s ease-in-out infinite}.coach-edits-badge{font-size:10px;font-weight:600;color:var(--teal-700);background:var(--teal-100);border-radius:var(--radius-full);padding:2px 8px;white-space:nowrap}.coach-file-input{display:none}.debts-view{padding-bottom:calc(var(--tab-bar-height) + 24px);background:var(--bg);min-height:100vh;min-height:100dvh}.debts-view__back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent}.debts-view__back-btn:active{background:var(--bg)}.debts-summary-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 16px 0}.debts-summary-card{display:flex;flex-direction:column;gap:4px}.debts-summary-card__label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.debts-summary-card__amount{font-size:22px;font-weight:700;line-height:1.2}.debts-summary-card__amount--danger{color:var(--danger)}.debts-summary-card__amount--teal{color:var(--teal-700)}.debts-summary-card__detail{font-size:12px;color:var(--text-muted)}.avalanche-card{margin:12px 16px 0}.avalanche-card__title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.avalanche-card__extra-indicator{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--teal-700);background:var(--teal-100);padding:3px 10px;border-radius:var(--radius-full);margin-bottom:12px}.avalanche-card__extra-indicator svg{flex-shrink:0}.alloc-row{padding:10px 0;border-bottom:1px solid var(--border)}.alloc-row:last-child{border-bottom:none}.alloc-row__top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.alloc-row__name-group{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.alloc-row__name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alloc-row__apr-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600;background:#fef3c7;color:#92400e;white-space:nowrap;flex-shrink:0}.alloc-row__apr-badge--high{background:#fee2e2;color:#991b1b}.alloc-row__total{font-size:15px;font-weight:700;color:var(--text-primary);white-space:nowrap;flex-shrink:0}.alloc-row__breakdown{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);margin-bottom:6px}.alloc-row__extra-tag{color:var(--teal-700);font-weight:600}.alloc-row__progress{height:5px;border-radius:3px;background:var(--border);overflow:hidden}.alloc-row__progress-fill{height:100%;border-radius:3px;background:var(--teal-700);transition:width .3s ease}.alloc-row__progress-fill--priority{background:var(--teal-600)}.debts-editor{margin:12px 16px 0}.debts-editor__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.debts-editor__toggle-label{font-size:15px;font-weight:700;color:var(--text-primary)}.debts-editor__toggle-arrow{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform .2s ease}.debts-editor__toggle-arrow--open{transform:rotate(180deg)}.debts-editor__list{display:flex;flex-direction:column;gap:12px}.debt-edit-row{padding:12px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}.debt-edit-row__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.debt-edit-row__name-input{font-size:14px;font-weight:600;color:var(--text-primary);border:none;background:none;padding:2px 0;width:100%;outline:none;border-bottom:1px solid transparent}.debt-edit-row__name-input:focus{border-bottom-color:var(--teal-700)}.debt-edit-row__delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:none;background:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.debt-edit-row__delete-btn:hover{color:var(--danger);background:#fee2e2}.debt-edit-row__fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.debt-edit-field{display:flex;flex-direction:column;gap:2px}.debt-edit-field__label{font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.debt-edit-field__input{width:100%;font-size:14px;font-weight:600;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text-primary);outline:none;-moz-appearance:textfield}.debt-edit-field__input::-webkit-outer-spin-button,.debt-edit-field__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.debt-edit-field__input:focus{border-color:var(--teal-700)}.debts-add-btn{width:100%;padding:12px;margin-top:12px;border-radius:var(--radius-md);border:2px dashed var(--border);background:none;color:var(--teal-700);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.debts-add-btn:hover{border-color:var(--teal-700);background:var(--teal-100)}.debts-add-btn:active{opacity:.8}@media(max-width:480px){.debts-summary-row{grid-template-columns:1fr;gap:8px}.debt-edit-row__fields{grid-template-columns:1fr;gap:6px}.debts-summary-card__amount{font-size:20px}}.projection-view{padding-bottom:calc(var(--tab-bar-height) + 24px);background:var(--bg);min-height:100vh;min-height:100dvh}.projection-view__back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent}.projection-view__back-btn:active{background:var(--bg)}.projection-empty{margin:40px 16px;text-align:center}.projection-empty__icon{width:48px;height:48px;margin:0 auto 12px;color:var(--text-muted)}.projection-empty__text{font-size:15px;color:var(--text-secondary);font-weight:500}.projection-chart-card{margin:12px 16px 0}.projection-chart-card__title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.projection-chart{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.projection-chart svg{display:block}.projection-chart__axis-label{font-size:10px;fill:var(--text-muted);font-weight:500}.projection-chart__axis-value{font-size:10px;fill:var(--text-secondary);font-weight:500;text-anchor:end}.projection-chart__grid-line{stroke:var(--border);stroke-width:1;stroke-dasharray:3,3}.projection-chart__bar-label{font-size:9px;fill:var(--text-muted);text-anchor:middle}.projection-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.projection-legend__item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);font-weight:500}.projection-legend__swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.projection-payoff-card{margin:12px 16px 0}.projection-payoff{display:flex;align-items:center;gap:12px}.projection-payoff__icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--teal-100);color:var(--teal-700);display:flex;align-items:center;justify-content:center;flex-shrink:0}.projection-payoff__text{display:flex;flex-direction:column;gap:2px}.projection-payoff__label{font-size:12px;font-weight:500;color:var(--text-secondary)}.projection-payoff__date{font-size:18px;font-weight:700;color:var(--teal-700)}.projection-payoff__note{font-size:12px;color:var(--text-muted)}.projection-table-card{margin:12px 16px 0}.projection-table-card__title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.projection-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.projection-table{width:100%;border-collapse:collapse;font-size:13px}.projection-table th{text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;padding:8px 12px;border-bottom:2px solid var(--border);white-space:nowrap}.projection-table th:last-child{text-align:right}.projection-table th:nth-child(2){text-align:right}.projection-table td{padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.projection-table td:nth-child(2){text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.projection-table td:last-child{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.projection-table tr:last-child td{border-bottom:none}.projection-table__row--current{background:var(--teal-100)}.projection-table__change--positive{color:var(--success)}.projection-table__change--zero{color:var(--text-muted)}.projection-breakdown-card{margin:12px 16px 0}.projection-breakdown__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.projection-breakdown__toggle-label{font-size:15px;font-weight:700;color:var(--text-primary)}.projection-breakdown__toggle-arrow{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform .2s ease}.projection-breakdown__toggle-arrow--open{transform:rotate(180deg)}.projection-breakdown__debt-section{margin-bottom:16px}.projection-breakdown__debt-section:last-child{margin-bottom:0}.projection-breakdown__debt-name{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.projection-breakdown__debt-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px}.projection-breakdown__debt-month{color:var(--text-secondary)}.projection-breakdown__debt-balance{font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.projection-breakdown__debt-balance--zero{color:var(--success)}@media(max-width:480px){.projection-payoff__date{font-size:16px}.projection-table{font-size:12px}.projection-table th,.projection-table td{padding:8px}}.checkin-view{display:flex;flex-direction:column;height:100%;background:var(--bg)}.checkin-view__back-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);border-radius:var(--radius-sm);transition:background .15s}.checkin-view__back-btn:hover{background:var(--teal-100)}.checkin-view__content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;padding-bottom:calc(var(--tab-bar-height) + 24px);display:flex;flex-direction:column;gap:20px}.checkin-form__title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.checkin-form__fields{display:flex;flex-direction:column;gap:16px}.checkin-form__field{display:flex;flex-direction:column;gap:6px}.checkin-form__label{font-size:13px;font-weight:600;color:var(--text-secondary)}.checkin-form__input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);background:var(--bg);outline:none;transition:border-color .15s}.checkin-form__input:focus{border-color:var(--teal-600)}.checkin-form__input::placeholder{color:var(--text-muted)}.checkin-form__slider-row{display:flex;align-items:center;gap:12px}.checkin-form__slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--border);border-radius:var(--radius-full);outline:none}.checkin-form__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:var(--radius-full);background:var(--teal-700);cursor:pointer;border:2px solid white;box-shadow:0 1px 4px #00000026}.checkin-form__slider::-moz-range-thumb{width:22px;height:22px;border-radius:var(--radius-full);background:var(--teal-700);cursor:pointer;border:2px solid white;box-shadow:0 1px 4px #00000026}.checkin-form__slider-value{font-size:18px;font-weight:700;color:var(--teal-700);min-width:32px;text-align:center}.checkin-form__error{font-size:13px;color:var(--danger);font-weight:500}.checkin-form__success{font-size:13px;color:var(--success);font-weight:600}.checkin-form__submit{padding:12px 20px;background:var(--teal-700);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.checkin-form__submit:hover:not(:disabled){background:var(--teal-900)}.checkin-form__submit:disabled{opacity:.6;cursor:not-allowed}.checkin-history__title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.checkin-history__list{display:flex;flex-direction:column;gap:10px}.checkin-history__empty{text-align:center}.checkin-history__empty-text{font-size:14px;color:var(--text-muted);padding:16px 0}.checkin-history__item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.checkin-history__date{font-size:13px;font-weight:600;color:var(--text-secondary)}.checkin-history__confidence{font-size:12px;font-weight:700;color:var(--teal-700);background:var(--teal-100);padding:2px 10px;border-radius:var(--radius-full)}.checkin-history__category-row{margin-bottom:6px}.checkin-history__badge{display:inline-block;font-size:12px;font-weight:600;color:var(--teal-900);background:var(--lime-300);padding:2px 10px;border-radius:var(--radius-full)}.checkin-history__action{font-size:13px;color:var(--text-secondary);line-height:1.5}.accounts-view{display:flex;flex-direction:column;height:100%;background:var(--bg)}.accounts-view__back-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);border-radius:var(--radius-sm);transition:background .15s}.accounts-view__back-btn:hover{background:var(--teal-100)}.accounts-view__sync-btn{background:none;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;color:var(--teal-700);border-radius:var(--radius-sm);transition:background .15s}.accounts-view__sync-btn:hover:not(:disabled){background:var(--teal-100)}.accounts-view__sync-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes accounts-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.accounts-view__spin{animation:accounts-spin 1s linear infinite}.accounts-view__content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;padding-bottom:calc(var(--tab-bar-height) + 24px);display:flex;flex-direction:column;gap:16px}.accounts-view__not-connected{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 24px}.accounts-view__not-connected-icon{margin-bottom:16px;opacity:.6}.accounts-view__not-connected-text{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:8px;line-height:1.4}.accounts-view__not-connected-note{font-size:13px;color:var(--text-muted)}.accounts-view__syncing{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px}.accounts-view__syncing-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--teal-700);border-radius:var(--radius-full);animation:accounts-spin .8s linear infinite}.accounts-view__syncing-text{font-size:13px;color:var(--text-secondary);font-weight:500}.accounts-view__net-worth{background:var(--teal-700);border-radius:var(--radius-lg);padding:24px 20px;box-shadow:var(--shadow-card)}.accounts-view__net-worth-label{display:block;font-size:13px;color:#ffffffb3;font-weight:500;margin-bottom:6px}.accounts-view__net-worth-amount{display:block;font-size:30px;font-weight:800;color:#fff;letter-spacing:-.5px;margin-bottom:16px}.accounts-view__net-worth-breakdown{display:flex;align-items:center;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}.accounts-view__net-worth-half{flex:1;display:flex;flex-direction:column;gap:2px}.accounts-view__net-worth-divider{width:1px;height:32px;background:#ffffff26;flex-shrink:0;margin:0 16px}.accounts-view__net-worth-sub-label{font-size:12px;color:#fff9;font-weight:500}.accounts-view__net-worth-sub-value{font-size:16px;font-weight:700}.accounts-view__net-worth-sub-value--assets{color:var(--success)}.accounts-view__net-worth-sub-value--liabilities{color:#fca5a5}.accounts-view__groups{display:flex;flex-direction:column;gap:16px}.accounts-view__group-header{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.accounts-view__group-card{padding:0}.accounts-view__account-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);transition:opacity .15s}.accounts-view__account-row:last-child{border-bottom:none}.accounts-view__account-row--hidden{opacity:.45}.accounts-view__account-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.accounts-view__account-name{font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounts-view__account-type{display:inline-block;font-size:11px;font-weight:500;color:var(--text-muted);background:var(--bg);padding:1px 8px;border-radius:var(--radius-full);width:fit-content}.accounts-view__account-balance{font-size:14px;font-weight:700;flex-shrink:0;margin-left:12px}.accounts-view__account-balance--asset{color:var(--success)}.accounts-view__account-balance--liability{color:var(--danger)}.accounts-view__empty{text-align:center}.accounts-view__empty-text{font-size:14px;color:var(--text-muted);padding:16px 0}.accounts-view__last-sync{font-size:12px;color:var(--text-muted);text-align:center;padding:8px 0}.rules-view{display:flex;flex-direction:column;height:100%;background:var(--bg)}.rules-view__back-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);border-radius:var(--radius-sm);transition:background .15s}.rules-view__back-btn:hover{background:var(--teal-100)}.rules-view__content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;padding-bottom:calc(var(--tab-bar-height) + 24px);display:flex;flex-direction:column;gap:10px}.rules-view__rule{padding:14px 16px}.rules-view__rule-row{display:flex;align-items:flex-start;gap:14px}.rules-view__rule-badge{width:32px;height:32px;min-width:32px;border-radius:var(--radius-full);background:var(--lime-400);color:var(--teal-900);font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rules-view__rule-text{flex:1;min-width:0}.rules-view__rule-title{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.3;margin-bottom:3px}.rules-view__rule-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.settings-view{padding-bottom:calc(var(--tab-bar-height) + 24px);background:var(--bg);min-height:100vh;min-height:100dvh}.settings-view__back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent}.settings-view__back-btn:active{background:var(--bg)}.settings-profile{display:flex;align-items:center;gap:14px}.settings-profile__avatar{width:44px;height:44px;border-radius:50%;background:var(--teal-700);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-profile__name{font-size:17px;font-weight:700;color:var(--text-primary)}.settings-view__section{margin:12px 16px 0}.settings-view__section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:12px}.settings-field{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid var(--border)}.settings-field:last-child{border-bottom:none}.settings-field__label{font-size:13px;font-weight:500;color:var(--text-secondary)}.settings-field__input{width:100%;font-size:16px;font-weight:600;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-primary);outline:none;-moz-appearance:textfield;transition:border-color .15s ease}.settings-field__input::-webkit-outer-spin-button,.settings-field__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-field__input:focus{border-color:var(--teal-700);background:var(--card-bg)}.settings-field__select{width:100%;font-size:16px;font-weight:600;padding:8px 30px 8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-primary);outline:none;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .15s ease}.settings-field__select:focus{border-color:var(--teal-700);background-color:var(--card-bg)}.settings-field__value{font-size:16px;font-weight:600;color:var(--text-primary);display:flex;align-items:baseline;gap:6px}.settings-field__value--bold{font-size:18px;color:var(--teal-700)}.settings-field__hint{font-size:12px;font-weight:400;color:var(--text-muted)}.settings-field__empty{font-size:14px;color:var(--text-muted);padding:8px 0;margin:0}.monarch-status{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.monarch-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.monarch-badge--connected{background:#dcfce7;color:#166534}.monarch-badge--disconnected{background:var(--bg);color:var(--text-muted)}.monarch-last-sync{font-size:12px;color:var(--text-muted)}.monarch-error{font-size:13px;color:var(--danger);margin-bottom:8px;padding:8px 10px;background:#fef2f2;border-radius:6px}.monarch-actions{display:flex;flex-direction:column;gap:8px}.monarch-otp-row{display:flex;gap:8px;align-items:center}.monarch-otp-row .settings-field__input{flex:1}.monarch-token-link{font-size:13px;color:var(--teal-700);background:none;border:none;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:2px;-webkit-tap-highlight-color:transparent}.monarch-token-link:active{opacity:.7}.settings-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px 16px;border-radius:var(--radius-sm);border:none;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent}.settings-btn:active{opacity:.8}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn--primary{background:var(--teal-700);color:#fff}.settings-btn--primary:hover:not(:disabled){background:var(--teal-900)}.settings-btn--secondary{background:var(--bg);color:var(--text-primary);border:1px solid var(--border)}.settings-btn--secondary:hover:not(:disabled){background:var(--border)}.settings-btn--danger{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.settings-btn--danger:hover:not(:disabled){background:#fee2e2}.settings-btn--ghost{background:none;color:var(--text-secondary)}.settings-btn--ghost:hover:not(:disabled){background:var(--bg)}.settings-btn--disconnect{background:none;color:var(--danger);font-size:13px;padding:6px 0;width:auto;justify-content:flex-start}.settings-btn--disconnect:hover:not(:disabled){text-decoration:underline}.settings-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:settings-spin .6s linear infinite}@keyframes settings-spin{to{transform:rotate(360deg)}}.settings-data-actions{display:flex;flex-direction:column;gap:8px}.settings-account{display:flex;flex-direction:column;gap:12px}.settings-version{font-size:12px;color:var(--text-muted);text-align:center}@media(max-width:480px){.settings-view__section{margin:10px 12px 0}.settings-field__input,.settings-field__select{font-size:16px}}
