.app{isolation:isolate}.ambient{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient.contained{z-index:0;position:absolute}.amb-glow{opacity:0;background:radial-gradient(at 80% 0,#5697bf35,#0000 75%);transition:opacity .5s;position:absolute;inset:0}.raining .amb-glow{opacity:1}.clear .amb-glow{opacity:.55;background:radial-gradient(at 75% 0,#ffe18b26,#0000 65%)}:root[data-theme=dark] .clear .amb-glow{opacity:.7;background:radial-gradient(at 80% 0,#9bbcf12b,#0000 66%)}.amb-rain{opacity:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg stroke='%238ec8ee' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M12 4v21M67 71v27M125 32v18M153 120v28'/%3E%3C/g%3E%3C/svg%3E");background-size:160px 160px;transition:opacity .45s;animation:1s linear infinite paused ambient-rain;position:absolute;inset:-180px -10%;transform:skew(-12deg)}.raining .amb-rain{opacity:.32;animation-play-state:running}.raining .amb-r2{opacity:.18;background-position:55px 80px;animation-duration:1.4s}.raining .amb-r3{opacity:.12;background-position:95px 30px;animation-duration:.75s}.contained.raining .amb-rain{opacity:.55}.contained.raining .amb-r2{opacity:.28}.contained.raining .amb-r3{opacity:.18}.storm .amb-rain{opacity:.5;background-size:110px 160px;animation-duration:.65s}.storm .amb-r2{opacity:.32;animation-duration:.9s}.storm .amb-r3{opacity:.22;animation-duration:.5s}.contained.storm .amb-glow{background:radial-gradient(at 70% -15%,#bccde347,#0000 65%)}.app .weather-hero[data-weather=below]{background:linear-gradient(115deg,#285873,#476c88)}.app .weather-hero[data-weather=over]{background:linear-gradient(115deg,#1a2941,#3b4766)}:root[data-theme=dark] .app .weather-hero[data-weather=below]{background:linear-gradient(120deg,#121c38,#264966)}:root[data-theme=dark] .app .weather-hero[data-weather=over]{background:linear-gradient(120deg,#0a1023,#292f50)}.weather-hero .hero-weather{z-index:1}.weather-reading{color:#fff;background:#07182f40;border:1px solid #ffffff4d;border-radius:9px;margin-top:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-block}.weather-reading strong,.weather-reading span,.weather-reading small{display:block}.weather-reading span{margin:4px 0;font-weight:500;line-height:1.6}.weather-reading small{font-size:11px;font-weight:500}@keyframes ambient-rain{0%{transform:skew(-12deg)translateY(-160px)}to{transform:skew(-12deg)translateY(0)}}@media (width<=560px){.weather-hero:is([data-weather=below],[data-weather=over]) .weather-copy{padding-right:0}.weather-hero:is([data-weather=below],[data-weather=over]) h1{padding-right:62px}.weather-hero:is([data-weather=below],[data-weather=over]) .hero-weather{width:64px;height:64px;top:38px;bottom:auto;right:10px}.weather-hero:is([data-weather=below],[data-weather=over]) .sub{max-width:none}}@media (prefers-reduced-motion:reduce){.amb-rain{transition:none;animation:none}.amb-glow{transition:none}}.transaction-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:12px;padding:16px 0;display:flex}.transaction-filters label{color:var(--muted);flex-direction:column;flex:160px;gap:6px;font-size:12px;font-weight:600;display:flex}.transaction-filters select,.transaction-filters input{border:1px solid var(--line);background:var(--field);width:100%;min-width:0;min-height:40px;color:var(--ink);font:inherit;border-radius:9px;padding:8px 10px;font-size:14px}.transaction-filters select:focus-visible{outline-offset:2px;outline:3px solid #a5b4fc}.transaction-filters .btn{min-height:40px}.transaction-filter-summary{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 0;font-size:12px;display:flex}.transaction-filter-error{color:var(--ink);font-size:13px}@media (width<=600px){.transaction-filters label{flex-basis:100%}.transaction-filters select,.transaction-filters input{min-height:44px;font-size:16px}}.spending-page{max-width:1180px}.spending-page .topbar{align-items:center;gap:16px}.spending-page .topbar h1{margin-bottom:5px}.spending-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 18px;margin:10px 0 16px;font-size:12px;display:flex}.spending-meta>details{margin-left:auto}.spending-bills-note{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex-wrap:wrap;align-items:baseline;gap:5px;padding:5px 11px;display:inline-flex}.spending-bills-note b{color:var(--ink);font-size:13px}.spending-bills-note .link{align-items:center;gap:3px;display:inline-flex}.spending-meta p{margin:0}.spending-meta details{max-width:560px}.spending-meta summary{cursor:pointer}.spending-meta details p{padding-top:8px;line-height:1.6}.spending-panels{gap:16px;display:grid}.spending-panel{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);min-width:0;padding:20px}.spending-panel-heading{align-items:center;gap:12px;display:flex}.spending-panel-heading h2{margin:0;font-size:17px}.spending-panel-heading p{color:var(--ink-2);margin:4px 0 0;font-size:12px}.spending-panel-icon{height:36px;color:var(--rain);background:color-mix(in oklab, var(--rain) 10%, var(--surface));border-radius:11px;flex:0 0 36px;place-items:center;display:grid}.spending-expenses .spending-panel-icon{color:var(--mint);background:color-mix(in oklab, var(--mint) 10%, var(--surface))}.spending-goals .spending-panel-icon{color:var(--sun-deep);background:color-mix(in oklab, var(--sun) 16%, var(--surface))}.spending-panel-total{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:14px 0 12px;display:flex}.spending-panel-total strong{letter-spacing:-.7px;font-size:24px}.spending-panel-total span{color:var(--ink-2);font-size:12px}.expense-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:0 32px;margin:0;padding:0;list-style:none;display:grid}.expense-row{border-bottom:1px solid var(--line-2);padding:12px 0 10px}.expense-row:last-child{border-bottom:0}.expense-row-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-bottom:7px;display:flex}.expense-row h3{margin:0;font-size:13.5px;font-weight:650}.expense-row-heading span{color:var(--ink-2);font-size:12px}.expense-row-heading b{color:var(--ink);font-size:14px}.category-progress{appearance:none;background:var(--line);border:0;border-radius:5px;width:100%;height:6px;display:block;overflow:hidden}.category-progress::-webkit-progress-bar{background:var(--line)}.category-progress::-webkit-progress-value{background:var(--rain);border-radius:5px}.category-progress::-moz-progress-bar{background:var(--rain)}.expense-row.is-over .category-progress::-webkit-progress-value{background:var(--warn)}.expense-row.is-over .category-progress::-moz-progress-bar{background:var(--warn)}.expense-row-foot{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-top:6px;font-size:11.5px;display:flex}.expense-row-foot label{cursor:pointer;align-items:center;gap:5px;min-height:24px;display:inline-flex}.expense-row-foot input{width:14px;height:14px;accent-color:var(--rain)}.expense-row.is-over .expense-row-foot>span{color:var(--warn);font-weight:650}.category-history{color:var(--ink-2);font-size:12px}.category-history summary{cursor:pointer;padding:4px 0}.category-history dl{gap:7px;margin:6px 0 0;display:grid}.category-history dl>div{justify-content:space-between;gap:10px;display:flex}.category-history dd{font-variant-numeric:tabular-nums;margin:0}.spending-goals{margin-top:16px}.spending-goals .spending-panel-heading{flex-wrap:wrap}.spending-goals .goal-add{margin-left:auto}.goal-rows{display:grid}.goal-row{border-bottom:1px solid var(--line-2);grid-template-columns:minmax(140px,1.5fr) minmax(90px,.9fr) minmax(118px,1.1fr) 90px 110px 64px;align-items:center;gap:8px 14px;padding:13px 0;font-size:13px;display:grid}.goal-row:last-child{border-bottom:0}.goal-row-head{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.09em;text-transform:uppercase;padding:14px 0 7px;font-size:10px;font-weight:800}.goal-row b{overflow-wrap:anywhere;font-weight:650;display:block}.goal-row small{color:var(--ink-2);font-size:11.5px;font-weight:450;display:block}.goal-row .r{text-align:right}.goal-row-saved,.goal-row-need{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.goal-row-need small{color:var(--muted);font-size:11px;font-weight:550;display:inline}.goal-row.is-behind .goal-row-need{color:var(--warn)}.goal-row-when small.is-late{color:var(--warn);font-weight:650}.goal-row-progress{gap:4px;display:grid}.goal-row-progress progress{appearance:none;background:var(--line);border:0;border-radius:5px;width:100%;height:6px;display:block;overflow:hidden}.goal-row-progress progress::-webkit-progress-bar{background:var(--line)}.goal-row-progress progress::-webkit-progress-value{background:var(--mint);border-radius:5px}.goal-row-progress progress::-moz-progress-bar{background:var(--mint)}.goal-row-do{white-space:nowrap;justify-self:end}.goal-row-do .btn{min-height:32px;padding:6px 11px;font-size:12px}.goal-note{border:1px solid color-mix(in oklab, var(--warn) 32%, var(--line));background:color-mix(in oklab, var(--warn-bg) 55%, var(--surface));border-radius:12px;margin:14px 0 0;padding:13px 15px;font-size:13px;line-height:1.6}.goal-paused{gap:7px;margin:14px 0 0;padding:0;list-style:none;display:grid}.goal-paused li{border:1px dashed var(--line);border-radius:11px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 13px;font-size:13px;display:flex}.goal-paused span{color:var(--ink-2);font-size:12px}.goal-paused .link{margin-left:auto}.spending-undo{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding:11px 16px;font-size:13px;display:flex}.savings-form{gap:18px;display:grid}.savings-intro{color:var(--ink-2);font-size:14px;line-height:1.6}.savings-fields{border:1px solid var(--line);border-radius:12px;overflow:hidden}.savings-field{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 105px;align-items:center;gap:12px;padding:14px;display:grid}.savings-field:last-child{border:0}.savings-field label{gap:4px;font-size:13px;display:grid}.savings-field small{color:var(--ink-2);font-size:11px}.savings-field input{width:100%}.savings-preview,.optimization-summary{border:1px solid var(--line);background:color-mix(in oklab, var(--rain) 5%, var(--surface));border-radius:12px;padding:18px}.savings-preview{border-color:var(--rain);margin-top:20px}.savings-preview h3,.optimization-summary h3{margin:6px 0 12px}.savings-preview dl{gap:12px;margin:0 0 16px;display:grid}.savings-preview dl>div{justify-content:space-between;gap:20px;display:flex}.savings-preview dt{color:var(--ink-2);font-size:13px}.savings-preview dd{font-variant-numeric:tabular-nums;margin:0;font-weight:650}.savings-preview p,.optimization-summary p,.optimization-summary li{font-size:13px;line-height:1.6}.optimization-summary ul{padding-left:18px}.optimization-summary li+li{margin-top:7px}.optimization-summary details{font-size:13px}.optimization-summary summary{cursor:pointer}.optimization-wait{text-align:center;padding:64px 16px}.optimization-wait p{color:var(--ink-2);line-height:1.7}.optimization-spinner{border:3px solid var(--line);border-top-color:var(--rain);border-radius:50%;width:36px;height:36px;animation:1s linear infinite budget-spin;display:inline-block}.savings-empty{color:var(--ink-2);padding:18px 0;font-size:13px;line-height:1.6}@keyframes budget-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.optimization-spinner{animation:none}}@media (width<=1100px){.goal-row-head{display:none}.goal-row{grid-template-columns:auto auto minmax(0,1fr);gap:9px 16px;padding:15px 0}.goal-row-name{grid-area:1/1/2/3}.goal-row-when{text-align:right;grid-area:1/3/2/4}.goal-row-progress{grid-area:2/1/3/4}.goal-row-saved{grid-area:3/1/4/2}.goal-row-need{grid-area:3/2/4/3}.goal-row-do{grid-area:3/3/4/4;justify-self:end}.goal-row-saved,.goal-row-need{text-align:left}.goal-row-saved:before{content:"Saved "}.goal-row-need:before{content:"Needs "}.goal-row-saved:before,.goal-row-need:before{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:800;display:block}}@media (width<=760px){.spending-page .topbar{flex-direction:column;align-items:flex-start}.spending-panels{grid-template-columns:1fr;gap:14px}.spending-panel{padding:17px}.spending-panel-total strong{font-size:22px}}.optimization-result{border:1px solid var(--line);background:color-mix(in oklab, var(--rain) 5%, var(--surface));border-radius:12px;padding:18px}.optimization-headline{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.optimization-headline b{letter-spacing:-1px;font-size:30px}.optimization-headline>span{color:var(--ink-2);font-size:13px}.optimization-headline .pill{align-self:center;margin-left:auto}.optimization-result .fine{margin:7px 0 0}.optimization-note{border-top:1px solid var(--line);color:var(--ink-2);margin:12px 0 0;padding-top:12px;font-size:13px;line-height:1.6}.optimization-problem{border:1px solid var(--line);border-left:3px solid var(--amber,#dba54d);background:color-mix(in oklab, #dba54d 8%, var(--surface));border-radius:12px;padding:14px 18px;font-size:13px}.optimization-problem p{color:var(--ink-2);margin:5px 0 0;line-height:1.55}.optimization-problem>div+div{margin-top:10px}.recovery-objective{margin-top:12px}.recovery-objective>label{align-items:center;gap:8px;font-weight:650;display:flex}.recovery-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.recovery-fields label{gap:6px;font-size:12px;display:grid}.recovery-fields input{background:var(--field);width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:8px;padding:10px}.recovery-totals{border-top:1px solid var(--line);gap:10px;padding-top:10px;display:grid}.recovery-totals>div{justify-content:space-between;gap:16px;display:flex}.recovery-totals dd{white-space:nowrap;margin:0;font-weight:700}.optimization-purpose{margin:12px 0 0;font-size:13px;line-height:1.6}.limit-row label .limit-review{color:var(--ink)}.limit-rows{border:1px solid var(--line);border-radius:12px;display:grid;overflow:hidden}.limit-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 68px 104px 68px;align-items:center;gap:10px;padding:11px 14px;display:grid}.limit-row:last-child{border-bottom:0}.limit-row-head{background:color-mix(in oklab, var(--cloud) 45%, var(--surface));color:var(--muted);letter-spacing:.09em;text-transform:uppercase;padding:9px 14px;font-size:10px;font-weight:800}.limit-row .r{text-align:right}.limit-row label{gap:2px;font-size:13px;display:grid}.limit-row label small{color:var(--ink-2);font-size:11.5px}.limit-row input{width:100%}.limit-now{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13px}.limit-freed{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.limit-freed.is-freed{color:var(--good);font-weight:700}@media (width<=560px){.limit-row{grid-template-columns:minmax(0,1fr) 92px;gap:6px 10px}.limit-row-head{display:none}.limit-row .limit-now{text-align:left;grid-column:1}.limit-row .limit-now:before{content:"Now ";color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800}.limit-row .limit-freed{grid-column:2}}.chat-launcher{z-index:50;border:1px solid color-mix(in oklab, var(--button-ink) 25%, transparent);background:var(--button-bg);min-height:54px;color:var(--button-ink);font:700 14px var(--body);box-shadow:0 8px 28px color-mix(in oklab, var(--rain-deep) 30%, transparent);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 19px;display:flex;position:fixed;bottom:24px;right:24px}.chat-launcher:hover{filter:brightness(1.08);transform:translateY(-2px)}.chat-launcher:focus-visible,.chat-minimize:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.chat-dock{border:1px solid var(--line);background:var(--surface);width:400px;max-width:calc(100vw - 40px);height:calc(100dvh - 40px);max-height:900px;color:var(--ink);box-shadow:0 18px 60px color-mix(in oklab, var(--rain-deep) 20%, transparent);z-index:55;border-radius:22px;margin:0;padding:0;position:fixed;inset:20px 20px 20px auto;overflow:hidden}.chat-dock:not([open]){display:none}.chat-dock::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:oklch(20% .04 240/.4)}.chat-minimize{z-index:1;border:1px solid var(--line);background:var(--field);width:40px;height:40px;color:var(--ink-2);cursor:pointer;border-radius:12px;place-items:center;display:grid;position:absolute;top:14px;right:12px}.chat-dock .chat-page{flex-direction:column;max-width:none;height:100%;min-height:0;margin:0;display:flex}.chat-dock .chat-header{flex-shrink:0;padding:18px 18px 12px;display:block}.chat-dock .chat-heading{padding-right:40px}.chat-dock .chat-emblem{display:none}.chat-dock .chat-heading h1{font-size:22px}.chat-dock .chat-heading p{font-size:12px}.chat-dock .chat-connection{justify-content:flex-start;max-width:none;margin-top:12px;font-size:11px}.chat-dock .chat-connection .btn{min-height:30px;margin-left:auto;font-size:11px}.chat-dock .chat-shell{border:0;border-top:1px solid var(--line);height:auto;min-height:0;max-height:none;box-shadow:none;border-radius:0;flex:1}.chat-dock .chat-thread{padding:20px 18px}.chat-dock .chat-welcome{margin:0}.chat-dock .chat-welcome-icon{display:none}.chat-dock .chat-welcome h2{font-size:24px}.chat-dock .chat-welcome p{margin-bottom:20px;font-size:14px}.chat-dock .chat-examples button{padding:12px;font-size:13px}.chat-dock .chat-message{max-width:100%}.chat-dock .chat-message.user{max-width:94%}.chat-dock .chat-bubble{font-size:14px}.chat-dock .chat-bottom{max-height:65%;padding:12px;overflow-y:auto}.chat-dock .chat-compose{padding:5px}.chat-dock .chat-compose textarea{font-size:16px}.chat-dock .chat-compose .btn span{display:none}.chat-dock .chat-start{gap:6px 12px;font-size:12px}.chat-dock .chat-start .btn{width:100%;min-height:40px;font-size:13px}.chat-dock .chat-footnote{font-size:11px}.chat-dock .chat-calculation>summary{flex-wrap:wrap}.chat-dock .chat-calculation dd{font-size:20px}.chat-dock .chat-calculation del{display:block}.app .toasts{bottom:90px}@media (width>=901px){.app.chat-is-open .toasts{bottom:18px;right:440px}}@media (width>=1440px){.app.chat-is-open{padding-right:424px}}@media (width>=1440px) and (width<=1650px){.app.chat-is-open .g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.chat-launcher{width:56px;height:56px;min-height:56px;padding:0;bottom:20px;right:18px}.chat-launcher span{display:none}.chat-dock{top:calc(var(--chat-vtop,0px) + 8px + env(safe-area-inset-top,0px));width:calc(100vw - 16px);max-width:none;height:calc(var(--chat-vh,100dvh) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:20px;max-height:none;bottom:auto;right:8px}}@media (width<=560px){.chat-launcher{bottom:calc(140px + env(safe-area-inset-bottom,0px))}.app .toasts{bottom:calc(208px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.chat-launcher:hover{transform:none}}.settings-entry{align-items:center;gap:7px;min-height:36px;margin:4px 0 8px;font-size:12px;display:flex}.settings-section{border-bottom:1px solid var(--line);padding:20px 0}.settings-section h3{margin:0 0 10px}.settings-scenario{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.settings-scenario p{max-width:280px;color:var(--ink-2);margin:6px 0 0;font-size:13px;line-height:1.6}.settings-section .row{gap:10px}:root{--sky:oklch(84% .1 218);--sky-soft:oklch(96% .035 220);--sky-pale:oklch(98.5% .012 220);--rain:oklch(58% .16 239);--rain-deep:oklch(47% .15 245);--sun:oklch(84% .16 86);--sun-soft:oklch(96% .075 91);--sun-deep:oklch(57% .14 62);--mint:oklch(68% .12 170);--mint-soft:oklch(95% .04 169);--storm:oklch(61% .2 28);--storm-soft:oklch(95% .05 28);--surface:oklch(100% 0 0);--cloud:oklch(96.5% .018 232);--cloud-deep:oklch(82% .035 231);--bg:oklch(97.5% .014 228);--card:var(--surface);--line:oklch(89% .025 231);--line-2:oklch(94% .016 230);--ink:oklch(27% .055 240);--ink-2:oklch(43% .045 239);--muted:oklch(57% .035 240);--faint:oklch(68% .03 240);--side:oklch(98% .02 222);--side-ink:oklch(43% .045 239);--side-hi:oklch(91% .07 221);--accent:var(--rain);--accent-2:var(--rain-deep);--accent-bg:var(--sky-soft);--button-bg:var(--rain-deep);--button-ink:#fff;--teal:var(--mint);--teal-bg:var(--mint-soft);--good:oklch(64% .15 151);--good-bg:oklch(95% .055 151);--warn:var(--sun-deep);--warn-bg:var(--sun-soft);--bad:var(--storm);--bad-bg:var(--storm-soft);--insight-bg:linear-gradient(135deg, var(--sky-soft), var(--mint-soft));--display:"Nunito", "Manrope", system-ui, sans-serif;--body:"Nunito Sans", "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--field:var(--surface);--r:14px;--shadow:0 1px 2px oklch(35% .06 240/.04), 0 12px 32px oklch(45% .08 230/.08)}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:14.5px;line-height:1.45}button,input{font-family:inherit}.app{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}aside{background:var(--side);color:var(--side-ink);border-right:1px solid var(--line);flex-direction:column;gap:4px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:10px;padding:4px 10px 22px;display:flex}.brand .mark{background:var(--rain);width:38px;height:38px;color:var(--surface);box-shadow:0 8px 18px color-mix(in oklab, var(--rain) 24%, transparent);border-radius:12px;place-items:center;display:grid}.weather-mark{font-size:21px;line-height:1;transform:rotate(-8deg)}.brand small,.acct small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700;display:block}.brand b{font-family:var(--display);letter-spacing:-.2px;font-size:18px;font-weight:800}.nav{width:100%;min-height:42px;color:var(--side-ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:9px 12px;font-size:14.5px;font-weight:500;display:flex}.nav:hover{background:var(--side-hi);color:var(--ink)}.nav.on{background:var(--side-hi);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent);font-weight:700}.nav .badge{background:var(--accent);color:var(--surface);border-radius:999px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:700}.side-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:14px 12px;font-size:12.5px;line-height:1.4}.side-foot .acct{color:var(--ink);align-items:center;gap:10px;margin-bottom:6px;font-weight:700;display:flex}.avatar{background:linear-gradient(135deg, var(--sun), var(--sun-deep));width:28px;height:28px;color:var(--surface);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}main{max-width:1400px;padding:26px 32px 60px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.topbar h1{font-family:var(--display);letter-spacing:-.4px;margin:0;font-size:26px;font-weight:800;line-height:1.15}.topbar .sub{color:var(--muted);margin-top:3px;font-size:14px}.grid{gap:18px;display:grid}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g32{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-forecast{max-width:1180px}.month-picker{color:var(--ink-2);align-items:center;gap:10px;font-size:13px;display:flex}.month-picker select{border:1px solid var(--line);background:var(--field);min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:8px 12px}.month-asof{color:var(--ink-2);margin:-6px 0 16px;font-size:12px}.month-summary{background:color-mix(in srgb, var(--accent-bg) 65%, var(--surface));border:1px solid var(--line);border-radius:16px;grid-template-columns:1.5fr 1fr;gap:24px;margin-bottom:18px;padding:22px 24px;display:grid}.month-summary span{color:var(--ink-2);font-size:13px}.month-summary strong{font:800 clamp(30px, 4vw, 42px)/1.2 var(--display);margin:6px 0;display:block}.month-summary p{color:var(--ink-2);margin:6px 0 0;font-size:13px;line-height:1.65}.month-savings{border-left:1px solid var(--line);align-self:center;padding-left:24px}.month-savings>b{font:700 23px var(--display);margin-top:6px;display:block}.month-savings .link{min-height:40px}.monthly-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.monthly-forecast .fine{color:var(--ink-2);line-height:1.65}.monthly-forecast .hd{margin-bottom:0}.monthly-forecast .hd p{margin:5px 0 0}.month-cost-head,.month-cost-list summary{grid-template-columns:minmax(0,1fr) 106px 80px;align-items:center;gap:8px;display:grid}.month-cost-head{color:var(--ink-2);padding-bottom:8px;font-size:11px}.month-cost-head>:not(:first-child),.month-cost-list summary>:not(:first-child){text-align:right}.month-cost-list{margin:0;padding:0;list-style:none}.month-cost-list>li{border-top:1px solid var(--line)}.month-cost-list summary{cursor:pointer;min-height:56px;padding:12px 0;font-size:14px}.month-cost-list summary::-webkit-details-marker{display:none}.month-cost-name{font-weight:600}.month-cost-name:after{content:" ＋";color:var(--ink-2);font-size:11px}.month-cost-list details[open] .month-cost-name:after{content:" −"}.month-cost-name small{color:var(--ink-2);margin-top:2px;font-size:11px;font-weight:400;display:block}.month-usual{color:var(--ink-2);font-size:13px}.month-cost-detail{color:var(--ink-2);padding:0 0 12px;font-size:12px;line-height:1.7}.month-cost-detail p{margin:4px 0}.month-plan{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 0;display:grid}.month-plan h3{margin:7px 0 4px;font-size:15px}.month-plan p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.7}.month-plan>.fine{grid-column:1/-1}.month-plan>strong,.month-plan>b{align-self:center;font-size:16px}.month-plan>button{align-self:center}.month-empty{padding:12px 0 22px}.month-empty h3{margin:0 0 8px;font-size:16px}.month-empty p{max-width:38ch;color:var(--ink-2);font-size:14px;line-height:1.7}.month-bottom-line{padding:18px 0;font-size:13px;line-height:1.8}.month-bottom-line p{margin:0}.month-bottom-line span{color:var(--ink-2);font-size:12px}.month-secondary{border-top:1px solid var(--line);font-size:13px;line-height:1.75}.month-secondary>summary{cursor:pointer;min-height:48px;color:var(--ink-2);padding:14px 0;font-weight:600}.month-secondary>p{max-width:85ch;color:var(--ink-2)}.card .evidence-scroll table{display:table;overflow:visible}.card .evidence-scroll table thead{min-width:0;display:table-header-group}.card .evidence-scroll table tbody{min-width:0;display:table-row-group}@media (width<=1000px){.monthly-columns{grid-template-columns:1fr}}@media (width<=560px){.month-summary{grid-template-columns:1fr;gap:14px;padding:18px}.month-savings{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.month-savings>b{margin-left:10px;font-size:16px;display:inline}.month-savings>p{font-size:12px}.month-picker{justify-content:space-between;width:100%}.month-cost-head,.month-cost-list summary{grid-template-columns:minmax(0,1fr) 86px 70px;gap:5px}.month-cost-list summary{font-size:13px}.month-cost-head{font-size:10px}}.forecast-dateline{color:var(--ink-2);flex-wrap:wrap;gap:3px 14px;margin:0 0 12px;font-size:12px;line-height:1.6;display:flex}.forecast-dateline b{color:var(--ink)}.forecast-basis-link{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin:0 0 12px;font-size:13px;line-height:1.65;display:flex}.forecast-basis-link button{min-height:44px}.forecast-reason{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:14px;align-self:start;padding:0 18px}.forecast-reason>summary,.spending-evidence summary,.forecast-ledger>summary{cursor:pointer;min-height:48px;padding:14px 0;font-weight:650;line-height:1.65}.forecast-reason-body{gap:12px;padding:4px 0 18px;font-size:13px;line-height:1.7;display:grid}.forecast-reason-body p{margin:0}.forecast-next-pay{border-left:3px solid var(--rain);padding-left:10px}.forecast-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px;display:grid}.forecast-overview>div{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:6px;padding:18px;display:grid}.forecast-overview span,.forecast-overview small{color:var(--ink-2);font-size:12px;line-height:1.5}.forecast-overview strong{font-size:clamp(24px,3vw,32px);line-height:1.15}.forecast-layout{align-items:start}.forecast-layout>.grid{align-content:start;min-width:0}.spending-evidence p,.forecast-savings p{color:var(--ink-2);font-size:13px;line-height:1.75}.spending-evidence b,.forecast-savings b{color:var(--ink)}.evidence-kicker{color:var(--accent-2);font-size:11px;font-weight:700}.evidence-lead b{font-size:20px}.evidence-scroll{max-width:100%;overflow-x:auto}.evidence-scroll table{width:100%;min-width:460px}.evidence-scroll th{text-transform:none;letter-spacing:normal}.evidence-scroll tbody th{color:var(--ink);font-weight:550}.evidence-scroll small{color:var(--ink-2);font-size:11px;font-weight:400;display:block}.spending-evidence .fine,.forecast-reason .fine,.forecast-savings .fine,.forecast-ledger .fine{color:var(--ink-2)}.evidence-note{border-top:1px solid var(--line);padding-top:12px}.forecast-ledger{margin-top:18px}.forecast-event{color:var(--ink-2);margin:3px 0;display:block}.forecast-event b{color:var(--ink);white-space:nowrap}.forecast-event.is-income,.forecast-event.is-income b{color:var(--good)}@media (width<=560px){.forecast-overview{grid-template-columns:1fr;gap:8px}.forecast-overview>div{grid-template-columns:1fr auto;align-items:center;padding:14px}.forecast-overview small{grid-column:1/-1}.forecast-reason{padding:0 14px}.forecast-dateline{font-size:11.5px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;gap:14px;min-width:0;padding:18px 20px;display:flex}.card h2{font-family:var(--display);letter-spacing:-.1px;margin:0;font-size:15.5px;font-weight:700}.card .hd{justify-content:space-between;align-items:center;gap:12px;display:flex}.kpi .v{font-family:var(--display);letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.1}.kpi .l{color:var(--muted);font-size:12.5px;font-weight:500}.kpi .s{color:var(--muted);font-size:12.5px}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.3;display:inline-flex}.pill.good{background:var(--good-bg);color:#15803d}.pill.warn{background:var(--warn-bg);color:#b45309}.pill.bad{background:var(--bad-bg);color:#b91c1c}.pill.accent{background:var(--accent-bg);color:var(--accent-2)}.pill.neutral{background:var(--line-2);color:var(--ink-2)}.pill.teal{background:var(--teal-bg);color:#0f766e}.btn{background:var(--button-bg);min-height:40px;color:var(--button-ink);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--accent-2)}.btn.ghost{background:var(--field);color:var(--ink);border-color:var(--line)}.btn.ghost:hover{background:var(--bg)}.btn.sm{border-radius:9px;min-height:34px;padding:6px 11px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible,.nav:focus-visible,.link:focus-visible,input:focus-visible,.chip:focus-visible{outline-offset:2px;outline:3px solid #a5b4fc}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.link:hover{text-underline-offset:3px;text-decoration:underline}.muted{color:var(--muted)}.fine{color:var(--muted);font-size:12.5px}.num{font-variant-numeric:tabular-nums}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);letter-spacing:.3px;text-transform:uppercase;border-bottom:1px solid var(--line);padding:8px 10px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:11px 10px}tr:last-child td{border-bottom:0}tr.hover:hover td{background:var(--bg)}td.r,th.r{text-align:right;font-variant-numeric:tabular-nums}.cat{align-items:center;gap:8px;display:inline-flex}.cat i{background:var(--line-2);width:26px;height:26px;color:var(--ink-2);border-radius:8px;flex:none;place-items:center;display:grid}.cat i.in{background:var(--good-bg);color:var(--good)}.cat i.rec{background:var(--accent-bg);color:var(--accent)}.cat i.tr{background:var(--teal-bg);color:var(--teal)}.cat i.rev{background:var(--warn-bg);color:var(--warn)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--field);cursor:pointer;color:var(--ink-2);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:500}.chip.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}.search{border:1px solid var(--line);background:var(--field);color:var(--muted);border-radius:10px;align-items:center;gap:8px;min-width:220px;padding:7px 10px;font-size:13.5px;display:flex}.alert{border:1px solid var(--line);border-left:4px solid var(--warn);background:var(--field);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.alert.bad{border-left-color:var(--bad)}.alert.good{border-left-color:var(--good)}.alert b{font-size:14px}.alert p{color:var(--ink-2);margin:0;font-size:13.5px}.bars{align-items:flex-end;gap:22px;height:170px;padding:0 6px;display:flex}.bars .grp{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.bars .pair{justify-content:center;align-items:flex-end;gap:6px;width:100%;height:100%;display:flex}.bars .b{border-radius:6px 6px 3px 3px;width:26px}.b.in{background:var(--teal)}.b.out{background:#c7cbe0}.b.out.proj{background:repeating-linear-gradient(45deg,#c7cbe0 0 6px,#dfe2ee 6px 12px)}.bars .m{color:var(--muted);font-size:12px;font-weight:500}.hbar{grid-template-columns:120px 1fr 80px;align-items:center;gap:12px;font-size:13.5px;display:grid}.hbar .t{background:var(--line-2);border-radius:5px;height:10px;position:relative;overflow:hidden}.hbar .t i{background:var(--accent);border-radius:5px;height:100%;position:absolute;top:0;left:0}.hbar .t i.cut{background:repeating-linear-gradient(45deg,#c7cbe0 0 4px,#e6e8f0 4px 8px)}.progress{background:var(--line-2);border-radius:6px;height:12px;position:relative;overflow:hidden}.progress i{border-radius:6px;height:100%;position:absolute;top:0;left:0}.progress .saved{background:var(--accent)}.progress .proj{background:#c7cbe0}.drawer-bg{z-index:20;background:#11182759;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--field);flex-direction:column;gap:16px;width:560px;max-width:100%;height:100%;padding:22px 24px 40px;display:flex;overflow-y:auto;box-shadow:-20px 0 60px #11182733}.drawer h2{font-family:var(--display);letter-spacing:-.3px;margin:0;font-size:20px;font-weight:800}.drawer h3{font-family:var(--display);margin:0;font-size:14.5px;font-weight:700}.notice{background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;border-radius:10px;padding:12px 14px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12.5px;line-height:1.55}mark{color:#243247;background:#fde68a;border-radius:3px;padding:0 2px}.kv{grid-template-columns:1fr auto;gap:8px 16px;font-size:14px;display:grid}.kv .k{color:var(--muted)}.kv .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.option{border:1.5px solid var(--line);background:var(--field);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.option.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.option h3{font-family:var(--display);margin:0;font-size:15px;font-weight:700}.option p{color:var(--muted);margin:0;font-size:13.5px}.ba{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ba>div{background:var(--bg);border-radius:10px;flex-direction:column;gap:2px;padding:9px 11px;display:flex}.ba .k{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11.5px;font-weight:600}.ba b{font-size:16px;font-family:var(--display);font-variant-numeric:tabular-nums;font-weight:800}.toggle{cursor:pointer;align-items:center;gap:8px;font-size:13.5px;display:inline-flex;position:relative}.toggle i{background:#d1d5db;border-radius:999px;width:34px;height:20px;transition:background .15s;display:inline-block;position:relative}.toggle i:after{content:"";background:var(--field);border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.toggle.on i{background:var(--accent)}.toggle.on i:after{left:16px}input[type=number],input[type=date]{font:500 14px var(--body);border:1px solid var(--line);background:var(--field);width:110px;color:var(--ink);border-radius:9px;padding:7px 9px}input[type=date]{width:148px}.modal-bg{z-index:30;background:#11182773;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--field);border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:460px;padding:22px;display:flex;box-shadow:0 30px 80px #1118274d}.modal h2{font-family:var(--display);margin:0;font-size:20px;font-weight:800}.tip{pointer-events:none}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:none}.tabs .nav{width:auto;color:var(--ink-2)}.tabs .nav.on{background:var(--ink);color:var(--surface);box-shadow:none}@media (width<=1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g32,.g2{grid-template-columns:1fr}}@media (width<=900px){.app{grid-template-columns:1fr}aside{display:none}.tabs{display:flex}main{padding:16px}html,body{overflow-x:hidden}.app,main,.grid,.card,.topbar,.grid>*,.row>*{min-width:0}.card table,.drawer table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}.card table thead,.card table tbody,.drawer table thead,.drawer table tbody{width:100%;min-width:460px;display:table}th,td{padding:10px 8px}.topbar{flex-wrap:wrap;gap:10px}.topbar h1{font-size:21px}.kpi .v{font-size:22px}.drawer{width:100%;padding:18px 16px 40px}.chips{gap:5px}.chip,.btn.sm{min-height:38px}.search{width:100%;min-width:0}.search input{width:100%!important}.hbar{grid-template-columns:96px 1fr 72px;font-size:13px}.ba{grid-template-columns:1fr}.bars{gap:12px}}@media (width<=560px){.grid.g4{grid-template-columns:1fr}main{padding:14px 12px 40px}.legend{gap:8px;font-size:11.5px}}@media (hover:none){.tip{display:block}}.drawer>*{flex:none}.drawer-content{display:contents}.drawer-content[hidden]{display:none}.drawer-content>*{flex:none}.drawer-discard{gap:16px;margin-block:auto;padding-block:24px;display:grid}.drawer-bg{z-index:70}.modal-bg{z-index:80}.budget-form{gap:16px;display:grid}.budget-form label{gap:7px;font-size:14px;font-weight:600;display:grid}.goal-monthly-plan{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:10px;padding:16px;display:grid}.goal-monthly-plan .link{text-align:left;justify-self:start}.purchase-removal{gap:16px;display:grid}.goal-savings-options{border-block:1px solid var(--line);padding-bottom:12px}.goal-savings-options[open]{gap:12px;display:grid}.budget-form .goal-active{align-items:center;gap:10px;display:flex}.budget-form .goal-active input{flex-shrink:0;width:18px;height:18px;min-height:18px}.budget-form input,.budget-form select,.budget-form textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;font:inherit;background:var(--field);color:var(--ink);border-radius:10px;padding:10px 12px}.budget-form textarea{resize:vertical;line-height:1.6}.bill-review-drawer .fine,.bill-reviews .fine,.bill-evidence p{color:var(--ink-2)}.bill-review-drawer p,.bill-reviews p{line-height:1.6}.bill-review-drawer h3{margin-top:8px}.bill-evidence{background:var(--bg);border:1px solid var(--line);border-radius:14px;gap:12px;padding:16px;display:grid}.bill-evidence p,.bill-review-entry p{margin:6px 0}.bill-evidence .ba b{font-size:28px}.bill-charge-history{padding:0;list-style:none}.bill-charge-history li{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px 0;display:flex}.bill-call-prep pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:var(--bg);border-radius:12px;padding:16px;font-size:14px;line-height:1.7}.bill-review-entry{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 0;display:flex}.bill-review-entry>div{flex:1;min-width:0}.bill-review-entry h3{margin:0;font-size:16px}.bill-review-entry .btn{flex-shrink:0}.bill-review-history summary,.bill-evidence summary{cursor:pointer;min-height:44px;padding-block:12px;font-weight:600}.bill-note{white-space:pre-wrap;overflow-wrap:anywhere;border-left:3px solid var(--rain);padding-left:12px}.weather-status{color:var(--hero-ink);margin-top:12px;font-size:14px;font-weight:600;line-height:1.6}@media (width<=600px){.bill-review-entry{flex-direction:column;gap:10px}.bill-review-entry .btn{width:100%;min-height:44px}.bill-review-drawer .btn{min-height:44px}.bill-review-drawer input,.bill-review-drawer select,.bill-review-drawer textarea{font-size:16px}}.purchase-process{border:1px solid var(--line);background:linear-gradient(140deg, color-mix(in oklab, var(--accent-bg) 58%, var(--surface)), var(--surface) 62%);box-shadow:var(--shadow);border-radius:18px;margin:20px 0;padding:22px;position:relative;overflow:hidden}.purchase-process:after{content:"";border:38px solid color-mix(in oklab, var(--rain) 9%, transparent);pointer-events:none;border-radius:50%;width:210px;height:210px;position:absolute;top:-130px;right:-110px}.purchase-process-heading{z-index:1;margin-bottom:20px;position:relative}.purchase-process-heading>span{color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:750}.purchase-process-heading h2{font:750 20px/1.25 var(--display);letter-spacing:-.02em;margin:5px 0 0}.purchase-process ol{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid;position:relative}.purchase-process li{border:1px solid color-mix(in oklab, var(--line) 82%, transparent);background:color-mix(in oklab, var(--field) 86%, transparent);border-radius:13px;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:13px;display:grid}.purchase-step-number{background:var(--accent-bg);width:30px;height:30px;color:var(--accent-2);font:800 12px var(--display);border-radius:10px;place-items:center;display:grid}.purchase-process li>div{gap:4px;min-width:0;display:grid}.purchase-process li b{font-size:13px;line-height:1.35}.purchase-process li small{color:var(--ink-2);font-size:11.5px;line-height:1.5}.purchase-process li.current{border-color:color-mix(in oklab, var(--rain) 54%, var(--line));box-shadow:0 0 0 3px color-mix(in oklab, var(--rain) 10%, transparent)}.purchase-process li.current .purchase-step-number{color:var(--button-ink);background:var(--button-bg)}.purchase-process li.complete .purchase-step-number{color:var(--good-deep,var(--good));background:var(--good-bg)}.purchase-process.compact{box-shadow:none;border-radius:14px;margin:4px 0 8px;padding:12px}.purchase-process.compact:after{display:none}.purchase-process.compact ol{gap:6px}.purchase-process.compact li{background:0 0;border:0;grid-template-columns:24px minmax(0,1fr);gap:6px;padding:8px 7px;display:grid}.purchase-process.compact .purchase-step-number{border-radius:7px;width:22px;height:22px;font-size:10px}.purchase-process.compact li b{font-size:10.5px}.purchase-process.compact li small{display:none}.purchase-overview.card{background:linear-gradient(135deg, color-mix(in oklab, var(--accent-bg) 62%, var(--surface)), var(--surface) 68%);border-radius:18px;gap:18px;margin:20px 0;padding:22px;position:relative;overflow:hidden}.purchase-overview.card:after{content:"";border:30px solid color-mix(in oklab, var(--rain) 8%, transparent);pointer-events:none;border-radius:50%;width:150px;height:150px;position:absolute;top:-95px;right:-70px}.purchase-overview>header{z-index:1;justify-content:space-between;align-items:end;gap:24px;display:flex;position:relative}.purchase-overview>header>div{gap:4px;display:grid}.purchase-overview h2{font:760 20px/1.25 var(--display);letter-spacing:-.02em;margin:0}.purchase-overview>header p{max-width:430px;color:var(--ink-2);text-align:right;margin:0;font-size:12px;line-height:1.55}.purchase-overview-stats{z-index:1;border:1px solid var(--line);background:color-mix(in oklab, var(--field) 88%, transparent);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.purchase-overview-stats article{gap:5px;min-width:0;padding:16px 18px;display:grid}.purchase-overview-stats article+article{border-left:1px solid var(--line)}.purchase-overview-stats span{color:var(--muted);letter-spacing:.065em;text-transform:uppercase;font-size:10px;font-weight:750}.purchase-overview-stats strong{color:var(--ink);font:760 21px/1.25 var(--display);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.purchase-overview-stats small{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.purchase-overview-next strong{color:var(--accent-2)}.purchase-calendar.card{border-radius:20px;gap:0;margin-bottom:20px;padding:0;overflow:hidden}.purchase-calendar-toolbar{border-bottom:1px solid var(--line);background:linear-gradient(135deg, color-mix(in oklab, var(--accent-bg) 62%, var(--surface)), var(--surface));justify-content:space-between;align-items:flex-end;gap:20px;padding:22px 24px;display:flex}.purchase-calendar-toolbar>div:first-child{gap:4px;display:grid}.purchase-calendar-toolbar h2{font:780 24px/1.2 var(--display);letter-spacing:-.025em;margin:0}.purchase-calendar-toolbar p{color:var(--ink-2);margin:0;font-size:12px}.purchase-calendar-controls{align-items:flex-end;gap:8px;display:flex}.purchase-calendar-controls label{gap:4px;display:grid}.purchase-calendar-controls label>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.purchase-calendar-controls input[type=month]{border:1px solid var(--line);background:var(--field);width:154px;min-height:38px;color:var(--ink);font:600 12px var(--body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:10px;padding:7px 10px}@media (prefers-color-scheme:dark){.purchase-calendar-controls input[type=month]{--lightningcss-light: ;--lightningcss-dark:initial}}.calendar-arrow{border:1px solid var(--line);background:var(--field);width:38px;height:38px;color:var(--ink);font:500 24px/1 var(--body);cursor:pointer;border-radius:11px;place-items:center;display:grid}.calendar-arrow:hover:not(:disabled),.calendar-arrow:focus-visible{border-color:var(--rain);color:var(--accent-2);background:var(--accent-bg)}.calendar-arrow:disabled{opacity:.35;cursor:not-allowed}.purchase-calendar-weekdays,.purchase-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.purchase-calendar-weekdays{color:var(--muted);letter-spacing:.06em;text-align:center;text-transform:uppercase;padding:10px 12px 8px;font-size:10.5px;font-weight:750}.purchase-calendar-grid{border-block:1px solid var(--line);background:var(--line);gap:1px}.purchase-calendar-cell,.purchase-calendar-blank{background:var(--surface);min-width:0;min-height:104px}.purchase-calendar-blank{background:color-mix(in oklab, var(--bg) 72%, var(--surface))}.purchase-calendar-cell{flex-direction:column;gap:7px;padding:8px;transition:background .15s,box-shadow .15s;display:flex;position:relative;box-shadow:inset 0 0 0 2px #0000}.purchase-calendar-cell:hover{background:color-mix(in oklab, var(--accent-bg) 24%, var(--surface))}.purchase-calendar-cell-action{z-index:0;cursor:pointer;background:0 0;border:0;border-radius:0;width:100%;position:absolute;inset:0}.purchase-calendar-cell-action:focus-visible{outline:2px solid var(--rain);outline-offset:-3px}.purchase-calendar-cell-action:disabled{cursor:not-allowed}.purchase-calendar-date{z-index:1;pointer-events:none;justify-content:space-between;align-items:center;gap:4px;display:flex;position:relative}.purchase-calendar-date>span:first-child{width:28px;height:28px;color:var(--ink-2);font:750 12px var(--body);border-radius:9px;place-items:center;display:grid}.purchase-calendar-cell.today .purchase-calendar-date>span:first-child{color:var(--button-ink);background:var(--button-bg)}.purchase-calendar-add{width:26px;height:26px;color:var(--muted);font:500 18px/1 var(--body);opacity:0;border:1px solid #0000;border-radius:8px;place-items:center;transition:opacity .15s,color .15s,background .15s;display:grid}.purchase-calendar-cell:hover .purchase-calendar-add,.purchase-calendar-cell:focus-within .purchase-calendar-add{opacity:1;color:var(--accent-2);background:var(--field)}.purchase-calendar-cell.unavailable{opacity:.48}.purchase-calendar-cell.unavailable .purchase-calendar-add{opacity:0}.purchase-calendar-items{z-index:2;pointer-events:none;gap:4px;min-width:0;display:grid;position:relative}.purchase-calendar-items>button{border:1px solid color-mix(in oklab, var(--rain) 24%, var(--line));background:color-mix(in oklab, var(--accent-bg) 72%, var(--surface));min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;pointer-events:auto;border-radius:7px;gap:1px;padding:5px 6px;display:grid}.purchase-calendar-items>button:hover{border-color:var(--rain);transform:translateY(-1px)}.purchase-calendar-items button span{text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:700;overflow:hidden}.purchase-calendar-items button b{color:var(--accent-2);font-variant-numeric:tabular-nums;font-size:9px}.purchase-calendar-more{color:var(--muted);padding-left:3px;font-size:9px;font-weight:650}.purchase-calendar-help{color:var(--muted);margin:0;padding:0 20px 18px;font-size:11.5px;line-height:1.6}.purchase-card,.purchase-history{margin-bottom:20px}.purchase-months{gap:16px;display:grid}.purchase-month-group{border:1px solid var(--line);background:color-mix(in oklab, var(--surface) 92%, var(--accent-bg));border-radius:15px;overflow:hidden}.purchase-month-group>header{border-bottom:1px solid var(--line);background:var(--accent-bg);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.purchase-month-group>header>div{gap:2px;display:grid}.purchase-month-group>header span{color:var(--ink-2);font-size:11px}.purchase-month-group>header h3{font:750 16px var(--display);margin:0}.purchase-month-group>header>span{background:color-mix(in oklab, var(--surface) 76%, transparent);border-radius:999px;padding:5px 9px;font-weight:650}.purchase-list{margin:0;padding:0;list-style:none}.purchase-list li{border-top:1px solid var(--line);align-items:center;gap:20px;padding:18px 16px;display:flex}.purchase-list li:first-child{border-top:0}.purchase-main{overflow-wrap:anywhere;flex:1;gap:6px;min-width:0;display:grid}.purchase-main>span,.purchase-footer .fine{color:var(--ink-2);font-size:13px;line-height:1.6}.purchase-main .purchase-plan-state{background:var(--good-bg);color:var(--good-deep,var(--good));border-radius:999px;justify-self:start;padding:4px 8px;font-size:10.5px;font-weight:700}.purchase-amount{font-variant-numeric:tabular-nums;font-size:22px}.purchase-main .purchase-overdue{color:var(--ink);border-left:3px solid var(--warn);padding-left:10px}.purchase-empty{max-width:480px;padding:36px 0}.purchase-empty h3{margin-bottom:12px;font-size:23px}.purchase-empty p{color:var(--ink-2);margin-bottom:22px;line-height:1.7}.purchase-history summary,.budget-form summary{cursor:pointer;min-height:44px;padding-block:12px;font-weight:600}.purchase-footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.purchase-form-pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}.purchase-secondary{border-top:1px solid var(--line);gap:12px;margin-top:24px;padding-top:18px;display:grid}.purchase-week{border:1px solid var(--line);background:var(--teal-bg);border-radius:16px;margin-block:20px;padding:20px}.purchase-week>div{justify-content:space-between;align-items:center;gap:14px;display:flex}.purchase-week b{font-variant-numeric:tabular-nums;margin-top:6px;font-size:24px;display:block}.purchase-week h3{margin-block:12px}.purchase-drawer .drawer-content>p{margin:0;line-height:1.6}.purchase-drawer .purchase-week{margin-block:4px;padding:16px}.purchase-drawer .drawer-content>h3{margin-top:8px}.purchase-week .fine,.purchase-coverage{color:var(--ink-2);line-height:1.6}.purchase-week .review-eyebrow{color:var(--ink-2)}.purchase-preview-head{border:1px solid var(--line);border-left:4px solid var(--rain);background:var(--surface);border-radius:14px;gap:10px;padding:18px;display:grid}.purchase-preview-head.warn{border-left-color:var(--warn)}.purchase-preview-head.bad{border-left-color:var(--bad)}.purchase-preview-head.good{border-left-color:var(--good)}.purchase-preview-head>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.purchase-preview-head h3,.purchase-month-check h3,.purchase-ai-card h3,.purchase-save-card h3{font:750 17px/1.35 var(--display);margin:0}.purchase-preview-head p,.purchase-month-check p,.purchase-ai-card p,.purchase-save-card p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.65}.purchase-month-check{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:16px;display:grid}.purchase-month-check>div{gap:6px;display:grid}.purchase-month-check.warn,.purchase-month-check.bad{background:color-mix(in oklab, var(--warn-bg) 48%, var(--surface))}.purchase-month-check.bad{background:color-mix(in oklab, var(--bad-bg) 45%, var(--surface))}.purchase-month-check.good{background:color-mix(in oklab, var(--good-bg) 38%, var(--surface))}.purchase-month-icon,.purchase-decision-number{width:36px;height:36px;color:var(--accent-2);background:var(--accent-bg);font:850 13px var(--display);border-radius:11px;place-items:center;display:grid}.purchase-month-check.warn .purchase-month-icon{color:var(--warn);background:var(--warn-bg)}.purchase-month-check.bad .purchase-month-icon{color:var(--bad);background:var(--bad-bg)}.purchase-month-check.good .purchase-month-icon{color:var(--good-deep,var(--good));background:var(--good-bg)}.purchase-ai-card,.purchase-save-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:38px minmax(0,1fr);gap:8px 12px;padding:18px;display:grid}.purchase-ai-card>div:nth-child(2),.purchase-save-card>div:nth-child(2){gap:6px;display:grid}.purchase-ai-card .budget-ai-review,.purchase-save-card .budget-actions,.purchase-save-card>.fine{grid-column:1/-1}.purchase-ai-card .budget-ai-review{border:0;border-top:1px solid var(--line);border-radius:0;margin:8px 0 0;padding:0}.purchase-ai-card .budget-ai-review>summary{min-height:48px;color:var(--accent-2);align-items:center;display:flex}.purchase-save-card{border-color:color-mix(in oklab, var(--rain) 36%, var(--line));background:linear-gradient(145deg, color-mix(in oklab, var(--accent-bg) 46%, var(--surface)), var(--surface))}.purchase-save-card .purchase-decision-number{color:var(--button-ink);background:var(--button-bg)}.purchase-matches{border:0;margin-block:20px;padding:0}.purchase-matches legend{margin-bottom:12px;font-weight:600}.purchase-matches label{border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:14px;margin-bottom:10px;padding:16px;display:flex}.purchase-matches input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.purchase-matches small{color:var(--ink-2);margin-top:6px;display:block}.purchase-list .btn{min-height:44px}@media (width<=600px){.purchase-process{padding:16px}.purchase-process ol{grid-template-columns:1fr;gap:7px}.purchase-process li{grid-template-columns:28px minmax(0,1fr);padding:10px}.purchase-process.compact{padding:9px;overflow-x:auto}.purchase-process.compact ol{grid-template-columns:repeat(4,minmax(116px,1fr));min-width:480px}.purchase-overview.card{gap:14px;padding:17px}.purchase-overview>header{flex-direction:column;align-items:start;gap:7px}.purchase-overview>header p{text-align:left}.purchase-overview-stats{grid-template-columns:1fr 1fr}.purchase-overview-stats article{padding:13px}.purchase-overview-stats article+article{border-left:1px solid var(--line)}.purchase-overview-stats article:nth-child(3){border-top:1px solid var(--line);border-left:0;grid-column:1/-1}.purchase-overview-stats strong{font-size:18px}.purchase-calendar-toolbar{flex-direction:column;align-items:stretch;padding:18px}.purchase-calendar-controls{grid-template-columns:38px minmax(0,1fr) 38px auto;align-items:end;display:grid}.purchase-calendar-controls input[type=month]{width:100%}.purchase-calendar-weekdays{padding-inline:4px;font-size:9px}.purchase-calendar-cell,.purchase-calendar-blank{min-height:62px}.purchase-calendar-cell{gap:3px;padding:4px}.purchase-calendar-date>span:first-child{width:24px;height:24px;font-size:10px}.purchase-calendar-add{opacity:1;width:22px;height:22px;font-size:15px}.purchase-calendar-items{gap:2px}.purchase-calendar-items>button{background:var(--rain);border:0;border-radius:999px;height:7px;padding:0}.purchase-calendar-items button span,.purchase-calendar-items button b{display:none}.purchase-calendar-more{padding:0;font-size:8px}.purchase-calendar-help{padding:0 14px 14px}.purchase-list li{flex-wrap:wrap;gap:12px}.purchase-main{flex-basis:70%}.purchase-list li>.btn{margin-left:auto}.purchase-footer{gap:8px;display:grid}.purchase-form-pair{grid-template-columns:1fr}.purchase-preview-head>div{flex-direction:column;align-items:flex-start}}.budget-form input::placeholder{color:var(--muted)}.budget-form p,.budget-impact p,.budget-library p{margin:0;line-height:1.6}.budget-impact{border-block:1px solid var(--line);gap:14px;padding:18px 0;display:grid}.budget-impact .pill{justify-self:start}.budget-comparison>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(100px,1.6fr) repeat(2,minmax(70px,1fr));gap:10px;padding:12px 0;font-size:13px;display:grid}.budget-comparison b{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.budget-comparison-head{color:var(--muted)}.budget-actions{gap:8px}.budget-actions .btn{white-space:normal;min-height:44px}.budget-remove{color:var(--ink-2);align-self:start;min-height:44px;text-decoration:underline}.budget-impact .fine,.budget-form .fine,.budget-library .fine,.budget-comparison-head{color:var(--ink-2)}.budget-library{margin-bottom:18px}.budget-library summary{cursor:pointer;padding:10px 0;font-weight:600}.budget-list{margin:0;padding:0;list-style:none}.budget-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.budget-list li>div{overflow-wrap:anywhere;gap:6px;min-width:0;display:grid}.budget-list .btn{flex-shrink:0;min-height:44px}.scroll-x{-webkit-overflow-scrolling:touch;flex:none;max-width:100%;overflow-x:auto}.scroll-x table{margin:0}.only-narrow{display:none}@media (width<=700px){.only-narrow{display:block}.drawer table.compare{width:100%;min-width:0;display:table}.drawer table.compare thead,.drawer table.compare tbody{min-width:0;display:table-row-group}.drawer table.compare .extra-col{display:none}.drawer table.compare th,.drawer table.compare td{padding:8px 6px;font-size:13px}}.workspace{min-width:0}.workspace-disclosure{color:var(--muted);margin-top:28px;padding:14px 0 24px;font-size:12px}.workspace-disclosure summary{cursor:pointer;align-content:center;width:fit-content;min-height:44px}.goal-context{border:1px solid var(--line);background:var(--card);border-radius:12px;margin-bottom:20px;padding:12px 16px}.goal-context-heading{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.goal-context-heading>svg{color:var(--accent);flex-shrink:0}.goal-context-heading>div{flex:1;min-width:180px}.goal-context-heading b{font-size:14px}.goal-context-heading p,.goal-context-note{color:var(--ink-2);margin:4px 0 0;font-size:12.5px;line-height:1.5}.goal-context-note{border-top:1px solid var(--line-2);margin-top:9px;padding-top:9px}.goal-context .pill{white-space:normal}.goal-context .btn{min-height:44px}.plan-connections{border-top:1px solid var(--line);padding-top:4px}.plan-connections summary{cursor:pointer;align-content:center;min-height:44px;font-weight:600}.plan-connections ol{gap:10px;padding-left:22px;display:grid}.plan-connections p{color:var(--ink-2);margin:4px 0 12px;font-size:13px;line-height:1.6}.plan-connections .link{align-items:center;gap:8px;min-height:44px;display:inline-flex}.weather-hero{background:linear-gradient(115deg, var(--rain-deep), var(--rain));min-height:158px;color:var(--surface);border-radius:var(--r);box-shadow:0 16px 36px color-mix(in oklab, var(--rain) 20%, transparent);background-size:160% 160%;justify-content:space-between;align-items:center;margin-bottom:12px;padding:28px 34px;animation:.65s cubic-bezier(.2,.8,.2,1) both hero-arrive,12s ease-in-out 1s infinite alternate sky-shift;display:flex;position:relative;overflow:hidden}.weather-hero:before{content:"";background:color-mix(in oklab, var(--surface) 14%, transparent);width:210px;height:90px;box-shadow:110px 4px 0 color-mix(in oklab, var(--surface) 10%, transparent);border-radius:50%;animation:9s ease-in-out infinite alternate cloud-drift;position:absolute;bottom:-52px;right:60px}.weather-copy{z-index:1;max-width:720px;position:relative}.weather-kicker{letter-spacing:.12em;opacity:.78;font-size:11px;font-weight:900}.weather-hero h1{max-width:680px;font:800 clamp(26px, 3vw, 38px)/1.12 var(--display);letter-spacing:-.4px;margin:8px 0 7px}.hero-weather .sun{color:var(--sun);transform-origin:50%;font-size:72px;animation:6s ease-in-out infinite sun-float;position:absolute;top:-16px;right:6px}.hero-weather .cloud{color:var(--surface);filter:drop-shadow(0 6px 8px oklch(35% .05 240/.15));font-size:82px;animation:5s ease-in-out .3s infinite cloud-float;position:absolute;top:22px;right:45px}.hero-weather .drops{color:var(--sky);letter-spacing:7px;font-size:42px;animation:2.2s ease-in-out infinite rain-fall;position:absolute;top:73px;right:70px;transform:rotate(62deg)}.top-actions{justify-content:flex-end;gap:8px;margin:0 0 18px;display:flex}@keyframes hero-arrive{0%{opacity:0;transform:translateY(-10px)scale(.985)}to{opacity:1;transform:none}}@keyframes sky-shift{0%{background-position:0%}to{background-position:100%}}@keyframes cloud-drift{0%{transform:translate(0)}to{transform:translate(-22px)}}@keyframes sun-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(12deg)}}@keyframes cloud-float{0%,to{transform:translate(0)}50%{transform:translate(9px)}}@keyframes rain-fall{0%,to{opacity:.35;transform:rotate(62deg)translateY(-3px)}50%{opacity:1;transform:rotate(62deg)translateY(3px)}}@media (prefers-reduced-motion:reduce){.weather-hero,.weather-hero:before,.hero-weather .sun,.hero-weather .cloud,.hero-weather .drops{animation:none}}@media (width<=820px){.weather-hero{align-items:flex-start;min-height:180px;padding:22px 20px}.weather-hero h1{padding-right:20px;font-size:27px}.hero-weather{opacity:.65;position:absolute;bottom:-10px;right:-30px}}@media (width<=520px){.weather-hero{min-height:205px}.weather-hero .sub{max-width:230px}.hero-weather{bottom:-5px;right:-45px}}:root{--ease-out:cubic-bezier(.2,.8,.2,1);--ease-soft:cubic-bezier(.4,0,.2,1)}@keyframes card-rise{0%{opacity:0;transform:translateY(14px)scale(.992)}to{opacity:1;transform:none}}.card{animation:card-rise .46s var(--ease-out) backwards}.grid>:nth-child(2) .card,.grid>.card:nth-child(2){animation-delay:40ms}.grid>:nth-child(3) .card,.grid>.card:nth-child(3){animation-delay:80ms}.grid>:nth-child(4) .card,.grid>.card:nth-child(4){animation-delay:.12s}.grid>:nth-child(5) .card,.grid>.card:nth-child(5){animation-delay:.16s}.grid>:nth-child(6) .card,.grid>.card:nth-child(6){animation-delay:.2s}.card{transition:transform .26s var(--ease-soft), box-shadow .26s var(--ease-soft), border-color .26s}.card:hover{transform:translateY(-2px);box-shadow:0 2px 4px oklch(35% .06 240/.05),0 18px 44px oklch(45% .08 230/.12)}.kpi:hover{border-color:color-mix(in oklab, var(--rain) 34%, var(--line))}.btn,.chip,.nav,.link{transition:transform .16s var(--ease-soft), background .18s, color .18s, box-shadow .18s}.btn:hover,.chip:hover{transform:translateY(-1px)}.btn:active,.chip:active,.nav:active{transform:translateY(0)scale(.975)}.nav:hover{transform:translate(2px)}.option{transition:transform .26s var(--ease-soft), box-shadow .26s var(--ease-soft)}.option:hover{transform:translateY(-3px);box-shadow:0 14px 32px oklch(45% .08 230/.12)}@keyframes pill-pop{0%{opacity:0;transform:scale(.82)}60%{transform:scale(1.06)}to{opacity:1;transform:none}}.pill.bad,.pill.warn{animation:pill-pop .42s var(--ease-out) backwards}.alert{animation:card-rise .4s var(--ease-out) backwards}.ch-line{stroke:var(--rain)}.ch-line.muted{stroke:var(--cloud-deep)}.ch-preview{stroke:var(--rain)}.ch-area{transition:opacity .3s}.ch-dot{transition:cx .5s var(--ease-out), cy .5s var(--ease-out), fill .3s}@keyframes draw-line{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.ch-draw{stroke-dasharray:1;animation:draw-line 1.15s var(--ease-soft) backwards}::view-transition-old(root){animation:vt-out .22s var(--ease-soft) both}::view-transition-new(root){animation:vt-in .3s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.card,.alert,.pill.bad,.pill.warn,.ch-draw{animation:none}.ch-draw{stroke-dasharray:none}.card,.btn,.chip,.nav,.link,.option,.ch-dot{transition:none}.card:hover,.option:hover,.btn:hover,.chip:hover,.nav:hover{transform:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}body{background:radial-gradient(58rem 40rem at 12% -8%, color-mix(in oklab, var(--sky) 30%, transparent), transparent 60%), radial-gradient(46rem 34rem at 92% 4%, color-mix(in oklab, var(--mint) 20%, transparent), transparent 62%), radial-gradient(52rem 42rem at 72% 96%, color-mix(in oklab, var(--rain) 13%, transparent), transparent 64%), var(--bg);background-attachment:fixed}.card{background:linear-gradient(168deg, var(--surface) 0%, color-mix(in oklab, var(--sky-soft) 42%, var(--surface)) 100%);border-color:color-mix(in oklab, var(--rain) 12%, var(--line));box-shadow:inset 0 1px 0 color-mix(in oklab, var(--surface) 90%, transparent), 0 1px 2px oklch(35% .06 240/.05), 0 10px 26px oklch(45% .08 230/.07)}.card:hover{box-shadow:inset 0 1px 0 color-mix(in oklab, var(--surface) 90%, transparent), 0 2px 6px oklch(35% .06 240/.06), 0 20px 48px oklch(45% .08 230/.13)}.kpi .v{font-size:30px}@supports ((-webkit-background-clip:text) or (background-clip:text)){.kpi:not(.measure) .v{background:linear-gradient(162deg, var(--ink) 6%, color-mix(in oklab, var(--rain) 66%, var(--ink)) 94%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}}.measure .v{font-size:21px}aside{background:color-mix(in oklab, var(--side) 72%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-right-color:color-mix(in oklab, var(--rain) 14%, var(--line))}.nav.on{box-shadow:inset 3px 0 0 var(--accent), 0 1px 2px oklch(35% .06 240/.06)}.pill{box-shadow:inset 0 0 0 1px color-mix(in oklab, currentColor 16%, transparent)}.pill.good{color:var(--good-deep,oklch(48% .13 151))}.pill.warn{color:var(--sun-deep)}.pill.bad{color:oklch(48% .18 28)}.pill.teal{color:oklch(45% .1 170)}@media (width<=560px){.kpi .v{font-size:24px}}@media (prefers-reduced-motion:reduce){.card:hover{box-shadow:none}}.wx{display:block;overflow:visible}.wx-rays line{stroke:#f5b400;stroke-width:2.6px;stroke-linecap:round}.wx-rays{animation:26s linear infinite wx-spin}.wx-disc{fill:url(#wx-sun);filter:drop-shadow(0 0 6px #f5b40073)}.wx-cloud{filter:drop-shadow(0 4px 6px #14285024);animation:5.5s ease-in-out infinite wx-bob}.wx-drop{stroke:var(--sky);stroke-width:2.4px;stroke-linecap:round;animation:1.35s ease-in infinite wx-fall}.wx-storm .wx-drop{stroke:#9ec3ea}.wx-bolt{fill:#ffd54a;filter:drop-shadow(0 0 5px #ffd54ab3);animation:3.4s ease-in-out infinite wx-flash}.wx-star{fill:#fff6c7;animation:2.6s ease-in-out infinite wx-twinkle}.wx-moon{filter:drop-shadow(0 0 8px #fbf6e459)}@keyframes wx-spin{to{transform:rotate(360deg)}}@keyframes wx-bob{0%,to{transform:translate(0)}50%{transform:translate(3px)translateY(-1.5px)}}@keyframes wx-fall{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}to{opacity:0;transform:translateY(7px)}}@keyframes wx-flash{0%,84%,to{opacity:.55}86%,90%{opacity:1}88%{opacity:.2}}@keyframes wx-twinkle{0%,to{opacity:.35}50%{opacity:1}}.hero-weather{width:170px;min-width:170px;height:132px;position:relative}.sky-stack{width:100%;height:100%;position:relative}.sky-icon{opacity:0;transition:opacity .65s var(--ease-soft), transform .65s var(--ease-out);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0;transform:scale(.86)translateY(8px)}.sky-icon.on{opacity:1;transform:none}.weather-hero{transition:background .8s var(--ease-soft)}.weather-hero.sky-dawn{background:linear-gradient(115deg,oklch(48% .13 300),oklch(66% .17 45))}.weather-hero.sky-dusk{background:linear-gradient(115deg,oklch(40% .14 285),oklch(60% .17 28))}.weather-hero.sky-night{background:linear-gradient(115deg,oklch(20% .075 262),oklch(34% .11 250))}.weather-hero.sky-dawn,.weather-hero.sky-dusk,.weather-hero.sky-night{background-size:160% 160%}.outlook{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px;display:grid}.ol-week{text-align:center;background:color-mix(in oklab, var(--surface) 78%, transparent);border:1px solid color-mix(in oklab, var(--rain) 10%, var(--line));animation:card-rise .46s var(--ease-out) backwards;animation-delay:calc(60ms + var(--i) * 50ms);transition:transform .26s var(--ease-soft), box-shadow .26s var(--ease-soft);border-radius:12px;align-content:start;justify-items:center;gap:2px;padding:12px 8px 6px;display:grid;box-shadow:0 1px 2px oklch(35% .06 240/.04),0 8px 20px oklch(45% .08 230/.06)}.ol-week:hover{transform:translateY(-2px);box-shadow:0 2px 6px oklch(35% .06 240/.06),0 16px 34px oklch(45% .08 230/.12)}.ol-range{color:var(--ink-2);margin-top:4px;font-size:12px;font-weight:600}.ol-balance{color:var(--ink);margin-top:5px;font-size:18px;font-weight:750}.ol-date{color:var(--ink-2);margin-bottom:5px;font-size:12px}.ol-word{font-size:12.5px;font-weight:800;font-family:var(--display);color:var(--ink)}.outlook-help{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0 0 10px;font-size:12px;line-height:1.6;display:flex}.outlook-help strong{color:var(--ink);font-size:14px}.ol-edit-target{min-width:44px;min-height:44px;margin-left:6px;font-size:12px;text-decoration:underline}.local-rain-test{justify-content:flex-end;gap:10px;margin-bottom:12px}.local-rain-test .btn{min-height:44px}.rain-review-option{gap:10px;padding:16px}.rain-review-option dd{text-align:right;white-space:normal}.weather-summary .weather-action{color:#123a50;background:#fff;border:1px solid #fff;flex-shrink:0;min-height:44px}.forecast-breakdown{gap:10px;margin:0;display:grid}.forecast-breakdown>div{justify-content:space-between;gap:16px;font-size:13px;display:flex}.forecast-breakdown dd{white-space:nowrap;margin:0;font-weight:700}.forecast-breakdown .breakdown-total{border-top:1px solid var(--line);padding-top:12px;font-weight:700}.ol-threshold{color:var(--ink-2);font-size:12px}.ol-details{width:100%;font-size:12px}.ol-details summary{cursor:pointer;min-height:44px;color:var(--ink-2);border-radius:6px;align-content:center}.ol-details summary:hover{color:var(--ink)}.ol-details summary:focus-visible{outline:2px solid var(--rain);outline-offset:-2px}.ol-low{border-top:1px solid var(--line);color:var(--ink-2);margin:0 0 8px;padding-top:8px;font-size:12px}.ol-low strong{color:var(--ink);margin:2px 0;font-size:18px;display:block}.ol-assumptions{color:var(--ink-2);margin:0 0 8px;font-size:11px;line-height:1.5}.ol-week.st-tight .ol-word{color:var(--sun-deep)}.ol-week.st-below .ol-word,.ol-week.st-over .ol-word{color:var(--storm)}.ol-week.st-below,.ol-week.st-over{background:color-mix(in oklab, var(--storm-soft) 55%, var(--surface))}.ol-week.st-tight{background:color-mix(in oklab, var(--sun-soft) 55%, var(--surface))}.toasts{z-index:60;gap:8px;width:min(420px,100vw - 36px);display:grid;position:fixed;bottom:18px;right:18px}.toast{background:color-mix(in oklab, var(--ink) 94%, transparent);color:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:toast-in .38s var(--ease-out) backwards;border-radius:12px;align-items:center;gap:10px;padding:11px 12px;display:flex;box-shadow:0 10px 30px oklch(20% .05 240/.28),inset 0 1px #ffffff14}.toast-ic{background:#ffffff1f;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;display:grid}.toast.good .toast-ic{background:color-mix(in oklab, var(--good) 55%, transparent)}.toast.warn .toast-ic,.toast.bad .toast-ic{background:color-mix(in oklab, var(--sun-deep) 65%, transparent)}.toast-body{flex:1;gap:1px;min-width:0;display:grid}.toast-body b{font-size:13.5px}.toast-body span{color:#ffffffc7;font-size:12.5px}.toast .btn.ghost{color:var(--surface);background:#ffffff0f;border-color:#ffffff47;flex:none}.toast .btn.ghost:hover{background:#ffffff24}.toast-x{color:#fff9;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:4px;display:grid}.toast-x:hover{color:#fff;background:#ffffff1a}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.timeline{min-width:max(100%, calc(var(--n,4) * 104px));margin:0;padding:26px 0 4px;list-style:none;display:flex;position:relative}.timeline:before{content:"";background:linear-gradient(90deg, var(--rain), var(--sky));opacity:.55;border-radius:3px;height:3px;position:absolute;top:50px;left:6%;right:6%}.tl-node{animation:card-rise .42s var(--ease-out) backwards;animation-delay:calc(var(--i) * 70ms);flex:1;justify-items:center;gap:5px;display:grid;position:relative}.tl-amt{font-family:var(--display);color:var(--ink);font-size:15px}.tl-dot{background:var(--surface);border:4px solid var(--rain);width:16px;height:16px;box-shadow:0 0 0 4px color-mix(in oklab, var(--rain) 16%, transparent);border-radius:50%}.tl-node:last-child .tl-dot{background:var(--rain);border-color:var(--rain-deep)}.tl-date{color:var(--ink-2);font-size:12.5px;font-weight:600}.tl-n{color:var(--muted);font-size:11px}.ring{flex:none;display:block}.ring-track{fill:none;stroke:var(--line-2);stroke-width:10px}.ring-proj{fill:none;stroke:var(--sky);stroke-width:10px;stroke-linecap:round}.ring-saved{fill:none;stroke:var(--rain);stroke-width:10px;stroke-linecap:round}.ring-big{font:800 17px var(--display);fill:var(--ink)}.ring-sub{font:600 10.5px var(--body);fill:var(--muted)}.ring-short{font:700 10px var(--body);fill:var(--storm)}@media (width<=900px){.outlook{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-weather{height:110px}}@media (width<=560px){.outlook{grid-template-columns:repeat(2,minmax(0,1fr))}.toasts{bottom:84px;right:10px}}@media (prefers-reduced-motion:reduce){.wx-rays,.wx-cloud,.wx-drop,.wx-bolt,.wx-star,.ol-week,.tl-node,.toast{animation:none}.sky-icon,.weather-hero{transition:none}}.as-btn{cursor:pointer;font:inherit;border:0}.as-btn:hover{filter:brightness(.96)}@media (width<=560px){.outlook{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:minmax(122px,1fr);grid-auto-flow:column;padding-bottom:6px;display:grid;overflow-x:auto}.ol-week{scroll-snap-align:start}.weather-hero{min-height:0;padding:20px 18px 22px}.weather-hero h1{padding-right:0;font-size:24px}.hero-weather{opacity:.8;width:120px;min-width:0;height:90px;position:absolute;bottom:-14px;right:-18px}.weather-copy{padding-right:60px}.tabs{gap:5px}.tabs .nav{flex:28%;justify-content:center;padding:8px 6px;font-size:13px}.tabs .badge{margin-left:4px}.top-actions{flex-wrap:wrap;justify-content:flex-start}.timeline{min-width:max(100%, calc(var(--n,4) * 96px))}}.peeks{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px;display:grid}.peek{text-align:left;cursor:pointer;font:inherit;color:var(--ink);background:color-mix(in oklab, var(--surface) 80%, transparent);border:1px solid color-mix(in oklab, var(--rain) 10%, var(--line));transition:transform .22s var(--ease-soft), box-shadow .22s var(--ease-soft), border-color .22s;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1px 10px;padding:10px 12px;display:grid;box-shadow:0 1px 2px oklch(35% .06 240/.04),0 6px 16px oklch(45% .08 230/.05)}.peek:hover{border-color:color-mix(in oklab, var(--rain) 30%, var(--line));transform:translateY(-2px);box-shadow:0 2px 6px oklch(35% .06 240/.06),0 14px 30px oklch(45% .08 230/.11)}.peek:active{transform:translateY(0)scale(.985)}.pk-ic{background:var(--accent-bg);width:32px;height:32px;color:var(--accent-2);border-radius:9px;grid-row:1/span 2;place-items:center;display:grid}.pk-l{color:var(--muted);font-size:11.5px;font-weight:600}.pk-v{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.pk-go{color:var(--faint);transition:transform .22s var(--ease-soft), color .22s;grid-row:1/span 2;place-items:center;display:grid}.peek:hover .pk-go{color:var(--accent);transform:translate(3px)}.back-link{border:1px solid color-mix(in oklab, var(--rain) 14%, var(--line));background:color-mix(in oklab, var(--surface) 82%, transparent);color:var(--ink-2);font:600 13px var(--body);cursor:pointer;animation:card-rise .3s var(--ease-out) backwards;border-radius:999px;align-items:center;gap:6px;margin:0 0 12px;padding:7px 12px 7px 9px;display:inline-flex}.back-link:hover{color:var(--ink);border-color:color-mix(in oklab, var(--rain) 34%, var(--line))}.back-ic{place-items:center;display:grid}.back-ic svg{transform:rotate(180deg)}.nav-short{display:none}@media (width<=1100px){.peeks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.peeks{grid-template-columns:1fr 1fr;gap:8px}.peek{column-gap:8px;padding:9px 10px}.pk-ic{width:28px;height:28px}.pk-v{white-space:normal;overflow-wrap:anywhere;font-size:12px}main{padding-bottom:148px}.tabs{z-index:40;background:color-mix(in oklab, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);border:1px solid color-mix(in oklab, var(--rain) 14%, var(--line));border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:0;padding:6px;display:grid;position:fixed;bottom:8px;left:8px;right:8px;box-shadow:0 10px 30px oklch(25% .05 240/.18)}.tabs .nav{letter-spacing:-.1px;border-radius:10px;flex-direction:column;flex:none;justify-content:center;gap:3px;width:auto;min-width:0;min-height:52px;padding:6px 2px 5px;font-size:11px;font-weight:600;position:relative}.tabs .nav svg{width:18px;height:18px}.tabs .nav.on{background:var(--side-hi);color:var(--ink);box-shadow:none}.tabs .nav:hover{transform:none}.tabs .badge{min-width:15px;margin:0;padding:1px 4px;font-size:9px;line-height:12px;position:absolute;top:3px;right:5px}.nav-long{display:none}.nav-short{display:inline}.back-link{margin-bottom:10px}.hero-weather{opacity:1;width:84px;min-width:0;height:84px;position:absolute;bottom:12px;right:12px}.hero-weather svg.wx{width:100%;height:100%}.weather-copy{padding-right:96px}}:root{--toast-bg:color-mix(in oklab, var(--ink) 94%, transparent);--toast-ink:var(--surface);--toast-sub:#ffffffc7;--hero-ink:oklch(98.5% .004 240)}.weather-hero,.weather-hero h1{color:var(--hero-ink)}.weather-hero .sub{color:color-mix(in oklab, var(--hero-ink) 80%, transparent)}:root[data-theme=dark]{--sky:oklch(70% .1 228);--sky-soft:oklch(30% .05 235);--sky-pale:oklch(24% .04 240);--rain:oklch(70% .14 252);--rain-deep:oklch(56% .15 254);--sun:oklch(85% .16 86);--sun-soft:oklch(32% .07 78);--sun-deep:oklch(82% .13 72);--mint:oklch(74% .12 170);--mint-soft:oklch(30% .05 170);--storm:oklch(70% .18 28);--storm-soft:oklch(31% .08 25);--surface:oklch(22% .032 252);--cloud:oklch(27% .035 250);--cloud-deep:oklch(56% .04 245);--bg:oklch(16.5% .028 254);--card:var(--surface);--line:oklch(32% .038 250);--line-2:oklch(27% .032 250);--ink:oklch(95.5% .012 240);--ink-2:oklch(84% .018 240);--muted:oklch(70% .025 244);--faint:oklch(58% .028 244);--side:oklch(19.5% .032 253);--side-ink:oklch(82% .02 240);--side-hi:oklch(32% .065 248);--accent:var(--rain);--accent-2:oklch(80% .11 252);--accent-bg:oklch(29% .06 250);--button-bg:var(--rain);--button-ink:oklch(19% .03 252);--teal:var(--mint);--teal-bg:var(--mint-soft);--good:oklch(74% .15 151);--good-bg:oklch(30% .07 151);--good-deep:oklch(80% .14 151);--warn:var(--sun-deep);--warn-bg:var(--sun-soft);--bad:var(--storm);--bad-bg:var(--storm-soft);--insight-bg:linear-gradient(135deg, oklch(27% .05 234), oklch(26% .05 172));--shadow:0 1px 2px oklch(0% 0 0/.34), 0 12px 32px oklch(0% 0 0/.42);--field:oklch(25.5% .034 252);--toast-bg:oklch(28% .04 252);--toast-ink:var(--ink);--toast-sub:var(--muted);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] body{background:radial-gradient(58rem 40rem at 12% -8%, oklch(30% .07 250/.55), transparent 60%), radial-gradient(46rem 34rem at 92% 4%, oklch(28% .06 190/.4), transparent 62%), radial-gradient(52rem 42rem at 72% 96%, oklch(26% .06 265/.48), transparent 64%), var(--bg)}:root[data-theme=dark] .card{background:linear-gradient(168deg,oklch(23.5% .033 252) 0%,oklch(20.5% .03 254) 100%);border-color:oklch(33% .04 250);box-shadow:inset 0 1px oklch(100% 0 0/.04),0 1px 2px oklch(0% 0 0/.3),0 12px 30px oklch(0% 0 0/.34)}:root[data-theme=dark] .card:hover{box-shadow:inset 0 1px oklch(100% 0 0/.05),0 2px 8px oklch(0% 0 0/.34),0 22px 52px oklch(0% 0 0/.44)}:root[data-theme=dark] .kpi:not(.measure) .v{background-image:linear-gradient(162deg, var(--ink) 12%, oklch(78% .12 252) 96%)}:root[data-theme=dark] aside{background:color-mix(in oklab, var(--side) 82%, transparent)}:root[data-theme=dark] .peek,:root[data-theme=dark] .ol-week,:root[data-theme=dark] .back-link,:root[data-theme=dark] .tabs{background:color-mix(in oklab, var(--surface) 86%, transparent);border-color:oklch(33% .04 250)}:root[data-theme=dark] .wx-cloud{filter:drop-shadow(0 4px 8px oklch(0% 0 0/.4))}:root[data-theme=dark] .ch-area{opacity:.9}.toast{background:var(--toast-bg);color:var(--toast-ink)}.toast-body span{color:var(--toast-sub)}:root[data-theme=dark] .pill.bad{color:oklch(80% .15 28)}:root[data-theme=dark] .pill.teal{color:oklch(82% .11 172)}:root[data-theme=dark] .toast{border:1px solid oklch(36% .05 250)}:root[data-theme=dark] .toast .btn.ghost{color:var(--ink);background:oklch(100% 0 0/.05);border-color:oklch(40% .05 250)}:root[data-theme=dark] .toast-x{color:var(--muted)}:root[data-theme=dark] .toast-x:hover{color:var(--ink);background:oklch(100% 0 0/.08)}.theme-switch{background:color-mix(in oklab, var(--line-2) 70%, transparent);border:1px solid var(--line);border-radius:999px;gap:2px;margin-top:10px;padding:3px;display:inline-flex}.theme-switch button{cursor:pointer;font:600 11px var(--body);color:var(--muted);background:0 0;border:0;border-radius:999px;padding:4px 10px;transition:background .18s,color .18s}.theme-switch button:hover{color:var(--ink)}.theme-switch button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px oklch(0% 0 0/.12)}.theme-switch button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.mobile-tools{display:none}@media (width<=650px){.transaction-card .hd{flex-direction:column;align-items:stretch}.transaction-card .chips{flex:none}.card .transaction-table{display:block;overflow:visible}.card .transaction-table thead{clip-path:inset(50%);width:1px;min-width:0;height:1px;position:absolute;overflow:hidden}.card .transaction-table tbody{min-width:0;display:block}.transaction-table tbody tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:14px 0;display:grid}.transaction-table tbody tr:last-child{border-bottom:0}.transaction-table td{border:0;min-width:0;padding:0;display:block}.transaction-table tr.hover:hover{background:var(--bg)}.transaction-table tr.hover:hover td{background:0 0}.transaction-table td:first-child{grid-area:2/1}.transaction-table td:nth-child(2){overflow-wrap:anywhere;grid-area:1/1}.transaction-table td:nth-child(3){grid-area:3/1;align-self:center}.transaction-table td:nth-child(4){white-space:nowrap;grid-area:1/2}.transaction-table td:nth-child(5){grid-area:3/2;align-self:center}.transaction-table td[colspan]{grid-area:1/1/auto/-1}.transaction-table select{max-width:100%}.transaction-table .btn.sm{white-space:normal;max-width:110px;min-height:44px}}@media (width<=900px){.mobile-tools{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.mobile-tools>div:first-child{flex-direction:column;align-items:flex-start;display:flex}.mobile-tools b{font:800 17px var(--display)}.mobile-tools .link{min-height:32px;font-size:12px}.mobile-tools .theme-switch{flex-shrink:0;margin-top:0}.mobile-tools .theme-switch button{min-width:44px;min-height:44px;padding:5px 10px}}.review-panel{gap:16px;padding-block:12px;display:grid}.review-panel p{margin:0;line-height:1.6}.review-layers{color:var(--muted);counter-reset:layer;flex-wrap:wrap;gap:6px 16px;margin:0;padding:10px 0;font-size:12px;list-style:none;display:flex}.review-layers li{counter-increment:layer}.review-layers li:before{content:counter(layer) " · ";color:var(--ink);font-weight:700}.review-answer{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-block:12px 22px;overflow:hidden}.review-calculation{background:var(--field);border-bottom:1px solid var(--line);padding:20px}.review-calculation h3{margin:9px 0 18px;font-size:20px;line-height:1.3}.review-eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.review-numbers{grid-template-columns:1fr 1fr;gap:18px 12px;margin:0 0 16px;display:grid}.review-numbers dt{color:var(--muted);font-size:12px;line-height:1.5}.review-numbers dd{font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin:2px 0 0;font-size:24px;font-weight:600}.review-reading{gap:14px;padding:20px;display:grid}.review-reading ul{gap:14px;margin:0;padding-left:20px;line-height:1.6;display:grid}.review-reading li small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.review-reading>div b{margin-bottom:10px;display:block}.review-sources{border-top:1px solid var(--line);padding:16px 20px;font-size:13px;line-height:1.6}.review-sources>p,.review-sources>div{margin-top:16px}.review-sources small{color:var(--muted)}.review-answer>.fine{border-top:1px solid var(--line);padding:16px 20px}.review-question{background:var(--field);border-left:3px solid var(--rain);overflow-wrap:anywhere;border-radius:4px 12px 12px 4px;gap:4px;padding:14px 18px;display:grid}.review-question b{color:var(--muted);font-size:12px}.review-compose{gap:12px;display:grid}.review-compose textarea{resize:vertical;width:100%;min-height:92px;max-height:240px;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:12px;padding:12px}.review-compose textarea:focus-visible{outline:2px solid var(--rain);outline-offset:2px}.review-compose>label{font-size:14px;font-weight:600}.review-compose .review-consent{align-items:flex-start;gap:10px;font-weight:400;line-height:1.5;display:flex}.review-consent input{width:16px;height:16px;accent-color:var(--rain);flex-shrink:0;margin-top:4px}.review-suggestions{flex-wrap:wrap;gap:8px;display:flex}.review-suggestions button{font:inherit;text-align:left;border:1px solid var(--line);background:var(--field);color:var(--ink);cursor:pointer;border-radius:20px;padding:9px 12px;font-size:12px}.review-progress{border-left:3px solid var(--rain);color:var(--muted);padding-left:14px;font-size:14px}.budget-ai-review{border:1px solid var(--line);border-radius:14px;margin-block:20px;padding:16px}.budget-ai-review>summary,.review-sources summary{cursor:pointer;font-weight:600}@media (width<=480px){.review-calculation,.review-reading{padding:16px}.budget-ai-review{padding:12px}.review-numbers dd{font-size:22px}}.zone{font:700 12.5px var(--body);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:26px 0 10px}.zone:first-of-type{margin-top:18px}.goal-overview{margin-bottom:18px}.goal-total{font:700 clamp(30px, 4vw, 42px) var(--display);color:var(--ink)}.goal-total>span{font:500 16px var(--body);color:var(--ink-2);margin-left:6px}.goal-progress{flex-wrap:wrap;align-items:center;gap:18px}.goal-monthly{font:700 24px var(--display);color:var(--ink)}.goal-cards{margin-bottom:18px}.hero-goal{color:color-mix(in oklab, var(--hero-ink) 86%, transparent);margin:6px 0 0;font-size:14.5px}.hero-goal b{font-weight:700}.weather-hero.weather-compact{gap:24px;min-height:0;padding:22px 26px}.weather-compact .weather-copy{flex:1;min-width:0;max-width:960px;padding-right:0}.weather-compact h1{max-width:900px;font-size:clamp(24px,2.3vw,30px);line-height:1.18}.weather-compact .hero-weather{width:116px;min-width:116px;height:100px}.weather-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin:14px 0 12px;display:flex}.weather-summary>div{gap:3px;font-size:13px;line-height:1.5;display:grid}.weather-summary strong{font-size:13px}.weather-compact .sub{max-width:none;margin-top:12px}.bill-review-drawer .bill-evidence{gap:6px;padding:14px}.bill-review-drawer .bill-evidence p{margin:3px 0;font-size:13px}.bill-review-drawer .bill-evidence .ba b{font-size:24px}.peeks{opacity:.92}.peek{box-shadow:none}.peek:hover{opacity:1}.weather-hero .sub{opacity:.78;font-size:13px}@media (width<=820px){.weather-hero.weather-compact{padding:18px}.weather-compact .hero-weather{opacity:.9;width:76px;min-width:0;height:70px;position:absolute;top:18px;bottom:auto;right:6px}.weather-compact h1{padding-right:65px;font-size:24px}.weather-compact .hero-goal{font-size:13px}.weather-compact .sub{font-size:12px}}@media (width<=560px){.zone{margin:20px 0 8px}}.recurring-topbar{align-items:flex-end}.recurring-month-summary{border:1px solid var(--line);background:linear-gradient(145deg, color-mix(in oklab, var(--surface) 92%, var(--sky-soft)), var(--surface));box-shadow:var(--shadow);border-radius:18px;margin-bottom:18px;overflow:hidden}.recurring-year-overview{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,.65fr) minmax(0,1.8fr);display:grid}.recurring-month-focus{border-right:1px solid var(--line);background:color-mix(in oklab, var(--accent-bg) 62%, transparent);flex-direction:column;justify-content:center;min-height:245px;padding:26px 24px;display:flex;position:relative}.recurring-month-focus:before{content:"";background:linear-gradient(var(--rain), var(--mint));width:4px;position:absolute;inset:0 auto 0 0}.recurring-month-focus h2{color:var(--ink-2);font:650 14px var(--body);margin:7px 0 6px}.recurring-month-focus>b{font:850 clamp(34px, 4vw, 48px) var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.045em}.recurring-month-focus>p{color:var(--muted);margin:6px 0 20px;font-size:12.5px}.recurring-previous-month{border-top:1px solid color-mix(in oklab, var(--accent) 18%, var(--line));color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding-top:13px;font-size:12px;display:flex}.recurring-previous-month strong{color:var(--ink-2);font-variant-numeric:tabular-nums}.recurring-year-chart{background:color-mix(in oklab, var(--surface) 74%, transparent);min-width:0;padding:22px 24px 18px}.recurring-year-chart .section-heading{align-items:center;margin-bottom:8px}.recurring-range{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;gap:4px;font-size:10.5px;font-weight:700;display:grid}.recurring-range select{border:1px solid var(--line);background:var(--field);min-height:40px;color:var(--ink);font:650 12px var(--body);text-transform:none;letter-spacing:0;cursor:pointer;border-radius:10px;padding:7px 32px 7px 11px}.recurring-range select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.recurring-chart-scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-width:0;padding-top:4px;overflow-x:auto}.recurring-year-chart ol{grid-template-columns:repeat(12,minmax(38px,1fr));gap:7px;min-width:610px;height:166px;margin:0;padding:0;list-style:none;display:grid}.recurring-year-chart li{text-align:center;grid-template-rows:18px minmax(0,1fr) 18px;gap:5px;min-width:0;display:grid}.recurring-chart-value{color:var(--muted);font-variant-numeric:tabular-nums;opacity:0;font-size:9.5px;transition:opacity .15s;overflow:visible}.recurring-year-chart li.current .recurring-chart-value,.recurring-year-chart li.recorded:hover .recurring-chart-value{opacity:1}.recurring-chart-track{border-bottom:1px solid var(--line);justify-content:center;align-items:flex-end;min-height:0;display:flex}.recurring-chart-track i{background:color-mix(in oklab, var(--rain) 65%, var(--line));border-radius:7px 7px 2px 2px;width:min(28px,62%);min-height:0;transition:height .28s,filter .16s;display:block;box-shadow:inset 0 1px #ffffff38}.recurring-year-chart li.current .recurring-chart-track i{background:linear-gradient(180deg, var(--mint), var(--rain));filter:saturate(1.12)}.recurring-year-chart li.unavailable .recurring-chart-track,.recurring-year-chart li.future .recurring-chart-track{opacity:.48;border-bottom-style:dashed}.recurring-chart-month{color:var(--muted);font-size:10.5px;font-weight:650}.recurring-year-chart li.current .recurring-chart-month{color:var(--accent-2)}.recurring-review-summary{align-items:center;gap:12px;padding:12px 22px;display:flex}.recurring-filter{border-top:1px solid var(--line);gap:7px;padding:12px 22px 0;display:flex}.recurring-filter button{min-height:38px;color:var(--ink-2);font:650 12.5px var(--body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:9px;padding:8px 12px;display:inline-flex}.recurring-filter button:hover{background:color-mix(in oklab, var(--accent-bg) 42%, transparent);color:var(--ink)}.recurring-filter button[aria-pressed=true]{border-color:color-mix(in oklab, var(--accent) 28%, var(--line));background:var(--accent-bg);color:var(--accent-2)}.recurring-filter button b{background:color-mix(in oklab, currentColor 10%, transparent);color:currentColor;font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;min-width:22px;padding:2px 6px}.recurring-filter-help{color:var(--muted);margin:8px 22px 15px;font-size:11.5px}.recurring-ledger{gap:12px;display:grid}.recurring-filter-empty{border:1px dashed var(--line);color:var(--muted);background:var(--card);border-radius:15px;align-items:flex-start;gap:12px;padding:22px;display:flex}.recurring-filter-empty b{color:var(--ink)}.recurring-filter-empty p{margin:4px 0 0}.recurring-company{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px oklch(35% .06 240/.04)}.recurring-company[open]{box-shadow:var(--shadow)}.recurring-company>summary{cursor:pointer;grid-template-columns:42px minmax(180px,1fr) minmax(145px,auto) auto 20px;align-items:center;gap:14px;min-height:82px;padding:16px 18px;list-style:none;display:grid}.recurring-company>summary::-webkit-details-marker{display:none}.recurring-company>summary:after{content:"⌄";color:var(--muted);font-size:20px;line-height:1;transition:transform .18s}.recurring-company[open]>summary:after{transform:rotate(180deg)}.recurring-company>summary:hover{background:color-mix(in oklab, var(--accent-bg) 28%, transparent)}.recurring-company-icon{width:40px;height:40px;color:var(--accent-2);background:var(--accent-bg);border-radius:12px;place-items:center;display:grid}.recurring-company-name,.recurring-company-latest{gap:3px;min-width:0;display:grid}.recurring-company-name b{font:750 16px var(--display)}.recurring-company-name small,.recurring-company-latest small{color:var(--muted);overflow-wrap:anywhere}.recurring-company-latest{text-align:right}.recurring-company-latest b{font:800 18px var(--display);font-variant-numeric:tabular-nums}.recurring-company-body{border-top:1px solid var(--line);background:color-mix(in oklab, var(--bg) 45%, var(--surface));grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);display:grid}.recurring-company-body>section{min-width:0;padding:22px}.recurring-company-body>section+section{border-left:1px solid var(--line)}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.section-heading h3{font:750 16px var(--display);margin:3px 0 0}.recurring-history ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.payment-year+.payment-year{margin-top:14px}.payment-year h4{color:var(--muted);font:750 11px var(--body);letter-spacing:.08em;margin:10px 0 6px}.recurring-history li{border-top:1px solid var(--line-2);grid-template-columns:112px minmax(80px,1fr) 74px;align-items:center;gap:14px;min-height:42px;display:grid}.recurring-history time{color:var(--ink-2);font-size:12.5px}.recurring-history li>b{text-align:right;font-variant-numeric:tabular-nums}.payment-track{background:var(--line-2);border-radius:999px;height:7px;overflow:hidden}.payment-track i{border-radius:inherit;background:linear-gradient(90deg, var(--rain), var(--mint));height:100%;display:block}.previous-payments{border-top:1px solid var(--line);margin-top:12px}.previous-payments>summary{min-height:44px;color:var(--accent-2);cursor:pointer;align-content:center;padding:11px 0;font-size:12.5px;font-weight:700}.previous-payments[open]>summary{margin-bottom:4px}.recurring-empty-history{color:var(--muted);align-items:flex-start;gap:10px;display:flex}.recurring-empty-history p{margin:0;line-height:1.6}.company-followup{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.company-followup.needs-review{background:color-mix(in oklab, var(--warn-bg) 55%, var(--surface))}.company-followup p{margin:0;line-height:1.6}.followup-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.company-followup blockquote{border-left:3px solid var(--rain);background:var(--field);width:100%;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0 10px 10px 0;margin:0;padding:12px 14px;line-height:1.6}.previous-followups{border-top:1px solid var(--line);width:100%}.previous-followups summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:650}.previous-followup{border:0;border-top:1px solid var(--line-2);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.previous-followup span{color:var(--ink-2)}.recurring-company-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:14px;padding:12px 18px;font-size:12.5px;display:flex}.recurring-discovered{margin-top:18px}@media (width<=760px){.recurring-year-overview{grid-template-columns:1fr}.recurring-month-focus{border-right:0;border-bottom:1px solid var(--line);min-height:0}.recurring-company>summary{grid-template-columns:38px minmax(0,1fr) auto 18px;gap:10px;padding:14px}.recurring-company-icon{width:36px;height:36px}.recurring-company-latest{text-align:left;grid-column:2}.recurring-company>summary>.pill{white-space:normal;text-align:center;grid-area:1/3/span 2}.recurring-company>summary:after{grid-area:1/4/span 2}.recurring-company-body{grid-template-columns:1fr}.recurring-company-body>section+section{border-left:0;border-top:1px solid var(--line)}.recurring-company-footer{flex-direction:column;align-items:flex-start}}@media (width<=520px){.recurring-topbar .btn{width:100%}.recurring-month-focus{padding:22px 20px}.recurring-year-chart{padding:18px 12px 14px 18px}.recurring-year-chart .section-heading{flex-direction:column;align-items:flex-start}.recurring-review-summary{flex-direction:column;align-items:flex-start;padding:12px 18px}.recurring-filter{scrollbar-width:none;padding:12px 18px 2px;overflow-x:auto}.recurring-filter::-webkit-scrollbar{display:none}.recurring-filter button{flex:none}.recurring-filter-help{margin-inline:18px}.recurring-company>summary{grid-template-columns:34px minmax(0,1fr) 18px}.recurring-company>summary>.pill{grid-area:3/2;justify-self:start}.recurring-company>summary:after{grid-area:1/3/span 3}.recurring-company-latest{grid-column:2}.recurring-company-body>section{padding:18px 16px}.recurring-history li{grid-template-columns:98px minmax(50px,1fr) 64px;gap:10px}}.months-compare{gap:16px}.today-simple{max-width:1180px}.today-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.today-heading h1{margin:0}.today-heading p{color:var(--ink-2);margin:6px 0 0;font-size:14px}.today-heading>span{color:var(--muted);font-size:12px}.weekly-hero .weather-copy{max-width:850px}.weekly-hero{isolation:isolate;border:1px solid oklab(100% 0 5.96046e-8/.2)}.weekly-hero:after{content:"";z-index:0;pointer-events:none;opacity:.8;position:absolute;inset:0}.weekly-hero.sky-day{background:radial-gradient(circle at 88% 24%,#ffeb9d4d 0 6%,#0000 20%),linear-gradient(120deg,#075d74 0%,#0d829f 52%,#55bfd4 100%)}.weekly-hero.sky-day:after{background:linear-gradient(155deg,#0000 32%,#ffffff14 33%,#0000 52%),radial-gradient(at 96% 112%,#ffffff38,#0000 54%)}.weekly-hero.sky-night{background:radial-gradient(circle at 87% 24%,#dae6ff26 0 7%,#0000 22%),linear-gradient(120deg,#101936 0%,#172b57 54%,#28517b 100%)}.weekly-hero.sky-night:after{background-image:radial-gradient(circle at 13% 22%,#fff9d8d9 0 1px,#0000 1.5px),radial-gradient(circle at 31% 68%,#d8e8ffa6 0 1px,#0000 1.5px),radial-gradient(circle at 58% 19%,#fff9d8bf 0 1px,#0000 1.5px),radial-gradient(circle at 73% 72%,#d8e8ff8c 0 1px,#0000 1.5px),radial-gradient(circle at 94% 58%,#fff9d8b3 0 1px,#0000 1.5px)}.weekly-amount{letter-spacing:-1px;margin:8px 0;font-size:clamp(36px,5vw,56px);font-weight:800;line-height:1.15}.weekly-hero .weather-kicker{text-transform:uppercase;opacity:1}.weekly-status,.weekly-warning{max-width:65ch;margin:8px 0;font-size:14px;line-height:1.6}.weekly-budget-line{margin-top:14px;font-size:13px}.weekly-hero-footer{flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;display:flex}.weekly-hero-footer>span{opacity:.9;font-size:11px}.weekly-hero .weather-action{color:#0f3850;background:#ffffffeb;border-color:#ffffffb8;box-shadow:0 8px 20px #071d382e}.weekly-hero .weather-action:hover{color:#08283c;background:#fff}.weekly-hero .hero-weather{width:130px;min-width:130px;height:130px}.today-widgets{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.today-widget{text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);min-width:0;color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 4px 14px color-mix(in oklab, var(--rain) 6%, transparent);flex-direction:column;padding:20px;transition:border-color .15s,transform .15s;display:flex}.today-widget:hover{border-color:var(--rain);transform:translateY(-2px)}.today-widget:focus-visible{outline:3px solid var(--rain);outline-offset:3px}.today-widget.is-warning{--widget-warning:#ad312e;border-color:color-mix(in oklab, var(--widget-warning) 50%, var(--line));background:color-mix(in oklab, var(--widget-warning) 6%, var(--surface))}[data-theme=dark] .today-widget.is-warning{--widget-warning:#ffaaa1}.today-widget.is-warning .widget-value,.today-widget.is-warning .widget-subtitle{color:var(--widget-warning)}.today-widget.is-warning progress::-webkit-progress-value{background:var(--widget-warning)}.today-widget.is-warning progress::-moz-progress-bar{background:var(--widget-warning)}.weekly-alert-link{color:inherit;font:inherit;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:7px;padding:10px 0;font-size:13px;text-decoration:underline;display:inline-flex}.widget-heading{align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.widget-heading i{width:34px;height:34px;color:var(--rain);background:color-mix(in oklab, var(--rain) 12%, var(--surface));border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.widget-value{overflow-wrap:anywhere;margin-top:16px;font-size:clamp(22px,2.4vw,28px);line-height:1.15}.widget-subtitle{color:var(--ink-2);margin-top:6px;font-size:12px;line-height:1.5}.widget-body{width:100%;color:var(--ink-2);gap:8px;margin:12px 0 16px;font-size:12px;line-height:1.6;display:grid}.widget-body small{font-size:11px}.widget-names{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.widget-body progress{appearance:none;background:var(--line);border:0;border-radius:6px;width:100%;height:6px;overflow:hidden}.widget-body progress::-webkit-progress-bar{background:var(--line)}.widget-body progress::-webkit-progress-value{background:var(--rain);border-radius:6px}.widget-body progress::-moz-progress-bar{background:var(--rain)}.widget-action{border-top:1px solid var(--line);width:100%;color:var(--rain);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:12px;font-size:12px;font-weight:600;display:flex}.today-undo{color:var(--ink-2);justify-content:space-between;gap:12px;margin-top:16px;font-size:12px;display:flex}.weekly-drawer-total{border:1px solid var(--line);border-radius:12px;gap:6px;padding:18px;display:grid}.weekly-drawer-total strong{font-size:32px}.weekly-drawer-list{padding:0;list-style:none}.weekly-drawer-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;display:flex}@media (width<=900px){.today-widgets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.weekly-hero .hero-weather{width:76px;min-width:0;height:76px}.weekly-hero .weather-kicker{padding-right:68px;display:block}.weekly-amount{padding-right:76px}}@media (width<=560px){.today-heading{flex-direction:column;align-items:flex-start;gap:6px}.weekly-hero .hero-weather{width:62px;min-width:0;height:62px;position:absolute;top:12px;right:8px}.weekly-hero .hero-weather svg{width:62px;height:62px}.weekly-amount{padding-right:54px}.today-widgets{gap:10px}.today-widget{padding:14px}.widget-heading{flex-wrap:wrap;gap:6px;font-size:12px}.widget-value{font-size:22px}.widget-heading i{flex-basis:29px;width:29px;height:29px}}@media (width<=359px){.today-widgets{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.today-widget{transition:none}.today-widget:hover{transform:none}}.card .mc-table{border-collapse:collapse;width:100%;min-width:460px;font-size:13.5px;display:table;overflow:visible}.card .mc-table thead{min-width:0;display:table-header-group}.card .mc-table tbody{min-width:0;display:table-row-group}.mc-table th,.mc-table td{border-bottom:1px solid var(--line-2);padding:8px 10px}.mc-table th{color:var(--muted);text-align:left;white-space:nowrap;font-size:12px;font-weight:700}.mc-table th small,.mc-table td small{text-transform:uppercase;letter-spacing:.05em;opacity:.7;font-size:9.5px;font-weight:700;display:block}.mc-table .r{text-align:right}.mc-dim{color:var(--muted)}.mc-fc{background:color-mix(in oklab, var(--mint-soft) 55%, transparent)}.mc-total td{border-top:2px solid var(--line);border-bottom:0}.alerts-page,.page-shell{gap:18px;max-width:1120px;display:grid}.alerts-heading,.page-heading{justify-content:space-between;align-items:end;gap:18px;padding:2px 2px 4px;display:flex}.alerts-heading h1,.page-heading h1{font:800 30px/1.1 var(--display);letter-spacing:-.5px;margin:2px 0 0}.alerts-heading p,.page-heading p{color:var(--ink-2);margin:0;font-size:13px}.alerts-eyebrow,.page-eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.page-heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.alert-list{gap:12px;display:grid}.alert-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:42px minmax(0,1fr);gap:16px;padding:20px 22px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px oklch(35% .06 240/.055)}.alert-card:before{content:"";background:var(--warn);width:4px;position:absolute;inset:0 auto 0 0}.alert-card.bad:before{background:var(--bad)}.alert-card.lead{border-color:color-mix(in oklab, var(--warn) 30%, var(--line));background:linear-gradient(135deg, color-mix(in oklab, var(--warn-bg) 70%, var(--surface)), var(--surface) 58%);padding:26px 26px 24px}.alert-card.lead.bad{border-color:color-mix(in oklab, var(--bad) 28%, var(--line));background:linear-gradient(135deg, color-mix(in oklab, var(--bad-bg) 70%, var(--surface)), var(--surface) 58%)}.alert-card-icon{width:38px;height:38px;color:var(--warn);background:var(--warn-bg);border-radius:12px;place-items:center;display:grid}.alert-card.bad .alert-card-icon{color:var(--bad);background:var(--bad-bg)}.alert-card.lead .alert-card-icon{background:var(--surface);width:42px;height:42px;box-shadow:var(--shadow)}.alert-card-copy{min-width:0}.alert-card-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 24px;display:flex}.alert-card-copy h2{max-width:46ch;font:700 16px/1.35 var(--display);margin:0}.alert-card.lead .alert-card-copy h2{font-size:21px;line-height:1.28}.alert-card-amount{white-space:nowrap;align-items:baseline;gap:7px;display:flex}.alert-card-amount b{letter-spacing:-.3px;font-size:17px}.alert-card.lead .alert-card-amount b{font-size:22px}.alert-card-amount small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.alert-card-copy>p{max-width:74ch;color:var(--ink-2);margin:8px 0 15px;font-size:13.5px;line-height:1.62}.alert-card.lead .alert-card-copy>p{font-size:14.5px}.alert-card-copy>p.alert-card-note{color:var(--muted);margin:13px 0 0;font-size:12px;line-height:1.55}.alert-card .btn{min-height:36px}.alert-card.lead .btn{min-height:40px}.alert-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.alert-actions .btn{justify-content:center;align-items:center;gap:7px;display:inline-flex}.alerts-empty{border:1px solid color-mix(in oklab, var(--good) 28%, var(--line));background:linear-gradient(130deg, color-mix(in oklab, var(--good-bg) 78%, var(--surface)), var(--surface));border-radius:20px;align-items:center;gap:18px;min-height:170px;padding:28px 32px;display:flex}.alerts-empty-icon{width:54px;height:54px;color:var(--good);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;flex:0 0 54px;place-items:center;display:grid}.alerts-empty h2{font:750 24px/1.2 var(--display);margin:3px 0 4px}.alerts-empty p{color:var(--ink-2);margin:0}.alerts-secondary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.alerts-secondary>:only-child{grid-column:1/-1}.alerts-secondary>.card{min-width:0;margin:0}.alerts-secondary .list{border-top:1px solid var(--line);margin:14px 0}.alerts-secondary .item{border-bottom:1px solid var(--line-2);grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:62px;padding:10px 0;display:grid}.alerts-secondary .when{color:var(--ink-2);font-size:12px;font-weight:700}.alerts-secondary .what{min-width:0;display:grid}.alerts-secondary .what strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.alerts-secondary .what small{color:var(--muted);font-size:11px}.alerts-secondary .amt{font-variant-numeric:tabular-nums;font-weight:750}.alerts-resolved{padding:0;overflow:hidden}.alerts-resolved>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:78px;padding:17px 19px;list-style:none;display:flex}.alerts-resolved>summary::-webkit-details-marker{display:none}.alerts-resolved>summary b{margin-top:2px;font-size:16px;display:block}.alerts-resolved>summary:after{content:"+";color:var(--muted);font-size:20px}.alerts-resolved[open]>summary:after{content:"−"}.alerts-resolved>summary .pill{margin-left:auto}.alerts-resolved-list{border-top:1px solid var(--line)}.alerts-resolved-list article{border-bottom:1px solid var(--line-2);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 18px;display:grid}.alerts-resolved-check{width:26px;height:26px;color:var(--good);background:var(--good-bg);border-radius:50%;place-items:center;display:grid}.alerts-resolved-list h3{margin:0 0 2px;font-size:14px}.alerts-resolved-list p{color:var(--ink-2);margin:0;font-size:12px}.alerts-resolved>.fine{margin:0;padding:12px 18px 15px}@media (width<=760px){.alerts-heading{flex-direction:column;align-items:flex-start;gap:5px}.alert-card.lead{padding:21px 18px}.alerts-secondary{grid-template-columns:1fr}.alerts-secondary>:only-child{grid-column:auto}}@media (width<=520px){.alert-card{grid-template-columns:34px minmax(0,1fr);gap:11px;padding:16px 14px}.alert-card-icon,.alert-card.lead .alert-card-icon{width:32px;height:32px}.alert-card.lead .alert-card-copy h2{font-size:18px}.alerts-empty{align-items:flex-start;padding:22px 18px}.alerts-resolved-list article{grid-template-columns:28px 1fr}.alerts-resolved-list article .btn{grid-column:2;justify-self:start}.alerts-secondary .item{grid-template-columns:52px minmax(0,1fr) auto}.alerts-secondary .item .btn{grid-column:2/-1;justify-self:start}}@media (prefers-reduced-motion:reduce){.alert-card{animation:none}}.purchase-analysis,.purchase-analysis-reading{border:1px solid var(--line);background:var(--field);border-radius:14px;margin:16px 0;padding:18px}.purchase-analysis h3,.purchase-analysis-reading h3{margin-top:0}.purchase-analysis p,.purchase-analysis-reading p{line-height:1.6}.purchase-goal-verdict{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.purchase-plan-options{gap:14px;margin:20px 0;display:grid}.purchase-plan-option{border:1px solid var(--line);background:var(--field);border-radius:14px;padding:18px}.purchase-plan-option:first-child{border-color:var(--accent)}.purchase-plan-option h3{margin:8px 0}.purchase-plan-option dl{gap:8px;margin:16px 0;display:grid}.purchase-plan-option dl>div{justify-content:space-between;gap:16px;display:flex}.purchase-plan-option dd{text-align:right;margin:0;font-weight:700}.purchase-review-reasons{padding-left:20px}.purchase-review-reasons li+li{margin-top:8px}
