:root{--bg:#f3f5f9;--surface:#fff;--surface-strong:#f7faff;--ink:#121a31;--muted:#5a6685;--line:#dbe3f0;--line-soft:#eef1f7;--green:#16a085;--green-soft:#e8f6f2;--red:#d64550;--red-soft:#fde9eb;--yellow:#b28726;--yellow-soft:#fff6df;--blue:#2563eb;--blue-soft:#e8efff;--cyan:#0ea5e9;--cyan-soft:#e5f6ff;--orange:#f59e0b;--orange-soft:#fdf0d9;--violet:#7c3aed;--violet-soft:#f1ebfe;--red-dark:#a4313b;--cat-1:#2563eb;--cat-2:#16a085;--cat-3:#f59e0b;--cat-4:#ec4899;--cat-5:#8b5cf6;--cat-6:#0ea5e9;--cat-7:#d64550;--cat-8:#7c8dac;--shadow:0 20px 50px rgba(17,24,39,.08);--shadow-soft:0 10px 28px rgba(17,24,39,.06)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);color:var(--ink)}body{background:linear-gradient(180deg,rgba(239,244,255,.72),rgba(247,249,253,.95) 320px),var(--bg);margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body,main.shell{overflow-x:hidden}img{max-width:100%;height:auto}button,input,select{font:inherit}input,select,textarea{font-size:max(16px,1rem)}button{cursor:pointer;border:0;border-radius:18px;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}button:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid rgba(37,99,235,.2);outline-offset:3px}.shell{width:min(520px,100%);margin:0 auto;padding:max(60px,calc(env(safe-area-inset-top) + 20px)) max(16px,env(safe-area-inset-right)) max(96px,calc(16px + env(safe-area-inset-bottom))) max(16px,env(safe-area-inset-left))}.auth-shell{align-items:center;background:radial-gradient(900px 420px at -10% -10%,rgba(37,99,235,.2),transparent 58%),radial-gradient(840px 380px at 110% -10%,rgba(14,165,233,.18),transparent 56%),linear-gradient(180deg,#f7faff,#eef3fb);display:grid;min-height:100vh;padding:20px}.auth-panel{background:hsla(0,0%,100%,.96);border:1px solid rgba(148,163,184,.22);border-radius:26px;box-shadow:0 32px 80px rgba(17,24,39,.12);margin:0 auto;max-width:880px;padding:34px;width:100%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-panel>p{color:var(--muted)}.onboarding-header{display:grid;grid-gap:12px;gap:12px;margin-bottom:18px}.onboarding-header h1{font-size:clamp(2.15rem,4vw,3rem);margin:0;letter-spacing:-.035em;line-height:1.02}.auth-content-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-gap:18px;gap:18px;align-items:start}.auth-content-grid.single{grid-template-columns:1fr}.auth-showcase{display:grid;grid-gap:12px;gap:12px}.auth-showcase .onboarding-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.auth-showcase .feature{min-height:126px;border-radius:16px;padding:14px 12px;display:grid;justify-items:start;align-content:start;grid-gap:12px;gap:12px}.auth-showcase .feature span{font-size:.98rem;line-height:1.2}.onboarding-features{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr;margin:0}.feature{align-items:flex-start;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dce9ff;border-radius:16px;color:var(--ink);display:flex;gap:10px;min-height:58px;padding:14px;transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}.feature:hover{transform:translateY(-1px);border-color:#b8d2ff;box-shadow:0 10px 20px rgba(37,99,235,.13)}.feature svg{color:var(--blue);margin-top:1px}.feature span{color:var(--ink);font-weight:800;line-height:1.25}.auth-section{display:grid;grid-gap:18px;gap:18px}.auth-mode-switch{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px;border:1px solid #cfe0fb;border-radius:14px;background:#eef4ff}.auth-mode-switch button{min-height:44px;border-radius:10px;background:transparent;color:#41557d;font-weight:800;border:0;min-width:124px;transition:transform .15s ease,background-color .15s ease,color .15s ease}.auth-mode-switch button:hover{transform:translateY(-1px)}.auth-mode-switch button.active{background:#fff;color:#112b5d;box-shadow:0 8px 16px rgba(37,99,235,.14)}.modern-auth-section{border:1px solid #dbe7fb;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff);padding:18px;box-shadow:0 12px 28px rgba(15,23,42,.06)}.auth-form{margin-top:10px}@media (max-width:900px){.auth-content-grid{grid-template-columns:1fr}}@media (max-width:520px){.auth-showcase .feature{min-height:108px;padding:12px 10px;gap:10px}.auth-showcase .feature span{font-size:.9rem}}.auth-message{background:#eef4ff;border:1px solid #c7d9ff;border-radius:16px;color:#1e3a8a;font-weight:700;line-height:1.4;padding:14px 16px;margin-top:14px}.auth-message.error{background:#fff7ed;border-color:#fdba74;color:#9a3412}.auth-message.success{background:#eefbf3;border-color:#86efac;color:#166534}.loading-shell{min-height:100vh;display:grid;place-items:center}.loading-panel{width:min(560px,100%);padding:24px;display:grid;grid-gap:14px;gap:14px;background:radial-gradient(circle at 100% -10%,rgba(37,99,235,.11),transparent 44%),linear-gradient(180deg,#fff,#f8fbff);border-color:#d5e4fb;box-shadow:0 18px 40px rgba(15,23,42,.1)}.loading-brand-row{display:inline-flex;align-items:center;gap:10px;color:#35507e;font-weight:800;width:-moz-fit-content;width:fit-content}.loading-panel h1{font-size:clamp(2rem,5vw,2.6rem);letter-spacing:-.03em;margin:0}.loading-panel p{margin:0;color:var(--muted);font-weight:700}.loading-dots:after{content:"";display:inline-block;width:1.2em;text-align:left;animation:loadingDots 1.3s steps(4) infinite}.loading-progress-track{height:9px;border-radius:999px;overflow:hidden;border:1px solid #d2e2fb;background:#eef5ff}.loading-progress-fill{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#0ea5e9);animation:loadingBar 1.6s ease-in-out infinite}.loading-skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.loading-skeleton-grid>div{height:74px;border-radius:14px;border:1px solid #deebff;background:linear-gradient(110deg,#f2f7ff 8%,#fff 18%,#f2f7ff 33%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes loadingDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@keyframes loadingBar{0%{transform:translateX(-90%)}55%{transform:translateX(130%)}to{transform:translateX(130%)}}@keyframes shimmer{to{background-position-x:-200%}}.auth-debug{align-items:flex-start;background:#f4f7ff;border:1px solid rgba(37,99,235,.12);border-radius:16px;display:grid;grid-gap:8px;gap:8px;margin:18px 0 0;padding:16px;color:var(--ink);font-size:.95rem}.auth-debug strong{color:var(--ink);font-weight:800}.link-button,.signout-button{border-radius:16px;font-weight:900;min-height:50px;padding:0 20px}.link-button{background:#f4f7fd;border:1px solid rgba(100,116,139,.18);color:var(--ink);margin-top:16px;width:100%}.signout-button{background:var(--red-soft);border:1px solid #f2b8bd;color:var(--red);margin-top:22px}.topbar{align-items:center;display:flex;justify-content:space-between;gap:18px;margin-bottom:14px;min-width:0;overflow:visible}.topbar h1{font-size:clamp(1.4rem,2.5vw,1.75rem);letter-spacing:-.02em}.topbar-compact h1{white-space:nowrap}.topbar-compact .header-brand{align-items:center}.topbar-compact .top-actions{align-self:center}.topbar-compact .user-button.avatar-only{min-height:40px;padding:6px 9px 6px 7px}.topbar-compact .user-avatar{font-size:.75rem;height:28px;min-width:28px;width:28px}.header-brand{flex:1 1}.header-brand,.top-actions{align-items:center;display:flex;gap:14px;min-width:0}.top-actions{justify-content:flex-end}.user-menu{position:relative}.user-button{align-items:center;background:#f4f7fd;border:1px solid rgba(100,116,139,.18);color:var(--ink);display:inline-flex;gap:8px;padding:12px 16px;border-radius:18px;min-height:48px;font-weight:700;max-width:220px;min-width:0}.user-button.avatar-only{border-radius:999px;gap:10px;max-width:none;padding:8px 10px 8px 8px}.user-avatar{align-items:center;background:linear-gradient(160deg,#2f6fed,#0da5a6);border-radius:999px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:900;height:30px;justify-content:center;letter-spacing:.02em;min-width:30px;width:30px}.user-dropdown{position:absolute;right:0;left:auto;top:calc(100% + 12px);width:min(288px,calc(100vw - 24px));max-width:calc(100vw - 24px);box-sizing:border-box;background:var(--surface);border:1px solid rgba(148,163,184,.16);border-radius:20px;box-shadow:var(--shadow);padding:18px;z-index:40;display:grid;grid-gap:12px;gap:12px}.user-dropdown-info{display:grid;grid-gap:4px;gap:4px}.user-dropdown-info strong{font-size:1rem}.user-dropdown-info span{color:var(--muted);font-size:.94rem;overflow-wrap:anywhere;word-break:break-word}.user-dropdown .signout-button{justify-content:center;text-align:center;width:100%}.config-message{background:#fafbff;border:1px solid rgba(37,99,235,.18);border-radius:18px;padding:20px}.config-message ul{margin:12px 0 0;padding-left:18px}.config-message li{margin-bottom:8px}.auth-panel code{display:inline-flex;background:rgba(37,99,235,.08);border-radius:12px;color:var(--blue);font-size:.92rem;padding:2px 6px}.logo-icon{width:48px;height:48px;border-radius:18px;flex-shrink:0}.eyebrow{color:var(--blue);font-size:.78rem;font-weight:800;margin:0 0 6px;text-transform:uppercase}h1,h2,h3{margin:0;line-height:1.08}h1{font-size:clamp(2.15rem,5.4vw,3.45rem);letter-spacing:-.02em;overflow-wrap:anywhere}h2{font-size:1.5rem}h3{font-size:1.12rem}.alert,.hero-panel,.metric,.month-strip label,.movement,.panel,.progress-row,.status-pill,.tab,.trend-card{border:1px solid var(--line);background:hsla(0,0%,100%,.92)}.status-pill{align-items:center;border-radius:999px;display:flex;gap:10px;min-height:48px;background:#eef5ff;box-shadow:var(--shadow-soft);padding:0 18px;color:var(--blue);font-weight:800;white-space:nowrap}.month-strip{grid-template-columns:1fr 140px;margin-bottom:14px}.month-strip,label{display:grid;grid-gap:10px;gap:10px}label{color:var(--muted);font-size:.95rem;font-weight:700}input:not([type=checkbox]):not([type=radio]),select{background:#fbfdff;border:1px solid #e2e9f5;border-radius:16px;color:var(--ink);max-width:100%;min-height:54px;min-width:0;padding:0 16px;width:100%}input[type=checkbox],input[type=radio]{accent-color:var(--blue);cursor:pointer;flex-shrink:0;height:1.25rem;margin:0;min-height:0;min-width:0;padding:0;width:1.25rem}input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;max-width:100%;min-width:0;overflow:hidden;padding-left:12px;padding-right:12px;text-align:center;text-overflow:ellipsis;width:100%}input[type=date]::-webkit-date-and-time-value{min-height:100%;text-align:center}input[type=date]::-webkit-datetime-edit{display:flex;justify-content:center}input[type=date]::-webkit-calendar-picker-indicator{margin-left:8px}button:focus-visible,input:focus,select:focus{outline:4px solid rgba(37,99,235,.18);outline-offset:2px}.month-strip label{background:hsla(0,0%,100%,.92);border-radius:14px;box-shadow:var(--shadow-soft);padding:10px 12px}.month-strip-compact{align-items:center;display:flex;gap:8px;grid-template-columns:none;margin-bottom:14px}.month-strip-icon{color:var(--muted);flex-shrink:0}.month-strip.month-strip-compact .month-strip-month{flex:1 1;min-width:0}.month-strip.month-strip-compact .month-strip-year{flex:0 0 96px;padding-left:8px;padding-right:8px;text-align:center}.month-strip.month-strip-compact .month-strip-year::-webkit-inner-spin-button,.month-strip.month-strip-compact .month-strip-year::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.month-strip.month-strip-compact .month-strip-month,.month-strip.month-strip-compact .month-strip-year{border-radius:12px;font-weight:700;min-height:44px}.tabs{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(8,1fr);margin-bottom:18px;min-width:0}.more-subtabs{display:flex;gap:8px;margin-bottom:14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.more-subtabs::-webkit-scrollbar{display:none}.mobile-tabbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:hsla(0,0%,100%,.98);border-top:1px solid #e2e8f3;bottom:0;box-shadow:0 -8px 22px rgba(15,23,42,.08);display:grid;grid-gap:4px;gap:4px;grid-template-columns:repeat(5,1fr);left:0;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));position:fixed;right:0;z-index:24}.mobile-tabbar-button{align-items:center;background:transparent;border-radius:12px;color:#62708f;display:grid;grid-gap:4px;gap:4px;justify-items:center;min-height:54px;min-width:0;padding:6px 4px}.mobile-tabbar-button span{font-size:.66rem;font-weight:700;line-height:1.1;max-width:100%;text-align:center;white-space:normal}.mobile-tabbar-button.active{background:#e9f7f7;color:#0f8b8d}.tab{align-items:center;background:#f9fbff;border-radius:18px;color:#58657a;display:grid;grid-gap:8px;gap:8px;justify-items:center;min-height:72px;min-width:0;padding:14px 12px}.tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab svg{height:24px;width:24px}.tab.active{background:#eef4ff;border-color:rgba(37,99,235,.18);box-shadow:inset 0 0 0 1px rgba(37,99,235,.12),var(--shadow-soft);color:var(--blue)}.stack{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr)}.home-dashboard{gap:14px}.home-actions{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-actions .primary-action{border:1px solid hsla(0,0%,100%,.24);border-radius:16px;box-shadow:0 12px 24px rgba(15,23,42,.16);flex-direction:column;font-size:.88rem;font-weight:800;gap:8px;line-height:1.2;min-height:88px;overflow:hidden;padding:13px 10px;position:relative;text-align:center}.home-actions .primary-action:after{content:"";background:linear-gradient(120deg,hsla(0,0%,100%,.26),hsla(0,0%,100%,0));inset:0;pointer-events:none;position:absolute}.home-actions .primary-action svg{flex-shrink:0;height:22px;width:22px}.home-actions .primary-action:hover{box-shadow:0 16px 30px rgba(15,23,42,.2);transform:translateY(-2px)}.home-actions .primary-action.transfer{grid-column:1/-1;flex-direction:row;min-height:60px;font-size:.98rem;padding:13px 16px}.primary-action.transfer{background:linear-gradient(160deg,#8b5cf6,#6d28d9)}.home-hero{background:radial-gradient(circle at 12% 0,rgba(14,165,233,.12),transparent 40%),linear-gradient(170deg,#fff,#f6f9ff);border:1px solid #d8e4f7;border-radius:22px;box-shadow:0 14px 32px rgba(15,23,42,.08);gap:16px;padding:18px 20px}.home-hero h2{font-size:1.3rem;letter-spacing:-.015em}.home-hero .hero-answer{font-size:.9rem;line-height:1.35;margin-top:6px}.home-hero .score{border-radius:14px;font-size:1.36rem;padding:12px 16px}.budget-balance-card{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #d9e4f6;border-radius:16px;box-shadow:0 10px 20px rgba(15,23,42,.06);padding:14px}.budget-balance-head{align-items:center;color:#34446f;display:flex;justify-content:space-between}.budget-balance-head strong{font-size:.92rem}.budget-balance-total{font-size:2rem;font-weight:900;letter-spacing:-.02em;margin-top:8px}.budget-balance-stats{border-top:1px solid #e1e9f5;display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr 1fr;margin-top:10px;padding-top:10px}.budget-balance-stats>div{align-items:baseline;display:grid;grid-gap:2px;gap:2px;grid-template-columns:1fr auto}.budget-balance-stats>div span{color:#51608f;font-size:.8rem;font-weight:800;grid-column:1/-1}.budget-balance-stats>div b{color:#121a31;font-size:1.02rem}.budget-balance-stats>div small{color:#64748b;font-size:.8rem;font-weight:700}.budget-balance-track{background:#e8edf6;border-radius:999px;display:flex;gap:0;height:12px;margin-top:10px;overflow:hidden}.budget-balance-track i{background:#ef4444;display:block;height:100%}.budget-balance-track u{background:#3b82f6;display:block;height:100%;text-decoration:none}.budget-balance-track.over u{background:#e8edf6}.budget-balance-note{color:#0f8b9a;font-size:.92rem;font-weight:800;margin:10px 0 0}.budget-balance-note.over{color:#334155}.home-dashboard .budget-balance-card{border-radius:14px;padding:12px}.home-dashboard .budget-balance-total{font-size:1.8rem;line-height:1.05;margin-top:6px}.home-dashboard .budget-balance-stats{gap:6px;margin-top:8px;padding-top:8px}.home-dashboard .budget-balance-stats>div span{font-size:.76rem}.home-dashboard .budget-balance-stats>div b{font-size:.95rem}.home-dashboard .budget-balance-stats>div small{font-size:.74rem}.home-dashboard .budget-balance-track{height:10px;margin-top:8px}.home-dashboard .budget-balance-note{font-size:.86rem;margin-top:8px}.hero-panel{align-items:center;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:22px;box-shadow:0 14px 30px rgba(15,23,42,.08);display:grid;grid-gap:18px;gap:18px;grid-template-columns:1fr auto;min-width:0;padding:24px}.hero-panel>div:first-child{min-width:0}.hero-panel h2{font-size:clamp(1.8rem,2.4vw,2.4rem)}.hero-answer{color:var(--muted);font-size:1.05rem;margin:10px 0 0}.score{border-radius:12px;font-size:clamp(1.55rem,4vw,2.4rem);font-weight:800;max-width:100%;overflow-wrap:anywhere;padding:14px 18px}.score.good{background:linear-gradient(180deg,#ecf9f4,#e3f6ef);color:#12795f}.score.danger{background:linear-gradient(180deg,#fff4f5,#ffecf0);color:#be3548}.actions-grid,.metric-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,1fr)}.primary-action{align-items:center;background:var(--blue);border:0;border-radius:18px;box-shadow:0 14px 28px rgba(37,99,235,.18);color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:900;gap:14px;justify-content:center;min-height:72px;transition:transform .16s ease,box-shadow .16s ease}.primary-action:hover{box-shadow:0 18px 30px rgba(37,99,235,.24);transform:translateY(-1px)}.primary-action svg{height:26px;width:26px}.primary-action.expense{background:linear-gradient(160deg,#14b8a6,#0e9f95)}.primary-action.income{background:linear-gradient(160deg,#3b82f6,#2f65d5)}.primary-action.card-pay{background:linear-gradient(160deg,#f59e0b,#e88607)}.primary-action.debt-pay{background:linear-gradient(160deg,#7c8dac,#62708e)}.home-pay-panel{border-color:#c7d9ff;box-shadow:0 14px 28px rgba(15,23,42,.07)}.home-pay-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.home-pay-header .section-heading{margin:0}.home-pay-options{display:grid;grid-gap:.75rem;gap:.75rem}.home-pay-option{align-items:center;background:linear-gradient(180deg,#fff,#f7faff);border:1px solid var(--line);border-radius:14px;color:inherit;display:flex;gap:.75rem;justify-content:space-between;min-height:72px;padding:.95rem 1rem;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;width:100%}.home-pay-option.due{background:#fff7f7;border-color:#f3d4d4}.home-pay-option:focus-visible,.home-pay-option:hover{border-color:#b8cdfb;box-shadow:0 10px 20px rgba(37,99,235,.12);transform:translateY(-1px)}.home-pay-option strong{display:block;font-size:.95rem}.home-pay-option span{color:var(--muted);display:block;font-size:.84rem;line-height:1.4;margin-top:.15rem}.home-pay-option-cta{color:var(--blue);font-size:.82rem;font-weight:700;white-space:nowrap}.home-pay-summary{background:var(--surface-strong);border:1px solid var(--line);border-radius:14px;margin-bottom:1rem;padding:1rem 1.1rem}.home-pay-summary.due{background:#fff7f7;border-color:#f3d4d4}.home-pay-summary-label{color:var(--muted);display:block;font-size:.82rem}.home-pay-summary-name{display:block;font-size:1.05rem;margin-top:.2rem}.home-pay-summary-balance{color:var(--ink);font-size:1.2rem;font-weight:700;margin:.35rem 0 .5rem}.home-pay-summary.due .home-pay-summary-balance{color:var(--red)}.home-dashboard .metric-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{border-radius:16px;display:grid;grid-gap:8px;gap:8px;min-height:104px;min-width:0;box-shadow:0 10px 22px rgba(15,23,42,.06);padding:16px}.metric span{color:#51608f;font-size:.83rem;font-weight:700;letter-spacing:.01em;line-height:1.25}.metric strong{font-size:clamp(1.2rem,3.2vw,1.65rem);letter-spacing:-.02em;line-height:1.1;overflow-wrap:normal;white-space:normal;word-break:normal}.metric.good{background:linear-gradient(180deg,#fcfffd,#f4fdf9);border-color:#d5eee2}.metric.danger{background:linear-gradient(180deg,#fffdfd,#fff6f8);border-color:#f1d9df}.metric.neutral{background:linear-gradient(180deg,#fcfdff,#f4f8ff);border-color:#d9e3ff}.alerts{display:grid;grid-gap:12px;gap:12px}.alerts-header{align-items:center;display:flex;font-size:.9rem;font-weight:800;justify-content:space-between;padding:0 4px}.alerts-header span{color:#34446f}.alerts-header b{background:#eaf2ff;border:1px solid #cedfff;border-radius:999px;color:var(--blue);font-weight:800;padding:5px 10px}.alert-strip{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.alert{align-items:center;border-radius:14px;display:flex;gap:10px;min-height:64px;padding:12px 14px;box-shadow:0 8px 18px rgba(15,23,42,.05)}.alert svg{flex:0 0 auto;height:20px;width:20px}.alert p{color:var(--muted);font-size:.92rem;line-height:1.25;margin:2px 0 0}.alert strong{display:block;font-size:.96rem;line-height:1.15}.alert.danger{background:rgba(255,243,245,.78);border-color:#f4d8dd}.alert.warning{background:rgba(255,248,230,.82);border-color:#f2dfaa}.alert.good{background:rgba(236,249,243,.82);border-color:#cfebdd}.panel{background:hsla(0,0%,100%,.98);border-radius:18px;box-shadow:0 10px 24px rgba(15,23,42,.06);min-width:0;padding:18px}.section-heading{margin-bottom:18px}.movement p,.progress-row p,.section-heading p{color:var(--muted);margin:6px 0 0}.capture-panel{background:radial-gradient(circle at 100% -10%,rgba(37,99,235,.1),transparent 42%),linear-gradient(180deg,#fff,#f8fbff);border-color:#d9e5f8;box-shadow:0 16px 34px rgba(15,23,42,.08)}.capture-panel .capture-lead,.capture-panel .section-heading{display:none}.type-switch{background:#edf3ff;border:1px solid #d3e2ff;border-radius:14px;display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;padding:4px}.type-switch.type-switch-two{grid-template-columns:1fr 1fr}.type-switch button{border:1px solid transparent;border-radius:10px;color:#4d5d8d;font-weight:800;min-height:48px}.type-switch .selected{background:linear-gradient(160deg,#2f6fed,#2458cb);border-color:hsla(0,0%,100%,.35);box-shadow:0 8px 18px rgba(37,99,235,.28);color:#fff}.type-switch .selected.expense-option{background:linear-gradient(160deg,#14b8a6,#0e9f95);box-shadow:0 8px 18px rgba(20,184,166,.28)}.type-switch .selected.income-option{background:linear-gradient(160deg,#3b82f6,#2f65d5);box-shadow:0 8px 18px rgba(59,130,246,.28)}.type-switch .selected.transfer-option{background:linear-gradient(160deg,#8b5cf6,#6d3fd6);box-shadow:0 8px 18px rgba(139,92,246,.28)}.form-grid,.settings-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,1fr);min-width:0}.config-panel{background:radial-gradient(circle at 100% 0,rgba(59,130,246,.08),transparent 35%),linear-gradient(180deg,#fff,#f9fbff);border-color:#d9e4f6}.config-panel .settings-grid{margin-top:4px}.config-panel .settings-grid>label{background:#fff;border:1px solid #dbe6f7;border-radius:14px;box-shadow:0 8px 16px rgba(15,23,42,.04);gap:8px;padding:11px 12px 12px}.config-panel .settings-grid>label>input,.config-panel .settings-grid>label>select{background:#f8fbff;border-color:#d7e4f8;min-height:52px}.config-panel .settings-grid>label>input:focus,.config-panel .settings-grid>label>select:focus{border-color:#8fb0ef}.config-section-heading{margin-top:1.4rem;margin-bottom:12px}.config-add-account-btn{margin-bottom:.9rem;width:100%}.form-grid>label{min-width:0}.capture-form{grid-template-columns:1fr}.capture-form>label{background:#fff;border:1px solid #dbe6f7;border-radius:14px;box-shadow:0 8px 16px rgba(15,23,42,.04);gap:8px;padding:11px 12px 12px}.capture-form>label>input,.capture-form>label>select{background:#f8fbff;border-color:#d7e4f8;min-height:52px}.capture-form>label>input[type=date]{font-size:16px;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis}.capture-form>label>input:focus,.capture-form>label>select:focus{border-color:#8fb0ef}.capture-form .submit-button[type=submit]{border-radius:16px;box-shadow:0 16px 28px rgba(37,99,235,.22);margin-top:6px;position:static;width:100%}.full,.submit-button{grid-column:1/-1}.submit-button{background:linear-gradient(160deg,#0da5a6,#0b8f9f);border:0;border-radius:14px;color:#fff;font-weight:900;min-height:58px;padding:0 20px;box-shadow:0 12px 22px rgba(13,165,166,.24)}.submit-button:hover{transform:translateY(-1px)}.submit-button.compact{grid-column:auto}.search-box{align-items:center;background:#f8fbff;border:1px solid #d9e4f6;border-radius:16px;display:flex;gap:10px;margin-bottom:18px;min-height:58px;padding:0 16px}.search-box input{border:0;flex:1 1;padding:16px 0}.bucket-list,.budget-list,.list{display:grid;grid-gap:10px;gap:10px}.movement{align-items:center;background:linear-gradient(180deg,#fff,#f9fbff);border-color:#d9e4f6;border-radius:14px;box-shadow:0 8px 18px rgba(15,23,42,.05);display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr auto auto;min-height:72px;min-width:0;padding:14px;cursor:pointer}.movement-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.movement:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.movement>div{min-width:0}.money,.movement p,.movement strong{overflow-wrap:anywhere}.money{font-weight:900;white-space:nowrap}.good-text{color:var(--green)}.danger-text,.icon-button{color:var(--red)}.icon-button{background:#fff8f9;border:1px solid #f4d6dd;border-radius:12px;height:42px;width:42px}.icon-button.muted{background:#f6f9ff;border-color:#d5e2fb;color:var(--blue)}.budget-form{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr;margin-bottom:14px}.budget-form>label{background:#fff;border:1px solid #dbe6f7;border-radius:14px;box-shadow:0 8px 16px rgba(15,23,42,.04);gap:8px;padding:11px 12px 12px}.budget-form>label>input,.budget-form>label>select{background:#f8fbff;border-color:#d7e4f8;min-height:52px}.budget-form>label>input:focus,.budget-form>label>select:focus{border-color:#8fb0ef}.budget-form .submit-button.compact{border-radius:14px;grid-column:1/-1;min-height:56px;width:100%}.movements-panel .list{gap:12px}.budget-panel .budget-form{margin-top:6px}.budget-panel .budget-form .submit-button[type=submit]{position:static;box-shadow:0 12px 22px rgba(13,165,166,.24)}.budget-panel,.movements-panel{background:radial-gradient(circle at 100% 0,rgba(59,130,246,.08),transparent 38%),linear-gradient(180deg,#fff,#f9fbff);border-color:#d9e4f6}.progress-row{border-radius:14px;box-shadow:0 10px 20px rgba(15,23,42,.05);padding:15px 16px}.progress-title{align-items:baseline;display:flex;gap:12px;justify-content:space-between;min-width:0}.progress-title strong{min-width:0;overflow-wrap:anywhere}.progress-title span{color:var(--muted);font-weight:800;text-align:right;white-space:nowrap}.progress-track{background:#edf2fa;border-radius:999px;height:14px;margin-top:12px;overflow:hidden}.progress-track i{background:var(--green);border-radius:inherit;display:block;height:100%;min-width:4px}.progress-track i.near{background:var(--yellow)}.progress-track i.over{background:var(--red)}.charts-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr}.budget-meter,.donut-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dbe6f8;border-radius:16px;box-shadow:0 12px 24px rgba(15,23,42,.06);min-width:0;padding:18px}.compact-heading{margin-bottom:14px}.compact-heading p{color:#51608f;font-weight:800;margin:6px 0 0}.donut-layout{grid-gap:14px;gap:14px;grid-template-columns:1fr;min-width:0}.donut-chart,.donut-layout{align-items:center;display:grid;justify-items:center}.donut-chart{aspect-ratio:1;border-radius:50%;padding:18px;width:min(210px,100%)}.donut-chart>div,.meter-ring i{background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #d6e3f8}.donut-chart>div{align-content:center;display:grid;height:100%;justify-items:center;width:100%}.donut-chart strong{font-size:1.8rem}.donut-chart span,.empty-chart{color:var(--muted);font-weight:800}.chart-legend{display:grid;grid-gap:9px;gap:9px;width:100%}.chart-legend-row{align-items:center;border:1px solid transparent;color:var(--ink);display:grid;font-weight:700;grid-gap:8px;gap:8px;grid-template-columns:auto 1fr auto auto;min-width:0;overflow-wrap:normal;word-break:normal;padding:6px 8px;border-radius:10px;background:#f7faff;width:100%;text-align:left}.chart-legend-row.selected{border-color:#bbd4fb;background:#eef5ff;box-shadow:0 8px 14px rgba(37,99,235,.12)}.chart-legend-row small{color:#64748b;font-size:.8rem;font-weight:700}.chart-legend b{color:#51608f}.legend-dot{border-radius:50%;display:inline-block;height:11px;width:11px}.horizontal{gap:18px;margin-top:16px}.horizontal,.horizontal span{display:flex}.donut-drilldown{border-top:1px solid #d8e4f8;margin-top:12px;padding-top:12px;display:grid;grid-gap:8px;gap:8px}.donut-drilldown h4{font-size:1rem}.donut-drilldown-meta{margin:0;color:#5f6f92;font-weight:700}.donut-drilldown-inner{margin-top:4px}.donut-chart--drilldown{padding:14px;width:min(168px,100%)}.donut-chart--drilldown strong{font-size:1.35rem}.chart-legend-row--readonly{cursor:default;pointer-events:none}.income-dot{background:var(--green)}.expense-dot{background:var(--red)}.visual-budget-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:1fr}.comparison-chart{align-items:end;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(12,minmax(44px,1fr));min-height:210px;overflow-x:auto;padding-bottom:4px}.comparison-month{display:grid;grid-gap:8px;gap:8px;justify-items:center}.comparison-bars{align-items:flex-end;background:linear-gradient(180deg,#f6f9ff,#eef4ff);border:1px solid #d7e4f8;border-radius:12px;display:flex;gap:5px;height:160px;padding:8px;width:100%}.comparison-bars b,.comparison-bars i{border-radius:999px 999px 4px 4px;display:block;min-height:8px;width:50%}.comparison-bars i{background:var(--cyan)}.comparison-bars b{background:var(--red)}.trend-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.trend-card{border-radius:14px;border:1px solid #dbe6f7;background:linear-gradient(180deg,#fff,#f9fbff);box-shadow:0 8px 16px rgba(15,23,42,.05);display:grid;grid-gap:8px;gap:8px;grid-template-rows:auto auto 1fr;min-height:150px;padding:12px 12px 14px}.annual-panel{background:radial-gradient(circle at 100% 0,rgba(59,130,246,.08),transparent 35%),linear-gradient(180deg,#fff,#f9fbff);border-color:#d9e4f6}.annual-summary{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.annual-summary-card{background:#fff;border:1px solid #dbe6f7;border-radius:14px;box-shadow:0 8px 16px rgba(15,23,42,.05);display:grid;grid-gap:6px;gap:6px;min-width:0;padding:10px 11px}.annual-summary-card span{color:#51608f;font-size:.78rem;font-weight:700;letter-spacing:.01em}.annual-summary-card strong{font-size:1.05rem;font-weight:900;line-height:1.15;overflow-wrap:anywhere}.annual-summary-card.income strong{color:#0f8b9a}.annual-summary-card.expense strong{color:#be3548}.annual-summary-card.savings strong{color:#1d4ed8}.trend-card span{color:var(--muted);font-size:.9rem;font-weight:800;overflow-wrap:anywhere}.trend-line-card{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #dbe6f7;border-radius:16px;box-shadow:0 10px 20px rgba(15,23,42,.06);padding:16px}.trend-line-canvas{background:#f8fbff;border:1px solid #dbe6f7;border-radius:14px;margin-top:8px;overflow:hidden;padding:8px 6px 2px;position:relative}.trend-line-canvas svg{display:block;height:auto;width:100%}.trend-axis{stroke:#d5deef;stroke-width:1}.trend-area{fill:rgba(214,69,80,.12)}.trend-area.positive{fill:rgba(22,160,133,.16)}.trend-area.negative{fill:rgba(214,69,80,.16)}.trend-grid{stroke:rgba(15,23,42,.06);stroke-width:1}.trend-x-label,.trend-y-label{fill:var(--muted);font-family:inherit;font-size:9px;font-weight:700}.trend-y-label{text-anchor:end}.trend-line{fill:none;stroke-linejoin:round;stroke-linecap:round;stroke-width:2.5}.trend-line.income{stroke:var(--green)}.trend-line.expense{stroke:var(--red)}.trend-dot.income{fill:var(--green)}.trend-dot.expense{fill:var(--red)}.trend-dot.active{stroke:#fff;stroke-width:2}.trend-cursor{stroke:#93a4c7;stroke-dasharray:3 3;stroke-width:1.2}.trend-tooltip{background:rgba(17,30,58,.94);border-radius:10px;box-shadow:0 8px 18px rgba(15,23,42,.28);color:#fff;display:grid;grid-gap:3px;gap:3px;left:50%;min-width:120px;padding:8px 10px;pointer-events:none;position:absolute;top:8px;transform:translateX(-50%);z-index:3}.trend-tooltip strong{font-size:.74rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.trend-tooltip-row{align-items:center;display:flex;font-size:.78rem;gap:6px}.trend-tooltip-row i{border-radius:50%;height:8px;width:8px}.trend-tooltip-row.income i{background:var(--green)}.trend-tooltip-row.expense i{background:var(--red)}.trend-tooltip-row b{font-weight:800;margin-left:auto}.trend-tooltip-row.net{border-top:1px solid hsla(0,0%,100%,.18);color:#c8d4ee;margin-top:2px;padding-top:4px}.monthly-breakdown-card{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #dbe6f7;border-radius:16px;box-shadow:0 10px 20px rgba(15,23,42,.06);margin-top:14px;padding:16px}.monthly-breakdown-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.monthly-breakdown-item{background:#f8fbff;border:1px solid #dbe6f7;border-radius:12px;display:grid;grid-gap:6px;gap:6px;padding:10px 12px}.monthly-breakdown-month{color:var(--ink);font-size:.92rem;font-weight:900;text-transform:capitalize}.monthly-breakdown-figure{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.monthly-breakdown-figure span{color:#5f6f91;font-size:.78rem}.monthly-breakdown-figure strong{font-size:.9rem;font-weight:800}.monthly-breakdown-figure.income strong{color:var(--green)}.monthly-breakdown-figure.expense strong{color:var(--red)}.monthly-breakdown-net{align-items:baseline;border-top:1px solid #e3ebf8;display:flex;gap:8px;justify-content:space-between;padding-top:6px}.monthly-breakdown-net span{color:#5f6f91;font-size:.78rem}.monthly-breakdown-net strong{font-size:.92rem;font-weight:900}.monthly-breakdown-net.positive strong{color:#0f6b57}.monthly-breakdown-net.negative strong{color:var(--red-dark)}.trend-line-summary{color:#51608f;display:grid;grid-gap:4px;gap:4px;margin-top:10px}.trend-line-summary span{font-size:.82rem}.trend-line-summary strong{color:var(--ink);font-weight:900}.monthly-insights-stack{gap:14px}.monthly-insights-panel{background:radial-gradient(circle at 100% 0,rgba(59,130,246,.08),transparent 38%),linear-gradient(180deg,#fff,#f9fbff);border-color:#d9e4f6}.monthly-insights-panel .budget-balance-card{margin-top:6px}.monthly-charts-grid{display:grid;grid-gap:12px;gap:12px;margin-top:12px;grid-template-columns:1fr}.bucket-insights-panel{background:linear-gradient(180deg,#fff,#f9fbff);border-color:#dbe6f7}.trend-line-labels{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(12,minmax(0,1fr));margin-top:8px}.trend-line-labels span{color:#5f6f91;font-size:.74rem;font-weight:700;text-align:center}.insight-highlights{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.insight-highlight-card{background:linear-gradient(180deg,#f2fbf9,#ebf7f6);border:1px solid #d4ece7;border-radius:12px;display:grid;grid-gap:4px;gap:4px;min-width:0;padding:11px 12px}.insight-highlight-card strong{color:#1f2f4f;font-size:.86rem;line-height:1.2}.insight-highlight-card span{color:#5f6f91;font-size:.82rem;overflow-wrap:anywhere}.insight-highlight-card b{color:#111e3a;font-size:1.05rem}.insight-highlight-card.savings-good{background:linear-gradient(180deg,#ecfbf6,#d9f4ea);border-color:#b7e2cf}.insight-highlight-card.savings-good b{color:#0f6b57}.insight-highlight-card.savings-bad{background:linear-gradient(180deg,#fdeeef,#fbdde0);border-color:#f3c4cb}.insight-highlight-card.savings-bad b{color:var(--red-dark)}.mini-bars{align-items:flex-end;display:flex;gap:5px;height:76px;margin-top:2px;overflow:hidden}.mini-bars b,.mini-bars i{border-radius:999px 999px 0 0;display:block;width:16px}.mini-bars i{background:var(--cyan)}.mini-bars b{background:var(--red)}.category-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.category-preview span{background:#eef3fb;border-radius:999px;color:var(--muted);font-weight:800;padding:9px 12px}@media (max-width:900px){.shell{width:min(100% - 24px,760px)}.metric-grid{grid-template-columns:repeat(2,1fr)}.charts-grid,.visual-budget-grid{grid-template-columns:1fr}.tabs{grid-template-columns:repeat(4,1fr)}.trend-grid{grid-template-columns:repeat(3,1fr)}.budget-form,.donut-layout{grid-template-columns:1fr}.submit-button.compact{grid-column:1}}@media (max-width:720px){.shell{padding:max(60px,calc(env(safe-area-inset-top) + 20px)) max(9px,env(safe-area-inset-right)) max(96px,calc(24px + env(safe-area-inset-bottom))) max(9px,env(safe-area-inset-left));width:min(100% - 18px,520px)}.more-subtabs .tab{flex:0 0 auto;min-height:52px;padding:10px 14px}.capture-panel{padding:16px}.capture-panel .section-heading{margin-bottom:6px}.capture-panel .section-heading h2{font-size:.98rem}.capture-panel .capture-lead{display:none}.capture-panel .form-grid{gap:12px}.capture-panel .type-switch{margin-bottom:2px}.capture-panel .submit-button{margin-top:4px;min-height:54px;width:100%}.add-account-hint{align-items:center;background:var(--blue-soft);border:1px solid #c7d9ff;border-radius:12px;justify-content:flex-start;min-height:48px;opacity:1;padding:12px 14px;text-align:left;text-decoration:none;width:100%}.hero-panel,.progress-title{align-items:stretch;display:grid;grid-template-columns:1fr}.topbar{align-items:center;display:flex;gap:10px;justify-content:space-between}.top-actions{display:flex;gap:12px;justify-content:flex-end;width:auto}.user-menu{width:auto}.user-button{width:100%;justify-content:space-between}.user-button.avatar-only{width:-moz-fit-content;width:fit-content;justify-self:end}.user-dropdown{right:0;left:auto;width:min(288px,calc(100vw - 18px));max-width:min(288px,calc(100vw - 18px))}.status-pill{justify-content:flex-start;width:100%}.actions-grid:not(.home-actions),.charts-grid,.donut-layout,.form-grid,.metric-grid,.month-strip,.settings-grid,.visual-budget-grid{grid-template-columns:1fr}.tabs{display:flex;gap:8px;margin-left:-9px;margin-right:-9px;overflow-x:auto;padding:0 9px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 112px;min-height:64px;scroll-snap-align:start}.hero-panel,.panel{padding:18px}.onboarding-features{grid-template-columns:1fr}.feature{min-height:auto}.score{text-align:center}.primary-action{min-height:68px;width:100%}.home-actions .primary-action{min-height:76px}.topbar-compact{margin-bottom:12px}.topbar-compact .header-brand .eyebrow{display:none}.topbar-compact .logo-icon{height:36px;width:36px}.topbar-compact h1{font-size:1.28rem}.topbar-compact .status-pill{display:none}.month-strip-compact{gap:8px;margin-bottom:12px}.month-strip-compact .month-strip-month,.month-strip-compact .month-strip-year{min-height:44px}.home-hero{grid-template-columns:1fr auto}.home-hero .hero-answer{display:none}.home-hero h2{font-size:1.12rem}.home-hero .score{font-size:1.2rem;padding:10px 12px}.alert-strip{display:flex;margin-left:-9px;margin-right:-9px;overflow-x:auto;padding:0 9px 4px;scroll-snap-type:x mandatory;scrollbar-width:none}.alert-strip::-webkit-scrollbar{display:none}.alert{flex:0 0 min(86vw,360px);scroll-snap-align:start}.metric{min-height:96px}.home-dashboard .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.movement{align-items:start;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"details amount" "details actions"}.movement>div:first-child{grid-area:details}.movement .money{grid-area:amount;align-self:start;justify-self:end}.movement-actions{grid-area:actions;align-self:end;justify-self:end}.budget-form .submit-button[type=submit]{background:var(--blue);bottom:max(84px,calc(12px + env(safe-area-inset-bottom) + 56px));box-shadow:0 -8px 24px rgba(17,24,39,.08);position:-webkit-sticky;position:sticky;z-index:4}.comparison-chart{grid-template-columns:repeat(12,48px)}.trend-grid{grid-template-columns:repeat(2,1fr)}.annual-summary{grid-template-columns:1fr}}@media (max-width:430px){h1{font-size:2rem}h2{font-size:1.28rem}.shell{width:min(100% - 14px,420px);padding:max(60px,calc(env(safe-area-inset-top) + 20px)) max(8px,env(safe-area-inset-right)) max(96px,calc(24px + env(safe-area-inset-bottom))) max(8px,env(safe-area-inset-left))}.header-brand,.topbar{gap:10px}.logo-icon{width:42px;height:42px}.eyebrow{font-size:.78rem}.user-button{padding:10px 14px}.auth-panel,.hero-panel,.panel{padding:16px}.tab{flex-basis:104px;font-size:.82rem}.topbar h1{font-size:1.65rem}.topbar-compact h1{font-size:1.2rem}.tab svg{height:20px;width:20px}.month-strip label{padding:10px}input:not([type=checkbox]):not([type=radio]),select{min-height:50px}.primary-action{font-size:1.05rem}.metric strong{font-size:1.32rem}.movement .money{white-space:normal}.donut-chart{justify-self:center;max-width:210px;width:100%}.chart-legend span{grid-template-columns:auto 1fr auto}.chart-legend b{grid-column:auto}.trend-line-card{padding:14px}.trend-line-labels{grid-template-columns:repeat(6,minmax(0,1fr))}.insight-highlights,.trend-grid,.visual-budget-grid{grid-template-columns:1fr}}@media (max-width:360px){.actions-grid:not(.home-actions),.charts-grid,.donut-layout,.metric-grid,.month-strip:not(.month-strip-compact),.top-actions,.topbar,.visual-budget-grid{grid-template-columns:1fr}.alert,.status-pill,.tab,.user-button{width:100%}.tab{min-width:100px}.primary-action{min-height:62px}.home-actions .primary-action{min-height:72px}.alert{flex:0 0 min(92vw,320px)}.comparison-chart{grid-template-columns:repeat(12,44px)}}.subcategory-search-wrap{display:flex;flex-direction:column;gap:.55rem}.subcategory-search-input-wrap{position:relative;display:flex;align-items:center}.subcategory-search-icon{position:absolute;left:.7rem;color:var(--muted);pointer-events:none;flex-shrink:0}.subcategory-search-input{width:100%;padding:.7rem .85rem .7rem 2.1rem!important;border:1px solid #d7e4f8;border-radius:12px;font-size:1rem;background:#f8fbff;color:var(--ink);outline:none}.subcategory-search-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.subcategory-search-wrap select{width:100%;border-radius:12px;border:1px solid #d7e4f8;min-height:52px;padding:0 .85rem;background:#f8fbff;font-size:max(16px,1rem);outline:none;cursor:pointer}.subcategory-search-wrap select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.accounts-cta{display:flex;align-items:center;gap:.85rem;background:var(--blue-soft);border:1.5px dashed #a5bcf7;border-radius:14px;padding:1rem 1.1rem;width:100%;text-align:left;cursor:pointer;color:var(--blue);transition:background .15s}.accounts-cta:hover{background:#dce8ff}.accounts-cta div{flex:1 1;display:flex;flex-direction:column;gap:.2rem}.accounts-cta strong{font-size:.95rem;font-weight:700;color:var(--blue)}.accounts-cta span{font-size:.8rem;color:var(--muted);font-weight:400}.add-account-hint{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--blue);font-size:.82rem;font-weight:500;cursor:pointer;padding:.3rem 0;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:#a5bcf7;text-decoration-color:#a5bcf7;opacity:.85;grid-column:1/-1}.add-account-hint:hover{opacity:1}.cash-panel{background:radial-gradient(circle at 100% 0,rgba(59,130,246,.08),transparent 40%),linear-gradient(180deg,#fff,#f9fbff);border-color:#d9e4f6}.cash-panel .section-heading{margin-bottom:14px}.cash-panel .section-heading h2{letter-spacing:-.015em}.cash-panel .accounts-grid{grid-template-columns:1fr;gap:.6rem}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:.5rem}.account-card{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #dbe6f6;border-radius:16px;box-shadow:0 8px 18px rgba(15,23,42,.05);padding:1rem;display:flex;flex-direction:column;gap:.4rem}.account-total-card{background:var(--blue-soft);border-color:#c7d9ff}.account-name{font-size:.82rem;color:#6374a7;font-weight:600}.account-balance{font-size:1.12rem;font-weight:800;color:var(--ink)}.account-balance.positive{color:var(--green)}.account-balance.negative{color:var(--red)}.account-balance.neutral{color:var(--muted)}.accounts-group-title{color:#243252;margin:1.15rem 0 .25rem;font-size:.88rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.account-card-liability-due{background:#fff7f7;border-color:#f3d4d4}.account-card-liability-clear{background:var(--surface-strong);border-color:var(--line)}.account-card-action{color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;width:100%}.account-card-action:focus-visible,.account-card-action:hover{border-color:#bdd1f8;box-shadow:0 10px 20px rgba(37,99,235,.1);transform:translateY(-1px)}.account-card-action.selected{border-color:#7aa2ff;box-shadow:0 0 0 2px rgba(37,99,235,.16)}.account-card-cta{color:#0f8b9a;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.liability-tap-hint{margin:0 0 .5rem;color:#5a6786;font-size:.8rem}.account-config-pay{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:.75rem;justify-content:space-between;padding:0;text-align:left;width:100%}.account-config-pay-cta{background:#eef4ff;border:1px solid #cddcff;border-radius:999px;color:#2758be;font-size:.78rem;font-weight:800;min-height:34px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.primary-action.compact-action{margin-top:.85rem;width:-moz-fit-content;width:fit-content}.pay-liability-block{margin:1.5rem 0 .5rem}.pay-liability-form{grid-template-columns:1fr;margin-top:.75rem}.pay-liability-form>label:not(.pay-expense-toggle){background:#fff;border:1px solid #dbe6f7;border-radius:14px;box-shadow:0 8px 16px rgba(15,23,42,.04);gap:8px;padding:11px 12px 12px}.pay-liability-form>label:not(.pay-expense-toggle)>input,.pay-liability-form>label:not(.pay-expense-toggle)>select{background:#f8fbff;border-color:#d7e4f8;min-height:48px}.pay-liability-form>label:not(.pay-expense-toggle)>input[type=date]{font-size:16px;line-height:1.2;min-height:48px;text-align:left}.pay-liability-form>label:not(.pay-expense-toggle)>input[type=date]::-webkit-date-and-time-value{text-align:left}.pay-liability-form>label:not(.pay-expense-toggle)>input[type=date]::-webkit-datetime-edit{justify-content:flex-start}.pay-liability-actions{display:grid;grid-template-columns:1fr;grid-gap:.65rem;gap:.65rem;align-items:stretch}.pay-expense-toggle{align-items:center;background:#f8fbff;border:1px solid #dbe6f7;border-radius:14px;box-shadow:0 8px 16px rgba(15,23,42,.04);color:var(--ink);cursor:pointer;display:flex!important;flex-direction:row;font-size:.95rem;font-weight:600;gap:12px;margin:0;min-height:0;padding:14px 16px;width:100%}.pay-expense-toggle>span:first-child{flex:1 1;line-height:1.35}.pay-expense-toggle .toggle-switch{flex-shrink:0;height:31px;position:relative;width:51px}.pay-expense-toggle .toggle-switch input{height:0;opacity:0;position:absolute;width:0}.pay-expense-toggle .toggle-slider{background:#cbd5e1;border-radius:999px;inset:0;position:absolute;transition:background .2s ease}.pay-expense-toggle .toggle-slider:before{background:#fff;border-radius:50%;bottom:2px;box-shadow:0 1px 3px rgba(15,23,42,.2);content:"";height:27px;left:2px;position:absolute;transition:transform .2s ease;width:27px}.pay-expense-toggle .toggle-switch input:checked+.toggle-slider{background:var(--blue)}.pay-expense-toggle .toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}.pay-expense-toggle .toggle-switch input:focus-visible+.toggle-slider{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.account-config-list{margin-top:1rem}.config-panel .account-config-list{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #dbe6f7;border-radius:14px;box-shadow:0 8px 16px rgba(15,23,42,.04);padding:12px}.account-config-empty{color:#64748b;font-size:.9rem}.account-config-rows{display:grid;grid-gap:.55rem;gap:.55rem}.account-config-row{background:#fff;border:1px solid #dbe6f7;border-radius:12px;display:grid;grid-template-columns:1fr auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:10px 11px}.account-edit-form{grid-column:1/-1}.danger-link{align-items:center;background:#f8fafc;border:1px solid #d8e0ee;border-radius:12px;color:#b64154;display:inline-flex;font-size:0;font-weight:800;justify-content:center;line-height:1;margin-top:0;min-height:40px;min-width:40px;padding:0;width:auto}.field-hint,.form-hint{display:block;margin-top:.35rem;font-size:.82rem;line-height:1.4;color:var(--muted)}.budget-context{display:block;margin-top:.5rem;padding:.65rem .75rem;border-radius:10px;border:1px solid #d7e3ff;background:#f7faff;font-size:.82rem;line-height:1.45;color:var(--blue)}.movement-transfer{border-color:#d7e3ff;background:#f7faff}.transfer-text{color:var(--blue)}.accounts-empty-actions,.accounts-shortcuts,.config-liability-links{display:grid;grid-gap:.75rem;gap:.75rem}.config-panel .config-liability-links{margin-top:.8rem}.accounts-shortcut{align-items:center;background:var(--surface-strong);border:1px solid var(--line);border-radius:14px;color:inherit;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:auto 1fr;padding:.95rem 1rem;text-align:left;width:100%}.config-panel .accounts-shortcut{background:linear-gradient(180deg,#fff,#f8fbff);border-color:#dbe6f7;box-shadow:0 8px 16px rgba(15,23,42,.04)}.accounts-shortcut strong{display:block;font-size:.95rem}.accounts-shortcut span{color:var(--muted);display:block;font-size:.84rem;line-height:1.4;margin-top:.15rem}.more-menu-panel{background:radial-gradient(circle at 100% 0,rgba(14,165,233,.07),transparent 42%),linear-gradient(180deg,#fff,#f9fbff)}.more-menu-list{display:grid;grid-gap:10px;gap:10px}.more-menu-row{align-items:center;background:#fff;border:1px solid #dbe6f7;border-radius:16px;color:inherit;display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;min-height:76px;padding:13px 14px;text-align:left;width:100%}.more-menu-row svg{color:#62708f;height:23px;width:23px}.more-menu-row span{display:grid;grid-gap:3px;gap:3px;min-width:0}.more-menu-row strong{font-size:1rem;line-height:1.1}.more-menu-row small{color:var(--muted);display:-webkit-box;font-size:.82rem;font-weight:650;line-height:1.25;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.more-menu-row b{background:#e9f7f7;border-radius:999px;color:#0f8b8d;font-size:.72rem;justify-self:end;max-width:104px;overflow:hidden;padding:7px 9px;text-overflow:ellipsis;white-space:nowrap}.liability-workspace .primary-action{border-radius:20px;box-shadow:0 14px 24px rgba(37,99,235,.2);margin-bottom:1rem;width:100%}.liability-workspace .primary-action.card-pay{background:linear-gradient(160deg,#f2a40f,#df8f03)}.liability-workspace .primary-action.debt-pay{background:linear-gradient(160deg,#748bb5,#5f759d)}.liability-bank-hint,.liability-empty{margin:0 0 1rem}.liability-total{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between;margin:.5rem 0 1rem}.liability-total span{color:var(--muted);font-size:.9rem}.liability-total.due strong{color:var(--red);font-size:1.2rem}.liability-total.clear strong{color:var(--muted);font-size:1.2rem}.liability-amount-due{color:var(--red)}.liability-amount-clear{color:var(--muted)}.wizard-trigger-row{display:flex;gap:.6rem;margin-bottom:1rem}.wizard-trigger{display:flex;align-items:center;gap:.4rem;flex:1 1;justify-content:center;padding:.6rem .8rem;border-radius:10px;border:1.5px dashed var(--line);background:transparent;font-size:.88rem;font-weight:600;color:var(--blue);cursor:pointer;transition:background .15s,border-color .15s}.wizard-trigger.active,.wizard-trigger:hover{background:var(--blue-soft);border-color:var(--blue);border-style:solid}.wizard-card{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;margin-bottom:1rem;overflow:hidden}.wizard-steps{display:flex;align-items:center;gap:.4rem;padding:.6rem 1rem;background:var(--blue-soft);border-bottom:1px solid var(--line);font-size:.78rem;font-weight:600}.wizard-step{color:var(--muted);transition:color .15s}.wizard-step.active{color:var(--blue)}.wizard-sep{color:var(--muted)}.wizard-body{display:flex;flex-direction:column;gap:.85rem;padding:1rem}.wizard-name-preview{font-size:.85rem;color:var(--muted);margin:0}.wizard-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.wizard-actions .submit-button.compact{flex:1 1}.type-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;margin-top:.4rem}.type-btn{padding:.55rem;border-radius:9px;border:1.5px solid var(--line);background:var(--surface);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s;color:var(--ink)}.type-btn:hover{border-color:var(--blue);background:var(--blue-soft)}.type-btn.selected{background:var(--blue);border-color:var(--blue);color:#fff}.tx-edit-card{background:var(--blue-soft);border:1.5px solid #c7d9ff;border-radius:14px;margin-bottom:.75rem;overflow:hidden}.tx-edit-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem 1rem;background:rgba(37,99,235,.08);border-bottom:1px solid #c7d9ff;font-size:.8rem;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.04em}.tx-edit-card .form-grid{padding:1rem;gap:.75rem}.tx-edit-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.tx-edit-actions .submit-button.compact{flex:1 1}.movement .icon-button{background:transparent;border:1px solid #dbe4f2;border-radius:10px;box-shadow:none;color:#6b7892;height:36px;opacity:1;width:36px}.movement .icon-button:focus-visible,.movement .icon-button:hover{background:#f5f8fd;border-color:#c8d5ea;color:#4f5d79}.movement .icon-button.danger{border-color:#e8d6dc;color:#b06a78}.movement .icon-button.danger:focus-visible,.movement .icon-button.danger:hover{background:#fff7f9;border-color:#dfbec7;color:#9a5563}.budget-row-wrap{position:relative}.budget-row-actions{display:flex;gap:.25rem;justify-content:flex-end;margin-top:-.25rem;margin-bottom:.5rem;opacity:1}@media (hover:hover) and (pointer:fine){.budget-row-actions{opacity:.35;transition:opacity .15s}.budget-row-wrap:hover .budget-row-actions{opacity:1}}.budget-edit-row{background:var(--blue-soft);border:1px solid #c7d9ff;border-radius:12px;padding:.75rem 1rem;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.5rem}.budget-edit-label{font-size:.85rem;font-weight:600;color:var(--ink)}.budget-edit-controls{display:flex;flex-direction:column;gap:.5rem}.budget-edit-input{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:.55rem .75rem;font-size:1.05rem;background:var(--surface)}.budget-edit-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.budget-edit-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.budget-edit-currency{flex:0 0 auto;width:5.25rem;border:1px solid var(--line);border-radius:8px;padding:.45rem .55rem;background:var(--surface);font:inherit;color:inherit}.budget-edit-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}@media (min-width:520px){.budget-edit-controls{flex-direction:row;align-items:center}.budget-edit-input{flex:1 1 auto;min-width:7rem}.budget-edit-meta{flex:0 0 auto;justify-content:flex-start}}.icon-button.danger{color:var(--red)}.editable-list{display:flex;flex-direction:column;gap:.4rem}.editable-list-row{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;border-radius:8px;transition:background .1s}.editable-list-row:hover{background:var(--surface-strong)}.editable-list-row span{flex:1 1;font-size:.9rem}.editable-list-row.editing{background:var(--blue-soft);border:1px solid #c7d9ff}.editable-input{flex:1 1;border:1px solid var(--line);border-radius:8px;padding:.3rem .5rem;font-size:1rem;background:var(--surface)}.editable-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.compact-edit-manager{display:flex;flex-direction:column;gap:.7rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.compact-edit-field{display:flex;flex-direction:column;gap:.55rem}.compact-edit-field select{min-height:44px;border-radius:10px}.compact-search-input-wrap{position:relative}.compact-search-input-wrap .subcategory-search-icon{left:.7rem}.compact-search-input-wrap .subcategory-search-input{width:100%}.compact-editor-row{display:flex;align-items:center;gap:.55rem}.compact-editor-preview{flex:1 1;display:flex;flex-direction:column;min-width:0}.compact-editor-preview span,.compact-editor-preview strong{overflow-wrap:anywhere}.compact-editor-preview strong{font-size:.94rem;color:var(--text)}.compact-editor-preview span{color:var(--muted);font-size:.84rem}.compact-editor-actions{display:flex;gap:.45rem}.budget-totals{margin-top:1rem;border-top:2px solid var(--line);padding-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.budget-totals-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;padding:.3rem 0}.budget-totals-row strong{font-weight:700}.budget-totals-row.surplus-good{color:var(--green);font-weight:600}.budget-totals-row.surplus-danger{color:var(--red);font-weight:600}.app-notice{align-items:center;border-radius:14px;display:flex;font-size:.95rem;font-weight:600;gap:10px;margin-bottom:14px;padding:12px 14px}.app-notice.error{background:var(--red-soft);border:1px solid #f4c7cd;color:#9f1f2d}.app-notice.success{background:var(--green-soft);border:1px solid #c8e8dc;color:#0f6b57}.undo-toast{align-items:center;animation:undo-toast-in .22s ease;background:linear-gradient(160deg,#16a085,#0f8a72);border-radius:16px;bottom:max(94px,calc(env(safe-area-inset-bottom) + 78px));box-shadow:0 18px 40px rgba(15,23,42,.28);color:#fff;display:flex;gap:12px;left:50%;padding:12px 14px;position:fixed;transform:translateX(-50%);width:min(520px,calc(100% - 32px));z-index:28}@keyframes undo-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.undo-toast-icon{flex-shrink:0;height:22px;width:22px}.undo-toast-message{flex:1 1;font-size:.95rem;font-weight:700}.undo-toast-action{background:hsla(0,0%,100%,.18);border:1px solid hsla(0,0%,100%,.5);border-radius:999px;color:#fff;flex-shrink:0;font-size:.9rem;font-weight:800;padding:7px 16px}.undo-toast-action:hover{background:hsla(0,0%,100%,.28)}.undo-toast-close{align-items:center;background:transparent;border-radius:10px;color:hsla(0,0%,100%,.9);display:flex;flex-shrink:0;justify-content:center;padding:4px}.undo-toast-close svg{height:18px;width:18px}.success-screen{flex-direction:column;gap:18px;padding-top:12px;text-align:center}.success-check,.success-screen{display:flex;align-items:center}.success-check{animation:success-pop .48s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(160deg,#16a085,#0e9f76);border-radius:50%;box-shadow:0 18px 40px rgba(22,160,133,.35);color:#fff;height:96px;justify-content:center;width:96px}.success-check svg{height:48px;stroke-width:3;width:48px}@keyframes success-pop{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.success-heading h2{margin:0}.success-heading p{color:var(--muted);margin:6px 0 0}.success-summary{text-align:left;width:100%}.success-summary h3{font-size:.95rem;margin:0 0 12px}.summary-list{display:flex;flex-direction:column;gap:2px;margin:0}.summary-row{align-items:baseline;border-top:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:11px 0}.summary-row:first-child{border-top:0}.summary-row dt{color:var(--muted);font-size:.92rem}.summary-row dd{font-weight:700;margin:0;text-align:right;word-break:break-word}.success-budget{align-items:flex-start;background:#fef6e0;border:1px solid #f6e0a8;border-radius:16px;color:#92651a;display:flex;gap:12px;padding:14px 16px;text-align:left;width:100%}.success-budget svg{flex-shrink:0;height:22px;margin-top:2px;width:22px}.success-budget strong{display:block;font-size:.9rem}.success-budget p{margin:4px 0 0;font-size:.92rem;line-height:1.4}.success-actions{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr;margin-top:4px;width:100%}.success-primary,.success-secondary{border-radius:16px;font-size:1rem;font-weight:800;min-height:56px;padding:14px 16px}.success-secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.success-secondary:hover{border-color:#c4d2ea}.success-primary{background:linear-gradient(160deg,#16a085,#0e9f76);box-shadow:0 14px 28px rgba(22,160,133,.24);color:#fff}.success-primary:hover{box-shadow:0 18px 32px rgba(22,160,133,.3);transform:translateY(-1px)}.settings-toggle{align-items:center;background:#fff;border:1px solid #dbe6f7;border-radius:14px;box-shadow:0 8px 16px rgba(15,23,42,.04);display:flex;gap:14px;grid-column:1/-1;padding:13px 14px}.settings-toggle-text strong{display:block;font-size:.95rem}.settings-toggle-text .form-hint{margin-top:4px}.toggle-switch{align-items:center;background:#cdd8ec;border-radius:999px;display:inline-flex;flex-shrink:0;height:30px;padding:3px;transition:background-color .16s ease;width:52px}.toggle-switch.on{background:var(--green)}.toggle-knob{background:#fff;border-radius:50%;box-shadow:0 2px 5px rgba(15,23,42,.25);height:24px;transition:transform .18s cubic-bezier(.34,1.56,.64,1);width:24px}.toggle-switch.on .toggle-knob{transform:translateX(22px)}.more-hub{gap:22px}.more-group{display:flex;flex-direction:column;gap:10px}.more-group-label{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.12em;margin:0 0 2px 4px;text-transform:uppercase}.more-group-cards{display:flex;flex-direction:column;gap:10px}.more-card{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);display:flex;gap:14px;min-width:0;overflow:hidden;padding:14px 16px;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;width:100%}.more-card:hover{border-color:#cdd9ee;box-shadow:0 16px 30px rgba(15,23,42,.1);transform:translateY(-1px)}.more-card-icon{align-items:center;border-radius:14px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.more-card-icon svg{height:22px;width:22px}.more-card-icon.tone-blue{background:var(--blue-soft);color:var(--blue)}.more-card-icon.tone-green{background:var(--green-soft);color:var(--green)}.more-card-icon.tone-orange{background:var(--orange-soft);color:#b8740a}.more-card-icon.tone-red{background:var(--red-soft);color:var(--red)}.more-card-icon.tone-violet{background:var(--violet-soft);color:var(--violet)}.more-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.more-card-text strong{font-size:.98rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-card-text small{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--muted);display:-webkit-box;font-size:.8rem;line-height:1.3;overflow:hidden;word-break:break-word}.more-card-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:2;gap:4px;margin-left:auto;min-width:0;text-align:right}.more-card-value{font-size:.92rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.more-card-badge,.more-card-value{font-weight:800;white-space:nowrap}.more-card-badge{border-radius:999px;font-size:.66rem;letter-spacing:.02em;padding:3px 8px;text-transform:uppercase}.more-card-badge.badge-good{background:var(--green-soft);color:#0f6b57}.more-card-badge.badge-danger{background:var(--red-soft);color:var(--red-dark)}.more-card-badge.badge-muted{background:#eef1f7;color:var(--muted)}.more-card-chevron{color:#aab4c8;flex-shrink:0;height:20px;width:20px}.reportes-heading{margin-bottom:2px}.report-segmented{background:#eef1f7;border-radius:14px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:repeat(3,1fr);margin-bottom:4px;padding:4px}.report-seg{background:transparent;border-radius:10px;color:var(--muted);font-size:.92rem;font-weight:700;min-height:42px;padding:9px 8px;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.report-seg.active{background:var(--surface);box-shadow:0 4px 12px rgba(15,23,42,.1);color:var(--ink)}.masked-amount{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;letter-spacing:.12em;padding:0}.settings-action-row{align-items:center;background:#fff;border:1px solid #dbe6f7;border-radius:14px;box-shadow:0 8px 16px rgba(15,23,42,.04);color:var(--ink);display:flex;gap:14px;grid-column:1/-1;padding:13px 14px;text-align:left;transition:border-color .16s ease;width:100%}.settings-action-row:hover{border-color:#b9cdf0}.settings-action-row>svg{color:var(--blue);flex-shrink:0}.settings-action-chevron{color:#aab4c8;margin-left:auto}.signout-link{background:transparent;border:0;color:var(--muted);cursor:pointer;display:block;font-size:.88rem;font-weight:700;margin:22px auto 4px;padding:6px 10px;text-align:center;text-decoration:underline;transition:color .16s ease}.signout-link:hover{color:var(--red-dark)}.page-header{gap:12px;margin-bottom:18px}.page-back,.page-header{align-items:center;display:flex}.page-back{background:var(--surface);border:1px solid var(--line);border-radius:50%;box-shadow:var(--shadow-soft);color:var(--ink);flex-shrink:0;height:42px;justify-content:center;transition:border-color .16s ease,transform .16s ease;width:42px}.page-back:hover{border-color:#c4d2ea;transform:translateX(-1px)}.page-back svg{height:20px;width:20px}.page-header-text{flex:1 1;min-width:0}.page-header-text h1{font-size:1.3rem;line-height:1.2;margin:0}.page-header-text p{color:var(--muted);font-size:.84rem;margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header-action{flex-shrink:0}.page-header-icon-btn{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);color:var(--muted);display:flex;height:42px;justify-content:center;transition:background-color .16s ease,color .16s ease,border-color .16s ease;width:42px}.page-header-icon-btn.active{background:var(--blue-soft);border-color:#b9cdf0;color:var(--blue)}.capture-form-v2{display:flex;flex-direction:column;gap:16px}.capture-form-v2 .form-step{border:0;display:flex;flex-direction:column;gap:14px;margin:0;min-width:0;padding:0}.capture-form-v2 .form-step.is-hidden{display:none}.capture-form-v2 .form-step .form-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.capture-form-v2 label{display:flex;flex-direction:column;gap:6px}.budget-form-v2 .field-label,.capture-form-v2 .field-label,.capture-form-v2 label{font-size:.86rem;font-weight:700}.budget-form-v2 .budget-form-picker{background:#fff;border:1px solid #dbe6f7;border-radius:14px;box-shadow:0 8px 16px rgba(15,23,42,.04);display:flex;flex-direction:column;gap:10px;padding:12px}.step-indicator{align-items:center;display:flex;gap:12px}.step-dots{display:inline-flex;gap:6px}.step-dots .dot{background:#d2dbec;border-radius:50%;height:9px;transition:background-color .2s ease,width .2s ease;width:9px}.step-dots .dot.active{background:var(--blue);width:22px;border-radius:5px}.step-dots .dot.done{background:var(--green)}.step-label{color:var(--muted);font-size:.8rem;font-weight:700}.quick-amounts{display:flex;flex-wrap:wrap;gap:8px}.quick-amount{background:var(--blue-soft);border:1px solid #d4e0fb;border-radius:999px;color:var(--blue);font-size:.86rem;font-weight:800;padding:8px 14px;transition:background-color .14s ease,transform .14s ease}.quick-amount:hover{background:#dbe7ff;transform:translateY(-1px)}.category-chips{display:flex;flex-wrap:wrap;gap:8px}.category-chip{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--ink);display:inline-flex;font-size:.86rem;font-weight:700;gap:7px;padding:9px 14px;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.category-chip svg{color:var(--muted)}.category-chip:hover{border-color:#c4d2ea}.category-chip.selected{background:var(--blue);border-color:var(--blue);color:#fff}.category-chip.selected svg{color:#fff}.category-chip.more{border-style:dashed;color:var(--muted)}.subcat-cards{gap:8px}.subcat-card,.subcat-cards{display:flex;flex-direction:column}.subcat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:4px;padding:12px 14px;text-align:left;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease;width:100%}.subcat-card:hover{border-color:#c4d2ea}.subcat-card.selected{background:var(--blue-soft);border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}.subcat-card-name{font-size:.96rem;font-weight:700}.subcat-card-hint{color:var(--muted);font-size:.78rem;font-weight:600;line-height:1.35}.capture-actions{display:flex;gap:10px;margin-top:2px}.capture-actions .submit-button{flex:1 1}.capture-actions .submit-button:disabled{cursor:not-allowed;opacity:.5}.step-back-button{background:var(--surface);border:1px solid var(--line);border-radius:16px;color:var(--ink);flex-shrink:0;font-size:1rem;font-weight:800;min-height:56px;padding:14px 22px;transition:border-color .16s ease}.step-back-button:hover{border-color:#c4d2ea}.budget-balance-card{background:radial-gradient(120% 60% at 0 0,rgba(37,99,235,.08),transparent 60%),linear-gradient(170deg,#fff,var(--blue-soft));border:1px solid #d4e0fb;border-radius:20px;box-shadow:0 14px 28px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:14px;padding:18px}.budget-balance-card.over{background:radial-gradient(120% 60% at 0 0,rgba(214,69,80,.1),transparent 60%),linear-gradient(170deg,#fff,var(--red-soft));border-color:#f4c7cd}.bb-head{align-items:center;display:flex;justify-content:space-between}.bb-head strong{font-size:.98rem}.bb-period{background:rgba(37,99,235,.1);border-radius:999px;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.04em;padding:4px 10px;text-transform:capitalize}.budget-balance-card.over .bb-period{background:rgba(214,69,80,.12);color:var(--red-dark)}.bb-stats{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.bb-stat{display:flex;flex-direction:column;gap:2px;min-width:0}.bb-stat>span{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.bb-stat>b{font-size:1.32rem;font-weight:900;letter-spacing:-.01em;word-break:break-word}.bb-stat>b.danger{color:var(--red)}.bb-track{background:rgba(15,23,42,.08);border-radius:999px;height:14px;overflow:hidden;position:relative}.bb-track i{background:linear-gradient(90deg,var(--blue),#4f7df3);display:block;height:100%;transition:width .32s ease}.budget-balance-card.over .bb-track i{background:linear-gradient(90deg,var(--red),#ec5b67)}.bb-footer{align-items:baseline;color:var(--muted);display:flex;font-size:.86rem;font-weight:700;gap:12px;justify-content:space-between}.bb-detail.good{color:var(--green)}.bb-detail.danger{color:var(--red)}.tip-card{align-items:flex-start;background:var(--yellow-soft);border:1px solid #f1d486;border-radius:16px;color:#6c4b14;display:flex;gap:12px;padding:14px 16px}.tip-card>svg{color:var(--yellow);flex-shrink:0;height:22px;margin-top:2px;width:22px}.tip-card strong{display:block;font-size:.95rem}.tip-card p{font-size:.9rem;line-height:1.4;margin:4px 0 0}.tip-card.empty{align-items:center}.tip-card.empty p{margin:0}.cat-tag{background:var(--line-soft);border-radius:999px;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.04em;margin-right:8px;padding:2px 8px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.icon-button{align-items:center;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--muted);display:flex;height:30px;justify-content:center;transition:background-color .14s ease,border-color .14s ease,color .14s ease;width:30px}.icon-button:hover{background:var(--line-soft);border-color:#c4d2ea;color:var(--ink)}.icon-button.danger{background:transparent;border-color:var(--line);color:var(--muted)}.icon-button.danger:active,.icon-button.danger:focus-visible,.icon-button.danger:hover{background:var(--red-soft);border-color:#f4c7cd;color:var(--red)}.icon-button.confirm{background:transparent;border-color:var(--line);color:var(--green)}.icon-button.confirm:hover{background:var(--green-soft);border-color:#c8e8dc}.icon-button.muted{background:transparent;border-color:var(--line);color:var(--muted)}.icon-button.muted:hover{background:var(--blue-soft);border-color:#b9cdf0;color:var(--blue)}.icon-button svg{height:14px;width:14px}.donut-chart{position:relative;overflow:visible}.donut-chart>div{position:relative;box-shadow:inset 0 0 0 1px #d6e3f8,inset 0 2px 6px rgba(15,23,42,.08)}.chart-legend-row{align-items:stretch;display:flex;flex-direction:column;gap:6px;grid-template-columns:none;padding:8px 10px}.chart-legend-row .legend-row-main{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:auto 1fr auto auto;min-width:0;width:100%}.chart-legend-row .legend-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-bar{background:rgba(15,23,42,.06);height:4px;overflow:hidden;width:100%}.legend-bar,.legend-bar>i{border-radius:999px;display:block}.legend-bar>i{height:100%;transition:width .32s ease}.chart-legend-row.selected{background:var(--blue-soft);border-color:#b9cdf0;box-shadow:0 10px 18px rgba(37,99,235,.12)}.donut-breadcrumb{align-items:center;color:var(--muted);display:flex;font-size:.86rem;font-weight:700;gap:6px;margin-bottom:6px}.donut-breadcrumb-link{background:transparent;border:0;color:var(--blue);cursor:pointer;font-size:.86rem;font-weight:700;padding:2px 4px}.donut-breadcrumb-link:hover{text-decoration:underline}.donut-breadcrumb strong{color:var(--ink)}.budget-stacked-bar{background:linear-gradient(170deg,#fff,#f4f8ff);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;gap:8px;margin-bottom:14px;padding:14px 16px}.bsb-bar{background:var(--line-soft);border-radius:999px;display:flex;height:22px;overflow:hidden;width:100%}.bsb-left,.bsb-used{align-items:center;color:#fff;display:flex;font-size:.78rem;font-weight:800;justify-content:center;transition:width .32s ease}.bsb-used{background:linear-gradient(90deg,var(--blue),#4f7df3)}.budget-stacked-bar.over .bsb-used{background:linear-gradient(90deg,var(--red),#ec5b67)}.bsb-left{background:var(--line);color:var(--muted)}.bsb-labels{color:var(--ink);display:flex;font-size:.84rem;font-weight:700;justify-content:space-between}.bsb-labels strong{color:var(--muted);font-weight:800;letter-spacing:.04em;margin-right:6px;text-transform:uppercase}.budget-meter{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-soft);display:flex;flex-direction:row;gap:14px;padding:12px 14px}.budget-meter,.budget-meter.status-calm{--meter-color:var(--green)}.budget-meter.status-watch{--meter-color:var(--orange)}.budget-meter.status-over{--meter-color:var(--red)}.budget-meter.status-empty{--meter-color:var(--muted)}.budget-meter .meter-ring{flex-shrink:0;height:84px;padding:0;position:relative;width:84px}.budget-meter .meter-ring,.budget-meter .meter-ring>i{align-items:center;border-radius:50%;display:flex;justify-content:center}.budget-meter .meter-ring>i{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);height:62px;width:62px}.meter-text{display:flex;flex-direction:column;gap:3px;min-width:0}.meter-name{font-size:.98rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-meter .meter-amounts{color:var(--muted);font-size:.84rem;font-weight:600}.budget-meter .meter-badge{align-self:flex-start;background:var(--green-soft);border-radius:999px;color:#0f6b57;font-size:.7rem;font-weight:800;letter-spacing:.04em;margin-top:4px;padding:3px 8px;text-transform:uppercase}.budget-meter.status-watch .meter-badge{background:var(--orange-soft);color:#8a5d10}.budget-meter.status-over .meter-badge{background:var(--red-soft);color:var(--red-dark)}.budget-meter.status-empty .meter-badge{background:var(--line-soft);color:var(--muted)}.budget-meter .meter-pct{color:var(--ink);font-size:.95rem;font-weight:900}.budget-meter.status-empty .meter-pct{color:var(--muted)}.categorias-panel{gap:16px}.categorias-panel,.category-list{display:flex;flex-direction:column}.category-list{gap:8px}.category-row{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;overflow:hidden;transition:border-color .16s ease}.category-row.expanded{border-color:#c4d2ea}.category-row-head{align-items:center;display:flex;gap:8px;padding:6px 10px 6px 6px}.category-row-toggle{align-items:center;background:transparent;border:0;border-radius:12px;color:var(--ink);display:flex;flex:1 1;gap:12px;min-width:0;padding:8px 10px;text-align:left}.category-row-toggle:hover{background:var(--line-soft)}.category-row-icon{align-items:center;background:var(--blue-soft);border-radius:12px;color:var(--blue);display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.category-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.category-row-text strong{font-size:.98rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-row-text small{color:var(--muted);font-size:.8rem;font-weight:600}.category-row-chevron{color:#aab4c8;flex-shrink:0;margin-left:auto;transition:transform .16s ease}.category-row-chevron.open{transform:rotate(90deg)}.category-row-actions{display:flex;flex-shrink:0;gap:6px}.category-row-children{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;padding:10px 14px 14px 58px}.category-row-empty{color:var(--muted);font-size:.86rem;margin:0}.subcategory-row{align-items:center;border-radius:10px;display:flex;gap:8px;justify-content:space-between;padding:6px 8px 6px 10px}.subcategory-row:hover{background:var(--line-soft)}.subcategory-row-name{font-size:.94rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subcategory-inline-editor{align-items:center;display:flex;gap:6px;padding:4px 0 4px 10px}.subcategory-inline-editor input{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex:1 1;font-size:max(16px,1rem);min-height:38px;padding:7px 10px}.subcategory-inline-editor input:focus{border-color:var(--blue);outline:none}.subcategory-inline-actions{display:flex;gap:6px}.add-subcategory-button{align-items:center;background:transparent;border:1px dashed #c4d2ea;border-radius:10px;color:var(--blue);cursor:pointer;display:flex;font-size:.88rem;font-weight:700;gap:6px;justify-content:center;padding:9px 12px}.add-subcategory-button:hover,.category-row.editing{background:var(--blue-soft);border-color:var(--blue)}.category-editor{display:flex;flex-direction:column;gap:14px;padding:14px}.category-editor-name{display:flex;flex-direction:column;font-size:.86rem;font-weight:700;gap:6px}.category-editor-name input{background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:max(16px,1rem);min-height:44px;padding:10px 12px}.category-editor-actions{display:flex;gap:10px;justify-content:flex-end}.icon-picker{display:flex;flex-direction:column;gap:8px}.icon-picker-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(5,1fr)}.icon-pick{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--muted);cursor:pointer;display:flex;height:44px;justify-content:center;transition:background-color .14s ease,border-color .14s ease,color .14s ease;width:100%}.icon-pick:hover{background:var(--line-soft);border-color:#c4d2ea;color:var(--ink)}.icon-pick.selected{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 6px 14px rgba(37,99,235,.18)}.categorias-add-fab{align-items:center;background:linear-gradient(160deg,var(--blue),#1e4ed8);border:0;border-radius:16px;box-shadow:0 14px 28px rgba(37,99,235,.22);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:800;gap:8px;justify-content:center;margin-top:8px;min-height:56px;padding:14px 18px;position:-webkit-sticky;position:sticky;bottom:max(80px,calc(env(safe-area-inset-bottom) + 78px));transition:transform .16s ease,box-shadow .16s ease;z-index:5}.categorias-add-fab:hover{box-shadow:0 18px 32px rgba(37,99,235,.28);transform:translateY(-1px)}.confirm-backdrop{align-items:center;background:rgba(18,24,39,.42);display:flex;inset:0;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));position:fixed;z-index:30}.confirm-dialog{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;max-width:420px;padding:18px;width:min(100%,420px)}.confirm-dialog p{color:var(--muted);margin:0}.confirm-actions{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr}.payment-modal-overlay{position:fixed;inset:0;z-index:60;overflow-y:auto;background:var(--bg);display:flex;justify-content:center;align-items:flex-start;padding:max(60px,calc(env(safe-area-inset-top) + 20px)) max(16px,env(safe-area-inset-right)) max(32px,calc(16px + env(safe-area-inset-bottom))) max(16px,env(safe-area-inset-left))}.payment-modal{width:min(520px,100%);display:flex;flex-direction:column;gap:16px}.payment-modal-header{align-items:center;display:flex;gap:10px}.payment-modal-title{font-size:1.25rem;font-weight:900;margin:0}.payment-modal-context{border:1px solid var(--line);border-radius:18px;background:var(--surface-strong);padding:16px 18px;display:grid;grid-gap:4px;gap:4px}.payment-modal-context.due{border-color:var(--red-soft);background:var(--red-soft)}.payment-modal-context.clear{border-color:var(--green-soft);background:var(--green-soft)}.payment-modal-context-label{color:var(--muted);font-size:.82rem;font-weight:700}.payment-modal-context-name{font-size:1.1rem;font-weight:800}.payment-modal-context-balance{margin:0;font-weight:700}.payment-modal-context.due .payment-modal-context-balance{color:var(--red-dark)}.payment-amount-input{font-size:2rem!important;font-weight:800;min-height:64px;text-align:left}.payment-modal-shortcuts{display:flex;flex-wrap:wrap;gap:8px}.payment-shortcut{background:var(--blue-soft);color:var(--blue);border-radius:999px;font-weight:800;font-size:.9rem;padding:8px 16px;min-height:40px}.payment-modal-warning{align-items:center;background:var(--yellow-soft);border:1px solid var(--yellow);border-radius:14px;color:var(--yellow);display:flex;gap:8px;font-size:.9rem;font-weight:700;padding:12px 14px}.payment-modal-warning svg{flex-shrink:0}.payment-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.payment-submit{background:linear-gradient(160deg,#1abc9c,var(--green));border:0;border-radius:16px;color:#fff;font-weight:900;font-size:1.05rem;min-height:60px;padding:0 20px;box-shadow:0 12px 24px rgba(22,160,133,.26)}.payment-submit:hover{transform:translateY(-1px)}.payment-submit:disabled{opacity:.55;box-shadow:none;cursor:not-allowed;transform:none}.bb-perday{align-items:baseline;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:8px;margin:0;padding-top:12px}.bb-perday-label{color:var(--muted);font-size:.86rem;font-weight:700}.bb-perday-value{color:var(--green);font-size:.86rem;font-weight:700}.bb-perday-days{color:var(--muted);font-size:.86rem;font-weight:700}.due-review-panel{border:1px solid #f1d999;background:radial-gradient(120% 60% at 0 0,rgba(245,158,11,.12),transparent 60%),linear-gradient(170deg,#fff,var(--yellow-soft))}.due-review-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.due-review-head strong{display:block;font-size:1rem;font-weight:800}.due-review-head p{color:var(--muted);font-size:.82rem;margin:2px 0 0}.due-review-list{display:flex;flex-direction:column;gap:8px}.due-review-row{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:flex;gap:10px;justify-content:space-between;padding:10px 12px}.due-review-info{display:flex;flex-direction:column;gap:2px;min-width:0}.due-review-info strong{font-size:.92rem;font-weight:800}.due-review-info span{color:var(--muted);font-size:.82rem;font-weight:700}.due-review-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.due-review-actions .submit-button.compact{min-height:40px;padding:0 14px}.upcoming-recurring-list{display:flex;flex-direction:column;gap:6px}.upcoming-recurring-row{align-items:center;background:var(--surface-strong);border:1px solid var(--line-soft);border-radius:12px;display:flex;gap:10px;padding:10px 12px;text-align:left;width:100%}.upcoming-recurring-icon{align-items:center;color:var(--violet);display:flex}.upcoming-recurring-name{flex:1 1;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-recurring-date{color:var(--muted);font-size:.82rem;font-weight:700}.upcoming-recurring-amount{font-weight:800}.upcoming-recurring-amount.income{color:var(--green)}.recurring-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.recurring-row{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;display:flex;gap:12px;padding:12px 14px}.recurring-row.paused{opacity:.6}.recurring-row-icon{align-items:center;background:var(--violet-soft);border-radius:12px;color:var(--violet);display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.recurring-row-main{flex:1 1;min-width:0}.recurring-row-head{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.recurring-row-head strong{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recurring-amount{font-weight:800;flex-shrink:0}.recurring-amount.income{color:var(--green)}.recurring-row-meta{color:var(--muted);font-size:.8rem;font-weight:700;margin:4px 0 0}.recurring-row-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.recurring-form{margin-bottom:1rem}.shared-badge{background:var(--violet-soft);border-radius:999px;color:var(--violet);font-size:.62rem;font-weight:800;letter-spacing:.03em;margin-left:6px;padding:2px 7px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.household-settings{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.household-partner-card{align-items:center;background:var(--surface-strong);border:1px solid var(--line);border-radius:16px;display:flex;gap:12px;padding:12px 14px}.household-partner-avatar{align-items:center;background:linear-gradient(160deg,var(--violet),#5b21b6);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.85rem;font-weight:800;height:40px;justify-content:center;width:40px}.household-partner-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.household-partner-info strong{font-weight:800}.household-invite-received{background:var(--blue-soft);border:1px solid #cdddfb;border-radius:16px;display:flex;flex-direction:column;gap:8px;padding:14px}.household-pending{background:var(--surface-strong);border:1px solid var(--line);border-radius:16px;gap:8px;padding:12px 14px}.household-pending,.household-pending-row{display:flex;flex-direction:column}.household-invite-form{gap:12px}