.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);background-color:var(--color-gray-50)}.login-card{width:100%;max-width:400px;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.login-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-gray-900);letter-spacing:-.02em}.login-tagline{font-size:var(--text-sm);color:var(--color-gray-400);margin-bottom:var(--space-4)}.login-form{display:flex;flex-direction:column;gap:var(--space-3)}.login-label{display:block;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600);margin-bottom:var(--space-1)}.login-input{width:100%;padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-gray-700);background:var(--color-white);transition:border-color var(--duration-fast) var(--ease-out)}.login-input:focus{outline:none;border-color:var(--color-gray-500)}.login-input--code{font-family:var(--font-mono);font-size:var(--text-xl);letter-spacing:.25em;text-align:center}.login-hint{font-size:var(--text-sm);color:var(--color-gray-500);line-height:var(--leading-relaxed)}.login-hint strong{color:var(--color-gray-700);font-weight:var(--weight-medium)}.login-error{font-size:var(--text-sm);color:var(--color-gray-600);background:var(--color-gray-100);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.login-button{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-gray-700);color:var(--color-white);font-size:var(--text-base);font-weight:var(--weight-medium);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out);margin-top:var(--space-1)}.login-button:hover:not(:disabled){background:var(--color-gray-900)}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-button-ghost{width:100%;padding:var(--space-2) var(--space-4);background:transparent;color:var(--color-gray-400);font-size:var(--text-sm);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out)}.login-button-ghost:hover{color:var(--color-gray-600)}.auth-callback{min-height:100dvh;display:flex;align-items:center;justify-content:center;background-color:var(--color-gray-50)}.auth-callback-message{font-size:var(--text-base);color:var(--color-gray-400)}.auth-callback-error{font-size:var(--text-base);color:var(--color-gray-600);text-align:center;max-width:28rem;line-height:var(--leading-relaxed);margin:0 0 var(--space-4)}.auth-callback-back{font-size:var(--text-sm);color:var(--color-gray-400);text-decoration:underline;text-underline-offset:2px}.join-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-5);background:var(--color-gray-50)}.join-screen__status{font-size:var(--text-base);color:var(--color-gray-400)}.join-screen__card{width:100%;max-width:24rem;display:flex;flex-direction:column;gap:var(--space-5)}.join-screen__logo{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-gray-300);letter-spacing:.04em;text-transform:lowercase}.join-screen__title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-gray-900);line-height:var(--leading-tight);margin:0}.join-screen__body{font-size:var(--text-sm);color:var(--color-gray-500);line-height:var(--leading-relaxed);margin:0}.join-screen__form{display:flex;flex-direction:column;gap:var(--space-3)}.join-screen__input{padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-white);font-size:var(--text-base);color:var(--color-gray-900);transition:border-color var(--duration-fast) var(--ease-out)}.join-screen__input:focus{outline:none;border-color:var(--color-gray-400)}.join-screen__btn{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:none;background:var(--color-gray-900);color:var(--color-white);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.join-screen__btn:hover:not(:disabled){background:var(--color-gray-700)}.join-screen__btn:disabled{opacity:.4;cursor:default}.join-screen__error{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}.join-screen__back{font-size:var(--text-sm);color:var(--color-gray-400);text-decoration:underline;text-underline-offset:2px;align-self:flex-start}.join-merge{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-5);background:var(--color-gray-50)}.join-merge__card{width:100%;max-width:24rem;display:flex;flex-direction:column;gap:var(--space-5)}.join-merge__card--center{align-items:center;text-align:center}.join-merge__icon{font-size:2.5rem;line-height:1}.join-merge__title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-gray-900);line-height:var(--leading-tight);margin:0}.join-merge__lead{font-size:var(--text-sm);color:var(--color-gray-500);line-height:var(--leading-relaxed);margin:0}.join-merge__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.join-merge__list-item{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-gray-700)}.join-merge__list-icon{flex-shrink:0;color:var(--color-gray-400);font-weight:var(--weight-semibold)}.join-merge__sub-note{font-size:var(--text-sm);color:var(--color-gray-500);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);line-height:var(--leading-relaxed)}.join-merge__accounts{display:flex;flex-direction:column;gap:var(--space-3)}.join-merge__account-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm)}.join-merge__account-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.join-merge__account-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join-merge__account-type{font-size:var(--text-xs);color:var(--color-gray-400)}.join-merge__balance-input-wrap{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.join-merge__currency{font-size:var(--text-sm);color:var(--color-gray-400)}.join-merge__balance-input{width:96px;font-size:var(--text-sm);color:var(--color-gray-900);background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2);text-align:right;-moz-appearance:textfield}.join-merge__balance-input::-webkit-outer-spin-button,.join-merge__balance-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.join-merge__balance-input:focus{outline:none;border-color:var(--color-gray-400)}.join-merge__empty,.join-merge__hint{font-size:var(--text-xs);color:var(--color-gray-400);text-align:center;margin:0}.join-merge__status{font-size:var(--text-sm);color:var(--color-gray-400);margin:0}.join-merge__actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.join-merge__btn{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;border:none;transition:background var(--duration-fast) var(--ease-out)}.join-merge__btn:disabled{opacity:.4;cursor:default}.join-merge__btn--primary{background:var(--color-gray-900);color:var(--color-white)}.join-merge__btn--primary:hover:not(:disabled){background:var(--color-gray-700)}.join-merge__btn--ghost{background:none;color:var(--color-gray-400);border:none;font-size:var(--text-sm)}.join-merge__btn--ghost:hover{color:var(--color-gray-600)}.mood-check-in{display:flex;flex-direction:column;align-items:center;gap:var(--space-10)}.mood-check-in__header{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.mood-check-in__prompt{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-gray-900);letter-spacing:-.02em;line-height:var(--leading-tight)}.mood-check-in__intro{font-size:var(--text-sm);color:var(--color-gray-400);line-height:var(--leading-relaxed);max-width:28ch}.mood-check-in__icons{display:flex;gap:var(--space-3)}.mood-check-in__icon{position:relative;width:56px;height:56px;border-radius:var(--radius-full);padding:0;background:none;border:none;cursor:pointer;transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-base) var(--ease-spring)}.mood-check-in__icon:not(:disabled):hover{transform:scale(1.12)}.mood-check-in__icon:disabled{cursor:default}.mood-check-in__symbol,.mood-check-in__check{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:2.25rem;transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-spring)}.mood-check-in__symbol{color:var(--color-gray-400)}.mood-check-in__check{opacity:0;transform:scale(.4);color:var(--color-accent-green)}.mood-check-in__icon--selected .mood-check-in__symbol{opacity:0;transform:scale(.5)}.mood-check-in__icon--selected .mood-check-in__check{opacity:1;transform:scale(1)}.mood-check-in__icon--faded{opacity:.2;transform:scale(.9)}.catchup-screen{min-height:100dvh;display:flex;flex-direction:column;padding:calc(var(--space-8) + var(--safe-area-top)) var(--space-5) var(--space-10);background:var(--color-gray-50);gap:var(--space-4)}.catchup-screen__eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-400)}.catchup-screen__lite-note{font-size:var(--text-sm);color:var(--color-gray-500);line-height:var(--leading-relaxed);margin:0}.catchup-screen__title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--color-gray-900);letter-spacing:-.02em;margin:0}.catchup-screen__stack{display:flex;flex-direction:column;gap:var(--space-3);flex:1}.catchup-screen__resolved-list{display:flex;flex-direction:column;gap:var(--space-1)}.catchup-screen__resolved-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-white);border-radius:var(--radius-md);font-size:var(--text-sm);opacity:.7}.catchup-screen__resolved-name{color:var(--color-gray-500)}.catchup-screen__resolved-value{font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);color:var(--color-gray-900)}.catchup-screen__peek{height:8px;background:var(--color-white);border-radius:var(--radius-md);margin:0 var(--space-2);opacity:.4}.catchup-card{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-card)}.catchup-card__header{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-2)}.catchup-card__header-text{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.catchup-card__skip{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);border:none;background:none;color:var(--color-gray-300);cursor:pointer;flex-shrink:0;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.catchup-card__skip:hover{color:var(--color-gray-500);background:#0000000d}.catchup-card__skip .material-symbols-outlined{font-size:1.1rem;transform:rotate(90deg)}.catchup-card__name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.catchup-card__last{font-size:var(--text-sm);color:var(--color-gray-500);font-variant-numeric:tabular-nums}.catchup-card__question,.catchup-card__input-section{display:flex;flex-direction:column;gap:var(--space-3)}.catchup-card__prompt{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}.catchup-card__actions{display:flex;gap:var(--space-2)}.catchup-card__btn{flex:1;padding:var(--space-3) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;border:1px solid var(--color-gray-200);background:var(--color-gray-50);color:var(--color-gray-900);font-family:var(--font-sans);transition:background var(--duration-fast) var(--ease-out)}.catchup-card__btn--yes:hover,.catchup-card__btn--no:hover{background:var(--color-gray-100)}.catchup-card__btn--confirm{width:100%;background:var(--color-gray-900);color:var(--color-white);border-color:transparent}.catchup-card__btn--confirm:hover:not(:disabled){background:var(--color-gray-700)}.catchup-card__btn--confirm:disabled{opacity:.4;cursor:default}.catchup-card__defer{font-size:var(--text-xs);color:var(--color-gray-400);background:none;border:none;cursor:pointer;padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px;font-family:var(--font-sans)}.catchup-card__input-row{display:flex;align-items:center;gap:var(--space-2);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-3);transition:border-color var(--duration-fast) var(--ease-out)}.catchup-card__input-row:focus-within{border-color:var(--color-gray-400)}.catchup-card__symbol{font-size:var(--text-sm);color:var(--color-gray-400);flex-shrink:0}.catchup-card__input{flex:1;font-size:var(--text-base);color:var(--color-gray-900);background:none;border:none;outline:none;font-family:var(--font-sans)}.catchup-card__resolved{padding:var(--space-2) 0}.catchup-card__resolved-label{font-size:var(--text-sm);color:var(--color-gray-500)}.catchup-screen__count{font-size:var(--text-xs);color:var(--color-gray-400);text-align:center;margin:0}.catchup-screen__cta{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4);background:var(--color-gray-900);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;font-family:var(--font-sans);transition:background var(--duration-fast) var(--ease-out)}.catchup-screen__cta:hover:not(:disabled){background:var(--color-gray-700)}.catchup-screen__cta:disabled{opacity:.4;cursor:default}.catchup-screen__secondary{width:100%;padding:var(--space-3);background:none;border:none;font-size:var(--text-sm);color:var(--color-gray-500);cursor:pointer;font-family:var(--font-sans);transition:color var(--duration-fast) var(--ease-out)}.catchup-screen__secondary:hover{color:var(--color-gray-900)}.catchup-screen--done{justify-content:center;align-items:center;text-align:center;gap:var(--space-5)}.catchup-screen__done-icon .material-symbols-outlined{font-size:3rem;color:var(--color-accent-green)}.catchup-screen__done-sub{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}.catchup-screen__done-actions{width:100%;display:flex;flex-direction:column;gap:var(--space-2);max-width:360px}.category-header{display:flex;align-items:center;gap:var(--space-2);min-width:0}.category-header__label{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-header--locked .category-header__label{color:var(--color-gray-400)}.category-header--complete .category-header__label{color:var(--color-accent-green)}.category-header__count{font-size:var(--text-xs);color:var(--color-gray-400);white-space:nowrap}.category-header__lock{font-size:var(--text-sm);line-height:1}.complete-category-button{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-accent-green);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-sm);transition:opacity var(--duration-fast) var(--ease-out)}.complete-category-button:hover:not(:disabled){opacity:.88}.complete-category-button:disabled{opacity:.4;cursor:not-allowed}.account-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-white)}.account-row__name{flex:1;font-size:var(--text-sm);color:var(--color-gray-700);display:flex;flex-direction:column;gap:2px;min-width:0}.account-row__type-label{font-size:var(--text-xs);color:var(--color-gray-400);font-weight:var(--weight-normal)}.account-row__balance{font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap}.account-row__balance--asset{color:var(--color-gray-700)}.account-row__balance--liability{color:var(--color-liability)}.account-row__actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.account-row__edit,.account-row__remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-gray-300);border-radius:var(--radius-full);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.account-row__edit{font-size:var(--text-xs)}.account-row__remove{font-size:var(--text-base);line-height:1}.account-row__edit:hover,.account-row__remove:hover{color:var(--color-gray-600);background:var(--color-gray-100)}.account-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-gray-100);border-radius:var(--radius-sm);overflow:hidden}.account-list__item{border-bottom:1px solid var(--color-gray-100)}.account-list__item:last-child{border-bottom:none}.add-account-form{display:flex;flex-direction:column;gap:var(--space-3)}.add-account-form__field{display:flex;flex-direction:column;gap:var(--space-1)}.add-account-form__label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.add-account-form__input{width:100%;padding:var(--space-3);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-gray-700);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.add-account-form__input:focus{outline:none;border-color:var(--color-gray-400);background:var(--color-white)}.add-account-form__input--balance{font-variant-numeric:tabular-nums}.add-account-form__select{width:100%;padding:var(--space-3);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-gray-700)}.add-account-form__optional{font-weight:var(--weight-normal);color:var(--color-gray-400);text-transform:none;letter-spacing:0}.add-account-form__input-suffix-row{display:flex;align-items:center;gap:var(--space-2)}.add-account-form__input-suffix-row .add-account-form__input{flex:1}.add-account-form__input-suffix{font-size:var(--text-base);color:var(--color-gray-400);flex-shrink:0}.add-account-form__field-hint{margin:0;font-size:var(--text-xs);color:var(--color-gray-400);line-height:1.4}.add-account-form__optional-group{border:1px dashed var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.add-account-form__optional-legend{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-1);margin-bottom:var(--space-1)}.add-account-form__optional-tag{font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--color-gray-400);background:var(--color-gray-100);border-radius:var(--radius-full);padding:1px var(--space-2)}.add-account-form__error{font-size:var(--text-sm);color:var(--color-gray-600);background:var(--color-gray-100);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.add-account-form__edit-label{font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-warm)}.add-account-form__footer{display:flex;align-items:center;gap:var(--space-3)}.add-account-form__cancel{font-size:var(--text-sm);color:var(--color-gray-400);text-decoration:underline;text-underline-offset:3px;transition:color var(--duration-fast) var(--ease-out)}.add-account-form__cancel:hover{color:var(--color-gray-600)}.add-account-form__submit{flex:1;padding:var(--space-3) var(--space-4);background:var(--color-gray-700);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out)}.add-account-form__submit:hover:not(:disabled){background:var(--color-gray-900)}.add-account-form__submit:disabled{opacity:.4;cursor:not-allowed}.add-account-form__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.add-account-form__chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1.5px solid var(--color-gray-200);background:var(--color-gray-50);font-size:var(--text-sm);color:var(--color-gray-600);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);white-space:nowrap}.add-account-form__chip--active{border-color:var(--color-gray-900);background:var(--color-gray-900);color:var(--color-white)}.add-account-form__day-pair{display:flex;align-items:center;gap:var(--space-2)}.add-account-form__input--day{width:72px;flex-shrink:0}.add-account-form__day-sep{font-size:var(--text-sm);color:var(--color-gray-400)}.add-account-form__recurring-add-first{background:none;border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;width:100%;text-align:left}.add-account-form__recurring-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-raised);border:1px solid var(--color-border)}.add-account-form__recurring-item-header{display:flex;gap:var(--space-2);align-items:center}.add-account-form__recurring-item-header .add-account-form__input{flex:1}.add-account-form__recurring-remove{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0;display:flex;align-items:center;flex-shrink:0}.add-account-form__recurring-remove .material-symbols-outlined{font-size:18px}.add-account-form__recurring-add-another{display:flex;align-items:center;gap:var(--space-1);background:none;border:none;font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;padding:var(--space-1) 0}.add-account-form__recurring-add-another .material-symbols-outlined{font-size:16px}.add-account-form__recurring-date-row{display:flex;align-items:center;gap:var(--space-2)}.add-account-form__select{flex:1}.property-form{display:flex;flex-direction:column;gap:var(--space-3)}.property-form__field{display:flex;flex-direction:column;gap:var(--space-1)}.property-form__label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.property-form__input{width:100%;padding:var(--space-3);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-gray-700);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.property-form__input:focus{outline:none;border-color:var(--color-gray-400);background:var(--color-white)}.property-form__input--balance{font-variant-numeric:tabular-nums}.property-form__mortgage-toggle{align-self:flex-start;padding:var(--space-2) var(--space-3);background:var(--color-gray-100);border:1px solid var(--color-gray-200);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-gray-600);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.property-form__mortgage-toggle:hover,.property-form__mortgage-toggle--active{background:var(--color-gray-200);color:var(--color-gray-700)}.property-form__mortgage-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-sm);border:1px solid var(--color-gray-100)}.property-form__optional-group{border:1px dashed var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.property-form__optional-legend{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-1);margin-bottom:var(--space-1)}.property-form__optional-tag{font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--color-gray-400);background:var(--color-gray-100);border-radius:var(--radius-full);padding:1px var(--space-2)}.property-form__error{font-size:var(--text-sm);color:var(--color-gray-600);background:var(--color-gray-100);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.property-form__edit-label{font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-warm)}.property-form__footer{display:flex;align-items:center;gap:var(--space-3)}.property-form__cancel{font-size:var(--text-sm);color:var(--color-gray-400);text-decoration:underline;text-underline-offset:3px;transition:color var(--duration-fast) var(--ease-out)}.property-form__cancel:hover{color:var(--color-gray-600)}.property-form__submit{flex:1;padding:var(--space-3) var(--space-4);background:var(--color-gray-700);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out)}.property-form__submit:hover:not(:disabled){background:var(--color-gray-900)}.property-form__submit:disabled{opacity:.4;cursor:not-allowed}.category-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden;transition:background-color .5s var(--ease-out),border-color .5s var(--ease-out),box-shadow .5s var(--ease-out)}.category-card--empty.category-card--type-checking,.category-card--in_progress.category-card--type-checking{background:var(--account-color-checking)}.category-card--empty.category-card--type-savings,.category-card--in_progress.category-card--type-savings{background:var(--account-color-savings)}.category-card--empty.category-card--type-cash,.category-card--in_progress.category-card--type-cash{background:var(--account-color-cash)}.category-card--empty.category-card--type-credit_card,.category-card--in_progress.category-card--type-credit_card{background:var(--account-color-credit_card)}.category-card--empty.category-card--type-loan,.category-card--in_progress.category-card--type-loan{background:var(--account-color-loan)}.category-card--empty.category-card--type-mortgage,.category-card--in_progress.category-card--type-mortgage{background:var(--account-color-mortgage)}.category-card--empty.category-card--type-investment,.category-card--in_progress.category-card--type-investment{background:var(--account-color-investment)}.category-card--empty.category-card--type-real_estate,.category-card--in_progress.category-card--type-real_estate{background:var(--account-color-real_estate)}.category-card--locked{background:var(--color-gray-50);box-shadow:none;border:1px solid var(--color-gray-100)}.category-card--complete.category-card--type-checking{background:var(--account-color-checking-sat);border:1.5px solid var(--account-border-checking)}.category-card--complete.category-card--type-savings{background:var(--account-color-savings-sat);border:1.5px solid var(--account-border-savings)}.category-card--complete.category-card--type-cash{background:var(--account-color-cash-sat);border:1.5px solid var(--account-border-cash)}.category-card--complete.category-card--type-credit_card{background:var(--account-color-credit_card-sat);border:1.5px solid var(--account-border-credit_card)}.category-card--complete.category-card--type-loan{background:var(--account-color-loan-sat);border:1.5px solid var(--account-border-loan)}.category-card--complete.category-card--type-mortgage{background:var(--account-color-mortgage-sat);border:1.5px solid var(--account-border-mortgage)}.category-card--complete.category-card--type-investment{background:var(--account-color-investment-sat);border:1.5px solid var(--account-border-investment)}.category-card--complete.category-card--type-real_estate{background:var(--account-color-real_estate-sat);border:1.5px solid var(--account-border-real_estate)}.category-card__header-btn{all:unset;display:flex;width:100%;align-items:center;justify-content:space-between;padding:var(--space-4);cursor:pointer;box-sizing:border-box;gap:var(--space-3)}.category-card__header-btn:disabled{cursor:default}.category-card__total{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600);font-variant-numeric:tabular-nums;white-space:nowrap}.category-card__body{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--color-gray-100);animation:card-body-enter .32s var(--ease-out) both}@keyframes card-body-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.category-card__partner-note{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-gray-400);margin:0}.category-card__partner-note-icon{font-size:.875rem;line-height:1}.category-card__skip-btn{font-size:var(--text-xs);color:var(--color-gray-400);background:none;border:none;cursor:pointer;padding:var(--space-2) 0;align-self:flex-start;transition:color var(--duration-fast) var(--ease-out)}.category-card__skip-btn:hover{color:var(--color-gray-600)}.category-card__uncomplete-btn{font-size:var(--text-xs);color:var(--color-gray-400);text-decoration:underline;text-underline-offset:3px;background:none;border:none;cursor:pointer;padding:0;align-self:flex-start;transition:color var(--duration-fast) var(--ease-out)}.category-card__uncomplete-btn:hover{color:var(--color-gray-600)}.category-card__add-another-btn{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:none;cursor:pointer;padding:var(--space-2) 0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-400);transition:color var(--duration-fast) var(--ease-out)}.category-card__add-another-btn:hover{color:var(--color-gray-600)}.category-card__add-another-btn .material-symbols-outlined{font-size:1rem}.onboarding-card-deck{display:flex;flex-direction:column;gap:var(--space-3)}.onboarding-card-deck__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-1)}.onboarding-card-deck__stage-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-400)}.onboarding-card-deck__progress{font-size:var(--text-xs);color:var(--color-gray-400);font-variant-numeric:tabular-nums}.onboarding-card-deck__stack{position:relative;padding-bottom:28px}.onboarding-card-deck__active{position:relative;z-index:3;animation:deck-active-enter .38s cubic-bezier(.16,1,.3,1) both}@keyframes deck-active-enter{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.onboarding-card-deck__peek{position:absolute;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow-card);top:16px}.onboarding-card-deck__peek--1{z-index:2;left:6px;right:6px;bottom:8px}.onboarding-card-deck__peek--2{z-index:1;left:12px;right:12px;bottom:0}.onboarding-screen{width:100%;max-width:var(--max-width-app);margin:0 auto;padding:calc(var(--space-8) + var(--safe-area-top)) var(--space-4) var(--space-16);display:flex;flex-direction:column;gap:var(--space-8)}.onboarding-screen--loading,.onboarding-screen--error{min-height:100dvh;align-items:center;justify-content:center}.onboarding-screen__loading-text,.onboarding-screen__error-text{font-size:var(--text-base);color:var(--color-gray-400);text-align:center}.onboarding-screen__header{display:flex;flex-direction:column;gap:var(--space-2)}.onboarding-screen__title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-gray-900);letter-spacing:-.02em;line-height:var(--leading-tight)}.onboarding-screen__subtitle{font-size:var(--text-sm);color:var(--color-gray-400);line-height:var(--leading-relaxed)}.onboarding-screen__partner-banner{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4)}.onboarding-screen__partner-banner-icon{font-size:1.125rem;color:var(--color-gray-400);flex-shrink:0;margin-top:1px}.onboarding-screen__partner-banner-text{font-size:var(--text-sm);color:var(--color-gray-500);line-height:var(--leading-relaxed);margin:0}.onboarding-screen__partner-banner-text strong{color:var(--color-gray-700);font-weight:var(--weight-medium)}.onboarding-screen__complete-banner{width:100%;border:none;background:var(--color-accent-green);color:var(--color-white);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:center;cursor:pointer}.onboarding-screen__completed{display:flex;flex-direction:column;gap:var(--space-6)}.onboarding-screen__completed-group{display:flex;flex-direction:column;gap:var(--space-2)}.onboarding-screen__completed-group-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-400);padding:0 var(--space-1);margin:0}.daily-screen{min-height:100dvh;display:flex;flex-direction:column;background-color:var(--color-gray-50)}.daily-screen--mood{align-items:center;justify-content:center;padding:calc(var(--space-6) + var(--safe-area-top)) var(--space-4) var(--space-6)}.daily-screen--log,.daily-screen--close{align-items:stretch;padding-top:calc(var(--space-6) + var(--safe-area-top))}.account-card-stack{width:100%;max-width:var(--max-width-app);margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-16);display:flex;flex-direction:column;gap:var(--space-8)}.account-card-stack__section{display:flex;flex-direction:column;gap:var(--space-3)}.account-card-stack__section-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em}.account-card-stack__deck{position:relative;padding-bottom:22px}.account-card-stack__behind{position:absolute;top:0;left:0;right:0;pointer-events:none;transform-origin:center top;overflow:hidden}.account-card-stack__behind--animating{transition:transform .32s var(--ease-spring)}.account-card-stack__swipe-wrapper{position:relative;z-index:3}.account-card-stack__swipe-wrapper--active{cursor:grab;touch-action:pan-y}.account-card-stack__swipe-wrapper--active:active{cursor:grabbing}.account-card-stack__cards{display:flex;flex-direction:column;gap:var(--space-2)}.account-card-stack__remaining{font-size:var(--text-xs);color:var(--color-gray-400);text-align:center;margin:0;padding-top:var(--space-1);letter-spacing:.02em}.account-card-stack__wrap-up{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-gray-700);color:var(--color-white);font-size:var(--text-base);font-weight:var(--weight-medium);border:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.account-card-stack__wrap-up:hover{background:var(--color-gray-900)}.account-card-stack__wrap-up .material-symbols-outlined{font-size:1.1rem}@keyframes card-promote{0%{opacity:.6;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.account-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow var(--duration-base) var(--ease-out)}.account-card--type-checking{background:var(--account-color-checking)}.account-card--type-savings{background:var(--account-color-savings)}.account-card--type-cash{background:var(--account-color-cash)}.account-card--type-credit_card{background:var(--account-color-credit_card)}.account-card--type-loan{background:var(--account-color-loan)}.account-card--type-mortgage{background:var(--account-color-mortgage)}.account-card--type-investment{background:var(--account-color-investment)}.account-card--type-real_estate{background:var(--account-color-real_estate)}.account-card--promoted{animation:card-promote .28s var(--ease-out) both}.account-card--stack-top{position:relative;z-index:2}.account-card--active{box-shadow:var(--shadow-card-raised)}.account-card__header{width:100%;display:flex;align-items:center;padding:var(--space-4);gap:var(--space-2)}.account-card__header-tap{flex:1;display:flex;align-items:center;gap:var(--space-3);background:none;border:none;cursor:pointer;text-align:left;min-width:0;padding:0}.account-card__header-tap:disabled{cursor:default}.account-card__icon{font-size:1.5rem;color:var(--color-gray-400);flex-shrink:0}.account-card__meta{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.account-card__name{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-card__type{font-size:var(--text-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em}.account-card__chevron{font-size:1.25rem;color:var(--color-gray-300);flex-shrink:0}.account-card__edit{font-size:1.1rem;color:var(--color-gray-300);flex-shrink:0}.account-card__send-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);border:none;background:none;color:var(--color-gray-300);cursor:pointer;flex-shrink:0;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.account-card__send-back:hover{color:var(--color-gray-500);background:#0000000d}.account-card__send-back .material-symbols-outlined{font-size:1.1rem;transform:rotate(90deg)}@keyframes body-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.account-card__body{border-top:1px solid var(--color-gray-100);animation:body-reveal .2s var(--ease-out) both}.account-card__body--placeholder{padding:var(--space-4) var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);flex:1}.account-card__placeholder-line{height:14px;border-radius:var(--radius-sm);background:#0000000f;width:72%}.account-card__placeholder-line--short{width:44%}.account-card--logged{box-shadow:none;background:var(--color-gray-50)}.account-card--logged .account-card__name{color:var(--color-gray-500);font-weight:var(--weight-normal)}.account-card--logged .account-card__icon{color:var(--color-gray-300)}.conversational-log{position:relative;padding:var(--space-3) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.conversational-log__questions{display:flex;flex-direction:column;gap:var(--space-4)}.conversational-log__recurring-prompts{display:flex;flex-direction:column;gap:var(--space-3)}.recurring-prompt{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-gray-100)}.recurring-prompt__text{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-900);line-height:var(--leading-relaxed);margin:0}.recurring-prompt__actions{display:flex;gap:var(--space-2)}.recurring-prompt__btn{flex:1;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1.5px solid var(--color-gray-200);background:var(--color-white);color:var(--color-gray-500);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.recurring-prompt__btn--yes{background:var(--color-gray-900);border-color:var(--color-gray-900);color:var(--color-white)}.recurring-prompt__btn:disabled{opacity:.6;cursor:default}.recurring-prompt__amount-row{display:flex;align-items:center;gap:var(--space-2);background:var(--color-gray-50);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);transition:border-color var(--duration-fast) var(--ease-out)}.recurring-prompt__amount-row:focus-within{border-color:var(--color-gray-500)}.recurring-prompt__symbol{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-400);flex-shrink:0}.recurring-prompt__amount{flex:1;border:none;background:none;font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--color-gray-900);min-width:0}.recurring-prompt__amount::placeholder{color:var(--color-gray-300)}.recurring-prompt__amount:focus{outline:none}.recurring-prompt__btn--confirm{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);border:none;background:var(--color-accent-green);color:var(--color-white);cursor:pointer;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--weight-medium);transition:opacity var(--duration-fast) var(--ease-out)}.recurring-prompt__btn--confirm:disabled{background:var(--color-gray-200);cursor:default}.recurring-prompt__skip{align-self:flex-start;background:none;border:none;font-size:var(--text-sm);color:var(--color-gray-400);cursor:pointer;padding:0}.recurring-prompt__skip:hover{color:var(--color-gray-600)}.conversational-log__defer{font-size:var(--text-xs);color:var(--color-gray-400);text-decoration:underline;text-underline-offset:3px;background:none;border:none;cursor:pointer;padding:0;align-self:flex-start;transition:color var(--duration-fast) var(--ease-out)}.conversational-log__defer:hover{color:var(--color-gray-600)}.conversational-log__pre-entries{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-gray-50);border-radius:var(--radius-sm);border:1px solid var(--color-gray-100)}.conversational-log__pre-entries-label{font-size:var(--text-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.conversational-log__pre-entry{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm)}.conversational-log__pre-entry-info{display:flex;align-items:baseline;gap:var(--space-2);flex:1;min-width:0}.conversational-log__pre-entry-dir{color:var(--color-gray-400);font-size:var(--text-xs);text-transform:capitalize;flex-shrink:0}.conversational-log__pre-entry-amount{font-weight:var(--weight-medium);color:var(--color-gray-700)}.conversational-log__pre-entry-note{color:var(--color-gray-500);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversational-log__pre-entry-delete{display:grid;place-items:center;color:var(--color-gray-300);border-radius:var(--radius-full);padding:var(--space-1);flex-shrink:0;transition:color var(--duration-fast) var(--ease-out)}.conversational-log__pre-entry-delete:hover{color:var(--color-gray-500)}.conversational-log__pre-entry-delete .material-symbols-outlined{font-size:1rem}.conversational-log__partner-entries{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-gray-50);border-radius:var(--radius-sm);border:1px solid var(--color-gray-100);border-left:3px solid var(--color-gray-300)}.conversational-log__partner-entries-label{font-size:var(--text-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.conversational-log__pre-entry--partner{opacity:.8}.conversational-log__linked-payment{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-gray-50);border-radius:var(--radius-sm);border-left:3px solid var(--color-gray-300)}.conversational-log__linked-payment-prompt{font-size:var(--text-sm);color:var(--color-gray-700);margin:0}.conversational-log__linked-payment-actions{display:flex;gap:var(--space-2)}.conversational-log__linked-payment-btn{flex:1;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:1px solid var(--color-gray-200);background:var(--color-white);color:var(--color-gray-700);transition:background .15s}.conversational-log__linked-payment-btn--yes{background:var(--color-gray-900);color:var(--color-white);border-color:var(--color-gray-900)}.conversational-log__linked-payment-btn:hover{background:var(--color-gray-100)}.conversational-log__linked-payment-btn--yes:hover{background:var(--color-gray-700)}.conversational-log__linked-payment-amounts{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background:var(--color-white);border-radius:var(--radius-sm);border:1px solid var(--color-gray-200)}.conversational-log__linked-payment-amount-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-sm);color:var(--color-gray-500)}.conversational-log__linked-payment-amount-row--principal{color:var(--color-gray-700);font-weight:var(--weight-medium)}.conversational-log__linked-payment-amount-value{font-variant-numeric:tabular-nums}.conversational-log__mortgage-payment{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-sm);border-left:3px solid var(--color-gray-300)}.conversational-log__mortgage-prompt{font-size:var(--text-sm);color:var(--color-gray-700);margin:0}.conversational-log__mortgage-rows{display:flex;flex-direction:column;gap:2px;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);overflow:hidden}.conversational-log__mortgage-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-gray-100);gap:var(--space-3)}.conversational-log__mortgage-row:last-child{border-bottom:none}.conversational-log__mortgage-row--principal{font-weight:var(--weight-medium)}.conversational-log__mortgage-row-label{font-size:var(--text-sm);color:var(--color-gray-500);flex-shrink:0}.conversational-log__mortgage-row-value{display:flex;align-items:center;gap:var(--space-1);background:none;border:none;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-700);font-variant-numeric:tabular-nums;padding:0}.conversational-log__mortgage-row-empty{color:var(--color-gray-400);font-weight:var(--weight-normal)}.conversational-log__mortgage-edit-icon{font-size:14px;color:var(--color-gray-300)}.conversational-log__mortgage-row-edit{display:flex;align-items:center;gap:var(--space-1)}.conversational-log__mortgage-sym{font-size:var(--text-sm);color:var(--color-gray-400)}.conversational-log__mortgage-input{width:80px;border:none;outline:none;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900);background:none;font-variant-numeric:tabular-nums;text-align:right}.conversational-log__mortgage-principal-hint{margin:0;font-size:var(--text-xs);color:var(--color-gray-400);padding:var(--space-2) var(--space-3)}.conversational-log__mortgage-actions{display:flex;gap:var(--space-2)}.conversational-log__mortgage-btn{flex:1;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;border:1px solid var(--color-gray-200);background:var(--color-white);color:var(--color-gray-700)}.conversational-log__mortgage-btn--yes{background:var(--color-gray-900);color:var(--color-white);border-color:var(--color-gray-900)}.conversational-log__mortgage-committed{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);background:var(--color-gray-50);border-radius:var(--radius-sm);border-left:3px solid var(--color-accent-green)}.conversational-log__mortgage-committed-icon{font-size:18px;color:var(--color-accent-green);flex-shrink:0}.conversational-log__mortgage-committed-detail{display:flex;flex-direction:column;gap:2px}.conversational-log__mortgage-committed-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-700)}.conversational-log__mortgage-committed-amount{font-size:var(--text-xs);color:var(--color-gray-500);font-variant-numeric:tabular-nums}.conversational-log__link-nudge{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-gray-400);margin:0;padding-top:var(--space-2)}.conversational-log__link-nudge-icon{font-size:1rem;flex-shrink:0;margin-top:1px}.conversational-log__link-nudge-link{color:var(--color-gray-500);text-decoration:underline}.conversational-log__snapshot-conflict{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.conversational-log__snapshot-conflict-prompt{font-size:var(--text-sm);color:var(--color-gray-700);margin:0;line-height:1.4}.conversational-log__snapshot-conflict-actions{display:flex;gap:var(--space-2)}.conversational-log__snapshot-conflict-btn{flex:1;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);border:none;cursor:pointer;transition:opacity .15s}.conversational-log__snapshot-conflict-btn--yes{background:var(--color-gray-900);color:var(--color-white)}.conversational-log__snapshot-conflict-btn--no{background:var(--color-white);color:var(--color-gray-700);border:1px solid var(--color-gray-200)}.log-question{display:flex;flex-direction:column;gap:var(--space-2)}.log-question--answered{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4)}.log-question--editable{cursor:pointer;border-radius:var(--radius-sm);margin:0 calc(var(--space-2) * -1);padding:0 var(--space-2);transition:background var(--duration-fast) var(--ease-out)}.log-question--editable:hover{background:var(--color-gray-50)}.log-question__answered-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.log-question__edit-icon{font-size:.85rem;color:var(--color-gray-300);line-height:1}.log-question__summary{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-500);white-space:nowrap}.log-question__follow-up{font-size:var(--text-sm);color:var(--color-gray-500)}.log-question__hint{font-size:var(--text-sm);color:var(--color-gray-400)}.log-question__amount-row{display:flex;flex-direction:column;gap:var(--space-2)}.log-question__tx-section{display:flex;flex-direction:column;gap:var(--space-3)}.log-question__tx-rows{display:flex;flex-direction:column;gap:var(--space-2)}.log-question__tx-row{display:flex;align-items:center;gap:var(--space-2)}.log-question__tx-amount-wrap{display:flex;align-items:center;gap:var(--space-1);background:var(--color-gray-50);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2);flex-shrink:0}.log-question__tx-symbol{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-400)}.log-question__tx-amount{width:64px;border:none;background:none;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900)}.log-question__tx-amount:focus{outline:none}.log-question__tx-note{flex:1;background:var(--color-gray-50);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-gray-900);min-width:0}.log-question__tx-note:focus{outline:none;border-color:var(--color-gray-400)}.log-question__tx-remove{display:grid;place-items:center;color:var(--color-gray-300);flex-shrink:0;padding:0;background:none;border:none;cursor:pointer}.log-question__tx-remove .material-symbols-outlined{font-size:1.1rem}.log-question__tx-add{display:flex;align-items:center;gap:var(--space-1);color:var(--color-gray-500);font-size:var(--text-sm);background:none;border:none;cursor:pointer;padding:0;width:fit-content}.log-question__tx-add .material-symbols-outlined{font-size:1rem}.log-question__tx-confirm{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:none;background:var(--color-gray-700);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.log-question__tx-confirm:hover{background:var(--color-gray-900)}.log-question__tx-item{display:flex;flex-direction:column;gap:var(--space-1)}.log-question__recurring-row{display:flex;align-items:center;gap:var(--space-2);padding-left:var(--space-1);flex-wrap:wrap}.log-question__recurring-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-gray-400);cursor:pointer;-webkit-user-select:none;user-select:none}.log-question__recurring-checkbox{width:14px;height:14px;accent-color:var(--color-gray-700);cursor:pointer;flex-shrink:0}.log-question__recurring-day-wrap{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-gray-400)}.log-question__recurring-day{width:36px;border:none;border-bottom:1px solid var(--color-gray-300);background:none;font-size:var(--text-xs);color:var(--color-gray-700);text-align:center;padding:1px 2px}.log-question__recurring-day:focus{outline:none;border-bottom-color:var(--color-gray-600)}.log-question__transfer-section{display:flex;flex-direction:column;gap:var(--space-3)}.log-question__transfer-rows{display:flex;flex-direction:column;gap:var(--space-2)}.log-question__transfer-item{display:flex;flex-direction:column;gap:var(--space-1)}.log-question__transfer-row{display:flex;align-items:center;gap:var(--space-2)}.log-question__transfer-dir{display:flex;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.log-question__transfer-dir-btn{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium);background:none;border:none;color:var(--color-gray-400);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.log-question__transfer-dir-btn--active{background:var(--color-gray-900);color:var(--color-white)}.log-question__transfer-account{flex:1;min-width:0;font-size:var(--text-sm);color:var(--color-gray-700);background:none;border:none;border-bottom:1px solid var(--color-gray-200);padding:var(--space-1) 0;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.log-question__transfer-account:focus{outline:none;border-bottom-color:var(--color-gray-600)}.question-prompt{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-900);line-height:var(--leading-relaxed)}.question-prompt--answered{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--color-gray-400)}.yes-no-toggle{display:flex;gap:var(--space-2)}.yes-no-toggle__btn{flex:1;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1.5px solid var(--color-gray-200);background:var(--color-white);color:var(--color-gray-500);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.yes-no-toggle__btn--selected{background:var(--color-gray-900);border-color:var(--color-gray-900);color:var(--color-white)}.yes-no-toggle__btn:disabled{cursor:default;opacity:.6}.amount-input{display:flex;align-items:center;gap:var(--space-2);background:var(--color-gray-50);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);transition:border-color var(--duration-fast) var(--ease-out)}.amount-input:focus-within{border-color:var(--color-gray-500)}.amount-input__currency{font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--color-gray-400);flex-shrink:0}.amount-input__field{flex:1;border:none;background:none;font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--color-gray-900);min-width:0}.amount-input__field::placeholder{color:var(--color-gray-300)}.amount-input__field:focus{outline:none}.amount-input__confirm{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);border:none;background:var(--color-accent-green);color:var(--color-white);cursor:pointer;flex-shrink:0;transition:opacity var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.amount-input__confirm:disabled{background:var(--color-gray-200);cursor:default}.amount-input__confirm .material-symbols-outlined{font-size:1.1rem}.log-confirm{padding-top:var(--space-2)}.log-confirm__btn{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:none;background:var(--color-accent-green);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.log-confirm__btn:disabled{opacity:.6;cursor:default}.fanfare-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;opacity:0;transform:translateY(6px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.fanfare-overlay--visible{opacity:1;transform:translateY(0)}.fanfare-overlay--exiting{opacity:0;transform:translateY(-4px);transition:opacity .3s var(--ease-in-out),transform .3s var(--ease-in-out)}.fanfare-overlay__heading{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-gray-900);letter-spacing:-.01em;line-height:var(--leading-tight)}.fanfare-overlay__message{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-700);text-align:center;padding:0 var(--space-6);line-height:var(--leading-normal)}.session-close{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:var(--space-6) var(--space-4);background:var(--surface-bg, var(--color-white));transition:background var(--duration-slow) var(--ease-out)}.session-close__card{display:flex;flex-direction:column;gap:var(--space-6);width:100%;max-width:var(--max-width-app)}.session-close__affirmation{font-size:var(--text-base);color:var(--color-gray-500);line-height:var(--leading-relaxed)}.session-close__numbers{display:flex;flex-direction:column;gap:var(--space-5);order:0}.session-close__divider{height:1px;background:var(--color-gray-100)}.session-close__meta{display:flex;gap:var(--space-8);padding-top:var(--space-2)}.session-close__signoff{font-size:var(--text-sm);color:var(--color-gray-400)}.session-close__partner-note{font-size:var(--text-xs);color:var(--color-gray-400);text-align:center}.session-close__done{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4);border-radius:var(--radius-sm);border:none;background:var(--color-gray-900);color:var(--color-white);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.session-close__done:hover{background:var(--color-gray-700)}.session-close__done .material-symbols-outlined{font-size:1.1rem}.net-worth-delta{display:flex;flex-direction:column;gap:var(--space-2)}.net-worth-delta__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em}.net-worth-delta__row{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.net-worth-delta__amount{font-size:var(--text-4xl);font-weight:var(--weight-bold);color:var(--color-gray-900);letter-spacing:-.02em;line-height:var(--leading-tight)}.net-worth-delta__change{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-400)}.net-worth-delta__change--up{color:var(--color-accent-green)}.net-worth-delta__change--down{color:var(--color-gray-400)}.net-worth-delta__arrow{font-size:1rem}.breakdown-summary{display:flex;flex-direction:column;gap:0;margin:0;padding:0}.breakdown-summary__row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--color-gray-100)}.breakdown-summary__row:last-child{border-bottom:none}.breakdown-summary__label{font-size:var(--text-sm);color:var(--color-gray-500);font-weight:var(--weight-normal)}.breakdown-summary__value{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-900);margin:0}.breakdown-summary__row--debt .breakdown-summary__value{color:var(--color-liability)}.breakdown-summary__row--tappable{cursor:pointer;border-radius:var(--radius-sm);margin:0 calc(var(--space-2) * -1);padding-left:var(--space-2);padding-right:var(--space-2);transition:background var(--duration-fast) var(--ease-out)}.breakdown-summary__row--tappable:hover{background:var(--color-gray-50)}.breakdown-summary__tap-icon{font-size:1rem;color:var(--color-gray-300);margin-left:var(--space-1);vertical-align:middle;line-height:1}.mood-display{display:flex;flex-direction:column;gap:var(--space-1)}.mood-display__label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em}.mood-display__value{display:flex;align-items:center;gap:var(--space-2)}.mood-display__icon{font-size:1.5rem;color:var(--color-gray-500)}.mood-display__score{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-700)}.streak-badge{display:flex;flex-direction:column;gap:var(--space-1)}.streak-badge--couple{flex-direction:row;gap:var(--space-6)}.streak-badge__item{display:flex;flex-direction:column;gap:var(--space-1)}.streak-badge__label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em}.streak-badge__value{display:flex;align-items:center;gap:var(--space-2)}.streak-badge__icon{font-size:1.5rem;color:var(--color-accent-gold)}.streak-badge__count{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-700)}.streak-badge__item--household .streak-badge__icon{color:var(--color-accent-warm, var(--color-accent-gold))}.home-screen{display:flex;flex-direction:column;flex:1;min-height:100%;padding-bottom:calc(var(--space-6) + 56px + var(--safe-area-bottom))}.home-screen__body{flex:1;display:flex;flex-direction:column;gap:var(--space-6)}.home-screen__snapshot{display:flex;flex-direction:column;gap:var(--space-5)}.home-screen__affirmation{font-size:var(--text-sm);color:var(--color-gray-400);line-height:var(--leading-relaxed)}.home-screen__divider{height:1px;background:var(--color-gray-100)}.home-screen__meta{display:flex;gap:var(--space-8);padding-top:var(--space-2)}.home-screen__chart{padding-top:var(--space-2);border-top:1px solid var(--color-gray-100)}.home-screen__footer{position:fixed;bottom:0;left:0;right:0;padding:var(--space-4) var(--space-5);padding-bottom:calc(var(--space-4) + var(--safe-area-bottom));background:linear-gradient(to top,var(--color-gray-50) 60%,transparent);display:flex;justify-content:center}.home-screen__log-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-radius:var(--radius-full);border:none;background:var(--color-gray-900);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;box-shadow:var(--shadow-card-raised);transition:background var(--duration-fast) var(--ease-out);width:100%;max-width:var(--max-width-app);justify-content:center}.home-screen__log-btn:hover:not(:disabled){background:var(--color-gray-700)}.home-screen__log-btn:disabled{opacity:.5;cursor:default}.home-screen__renew{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%;max-width:var(--max-width-app)}.home-screen__renew-label{font-size:var(--text-sm);color:var(--color-gray-400);text-align:center;line-height:var(--leading-relaxed);margin:0}.home-screen__renew-error{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}.home-screen__log-btn .material-symbols-outlined{font-size:1.1rem}.home-screen__catchup-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.home-screen__catchup-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.home-screen__catchup-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.home-screen__catchup-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.home-screen__catchup-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.home-screen__catchup-btn{font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1.5px solid var(--color-accent);background:none;color:var(--color-accent);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out)}.home-screen__catchup-btn:hover{background:var(--color-surface-alt)}.home-screen__catchup-dismiss{font-size:var(--text-sm);color:var(--color-text-secondary);background:none;border:none;cursor:pointer;padding:var(--space-1);line-height:1}.home-screen__catchup-dismiss:hover{color:var(--color-text-primary)}.home-screen__announcement-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.app-shell{display:flex;flex-direction:column;min-height:100dvh;background:var(--color-gray-50)}.app-shell__header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--space-4) + var(--safe-area-top)) var(--space-5) var(--space-4);background:var(--color-white);border-bottom:1px solid var(--color-gray-100)}.app-shell__wordmark{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900);text-decoration:none;letter-spacing:-.01em}.app-shell__nav{display:flex;align-items:center;gap:var(--space-1)}.app-shell__nav-icon{display:grid;place-items:center;color:var(--color-gray-500);text-decoration:none;padding:var(--space-1);border-radius:var(--radius-full);transition:color var(--duration-fast) var(--ease-out)}.app-shell__nav-icon:hover{color:var(--color-gray-900)}.app-shell__nav-icon .material-symbols-outlined{font-size:1.4rem}.app-shell__content{flex:1;display:flex;flex-direction:column;width:100%;max-width:var(--max-width-app);margin:0 auto;padding:var(--space-6) var(--space-5) 0}@media(min-width:768px){.app-shell__content{max-width:var(--max-width-app-desktop)}}.onboarding-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:0 var(--space-4) var(--space-6)}.onboarding-splash__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:splash-backdrop-in .3s ease both}@keyframes splash-backdrop-in{0%{opacity:0}to{opacity:1}}.onboarding-splash__sheet{position:relative;z-index:1;width:100%;max-width:440px;background:var(--color-white);border-radius:20px 20px 16px 16px;padding:var(--space-8) var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);animation:splash-sheet-up .38s cubic-bezier(.16,1,.3,1) both}@keyframes splash-sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.onboarding-splash__close{position:absolute;top:var(--space-4);right:var(--space-4);background:none;border:none;cursor:pointer;padding:var(--space-1);color:var(--color-gray-400);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out);line-height:1}.onboarding-splash__close:hover{color:var(--color-gray-700)}.onboarding-splash__close .material-symbols-outlined{font-size:1.25rem}.onboarding-splash__eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-green);margin:0}.onboarding-splash__title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-gray-900);letter-spacing:-.02em;line-height:var(--leading-tight);margin:0}.onboarding-splash__body{font-size:var(--text-sm);color:var(--color-gray-500);line-height:var(--leading-relaxed);margin:0}.onboarding-splash__accounts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.onboarding-splash__account-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-gray-100)}.onboarding-splash__account-item--checking{background:var(--account-color-checking)}.onboarding-splash__account-item--savings{background:var(--account-color-savings)}.onboarding-splash__account-item--cash{background:var(--account-color-cash)}.onboarding-splash__account-item--credit_card{background:var(--account-color-credit_card)}.onboarding-splash__account-item--loan{background:var(--account-color-loan)}.onboarding-splash__account-item--mortgage{background:var(--account-color-mortgage)}.onboarding-splash__account-item--real_estate{background:var(--account-color-real_estate)}.onboarding-splash__account-item--investment{background:var(--account-color-investment)}.onboarding-splash__account-name{font-size:var(--text-sm);color:var(--color-gray-900)}.onboarding-splash__account-type{font-size:var(--text-xs);color:var(--color-gray-500)}.onboarding-splash__accounts--expanded{max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch}.onboarding-splash__expand-btn{background:none;border:none;padding:0;font-size:var(--text-xs);color:var(--color-gray-400);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);align-self:flex-start;margin-top:calc(var(--space-1) * -1)}.onboarding-splash__expand-btn:hover{color:var(--color-gray-600)}.onboarding-splash__add-accounts{display:flex;align-items:center;gap:var(--space-1);background:none;border:none;padding:var(--space-1) 0;font-size:var(--text-xs);color:var(--color-gray-400);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);align-self:flex-start}.onboarding-splash__add-accounts:hover{color:var(--color-gray-600)}.onboarding-splash__add-accounts .material-symbols-outlined{font-size:.875rem}.onboarding-splash__dismiss{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-gray-900);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.onboarding-splash__dismiss:hover{background:var(--color-gray-700)}.daily-log-cta{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-6);background:var(--color-gray-900);color:var(--color-white);border:none;border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-card-raised)}.daily-log-cta:hover{background:var(--color-gray-700)}.daily-log-cta__text{display:flex;flex-direction:column;gap:var(--space-1)}.daily-log-cta__eyebrow{font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-400)}.daily-log-cta__headline{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-white);line-height:var(--leading-tight)}.daily-log-cta__sub{font-size:var(--text-sm);color:var(--color-gray-400);margin-top:var(--space-1)}.daily-log-cta__arrow{font-size:1.5rem;color:var(--color-gray-400);flex-shrink:0}.net-worth-chart{display:flex;flex-direction:column;gap:var(--space-4)}.net-worth-chart__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.net-worth-chart__label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em}.net-worth-chart__ranges{display:flex;gap:var(--space-1);background:var(--color-gray-100);border-radius:var(--radius-full);padding:3px}.net-worth-chart__range-btn{padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-full);background:none;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.net-worth-chart__range-btn--active{background:var(--color-white);color:var(--color-gray-900);box-shadow:0 1px 3px #00000014}.net-worth-chart__canvas{height:180px;display:flex;align-items:center;justify-content:center}.net-worth-chart__empty{font-size:var(--text-sm);color:var(--color-gray-300)}.net-worth-chart__early{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);height:100%;text-align:center;padding:var(--space-4)}.net-worth-chart__early-headline{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-500);margin:0}.net-worth-chart__early-sub{font-size:var(--text-xs);color:var(--color-gray-400);margin:0}.net-worth-chart__tooltip{display:flex;flex-direction:column;gap:var(--space-1);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-card)}.net-worth-chart__tooltip-value{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.net-worth-chart__tooltip-date{font-size:var(--text-xs);color:var(--color-gray-400)}.affirmation-banner{padding:var(--space-4) var(--space-5);background:var(--affirmation-bg, var(--color-gray-50));border-radius:var(--radius-sm);border:1.5px solid var(--affirmation-border, var(--color-gray-200))}.affirmation-banner__text{margin:0;font-size:var(--text-sm);color:var(--color-gray-500);line-height:1.5}.affirmation-banner__cursor{display:inline-block;width:1px;height:.9em;background:var(--color-gray-400);margin-left:1px;vertical-align:text-bottom;animation:affirmation-blink .53s step-end infinite}.affirmation-banner__cursor--fade{animation:affirmation-blink .53s step-end 4,affirmation-vanish .3s ease-in 2.12s forwards}@keyframes affirmation-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes affirmation-vanish{to{opacity:0}}.debt-dashboard{display:flex;flex-direction:column;gap:var(--space-6)}.debt-dashboard__calculator-link{display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:none;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-full);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.debt-dashboard__calculator-link:hover{border-color:var(--color-gray-400);color:var(--color-gray-900)}.debt-dashboard__calculator-link .material-symbols-outlined{font-size:18px}.debt-dashboard__loan-row{display:flex;align-items:center;gap:var(--space-2)}.debt-dashboard__calculator-link--loan{flex:1}.debt-dashboard__loan-cycle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;background:none;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-full);color:var(--color-gray-400);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.debt-dashboard__loan-cycle:hover{border-color:var(--color-gray-400);color:var(--color-gray-700)}.debt-dashboard__loan-cycle .material-symbols-outlined{font-size:18px}.debt-crushed-summary{display:flex;flex-direction:column;gap:var(--space-1)}.debt-crushed-summary__total-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.debt-crushed-summary__label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em}.debt-crushed-summary__amount{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--color-gray-700);font-variant-numeric:tabular-nums}.debt-crushed-summary__month-row{text-align:right}.debt-crushed-summary__delta{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.debt-crushed-summary__delta--good{color:var(--color-accent-green)}.debt-crushed-summary__delta--flat{color:var(--color-gray-400)}.debt-crushed-summary__delta--up{color:var(--color-gray-500)}.debt-reduction-chart{display:flex;flex-direction:column;gap:var(--space-2)}.debt-reduction-chart__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.debt-reduction-chart__label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em}.debt-reduction-chart__hint{margin:0;font-size:var(--text-xs);color:var(--color-gray-400)}.debt-reduction-chart__ranges{display:flex;gap:var(--space-1);background:var(--color-gray-100);border-radius:var(--radius-full);padding:3px}.debt-reduction-chart__range-btn{padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-full);background:none;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.debt-reduction-chart__range-btn--active{background:var(--color-white);color:var(--color-gray-900);box-shadow:0 1px 3px #00000014}.debt-reduction-chart__canvas{height:180px;display:flex;align-items:center}.debt-reduction-chart__early{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:var(--space-1);text-align:center}.debt-reduction-chart__early-headline{margin:0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600)}.debt-reduction-chart__early-sub{margin:0;font-size:var(--text-xs);color:var(--color-gray-400)}.debt-reduction-chart__tooltip{background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:2px}.debt-reduction-chart__tooltip-value{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-700);font-variant-numeric:tabular-nums}.debt-reduction-chart__tooltip-date{font-size:var(--text-xs);color:var(--color-gray-400)}.snowball-suggestion{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-gray-50);border-radius:var(--radius-lg);border-left:3px solid var(--color-gray-200)}.snowball-suggestion__copy{margin:0;font-size:var(--text-sm);color:var(--color-gray-500);line-height:1.55}.snowball-suggestion__cta{align-self:flex-start;background:none;border:none;padding:0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-700);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.debt-payoff-calculator__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:flex-end;padding:var(--space-4)}.debt-payoff-calculator{background:var(--color-white);border-radius:var(--radius-xl);width:100%;max-width:480px;margin:0 auto;max-height:80dvh;display:flex;flex-direction:column;overflow:hidden}.debt-payoff-calculator__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-gray-100);flex-shrink:0}.debt-payoff-calculator__title{margin:0;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.debt-payoff-calculator__close{background:none;border:none;cursor:pointer;color:var(--color-gray-400);display:flex;align-items:center;padding:var(--space-1);border-radius:var(--radius-full)}.debt-payoff-calculator__close .material-symbols-outlined{font-size:20px}.debt-payoff-calculator__body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-6);overflow:hidden}.debt-payoff-calculator__accounts{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);overflow-y:auto;max-height:30dvh}.debt-payoff-calculator__account-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);gap:var(--space-4)}.debt-payoff-calculator__account-name{font-size:var(--text-sm);color:var(--color-gray-700);flex:1;min-width:0}.debt-payoff-calculator__account-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.debt-payoff-calculator__account-balance{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-700);font-variant-numeric:tabular-nums}.debt-payoff-calculator__account-rate{font-size:var(--text-xs);color:var(--color-gray-400)}.debt-payoff-calculator__total-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-gray-50);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600)}.debt-payoff-calculator__total-amount{font-variant-numeric:tabular-nums;color:var(--color-gray-700)}.debt-payoff-calculator__extra-section{display:flex;flex-direction:column;gap:var(--space-2)}.debt-payoff-calculator__extra-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600)}.debt-payoff-calculator__extra-input-row{display:flex;align-items:center;gap:var(--space-2);background:var(--color-gray-50);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.debt-payoff-calculator__currency-symbol{font-size:var(--text-base);color:var(--color-gray-400);flex-shrink:0}.debt-payoff-calculator__extra-input{flex:1;background:none;border:none;outline:none;font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--color-gray-900);font-variant-numeric:tabular-nums;width:100%}.debt-payoff-calculator__method-note{margin:0;font-size:var(--text-xs);color:var(--color-gray-400)}.debt-payoff-calculator__projection{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm)}.debt-payoff-calculator__proj-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);gap:var(--space-4)}.debt-payoff-calculator__proj-row:last-child{border-bottom:none}.debt-payoff-calculator__proj-row--highlight{background:var(--color-gray-50)}.debt-payoff-calculator__proj-label{font-size:var(--text-sm);color:var(--color-gray-500)}.debt-payoff-calculator__proj-value{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-700);font-variant-numeric:tabular-nums}.debt-payoff-calculator__proj-value--good{color:var(--color-accent-green)}.debt-payoff-calculator__no-rates-note{margin:0;font-size:var(--text-xs);color:var(--color-gray-400);font-style:italic;padding:var(--space-3) var(--space-4)}.debt-payoff-calculator__no-payoff{margin:0;font-size:var(--text-sm);color:var(--color-gray-500);text-align:center;padding:var(--space-4)}.loan-payoff-calc__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:flex-end;padding:var(--space-4)}.loan-payoff-calc{background:var(--color-white);border-radius:var(--radius-xl);width:100%;max-width:480px;margin:0 auto;max-height:85dvh;display:flex;flex-direction:column;overflow:hidden}.loan-payoff-calc__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-gray-100);flex-shrink:0}.loan-payoff-calc__title{margin:0;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.loan-payoff-calc__close{background:none;border:none;cursor:pointer;color:var(--color-gray-400);display:flex;align-items:center;padding:var(--space-1);border-radius:var(--radius-full)}.loan-payoff-calc__close .material-symbols-outlined{font-size:20px}.loan-payoff-calc__body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5);overflow-y:auto}.loan-payoff-calc__account-picker{display:flex;flex-wrap:wrap;gap:var(--space-2)}.loan-payoff-calc__acct-chip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1.5px solid var(--color-gray-200);background:var(--color-white);font-size:var(--text-sm);color:var(--color-gray-600);cursor:pointer}.loan-payoff-calc__acct-chip--active{border-color:var(--color-gray-700);background:var(--color-gray-700);color:var(--color-white)}.loan-payoff-calc__account-summary{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.loan-payoff-calc__account-name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.loan-payoff-calc__account-balance{font-size:var(--text-sm);color:var(--color-gray-500);font-variant-numeric:tabular-nums}.loan-payoff-calc__missing{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-sm);border:1.5px solid var(--color-gray-200)}.loan-payoff-calc__missing-heading{margin:0;font-size:var(--text-sm);color:var(--color-gray-600)}.loan-payoff-calc__field{display:flex;flex-direction:column;gap:var(--space-1)}.loan-payoff-calc__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600)}.loan-payoff-calc__field-hint{margin:0;font-size:var(--text-xs);color:var(--color-gray-400)}.loan-payoff-calc__input-wrap{display:flex;align-items:center;gap:var(--space-2);background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.loan-payoff-calc__unit{font-size:var(--text-base);color:var(--color-gray-400);flex-shrink:0}.loan-payoff-calc__input{flex:1;background:none;border:none;outline:none;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-900);font-variant-numeric:tabular-nums;width:100%}.loan-payoff-calc__input--large{font-size:var(--text-lg)}.loan-payoff-calc__save-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--space-3) var(--space-4);background:var(--color-gray-900);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;width:100%}.loan-payoff-calc__save-btn:not(:disabled){background:var(--color-gray-900);color:var(--color-white)}.loan-payoff-calc__save-btn:disabled{background:var(--color-gray-200);color:var(--color-gray-400);cursor:not-allowed}.loan-payoff-calc__extra-section{display:flex;flex-direction:column;gap:var(--space-2)}.loan-payoff-calc__projection{display:flex;flex-direction:column;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);overflow:hidden}.loan-payoff-calc__proj-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);gap:var(--space-4)}.loan-payoff-calc__proj-row:last-child{border-bottom:none}.loan-payoff-calc__proj-row--highlight{background:var(--color-gray-50)}.loan-payoff-calc__proj-label{font-size:var(--text-sm);color:var(--color-gray-500)}.loan-payoff-calc__proj-value{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-700);font-variant-numeric:tabular-nums}.loan-payoff-calc__proj-value--good{color:var(--color-accent-green)}.loan-payoff-calc__disclaimer{margin:0;font-size:var(--text-xs);color:var(--color-gray-400)}.loan-payoff-calc__no-balance{margin:0;font-size:var(--text-sm);color:var(--color-gray-500);text-align:center;padding:var(--space-4)}.balance-update-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.balance-update-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000047}.balance-update-sheet__panel{position:absolute;bottom:0;left:0;right:0;background:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5);padding-bottom:calc(var(--space-5) + var(--safe-area-bottom));max-width:var(--max-width-app);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-5);animation:balance-sheet-up var(--duration-base) var(--ease-out)}@keyframes balance-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.balance-update-sheet__header{display:flex;align-items:center;justify-content:space-between}.balance-update-sheet__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.balance-update-sheet__close{display:grid;place-items:center;background:var(--color-gray-100);border:none;border-radius:var(--radius-full);width:28px;height:28px;cursor:pointer;color:var(--color-gray-500);flex-shrink:0}.balance-update-sheet__close .material-symbols-outlined{font-size:1rem}.balance-update-sheet__rows{display:flex;flex-direction:column;gap:var(--space-4)}.balance-update-sheet__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.balance-update-sheet__row-meta{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.balance-update-sheet__row-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-update-sheet__row-type{font-size:var(--text-xs);color:var(--color-gray-400)}.balance-update-sheet__balance{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900);white-space:nowrap;flex-shrink:0}.balance-update-sheet__balance--negative{color:var(--color-gray-400)}.balance-update-sheet__input-wrap{display:flex;align-items:center;gap:var(--space-1);background:var(--color-gray-50);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);flex-shrink:0;transition:border-color var(--duration-fast) var(--ease-out)}.balance-update-sheet__input-wrap:focus-within{border-color:var(--color-gray-400)}.balance-update-sheet__symbol{font-size:var(--text-sm);color:var(--color-gray-400);font-weight:var(--weight-medium)}.balance-update-sheet__input{width:88px;border:none;background:none;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900)}.balance-update-sheet__input:focus{outline:none}.balance-update-sheet__empty{font-size:var(--text-sm);color:var(--color-gray-400);margin:0}.balance-update-sheet__save{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:none;background:var(--color-gray-900);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.balance-update-sheet__save:hover:not(:disabled){background:var(--color-gray-700)}.balance-update-sheet__save:disabled{opacity:.5;cursor:default}.account-screen{display:flex;flex-direction:column;min-height:100dvh;background:var(--color-gray-50)}.account-screen__header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--space-3);padding:calc(var(--space-4) + var(--safe-area-top)) var(--space-5) var(--space-4);background:var(--color-white);border-bottom:1px solid var(--color-gray-100)}.account-screen__back{display:grid;place-items:center;color:var(--color-gray-500);text-decoration:none;padding:var(--space-1);border-radius:var(--radius-full);transition:color var(--duration-fast) var(--ease-out)}.account-screen__back:hover{color:var(--color-gray-900)}.account-screen__back .material-symbols-outlined{font-size:1.3rem}.account-screen__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.account-screen__header-spacer{width:calc(1.3rem + var(--space-2))}.account-screen__body{display:flex;flex-direction:column;gap:0;width:100%;max-width:var(--max-width-app);margin:0 auto;padding:var(--space-6) var(--space-5)}@media(min-width:768px){.account-screen__body{max-width:var(--max-width-app-desktop)}}.account-screen__section{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) 0}.account-screen__section--tight{gap:var(--space-3)}.account-screen__divider{height:1px;background:var(--color-gray-100)}.account-screen__section-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900);margin:0}.account-screen__section-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-400);margin:0}.account-screen__section-sub{font-size:var(--text-sm);color:var(--color-gray-400);margin:0}.account-screen__profile-row{display:flex;align-items:flex-end;gap:var(--space-4)}.account-screen__profile-row .account-screen__field-group{flex:1;min-width:0}.account-screen__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.account-screen__btn:disabled{opacity:.4;cursor:default}.account-screen__btn--primary{border:none;background:var(--color-gray-900);color:var(--color-white)}.account-screen__btn--primary:hover:not(:disabled){background:var(--color-gray-700)}.account-screen__btn--outlined{border:1.5px solid var(--color-gray-200);background:var(--color-white);color:var(--color-gray-700)}.account-screen__btn--outlined:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-300)}.account-screen__btn--logout{align-self:flex-start;color:var(--color-gray-500)}.account-screen__btn--logout .material-symbols-outlined{font-size:1.1rem}.account-screen__btn--danger-outlined{border:1.5px solid var(--danger);background:none;color:var(--danger)}.account-screen__btn--danger-outlined:hover:not(:disabled){background:var(--danger);color:var(--color-white)}.account-screen__btn--danger{border:none;background:var(--danger);color:var(--color-white)}.account-screen__btn--danger:hover:not(:disabled){background:var(--danger-hover)}.account-screen__btn--sm{padding:var(--space-2) var(--space-4)}.account-screen__avatar{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-gray-200);color:var(--color-gray-600);font-size:var(--text-xl);font-weight:var(--weight-semibold);display:grid;place-items:center;letter-spacing:.02em}.account-screen__field-group{display:flex;flex-direction:column;gap:var(--space-2)}.account-screen__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-500)}.account-screen__input{padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-white);font-size:var(--text-base);color:var(--color-gray-900);transition:border-color var(--duration-fast) var(--ease-out)}.account-screen__input:focus{outline:none;border-color:var(--color-gray-400)}.account-screen__input--flex{flex:1;min-width:0}.account-screen__error{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}.account-screen__invite-row{display:flex;gap:var(--space-2)}.account-screen__invite-link-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);background:var(--color-gray-100);border-radius:var(--radius-sm)}.account-screen__invite-link-text{flex:1;font-size:var(--text-xs);color:var(--color-gray-500);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.account-screen__partner-row{display:flex;align-items:center;gap:var(--space-3)}.account-screen__partner-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-gray-200);color:var(--color-gray-600);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:grid;place-items:center;letter-spacing:.02em;flex-shrink:0}.account-screen__partner-info{display:flex;flex-direction:column;gap:2px;min-width:0}.account-screen__partner-name{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-900)}.account-screen__partner-email{font-size:var(--text-xs);color:var(--color-gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-screen__acc-groups{display:flex;flex-direction:column;gap:var(--space-5)}.account-screen__acc-group{display:flex;flex-direction:column;gap:0}.account-screen__acc-group-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em;padding-bottom:var(--space-2)}.account-screen__acc-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-gray-100)}.account-screen__acc-row:last-child{border-bottom:none}.account-screen__acc-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.account-screen__acc-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-screen__acc-type{font-size:var(--text-xs);color:var(--color-gray-400)}.account-screen__acc-edit-btn{display:grid;place-items:center;background:none;border:none;color:var(--color-gray-300);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--duration-fast) var(--ease-out)}.account-screen__acc-edit-btn:hover{color:var(--color-gray-600)}.account-screen__acc-edit-btn .material-symbols-outlined{font-size:1rem}.account-screen__acc-row--editing{flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-3) 0}.account-screen__acc-input-row{display:flex;gap:var(--space-2)}.account-screen__acc-input{flex:1;padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-white);font-size:var(--text-sm);color:var(--color-gray-900);min-width:0}.account-screen__acc-input:focus{outline:none;border-color:var(--color-gray-500)}.account-screen__acc-save{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:none;background:var(--color-gray-900);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast) var(--ease-out)}.account-screen__acc-save:hover:not(:disabled){background:var(--color-gray-700)}.account-screen__acc-save:disabled{opacity:.4;cursor:default}.account-screen__acc-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.account-screen__acc-edit-left{display:flex;align-items:center;gap:var(--space-4)}.account-screen__acc-link{font-size:var(--text-xs);color:var(--color-gray-400);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color var(--duration-fast) var(--ease-out)}.account-screen__acc-link:hover{color:var(--color-gray-700)}.account-screen__acc-link--danger{color:var(--color-gray-400)}.account-screen__acc-link--danger:hover{color:var(--color-gray-700)}.account-screen__acc-row--confirming{flex-direction:column;align-items:stretch;gap:var(--space-2);background:var(--color-gray-50);border-radius:var(--radius-sm);padding:var(--space-3);margin:0 calc(var(--space-3) * -1)}.account-screen__acc-confirm-text{font-size:var(--text-sm);color:var(--color-gray-600);margin:0;line-height:var(--leading-relaxed)}.account-screen__acc-confirm-text strong{font-weight:var(--weight-medium);color:var(--color-gray-900)}.account-screen__acc-confirm-actions{display:flex;align-items:center;gap:var(--space-4)}.account-screen__acc-deactivate-confirm{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1.5px solid var(--color-gray-300);background:none;color:var(--color-gray-700);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.account-screen__acc-deactivate-confirm:hover{background:var(--color-gray-100);border-color:var(--color-gray-500)}.account-screen__amount-input-wrap{display:flex;align-items:center;gap:var(--space-1);width:fit-content}.account-screen__amount-symbol{font-size:var(--text-sm);color:var(--color-gray-400)}.account-screen__acc-input--amount{width:8rem;flex:none}.account-screen__schedule{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-gray-100);border-bottom:1px solid var(--color-gray-100)}.account-screen__schedule-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em}.account-screen__schedule-field{display:flex;flex-direction:column;gap:var(--space-2)}.account-screen__schedule-sublabel{font-size:var(--text-xs);color:var(--color-gray-500)}.account-screen__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.account-screen__chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1.5px solid var(--color-gray-200);background:var(--color-white);font-size:var(--text-sm);color:var(--color-gray-600);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.account-screen__chip:hover{border-color:var(--color-gray-400)}.account-screen__chip--active{border-color:var(--color-gray-900);background:var(--color-gray-900);color:var(--color-white)}.account-screen__acc-input--day{width:5rem;flex:none}.account-screen__day-pair{display:flex;align-items:center;gap:var(--space-2)}.account-screen__day-sep{font-size:var(--text-sm);color:var(--color-gray-400)}.account-screen__nav-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);text-decoration:none;transition:background var(--duration-fast) var(--ease-out)}.account-screen__nav-row:hover{background:var(--color-gray-50)}.account-screen__nav-row-info{display:flex;flex-direction:column;gap:var(--space-1)}.account-screen__nav-row-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900)}.account-screen__nav-row-sub{font-size:var(--text-xs);color:var(--color-gray-400)}.account-screen__nav-row-chevron{color:var(--color-gray-300);flex-shrink:0}.account-screen__subscription-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.account-screen__subscription-copy{display:flex;flex-direction:column;gap:var(--space-1)}.account-screen__subscription-status{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900)}.account-screen__subscription-desc{font-size:var(--text-sm);color:var(--color-gray-400)}.account-screen__caution-zone{--caution: #b45309;--caution-hover: #92400e;--caution-deep: #78350f;--caution-border: #fcd34d;margin-top:var(--space-2);border:1.5px solid var(--caution-border);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.account-screen__caution-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--caution);text-transform:uppercase;letter-spacing:.08em;margin:0}.account-screen__caution-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--caution-deep)}.account-screen__caution-desc{font-size:var(--text-xs);color:var(--caution-hover);line-height:var(--leading-relaxed)}.account-screen__btn--caution-outlined{border:1.5px solid var(--caution);background:none;color:var(--caution)}.account-screen__btn--caution-outlined:hover:not(:disabled){background:var(--caution);color:var(--color-white)}.account-screen__danger-zone{--danger: #dc2626;--danger-hover: #b91c1c;--danger-deep: #991b1b;--danger-border: #fca5a5;margin-top:var(--space-2);border:1.5px solid var(--danger-border);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.account-screen__danger-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--danger);text-transform:uppercase;letter-spacing:.08em;margin:0}.account-screen__danger-row{display:flex;gap:var(--space-4);align-items:flex-start}.account-screen__danger-copy{flex:1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.account-screen__danger-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--danger-deep)}.account-screen__danger-desc{font-size:var(--text-xs);color:var(--danger-hover);line-height:var(--leading-relaxed)}.account-screen__danger-confirm{flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.account-screen__danger-confirm-text{font-size:var(--text-sm);color:var(--danger-deep);margin:0;line-height:var(--leading-relaxed)}.account-screen__danger-confirm-text strong{font-weight:var(--weight-semibold)}.account-screen__danger-confirm-actions{display:flex;align-items:center;gap:var(--space-4)}.account-screen__danger-error{font-size:var(--text-xs);color:var(--danger);margin:0}.account-screen__add-account-btn{display:flex;align-items:center;gap:var(--space-1);background:none;border:none;padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-gray-400);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);margin-top:var(--space-2)}.account-screen__add-account-btn:hover{color:var(--color-gray-700)}.account-screen__add-account-btn .material-symbols-outlined{font-size:1rem}.account-screen__type-picker{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0 var(--space-2)}.account-screen__type-picker-heading{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-700);margin:0}.account-screen__type-picker-group{display:flex;flex-direction:column;gap:var(--space-2)}.account-screen__add-account-form{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-2)}.account-screen__toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.account-screen__toggle-info{display:flex;flex-direction:column;gap:var(--space-1)}.account-screen__toggle-title{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.account-screen__toggle-sub{font-size:var(--text-sm);color:var(--color-text-secondary)}.account-screen__toggle-btn{position:relative;display:inline-block;width:44px;height:26px;border-radius:var(--radius-full);background:var(--color-gray-200);flex-shrink:0;cursor:pointer;transition:background var(--duration-base) var(--ease-out);border:none;padding:0}.account-screen__toggle-btn--on{background:var(--color-accent-warm)}.account-screen__toggle-thumb{display:block;position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-white);box-shadow:0 1px 3px #0000002e;transition:transform var(--duration-base) var(--ease-out);pointer-events:none}.account-screen__toggle-btn--on .account-screen__toggle-thumb{transform:translate(18px)}.account-screen__toggle-btn:focus-visible{outline:2px solid var(--color-gray-400);outline-offset:2px}.account-screen__time-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-2)}.account-screen__input--time{font-size:var(--text-sm);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--color-surface)}.account-screen__toggle-row--mt{margin-top:var(--space-4)}.account-screen__select{font-size:var(--text-sm);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--color-surface);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:calc(var(--space-3) + 20px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236e6b65' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2) center}.accounts-screen{min-height:100dvh;display:flex;flex-direction:column;background:var(--color-background)}.accounts-screen__header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--space-3);padding:calc(var(--space-4) + var(--safe-area-top)) var(--space-4) var(--space-3);background:var(--color-white);border-bottom:1px solid var(--color-gray-100)}.accounts-screen__back{display:flex;align-items:center;justify-content:center;color:var(--color-gray-500);text-decoration:none}.accounts-screen__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.accounts-screen__header-spacer{flex:1}.accounts-screen__body{flex:1;display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6) var(--space-4) var(--space-10);max-width:var(--max-width-app);width:100%;margin:0 auto}@media(min-width:768px){.accounts-screen__body{max-width:var(--max-width-app-desktop)}}.accounts-screen__empty{font-size:var(--text-sm);color:var(--color-gray-400);margin:0}.accounts-screen__groups{display:flex;flex-direction:column;gap:var(--space-6)}.accounts-screen__group{display:flex;flex-direction:column;gap:var(--space-2)}.accounts-screen__group-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.07em;color:var(--color-gray-400)}.accounts-screen__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface, #fff);border:1px solid var(--color-gray-100);border-radius:var(--radius-md)}.accounts-screen__row--editing,.accounts-screen__row--confirming{flex-direction:column;align-items:stretch}.accounts-screen__info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.accounts-screen__name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accounts-screen__type{font-size:var(--text-xs);color:var(--color-gray-400)}.accounts-screen__row-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.accounts-screen__edit-btn,.accounts-screen__icon-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-gray-400);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.accounts-screen__edit-btn:hover,.accounts-screen__icon-btn:hover{color:var(--color-gray-600)}.accounts-screen__input-row{display:flex;gap:var(--space-2)}.accounts-screen__input{flex:1;font-size:var(--text-sm);color:var(--color-gray-900);background:var(--color-gray-50);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.accounts-screen__input:focus{outline:none;border-color:var(--color-gray-400)}.accounts-screen__input--day{flex:none;width:72px;text-align:center;-moz-appearance:textfield}.accounts-screen__input--day::-webkit-outer-spin-button,.accounts-screen__input--day::-webkit-inner-spin-button{-webkit-appearance:none}.accounts-screen__input--amount{flex:none;width:120px;text-align:right;-moz-appearance:textfield}.accounts-screen__input--amount::-webkit-outer-spin-button,.accounts-screen__input--amount::-webkit-inner-spin-button{-webkit-appearance:none}.accounts-screen__edit-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-2)}.accounts-screen__edit-left{display:flex;gap:var(--space-4)}.accounts-screen__save-btn{padding:var(--space-2) var(--space-4);background:var(--color-gray-900);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.accounts-screen__save-btn:disabled{opacity:.4;cursor:default}.accounts-screen__link{background:none;border:none;font-size:var(--text-sm);color:var(--color-gray-500);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.accounts-screen__link--danger{color:var(--color-gray-400)}.accounts-screen__confirm-text{font-size:var(--text-sm);color:var(--color-gray-700);margin:0}.accounts-screen__confirm-actions{display:flex;gap:var(--space-4);align-items:center}.accounts-screen__deactivate-confirm{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-500);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0}.accounts-screen__schedule{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.accounts-screen__schedule-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-gray-400)}.accounts-screen__schedule-field{display:flex;flex-direction:column;gap:var(--space-2)}.accounts-screen__schedule-sublabel{font-size:var(--text-xs);color:var(--color-gray-500)}.accounts-screen__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.accounts-screen__chip{padding:var(--space-1) var(--space-3);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-full);background:none;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-500);cursor:pointer}.accounts-screen__chip--active{border-color:var(--color-gray-700);color:var(--color-gray-900);background:var(--color-gray-100)}.accounts-screen__day-pair{display:flex;align-items:center;gap:var(--space-3)}.accounts-screen__day-sep{font-size:var(--text-xs);color:var(--color-gray-400)}.accounts-screen__amount-wrap{display:flex;align-items:center;gap:var(--space-2)}.accounts-screen__amount-symbol{font-size:var(--text-sm);color:var(--color-gray-400)}.accounts-screen__input--select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239ca3af' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8);cursor:pointer}.accounts-screen__optional{font-weight:var(--weight-normal);color:var(--color-gray-400)}.accounts-screen__schedule-caption{font-size:var(--text-xs);color:var(--color-gray-400)}.accounts-screen__paid-from{padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.accounts-screen__add-btn{display:flex;align-items:center;gap:var(--space-2);background:none;border:1.5px dashed var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-400);cursor:pointer;width:100%;justify-content:center}.accounts-screen__type-picker{display:flex;flex-direction:column;gap:var(--space-4)}.accounts-screen__type-picker-heading{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-700);margin:0}.accounts-screen__type-picker-group{display:flex;flex-direction:column;gap:var(--space-2)}.accounts-screen__add-form{display:flex;flex-direction:column;gap:var(--space-4)}.accounts-screen__recurring{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.accounts-screen__recurring-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.accounts-screen__recurring-name{flex:1;color:var(--color-text)}.accounts-screen__recurring-amount{color:var(--color-text-muted)}.accounts-screen__recurring-freq{color:var(--color-text-muted);font-size:var(--text-xs)}.accounts-screen__recurring-remove{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0;display:flex;align-items:center}.accounts-screen__recurring-remove .material-symbols-outlined{font-size:16px}.accounts-screen__joint-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0;border-top:1px solid var(--color-gray-100);cursor:pointer;-webkit-user-select:none;user-select:none}.accounts-screen__joint-label-text{font-size:var(--text-sm);color:var(--color-gray-600)}.accounts-screen__joint-toggle{position:relative;display:inline-block;width:44px;height:26px;border-radius:var(--radius-full);background:var(--color-gray-200);flex-shrink:0;transition:background var(--duration-base) var(--ease-out);cursor:pointer}.accounts-screen__joint-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-white);box-shadow:0 1px 3px #0000002e;transition:transform var(--duration-base) var(--ease-out)}.accounts-screen__joint-toggle--on{background:var(--color-accent-green)}.accounts-screen__joint-toggle--on:after{transform:translate(18px)}.accounts-screen__joint-toggle:focus-visible{outline:2px solid var(--color-gray-400);outline-offset:2px}.recurring-status{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap}.recurring-status--overdue{color:var(--color-gray-700);font-weight:var(--weight-semibold)}.recurring-status--due_today{color:var(--color-gray-600);font-weight:var(--weight-semibold)}.recurring-status--upcoming{color:var(--color-gray-400)}.recurring-status--paid{color:var(--color-accent-green)}.add-recurring-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.add-recurring-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000047}.add-recurring-sheet__panel{position:absolute;bottom:0;left:0;right:0;background:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5);padding-bottom:calc(var(--space-5) + var(--safe-area-bottom));max-width:var(--max-width-app);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-5);max-height:85vh;overflow-y:auto;animation:add-recurring-sheet-up var(--duration-base) var(--ease-out)}@keyframes add-recurring-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.add-recurring-sheet__header{display:flex;align-items:center;justify-content:space-between}.add-recurring-sheet__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.add-recurring-sheet__close{display:grid;place-items:center;background:var(--color-gray-100);border:none;border-radius:var(--radius-full);width:28px;height:28px;cursor:pointer;color:var(--color-gray-500);flex-shrink:0}.add-recurring-sheet__close .material-symbols-outlined{font-size:1rem}.add-recurring-sheet__empty{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}.add-recurring-sheet__fields{display:flex;flex-direction:column;gap:var(--space-4)}.add-recurring-sheet__field{display:flex;flex-direction:column;gap:var(--space-2)}.add-recurring-sheet__label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-gray-400)}.add-recurring-sheet__input{width:100%;font-size:var(--text-sm);color:var(--color-gray-900);background:var(--color-gray-50);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.add-recurring-sheet__input:focus{outline:none;border-color:var(--color-gray-400)}.add-recurring-sheet__locked-account{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900);background:var(--color-gray-50);border:1.5px solid var(--color-gray-100);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0}.add-recurring-sheet__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239ca3af' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8)}.add-recurring-sheet__day-row{display:flex;gap:var(--space-2)}.add-recurring-sheet__input--day{flex:none;width:72px;text-align:center;-moz-appearance:textfield}.add-recurring-sheet__input--day::-webkit-outer-spin-button,.add-recurring-sheet__input--day::-webkit-inner-spin-button{-webkit-appearance:none}.add-recurring-sheet__chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.add-recurring-sheet__chip{padding:var(--space-1) var(--space-3);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-full);background:none;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-500);cursor:pointer}.add-recurring-sheet__chip--active{border-color:var(--color-gray-700);color:var(--color-gray-900);background:var(--color-gray-100)}.add-recurring-sheet__save{padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);background:var(--color-gray-900);color:var(--color-white);border:none;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer}.add-recurring-sheet__save:disabled{opacity:.4;cursor:default}.history-screen{display:flex;flex-direction:column;gap:var(--space-6);padding-bottom:var(--space-10)}.history-screen__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.history-screen__title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-gray-900);letter-spacing:-.01em;margin:0}.history-screen__toggle{display:flex;background:var(--color-gray-100);border-radius:var(--radius-sm);padding:2px;gap:2px;flex-shrink:0}.history-screen__toggle-btn{padding:var(--space-1) var(--space-3);border-radius:calc(var(--radius-sm) - 2px);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-500);background:transparent;border:none;cursor:pointer;transition:background .15s,color .15s}.history-screen__toggle-btn--active{background:var(--color-white);color:var(--color-gray-900);box-shadow:0 1px 2px #0000000f}.history-screen__empty{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-10) 0}.history-screen__empty-headline{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-700);margin:0}.history-screen__empty-sub{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}.history-screen__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.history-entry{background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);overflow:hidden}.history-entry__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-gray-100)}.history-entry__date{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-900);letter-spacing:-.01em}.history-entry__mood{font-size:1.25rem;color:var(--color-gray-500)}.history-entry__items{list-style:none;padding:0;margin:0}.history-entry__item{display:grid;grid-template-columns:1fr auto;grid-template-areas:"account meta" "note    note";align-items:baseline;gap:0 var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-50)}.history-entry__item:last-child{border-bottom:none}.history-entry__account{grid-area:account;font-size:var(--text-sm);color:var(--color-gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-entry__meta{grid-area:meta;display:flex;align-items:baseline;gap:var(--space-2)}.history-entry__amount{font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.history-entry__amount--positive{color:var(--color-gray-900)}.history-entry__amount--negative{color:var(--color-gray-600)}.history-entry__amount--neutral{color:var(--color-gray-700)}.history-entry__direction{font-size:var(--text-xs);color:var(--color-gray-400);text-transform:lowercase}.history-entry__note{grid-area:note;font-size:var(--text-xs);color:var(--color-gray-400);padding-top:var(--space-1)}.history-entry__empty{font-size:var(--text-sm);color:var(--color-gray-400);padding:var(--space-4);margin:0}.history-entry__deferred{font-size:var(--text-xs);color:var(--color-gray-400);font-style:italic;padding:var(--space-3) var(--space-4);margin:0}.history-entry__log-group{border-top:1px solid var(--color-gray-50)}.history-entry__log-group:first-of-type{border-top:none}.history-entry__author{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em;margin:0;padding:var(--space-2) var(--space-4) 0}.recurring-screen{display:flex;flex-direction:column;gap:var(--space-6);padding-bottom:var(--space-10)}.recurring-screen__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.recurring-screen__title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-gray-900);letter-spacing:-.01em;margin:0}.recurring-screen__toggle{display:flex;background:var(--color-gray-100);border-radius:var(--radius-sm);padding:2px;gap:2px;flex-shrink:0}.recurring-screen__toggle-btn{padding:var(--space-1) var(--space-3);border-radius:calc(var(--radius-sm) - 2px);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-500);background:transparent;border:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.recurring-screen__toggle-btn--active{background:var(--color-white);color:var(--color-gray-900);box-shadow:var(--shadow-card)}.recurring-screen__add-btn{align-self:flex-start;background:none;border:none;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-500);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color var(--duration-fast) var(--ease-out)}.recurring-screen__add-btn:hover{color:var(--color-gray-900)}.recurring-screen__empty{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-10) var(--space-5);text-align:center}.recurring-screen__empty-headline{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-gray-600);margin:0}.recurring-screen__empty-sub{font-size:var(--text-sm);color:var(--color-gray-400);margin:0}.recurring-screen__table-wrap{display:none;flex-direction:column;gap:var(--space-3)}.recurring-screen__month-nav{display:flex;align-items:center;gap:var(--space-2)}.recurring-screen__month-nav-btn{display:grid;place-items:center;padding:var(--space-1);border:none;background:transparent;border-radius:var(--radius-full);color:var(--color-gray-500);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.recurring-screen__month-nav-btn:hover{color:var(--color-gray-900)}.recurring-screen__month-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-900);min-width:9rem;text-align:center}.recurring-screen__month-empty{font-size:var(--text-sm);color:var(--color-gray-400);padding:var(--space-6) 0}.recurring-table{width:100%;border-collapse:collapse}.recurring-table th{text-align:left;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-400);padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--color-gray-100)}.recurring-table__row td{padding:var(--space-3) var(--space-2) var(--space-3) 0;border-bottom:1px solid var(--color-gray-100);font-size:var(--text-sm);color:var(--color-gray-600);vertical-align:middle}.recurring-table__row--clickable{cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.recurring-table__row--clickable:hover,.recurring-table__row--clickable:focus-visible{background:var(--color-gray-50)}.recurring-table__row--clickable:focus-visible{outline:none}.recurring-table__name{font-weight:var(--weight-medium);color:var(--color-gray-900)}.recurring-table__date,.recurring-table__account{color:var(--color-gray-500)}.recurring-table__amount{font-weight:var(--weight-medium);color:var(--color-gray-900)}.recurring-table__total-label{padding:var(--space-3) var(--space-2) var(--space-3) 0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-500);text-align:right}.recurring-table__total-amount{padding:var(--space-3) var(--space-2) var(--space-3) 0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.recurring-ledger{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;gap:var(--space-2)}.recurring-ledger__row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-3);padding:var(--space-4);background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);cursor:pointer;text-align:left}.recurring-ledger__name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900)}.recurring-ledger__meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.recurring-ledger__amount{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600)}@media(min-width:768px){.recurring-screen__table-wrap{display:flex}.recurring-ledger{display:none}}.recurring-calendar{display:flex;flex-direction:column;gap:var(--space-4)}.recurring-calendar__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.recurring-calendar__nav{display:flex;align-items:center;gap:var(--space-2)}.recurring-calendar__nav-btn{display:grid;place-items:center;padding:var(--space-1);border:none;background:transparent;border-radius:var(--radius-full);color:var(--color-gray-500);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.recurring-calendar__nav-btn:hover{color:var(--color-gray-900)}.recurring-calendar__month-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-900);min-width:9rem;text-align:center}.recurring-calendar__week-total{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-500);background:var(--color-gray-100);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3)}.recurring-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.recurring-calendar__weekday{text-align:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.04em}.recurring-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.recurring-calendar__day{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:4.5rem;padding:var(--space-1);background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-sm);cursor:pointer;text-align:left;overflow:hidden}.recurring-calendar__day:disabled{cursor:default}.recurring-calendar__day--outside{background:var(--color-gray-50)}.recurring-calendar__day--outside .recurring-calendar__day-number{color:var(--color-gray-300)}.recurring-calendar__day--today{border-color:var(--color-gray-400)}.recurring-calendar__day-number{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-600)}.recurring-calendar__chip{width:100%;font-size:.65rem;font-weight:var(--weight-medium);padding:1px var(--space-1);border-radius:4px;background:var(--color-gray-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recurring-calendar__chip--more{color:var(--color-gray-400);background:transparent;padding-left:0}.recurring-calendar__day-sum{margin-top:auto;font-size:.65rem;font-weight:var(--weight-semibold);color:var(--color-gray-500)}.recurring-calendar__panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.recurring-calendar__panel-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000047}.recurring-calendar__panel-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5);padding-bottom:calc(var(--space-5) + var(--safe-area-bottom));max-width:var(--max-width-app);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4);max-height:70vh;overflow-y:auto}.recurring-calendar__panel-header{display:flex;align-items:center;justify-content:space-between}.recurring-calendar__panel-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.recurring-calendar__panel-close{display:grid;place-items:center;background:var(--color-gray-100);border:none;border-radius:var(--radius-full);width:28px;height:28px;cursor:pointer;color:var(--color-gray-500);flex-shrink:0}.recurring-calendar__panel-close .material-symbols-outlined{font-size:1rem}.recurring-calendar__panel-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.recurring-calendar__panel-row{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) 0}.recurring-calendar__panel-row+.recurring-calendar__panel-row{border-top:1px solid var(--color-gray-100)}.recurring-calendar__panel-row-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.recurring-calendar__panel-account{width:100%}.recurring-calendar__panel-row-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.recurring-calendar__panel-row-actions{display:flex;align-items:center;gap:var(--space-3)}.recurring-calendar__mark-paid{background:none;border:none;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-500);cursor:pointer;padding:0;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}.recurring-calendar__mark-paid:hover{color:var(--color-gray-900)}.recurring-calendar__remove{background:none;border:none;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);cursor:pointer;padding:0;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}.recurring-calendar__remove:hover{color:var(--color-gray-700)}.recurring-calendar__panel-row-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900)}@media(min-width:768px){.recurring-calendar__day{min-height:6rem}}.recurring-amount-input{display:flex;align-items:center;gap:var(--space-2)}.recurring-amount-input__symbol{font-size:var(--text-sm);color:var(--color-gray-400);font-weight:var(--weight-medium)}.recurring-amount-input__field{width:72px;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-white);padding:var(--space-1) var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900);transition:border-color var(--duration-fast) var(--ease-out)}.recurring-amount-input__field:focus{outline:none;border-color:var(--color-gray-400)}.recurring-amount-input__badge{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);background:var(--color-gray-100);border-radius:var(--radius-sm);padding:2px var(--space-2);white-space:nowrap}.recurring-account-select{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-700);background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239ca3af' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2) center;padding-right:var(--space-6);max-width:100%;transition:border-color var(--duration-fast) var(--ease-out)}.recurring-account-select:focus{outline:none;border-color:var(--color-gray-400)}.edit-recurring-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.edit-recurring-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000047}.edit-recurring-sheet__panel{position:absolute;bottom:0;left:0;right:0;background:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5);padding-bottom:calc(var(--space-5) + var(--safe-area-bottom));max-width:var(--max-width-app);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-5);animation:edit-recurring-sheet-up var(--duration-base) var(--ease-out)}@keyframes edit-recurring-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.edit-recurring-sheet__header{display:flex;align-items:center;justify-content:space-between}.edit-recurring-sheet__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900)}.edit-recurring-sheet__close{display:grid;place-items:center;background:var(--color-gray-100);border:none;border-radius:var(--radius-full);width:28px;height:28px;cursor:pointer;color:var(--color-gray-500);flex-shrink:0}.edit-recurring-sheet__close .material-symbols-outlined{font-size:1rem}.edit-recurring-sheet__rows{display:flex;flex-direction:column;gap:var(--space-4)}.edit-recurring-sheet__detail-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.edit-recurring-sheet__detail-label{font-size:var(--text-sm);color:var(--color-gray-400)}.edit-recurring-sheet__mark-paid{padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);background:var(--color-gray-900);color:var(--color-white);border:none;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer}.edit-recurring-sheet__detail-value{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-700);text-align:right}.edit-recurring-sheet__remove{align-self:center;background:none;border:none;font-size:var(--text-sm);color:var(--color-gray-400);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color var(--duration-fast) var(--ease-out)}.edit-recurring-sheet__remove:hover{color:var(--color-gray-700)}.sub-ended-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-5);background:var(--color-gray-50)}.sub-ended-screen__card{width:100%;max-width:24rem;display:flex;flex-direction:column;gap:var(--space-6)}.sub-ended-screen__logo{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-gray-300);letter-spacing:.04em;text-transform:lowercase}.sub-ended-screen__copy{display:flex;flex-direction:column;gap:var(--space-3)}.sub-ended-screen__title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-gray-900);line-height:var(--leading-tight);margin:0}.sub-ended-screen__body{font-size:var(--text-sm);color:var(--color-gray-500);line-height:var(--leading-relaxed);margin:0}.sub-ended-screen__actions{display:flex;flex-direction:column;gap:var(--space-3)}.sub-ended-screen__btn{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:none;background:var(--color-gray-900);color:var(--color-white);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.sub-ended-screen__btn:hover:not(:disabled){background:var(--color-gray-700)}.sub-ended-screen__btn:disabled{opacity:.4;cursor:default}.sub-ended-screen__error{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}.sub-ended-screen__native-hint{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-400);margin:0;letter-spacing:.01em}.sub-ended-screen__sign-out{background:none;border:none;padding:0;font-size:var(--text-sm);color:var(--color-gray-400);cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:left}.ledger-screen{min-height:100dvh;display:flex;flex-direction:column;background:var(--color-gray-50)}.ledger-screen__header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--space-3);padding:calc(var(--space-4) + var(--safe-area-top)) var(--space-4) var(--space-3);background:var(--color-white);border-bottom:1px solid var(--color-gray-100)}.ledger-screen__back{display:flex;align-items:center;justify-content:center;color:var(--color-gray-500);text-decoration:none;flex-shrink:0}.ledger-screen__header-text{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.ledger-screen__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-screen__type-badge{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-400);white-space:nowrap;flex-shrink:0}.ledger-screen__body{flex:1;display:flex;flex-direction:column;padding:var(--space-5) 0 var(--space-10);max-width:var(--max-width-app);width:100%;margin:0 auto}@media(min-width:768px){.ledger-screen__body{max-width:var(--max-width-app-desktop)}}.ledger-screen__eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-400);padding:0 var(--space-4) var(--space-2)}.ledger-screen__row,.ledger-screen__starting-row{display:grid;grid-template-columns:52px 1fr auto;gap:0 var(--space-3);align-items:start;padding:var(--space-3) var(--space-4);background:var(--color-white);border-bottom:1px solid var(--color-gray-100);width:100%}.ledger-screen__row{border:none;cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out)}.ledger-screen__row:active,.ledger-screen__entry--editing .ledger-screen__row{background:var(--color-gray-50)}.ledger-screen__row-date{display:flex;flex-direction:column;gap:2px;padding-top:1px}.ledger-screen__date-day{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-600);line-height:var(--leading-tight)}.ledger-screen__date-weekday{font-size:var(--text-xs);color:var(--color-gray-400);line-height:var(--leading-tight)}.ledger-screen__row-middle{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.ledger-screen__row-desc{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900);line-height:var(--leading-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-screen__row-sub{font-size:var(--text-xs);color:var(--color-gray-400);line-height:var(--leading-tight)}.ledger-screen__chip{display:inline-block;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:1px var(--space-2);border-radius:var(--radius-full);line-height:1.6;width:fit-content}.ledger-screen__chip--spent{background:var(--color-gray-100);color:var(--color-gray-500)}.ledger-screen__chip--received,.ledger-screen__chip--paid-debt{background:#e8f3ec;color:#2f6e4a}.ledger-screen__chip--transferred{background:var(--color-gray-100);color:var(--color-gray-500)}.ledger-screen__chip--deferred{background:var(--color-gray-100);color:var(--color-gray-400)}.ledger-screen__chip--snapshot{background:#e8f0f8;color:#2a5a8c}.ledger-screen__row-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.ledger-screen__amount{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-900);line-height:var(--leading-tight)}.ledger-screen__amount--positive{color:var(--color-accent-green)}.ledger-screen__amount--muted{color:var(--color-gray-500)}.ledger-screen__running{font-size:var(--text-xs);color:var(--color-gray-400);line-height:var(--leading-tight)}.ledger-screen__running--reconciled{color:#2a5a8c;font-style:italic}.ledger-screen__starting-row{align-items:center;border-top:1px solid var(--color-gray-100)}.ledger-screen__rows,.ledger-screen__entry{display:flex;flex-direction:column}.ledger-screen__edit-panel{background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.ledger-screen__edit-fields{display:flex;gap:var(--space-3)}.ledger-screen__field{display:flex;flex-direction:column;gap:var(--space-1)}.ledger-screen__field--note{flex:1;min-width:0}.ledger-screen__field-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-gray-500)}.ledger-screen__amount-wrap{display:flex;align-items:center;gap:var(--space-1);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);width:108px}.ledger-screen__amount-sym{font-size:var(--text-sm);color:var(--color-gray-400);flex-shrink:0}.ledger-screen__input{font-size:var(--text-sm);color:var(--color-gray-900);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);outline:none;width:100%;font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-out)}.ledger-screen__input:focus{border-color:var(--color-gray-400)}.ledger-screen__input--amount{border:none;padding:0;width:100%;background:none;outline:none}.ledger-screen__direction-note{font-size:var(--text-xs);color:var(--color-gray-400);margin:0;line-height:var(--leading-relaxed)}.ledger-screen__edit-actions{display:flex;align-items:center;justify-content:space-between}.ledger-screen__edit-right{display:flex;align-items:center;gap:var(--space-3)}.ledger-screen__btn-primary{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-gray-900);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--weight-medium);border:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.ledger-screen__btn-primary:hover{background:var(--color-gray-700)}.ledger-screen__btn-primary:disabled{opacity:.4;cursor:default}.ledger-screen__btn-link{font-size:var(--text-sm);color:var(--color-gray-500);background:none;border:none;cursor:pointer;padding:0;font-family:var(--font-sans);transition:color var(--duration-fast) var(--ease-out)}.ledger-screen__btn-link:hover{color:var(--color-gray-900)}.ledger-screen__btn-link--danger{color:var(--color-gray-400)}.ledger-screen__btn-link--danger:hover{color:#b91c1c}.ledger-screen__delete-confirm{display:flex;flex-direction:column;gap:var(--space-3)}.ledger-screen__delete-text{font-size:var(--text-sm);color:var(--color-gray-600);margin:0;line-height:var(--leading-relaxed)}.ledger-screen__delete-actions{display:flex;align-items:center;gap:var(--space-4)}.ledger-screen__btn-danger{font-size:var(--text-sm);font-weight:var(--weight-medium);color:#b91c1c;background:none;border:1px solid #fca5a5;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);cursor:pointer;font-family:var(--font-sans);transition:background var(--duration-fast) var(--ease-out)}.ledger-screen__btn-danger:hover{background:#fef2f2}.ledger-screen__empty{font-size:var(--text-sm);color:var(--color-gray-400);margin:var(--space-6) var(--space-4) 0;line-height:var(--leading-relaxed)}.ledger-screen__hint{font-size:var(--text-xs);color:var(--color-gray-300);text-align:center;margin:var(--space-5) var(--space-4) 0;line-height:var(--leading-relaxed)}:root{--color-white: #ffffff;--color-gray-50: #f8f8f7;--color-gray-100: #f0efed;--color-gray-200: #e0deda;--color-gray-300: #c8c5bf;--color-gray-400: #9e9a94;--color-gray-500: #6e6b65;--color-gray-600: #4a4845;--color-gray-700: #2e2d2b;--color-gray-900: #121110;--color-accent-warm: #d97941;--color-accent-green: #4a8c6f;--color-accent-gold: #c9a84c;--color-background: var(--color-gray-50);--color-surface: var(--color-white);--color-surface-alt: var(--color-gray-50);--color-surface-raised:var(--color-white);--color-border: var(--color-gray-200);--color-text: var(--color-gray-700);--color-text-primary: var(--color-gray-700);--color-text-secondary:var(--color-gray-500);--color-text-muted: var(--color-gray-400);--danger: #c0392b;--danger-border: #e05c4b;--danger-deep: #922b21;--danger-hover: #e04030;--caution: #b07d2a;--caution-border: #d4a045;--caution-deep: #8a5f1a;--caution-hover: #c99030;--color-liability: var(--color-gray-500);--color-liability-muted: var(--color-gray-400);--account-color-checking: hsl(213, 100%, 97%);--account-color-savings: hsl(142, 60%, 96%);--account-color-cash: hsl(174, 60%, 96%);--account-color-credit_card: hsl(270, 80%, 97%);--account-color-loan: hsl(230, 80%, 97%);--account-color-mortgage: hsl(215, 40%, 96%);--account-color-real_estate: hsl(35, 60%, 96%);--account-color-investment: hsl(160, 60%, 96%);--account-color-checking-sat: hsl(213, 90%, 90%);--account-color-savings-sat: hsl(142, 55%, 89%);--account-color-cash-sat: hsl(174, 55%, 89%);--account-color-credit_card-sat: hsl(270, 72%, 91%);--account-color-loan-sat: hsl(230, 72%, 91%);--account-color-mortgage-sat: hsl(215, 36%, 90%);--account-color-real_estate-sat: hsl(35, 55%, 89%);--account-color-investment-sat: hsl(160, 55%, 89%);--account-border-checking: hsl(213, 65%, 78%);--account-border-savings: hsl(142, 40%, 74%);--account-border-cash: hsl(174, 40%, 74%);--account-border-credit_card: hsl(270, 52%, 80%);--account-border-loan: hsl(230, 52%, 80%);--account-border-mortgage: hsl(215, 28%, 77%);--account-border-real_estate: hsl(35, 42%, 74%);--account-border-investment: hsl(160, 40%, 74%);--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.7;--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: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-card: 0 2px 8px rgba(0 0 0 / .08), 0 1px 2px rgba(0 0 0 / .04);--shadow-card-raised: 0 8px 24px rgba(0 0 0 / .12), 0 2px 6px rgba(0 0 0 / .06);--shadow-modal: 0 24px 64px rgba(0 0 0 / .18);--duration-fast: .12s;--duration-base: .22s;--duration-slow: .38s;--duration-breathe: 2.4s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--max-width-app: 480px;--max-width-app-desktop: 760px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}[data-emotional-state=thriving]{--color-accent: var(--color-accent-warm);--surface-bg: #fffdf8;--affirmation-order: 1}[data-emotional-state=steady]{--color-accent: var(--color-accent-green);--surface-bg: var(--color-white);--affirmation-order: 1}[data-emotional-state=navigating]{--color-accent: var(--color-accent-green);--surface-bg: #f7f9f8;--affirmation-order: 1}[data-emotional-state=rebuilding]{--color-accent: var(--color-gray-400);--surface-bg: #f6f5f3;--affirmation-order: -1}[data-emotional-state=starting]{--color-accent: var(--color-gray-300);--surface-bg: var(--color-gray-50);--affirmation-order: -1}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-gray-700);background-color:var(--surface-bg, var(--color-white));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}button{font:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font:inherit}input,textarea,select{font-size:max(1rem,16px)}a{color:inherit;text-decoration:none}ul,ol{list-style:none}#root{min-height:100dvh;display:flex;flex-direction:column}
