:root{--bg: #f5f3ed;--surface: #ffffff;--surface-2: #f8f6f1;--surface-3: #ebe8df;--text: #1f2a22;--text-2: #566055;--text-3: #858c81;--border: #e3e0d5;--separator: rgb(30 40 20 / .08);--accent: #3f6f4e;--accent-hover: #335c40;--accent-soft: #e3eee4;--on-accent: #ffffff;--positive: #1d7f47;--positive-fill: #2fa564;--positive-soft: #e2f3e8;--negative: #b7472a;--negative-fill: #bf4f30;--negative-soft: #f8e6df;--warning: #8f5a00;--warning-fill: #f9a620;--warning-soft: #fdf0d6;--person-none: #8b8b94;--person-teal: #3f6f4e;--person-violet: #7255d8;--person-coral: #b7472a;--person-blue: #2f6fd6;--person-amber: #a86f00;--person-pink: #c93f78;--person-green: #4c7a20;--person-slate: #55627a;--on-person: #ffffff;--on-fill: #ffffff;--cat-1: #3a78d6;--cat-2: #5964d4;--cat-3: #8a58e0;--cat-4: #cf4e86;--cat-5: #dc7428;--cat-6: #b88700;--cat-7: #17958a;--cat-8: #1d8fbd;--cat-9: #4f9a2a;--cat-10: #6f7280;--cat-11: #a2683b;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--fs-2xs: .6875rem;--fs-tab: .6875rem;--fs-xs: .75rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--fs-3xl: 2.25rem;--s1: .25rem;--s2: .5rem;--s3: .75rem;--s4: 1rem;--s5: 1.25rem;--s6: 1.5rem;--s8: 2rem;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-full: 999px;--shadow-1: 0 1px 2px rgb(20 20 10 / .05), 0 0 0 1px rgb(20 20 10 / .03);--shadow-2: 0 6px 20px rgb(20 20 10 / .08), 0 1px 3px rgb(20 20 10 / .06);--shadow-3: 0 -8px 40px rgb(0 0 0 / .16);--ease: cubic-bezier(.2, .8, .2, 1);--dur: .18s;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--tabbar-h: 60px;--content-w: 640px;--focus: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #11150f;--surface: #1b2119;--surface-2: #222920;--surface-3: #2b3328;--text: #eef2ea;--text-2: #a8b2a3;--text-3: #7f8a7b;--border: #2c3429;--separator: rgb(255 255 255 / .07);--accent: #86c098;--accent-hover: #9fd0ae;--accent-soft: #1d3022;--on-accent: #0d1f13;--positive: #56cf87;--positive-fill: #3fb872;--positive-soft: #133222;--negative: #f0896b;--negative-fill: #e0694a;--negative-soft: #3a1f17;--warning: #f7bb4f;--warning-fill: #f9a620;--warning-soft: #362a10;--person-none: #7d7d87;--person-teal: #86c098;--person-violet: #a28bff;--person-coral: #f0896b;--person-blue: #6ea2ff;--person-amber: #f0b53a;--person-pink: #ff7eb0;--person-green: #a3cf6a;--person-slate: #9aa6b8;--on-person: #101114;--cat-1: #6ea3f2;--cat-2: #8b93f2;--cat-3: #b08cf5;--cat-4: #ee7fae;--cat-5: #f39a5a;--cat-6: #e2b53a;--cat-7: #45c3b5;--cat-8: #52b8e3;--cat-9: #84c55c;--cat-10: #9a9caa;--cat-11: #cf966a;--shadow-1: 0 0 0 1px rgb(255 255 255 / .04);--shadow-2: 0 8px 24px rgb(0 0 0 / .4);--shadow-3: 0 -8px 40px rgb(0 0 0 / .5);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}body.no-scroll{overflow:hidden}h1,h2,h3{margin:0;line-height:1.2;letter-spacing:-.01em}h1{font-size:var(--fs-2xl);font-weight:700}h2{font-size:var(--fs-lg);font-weight:650}h3{font-size:var(--fs-md);font-weight:600}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block}.icon{flex:none}.tabular,.amount,.money{font-variant-numeric:tabular-nums}:focus-visible{outline:none;box-shadow:var(--focus)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stack{display:flex;flex-direction:column;gap:var(--s4)}.stack-sm{display:flex;flex-direction:column;gap:var(--s2)}.row{display:flex;gap:var(--s2);align-items:center}.row.spread{justify-content:space-between}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.center{text-align:center}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:var(--fs-sm)}.xsmall{font-size:var(--fs-xs)}.strong{font-weight:600}.positive{color:var(--positive)}.negative{color:var(--negative)}.warning{color:var(--warning)}.error{color:var(--negative);font-size:var(--fs-sm)}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pre-line{white-space:pre-line}button{cursor:pointer;border:none;background:transparent;border-radius:var(--r-sm);min-height:44px;padding:0 var(--s4);display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);font-weight:500;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease),opacity var(--dur) var(--ease),color var(--dur) var(--ease);touch-action:manipulation}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:var(--on-accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.secondary{background:var(--surface-3);color:var(--text)}button.secondary:hover:not(:disabled){background:color-mix(in srgb,var(--surface-3) 80%,var(--text) 8%)}button.tinted{background:var(--accent-soft);color:var(--accent);font-weight:600}button.danger{background:var(--negative-soft);color:var(--negative);font-weight:600}button.danger-solid{background:var(--negative-fill);color:var(--on-fill);font-weight:600}button.ghost{color:var(--accent);padding:0 var(--s2)}button.block{width:100%}button.lg{min-height:52px;font-size:var(--fs-lg);border-radius:var(--r-md)}button.sm{min-height:36px;padding:0 var(--s3);font-size:var(--fs-sm);border-radius:var(--r-full)}.link-btn{min-height:0;padding:var(--s1) 0;color:var(--accent);font-weight:600;border-radius:6px}.link-btn.small{font-size:var(--fs-sm)}.icon-btn{width:44px;height:44px;min-height:44px;padding:0;border-radius:var(--r-full);color:var(--text-2);flex:none}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-btn.danger-icon{color:var(--negative)}.pill{min-height:38px;padding:0 var(--s3);border-radius:var(--r-full);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:500;box-shadow:var(--shadow-1)}.pill .icon{color:var(--text-2)}.pill .count{color:var(--text-2);font-weight:600}.pill.active{background:var(--accent-soft);color:var(--accent)}.pill.active .icon{color:var(--accent)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label,legend.field-label{font-size:var(--fs-sm);font-weight:600;color:var(--text-2);padding:0;margin-bottom:6px}.field .field-label{margin-bottom:0}.field-hint{font-size:var(--fs-sm);color:var(--text-2)}input,select,textarea{width:100%;min-height:48px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);font-size:var(--fs-md);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease)}input[type=date]{appearance:none;-webkit-appearance:none;display:flex;align-items:center}input::placeholder{color:var(--text-3)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:var(--focus)}input[aria-invalid=true]{border-color:var(--negative)}select{appearance:none;-webkit-appearance:none;padding-right:2.25rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b8b94' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.search-field{position:relative}.search-field .icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.search-field input{padding-left:2.6rem;background:var(--surface);border-color:transparent;box-shadow:var(--shadow-1)}.search-field input:focus{border-color:var(--accent)}.select-pill{width:auto;min-height:38px;max-width:100%;border-radius:var(--r-full);background-color:var(--surface);border-color:transparent;box-shadow:var(--shadow-1);font-size:var(--fs-sm);font-weight:500;padding-left:var(--s3)}.select-pill.active{background-color:var(--accent-soft);color:var(--accent)}.amount-field{display:flex;flex-direction:column;align-items:center;gap:var(--s1);padding:var(--s2) 0 var(--s1)}.amount-field .field-label{margin:0}.amount-wrap{display:flex;align-items:baseline;justify-content:center;gap:var(--s1);max-width:100%}.amount-input{width:9ch;max-width:100%;min-height:0;padding:0;border:none;background:transparent;text-align:center;font-size:clamp(2.25rem,11vw,3rem);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;caret-color:var(--accent)}.amount-input:focus{box-shadow:none;background:transparent}.amount-input[aria-invalid=true]{color:var(--negative)}.amount-currency{font-size:var(--fs-2xl);font-weight:600;color:var(--text-2)}.amount-underline{width:min(14rem,70%);height:2px;border-radius:2px;background:var(--border);transition:background-color var(--dur) var(--ease)}.amount-field:focus-within .amount-underline{background:var(--accent)}.segmented{border:none;padding:0;margin:0;min-width:0}.segmented-track{display:flex;gap:2px;padding:3px;border-radius:var(--r-sm);background:var(--surface-3)}.segmented label{flex:1 1 0;min-width:0;min-height:40px;display:flex;align-items:center;justify-content:center;gap:var(--s2);padding:0 var(--s2);border-radius:8px;font-size:var(--fs-sm);font-weight:500;color:var(--text-2);cursor:pointer;text-align:center;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.segmented label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.segmented label.selected{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0000001f}.segmented label:has(input:focus-visible){box-shadow:var(--focus)}.segmented input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;min-height:0}.segmented-sm label{min-height:34px}.segmented-track{position:relative}.segmented-track.has-pill:before{content:"";position:absolute;top:3px;bottom:3px;--seg-w: calc((100% - 6px - (var(--seg-n) - 1) * 2px) / var(--seg-n));width:var(--seg-w);left:calc(3px + var(--seg-i) * (var(--seg-w) + 2px));border-radius:8px;background:var(--surface);box-shadow:0 1px 3px #0000001f;transition:left .26s var(--ease)}.segmented-track.has-pill label{position:relative;z-index:1}.segmented-track.has-pill label.selected{background:transparent;box-shadow:none}.category-picker{border:none;margin:0;padding:0;min-width:0}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.25rem,1fr));gap:var(--s2)}.category-grid label{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--s2) var(--s1);border-radius:var(--r-md);border:1.5px solid transparent;background:var(--surface-2);font-size:var(--fs-xs);font-weight:500;color:var(--text-2);text-align:center;cursor:pointer;min-width:0;transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.category-grid label span.cat-name{max-width:100%;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;line-height:1.25}.category-grid label.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--text);font-weight:600}.category-grid label:has(input:focus-visible){box-shadow:var(--focus)}.category-grid input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;min-height:0}.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}.chip{min-height:34px;padding:0 var(--s3);border-radius:var(--r-full);background:var(--surface-3);color:var(--text);font-size:var(--fs-sm);font-weight:500}.chip.selected{background:var(--accent);color:var(--on-accent)}.disclosure{width:100%;justify-content:space-between;padding:0 var(--s3);background:var(--surface-2);border-radius:var(--r-sm);color:var(--text)}.disclosure .summary{color:var(--text-2);font-size:var(--fs-sm);font-weight:400}.disclosure .icon{color:var(--text-3);transition:transform var(--dur) var(--ease)}.disclosure[aria-expanded=true] .icon{transform:rotate(180deg)}.app{min-height:100dvh}.appbar{position:sticky;top:0;z-index:15;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);padding:calc(env(safe-area-inset-top) + var(--s2)) max(var(--s4),env(safe-area-inset-right)) var(--s2) max(var(--s4),env(safe-area-inset-left))}.appbar-inner{max-width:var(--content-w);margin:0 auto;display:flex;align-items:center;gap:var(--s2);min-height:48px}.appbar-title{flex:1;min-width:0}.appbar-title h1{font-size:var(--fs-2xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appbar-kicker{font-size:var(--fs-sm);color:var(--text-2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appbar .back-btn{padding:0 var(--s2) 0 0;color:var(--accent);font-weight:600;margin-left:calc(-1 * var(--s1))}.appbar .icon-btn{background:var(--surface);box-shadow:var(--shadow-1);color:var(--text)}.appbar .subnav{max-width:var(--content-w);margin:var(--s2) auto 0}.content{max-width:var(--content-w);margin:0 auto;padding:var(--s2) max(var(--s4),env(safe-area-inset-right)) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s8)) max(var(--s4),env(safe-area-inset-left))}.view{display:flex;flex-direction:column;gap:var(--s5);animation:view-in .22s var(--ease)}@keyframes view-in{0%{opacity:0;transform:translateY(6px)}}:where(.view>*,.home-col>*){animation:rise-in .42s var(--ease) backwards}:where(.view>*:nth-child(2),.home-col>*:nth-child(2)){animation-delay:50ms}:where(.view>*:nth-child(3),.home-col>*:nth-child(3)){animation-delay:.1s}:where(.view>*:nth-child(4),.home-col>*:nth-child(4)){animation-delay:.15s}:where(.view>*:nth-child(5),.home-col>*:nth-child(5)){animation-delay:.2s}:where(.view>*:nth-child(n+6),.home-col>*:nth-child(n+6)){animation-delay:.25s}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:16;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--separator);padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.tabbar-inner{max-width:var(--content-w);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 58px repeat(3,minmax(0,1fr));align-items:center}.tab{flex-direction:column;gap:3px;height:var(--tabbar-h);padding:0;border-radius:0;font-size:var(--fs-2xs);font-weight:500;color:var(--text-3);min-width:0}.tab:active:not(:disabled){transform:none}.tab .icon{width:24px;height:24px}.tab[aria-current=page]{color:var(--accent);font-weight:600}.tab[aria-current=page] .icon{animation:tab-pop .42s var(--ease-spring)}@keyframes tab-pop{0%{transform:scale(.8) translateY(2px)}55%{transform:scale(1.15) translateY(-2px)}to{transform:none}}.tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-add{height:var(--tabbar-h);padding:0;display:flex;align-items:center;justify-content:center}.tab-add .add-circle{width:52px;height:52px;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);display:grid;place-items:center;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 40%,transparent);transform:translateY(-10px);transition:transform var(--dur) var(--ease)}.tab-add:active .add-circle{transform:translateY(-10px) scale(.94)}.tab-add .add-circle .icon{transition:transform .32s var(--ease-spring)}.tab-add:active .add-circle .icon{transform:rotate(90deg)}@media(hover:hover){.tab-add:hover .add-circle .icon{transform:rotate(90deg)}}.tab-add:focus-visible{box-shadow:none}.tab-add:focus-visible .add-circle{box-shadow:var(--focus)}.tab-add .icon{width:26px;height:26px;stroke-width:2.4}@media(min-width:900px){:root{--content-w: 760px}.app{display:grid;grid-template-columns:240px 1fr;grid-template-rows:auto 1fr}.tabbar{position:sticky;top:0;height:100dvh;border-top:none;border-right:1px solid var(--separator);background:var(--surface);padding:var(--s6) var(--s3);grid-column:1;grid-row:1 / span 2;align-self:start}.tabbar-inner{display:flex;flex-direction:column;align-items:stretch;gap:var(--s1)}.tabbar-brand{display:flex;align-items:center;gap:var(--s2);padding:0 var(--s3) var(--s5);font-weight:700;font-size:var(--fs-lg)}.tabbar-brand img{width:30px;height:30px;border-radius:8px}.tab{flex-direction:row;justify-content:flex-start;gap:var(--s3);height:44px;padding:0 var(--s3);border-radius:var(--r-sm);font-size:var(--fs-md);color:var(--text-2)}.tab:hover{background:var(--surface-2)}.tab[aria-current=page]{background:var(--accent-soft)}.tab-add{order:-1;height:auto;margin-bottom:var(--s4)}.tab-add .add-circle{width:100%;height:46px;border-radius:var(--r-md);transform:none;box-shadow:none;display:flex;gap:var(--s2);font-weight:600}.tab-add:active .add-circle{transform:scale(.98)}.appbar,.content{grid-column:2}.content{padding-bottom:var(--s8);width:100%}.appbar{padding-top:var(--s5)}}.tabbar-brand,.tab-add .add-text{display:none}@media(min-width:900px){.tabbar-brand{display:flex;order:-2}.tab-add .add-text{display:inline}}.card{background:var(--surface);border-radius:var(--r-lg);padding:var(--s4);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--s3);min-width:0}.card-tight{padding:var(--s3) var(--s4)}.card-link{color:inherit;text-decoration:none;text-align:left;width:100%;font-weight:inherit;justify-content:flex-start}button.card{align-items:stretch}.section{display:flex;flex-direction:column;gap:var(--s2);min-width:0}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:0 var(--s1);min-height:32px}.section-header h2{font-size:var(--fs-lg)}.list{list-style:none;margin:0;padding:0;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}.list>li{position:relative}.list>li+li:before{content:"";position:absolute;top:0;right:0;left:var(--sep-inset, var(--s4));border-top:1px solid var(--separator)}.list.with-icons{--sep-inset: 4.1rem}:where(.list>li){animation:rise-in .36s var(--ease) backwards}:where(.list>li:nth-child(2)){animation-delay:30ms}:where(.list>li:nth-child(3)){animation-delay:60ms}:where(.list>li:nth-child(4)){animation-delay:90ms}:where(.list>li:nth-child(5)){animation-delay:.12s}:where(.list>li:nth-child(6)){animation-delay:.15s}:where(.list>li:nth-child(7)){animation-delay:.18s}:where(.list>li:nth-child(n+8)){animation-delay:.21s}.row-item{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:60px;padding:var(--s3) var(--s4);border-radius:0;text-align:left;font-weight:400;justify-content:flex-start;color:inherit;text-decoration:none}button.row-item:hover{background:var(--surface-2)}button.row-item:active:not(:disabled){transform:none;background:var(--surface-3)}.row-item.paused{opacity:.55}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}button.row-main>*{max-width:100%}button.row-main{align-items:flex-start;justify-content:center;padding:0;text-align:left;font-weight:inherit}button.row-main:active:not(:disabled){transform:none}.row-title{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{font-size:var(--fs-sm);color:var(--text-2);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere}.row-meta .icon{display:inline-block;vertical-align:-3px;margin-right:2px}.row-end{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none;max-width:42%}.row-amount{font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.row-sub{font-size:var(--fs-xs);font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.row-chevron{color:var(--text-3);flex:none}.tag{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-xs);font-weight:600;padding:1px 7px;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);vertical-align:1px;white-space:nowrap}.tag-accent{background:var(--accent-soft);color:var(--accent)}.tag-warn{background:var(--warning-soft);color:var(--warning)}.day-group{display:flex;flex-direction:column;gap:var(--s2)}.day-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 var(--s1);font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}.day-head .money{font-weight:500}.kv{display:grid;grid-template-columns:1fr auto;gap:var(--s2) var(--s4);margin:0}.kv dt{color:var(--text-2)}.kv dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.kv .total{color:var(--text);font-weight:700;padding-top:var(--s2);border-top:1px solid var(--separator)}.stat-label{font-size:var(--fs-sm);color:var(--text-2);font-weight:500}.stat-big{font-size:var(--fs-3xl);font-weight:750;letter-spacing:-.025em;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-mid{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.015em;font-variant-numeric:tabular-nums}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:var(--s2)}.stat-tile{background:var(--surface-2);border-radius:var(--r-md);padding:var(--s3);display:flex;flex-direction:column;gap:2px;min-width:0}.stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid.three .stat-tile strong{font-size:var(--fs-md)}.stat-tile strong{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.status-pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);font-weight:600;padding:3px 10px 3px 8px;border-radius:var(--r-full);align-self:flex-start;white-space:nowrap}.status-ok{background:var(--positive-soft);color:var(--positive)}.status-warn{background:var(--warning-soft);color:var(--warning)}.status-over{background:var(--negative-soft);color:var(--negative)}.status-none{background:var(--surface-3);color:var(--text-2)}.progress{height:10px;background:var(--surface-3);border-radius:var(--r-full);overflow:hidden}.progress>div{height:100%;border-radius:var(--r-full);transition:width .4s var(--ease)}.progress>div,.hbar>div,.split-track>div{animation:fill-in .8s .12s var(--ease) backwards}@keyframes fill-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.progress-ok>div{background:var(--positive-fill)}.progress-warn>div{background:var(--warning-fill)}.progress-over>div{background:var(--negative-fill)}.progress-saving>div{background:var(--accent)}.progress.thin{height:6px}.hbars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s3)}.hbar-row{display:flex;align-items:center;gap:var(--s3)}.hbar-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.hbar-top{display:flex;justify-content:space-between;gap:var(--s2);font-size:var(--fs-sm)}.hbar-top .name{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-top .value{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.hbar{height:6px;background:var(--surface-3);border-radius:var(--r-full);overflow:hidden}.hbar>div{height:100%;border-radius:var(--r-full);background:var(--accent)}.hbar>.fill-tone{background:var(--tone)}.split-track{display:flex;height:12px;border-radius:var(--r-full);overflow:hidden;background:var(--surface-3);gap:2px}.split-track>div{height:100%;min-width:3px}.legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s2);font-size:var(--fs-sm)}.legend li{display:flex;align-items:center;gap:var(--s2)}.legend .money{margin-left:auto;font-weight:600;white-space:nowrap}.dot{width:10px;height:10px;border-radius:50%;flex:none}.fill-person-none{background:var(--person-none)}.fill-person-teal{background:var(--person-teal)}.fill-person-violet{background:var(--person-violet)}.fill-person-coral{background:var(--person-coral)}.fill-person-blue{background:var(--person-blue)}.fill-person-amber{background:var(--person-amber)}.fill-person-pink{background:var(--person-pink)}.fill-person-green{background:var(--person-green)}.fill-person-slate{background:var(--person-slate)}.fill-fixed{background:var(--cat-2)}.fill-variable{background:var(--cat-7)}.month-bars{width:100%;height:auto;overflow:visible}.month-bars .bar{cursor:pointer}.month-bars .bar-fill{fill:var(--accent);opacity:.35;transition:opacity var(--dur) var(--ease)}.month-bars .bar.selected .bar-fill{opacity:1}.month-bars .bar-fill{transform-box:fill-box;transform-origin:bottom;animation:grow-up .65s var(--ease) backwards}.month-bars .bar.over .bar-fill{fill:var(--negative-fill)}.month-bars .bar:focus-visible{outline:none}.month-bars .bar:focus-visible .bar-fill{opacity:1;stroke:var(--text);stroke-width:1.5}.month-bars .budget-mark{stroke:var(--text);stroke-width:1.5;stroke-dasharray:3 2;opacity:.7}.month-bars text{fill:var(--text-2);font-size:10px;font-family:var(--font)}.month-bars text.value{fill:var(--text);font-weight:700;font-size:11px}.month-bars .grid{stroke:var(--separator)}.cat-icon{display:grid;place-items:center;flex:none;border-radius:12px;color:var(--tone);background:color-mix(in srgb,var(--tone) 15%,var(--surface))}.cat-icon-sm{width:30px;height:30px;border-radius:9px}.cat-icon-md{width:40px;height:40px}.cat-icon-lg{width:48px;height:48px;border-radius:14px}.tone-1{--tone: var(--cat-1)}.tone-2{--tone: var(--cat-2)}.tone-3{--tone: var(--cat-3)}.tone-4{--tone: var(--cat-4)}.tone-5{--tone: var(--cat-5)}.tone-6{--tone: var(--cat-6)}.tone-7{--tone: var(--cat-7)}.tone-8{--tone: var(--cat-8)}.tone-9{--tone: var(--cat-9)}.tone-10{--tone: var(--cat-10)}.tone-11{--tone: var(--cat-11)}.fill-tone{background:var(--tone)}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:var(--r-full);color:var(--on-person);font-weight:700;line-height:1}.avatar-emoji{background:color-mix(in srgb,var(--person) 22%,var(--surface))!important;border:2px solid var(--person)}.avatar-sm.avatar-emoji{font-size:.8125rem}.avatar-md.avatar-emoji{font-size:var(--fs-lg)}.avatar-lg.avatar-emoji{font-size:var(--fs-2xl)}.avatar-sm{width:22px;height:22px;font-size:var(--fs-2xs)}.avatar-md{width:34px;height:34px;font-size:var(--fs-sm)}.avatar-lg{width:52px;height:52px;font-size:var(--fs-xl)}.person-none{--person: var(--person-none);background:var(--person)}.person-teal{--person: var(--person-teal);background:var(--person)}.person-violet{--person: var(--person-violet);background:var(--person)}.person-coral{--person: var(--person-coral);background:var(--person)}.person-blue{--person: var(--person-blue);background:var(--person)}.person-amber{--person: var(--person-amber);background:var(--person)}.person-pink{--person: var(--person-pink);background:var(--person)}.person-green{--person: var(--person-green);background:var(--person)}.person-slate{--person: var(--person-slate);background:var(--person)}.avatar-pair{display:inline-flex}.avatar-pair .avatar+.avatar{margin-left:-8px;box-shadow:0 0 0 2px var(--surface)}.icon-tile{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;flex:none;background:var(--surface-3);color:var(--text-2)}.icon-tile.accent{background:var(--accent-soft);color:var(--accent)}.icon-tile.positive{background:var(--positive-soft);color:var(--positive)}.icon-tile.negative{background:var(--negative-soft);color:var(--negative)}.notice{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);font-size:var(--fs-sm);background:var(--accent-soft);color:var(--text)}.notice>.icon{margin-top:1px;color:var(--accent)}.notice-warn{background:var(--warning-soft)}.notice-warn>.icon{color:var(--warning)}.notice-over,.notice-error{background:var(--negative-soft)}.notice-over>.icon,.notice-error>.icon{color:var(--negative)}.notice-success{background:var(--positive-soft)}.notice-success>.icon{color:var(--positive)}.notice button{flex:none}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s2);padding:var(--s8) var(--s4)}.empty-state>button{margin-top:var(--s2)}.empty-icon{width:56px;height:56px;border-radius:var(--r-full);display:grid;place-items:center;background:var(--surface-3);color:var(--text-2);margin-bottom:var(--s1)}.empty-icon .icon{animation:float 3.2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.empty-title{font-weight:650;font-size:var(--fs-lg)}.empty-text{color:var(--text-2);font-size:var(--fs-sm);max-width:22rem}.card .empty-state,.list .empty-state{padding:var(--s6) var(--s4)}.spinner-wrap{display:inline-flex;align-items:center;gap:var(--s2);color:var(--text-2)}.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;opacity:.8}@keyframes spin{to{transform:rotate(360deg)}}.screen-center{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s4);padding:calc(env(safe-area-inset-top) + var(--s6)) var(--s5) calc(env(safe-area-inset-bottom) + var(--s6));text-align:center}.skeleton{background:linear-gradient(90deg,var(--surface-3),var(--surface-2),var(--surface-3));background-size:200% 100%;animation:shimmer 1.2s linear infinite;border-radius:var(--r-lg)}@keyframes shimmer{to{background-position:-200% 0}}.sheet-backdrop{position:fixed;top:0;left:0;right:0;height:100%;z-index:40;background:#0006;display:flex;align-items:flex-end;justify-content:center;animation:fade-in .16s ease-out}.sheet{position:relative;background:var(--surface);width:100%;max-width:560px;max-height:calc(100% - env(safe-area-inset-top) - 10px);display:flex;flex-direction:column;border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-3);animation:sheet-up .26s var(--ease);outline:none}.sheet-grabber{width:36px;height:5px;border-radius:3px;background:var(--surface-3);margin:8px auto 0;flex:none}.sheet-header{display:flex;align-items:flex-start;gap:var(--s2);padding:var(--s2) var(--s2) var(--s2) var(--s5);flex:none}.sheet-header h2{font-size:var(--fs-xl);padding-top:9px}.sheet-subtitle{color:var(--text-2);font-size:var(--fs-sm);margin-top:2px}.sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:var(--s2) var(--s5) var(--s5);flex:1 1 auto;-webkit-overflow-scrolling:touch}.sheet-footer{flex:none;padding:var(--s3) var(--s5) calc(var(--s3) + env(safe-area-inset-bottom));border-top:1px solid var(--separator);background:var(--surface);display:flex;flex-direction:column;gap:var(--s2)}.sheet-footer .row>button{flex:1}.sheet-footer .row>button.primary{flex:2}@media(min-width:640px){.sheet-backdrop{align-items:center;padding:var(--s6)}.sheet{border-radius:var(--r-lg);max-height:min(88%,860px);animation:pop-in .2s var(--ease)}.sheet-grabber{display:none}.sheet-header{padding-top:var(--s3)}.sheet-footer{padding-bottom:var(--s4);border-radius:0 0 var(--r-lg) var(--r-lg)}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes pop-in{0%{opacity:0;transform:scale(.97) translateY(8px)}}.dialog-backdrop{position:fixed;inset:0;z-index:60;background:#00000073;display:grid;place-items:center;padding:var(--s5);animation:fade-in .14s ease-out}.dialog{width:min(100%,380px);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3);animation:pop-in .18s var(--ease)}.dialog h2{font-size:var(--fs-lg)}.dialog-message{color:var(--text-2);font-size:var(--fs-sm);white-space:pre-line}.dialog-actions{display:flex;gap:var(--s2);margin-top:var(--s2)}.dialog-actions button{flex:1}.toaster{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s4));z-index:70;display:flex;flex-direction:column;align-items:center;gap:var(--s2);width:max-content;max-width:calc(100% - 2rem);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-radius:var(--r-full);background:var(--text);color:var(--bg);font-size:var(--fs-sm);font-weight:600;box-shadow:var(--shadow-2);animation:toast-in .24s var(--ease)}.toast-success .icon{color:var(--positive-fill)}.toast>.icon{animation:icon-pop .45s .1s var(--ease-spring) backwards}@keyframes icon-pop{0%{transform:scale(0) rotate(-30deg)}}.toast.with-action{pointer-events:auto;padding-right:var(--s2)}.toast-action{min-height:36px;padding:0 var(--s3);border-radius:var(--r-full);color:inherit;font-weight:700;background:color-mix(in srgb,var(--bg) 14%,transparent)}.toast-error{background:var(--negative-fill);color:var(--on-fill);border-radius:var(--r-md)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.96)}}@media(min-width:900px){.toaster{bottom:var(--s6);left:calc(50% + 120px)}}.forecast{display:flex;gap:var(--s2);align-items:flex-start;margin:var(--s3) 0 0;padding-top:var(--s3);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-2)}.forecast .icon{margin-top:2px;color:var(--accent)}.forecast strong{color:var(--text)}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);background:transparent;border:1px solid var(--border);border-radius:var(--r-full);padding:2px}.month-nav .icon-btn{width:40px;height:40px;min-height:40px}.month-nav-label{display:flex;flex-direction:column;align-items:center;min-width:0;line-height:1.2}.month-nav-label strong{font-size:var(--fs-md);animation:fade-in .26s ease-out}.month-nav-label .link-btn{padding:0;font-size:var(--fs-xs)}.hero{gap:var(--s4);padding:var(--s5);box-shadow:var(--shadow-2)}.hero-top{display:flex;flex-direction:column;gap:var(--s1)}.hero-label{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap}.hero .stat-big{white-space:nowrap;font-size:clamp(2rem,10vw,var(--fs-3xl))}.status-pill{animation:icon-pop .45s .35s var(--ease-spring) backwards}.streak>span:first-child{display:inline-block;transform-origin:bottom;animation:flame 1.8s ease-in-out infinite}@keyframes flame{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.12) rotate(-6deg)}60%{transform:scale(.96) rotate(4deg)}}@media(hover:hover){.card-link,.quick-action{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease)}.card-link:hover,.quick-action:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}}.quick-action .icon{transition:transform .32s var(--ease-spring)}.quick-action:active .icon{transform:scale(1.2)}.hero-foot{display:flex;justify-content:space-between;gap:var(--s3);font-size:var(--fs-sm);color:var(--text-2);flex-wrap:wrap}.hero-foot strong{color:var(--text);font-variant-numeric:tabular-nums}.balance-card{flex-direction:row;align-items:center;gap:var(--s3)}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}.quick-action{flex-direction:column;gap:6px;min-height:76px;padding:var(--s3) var(--s2);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-1);font-size:var(--fs-sm);font-weight:550;color:var(--text);text-align:center;line-height:1.2}.quick-action .icon{color:var(--accent)}.home-grid{display:flex;flex-direction:column;gap:var(--s5)}.home-col{display:contents}.home-col>:empty{display:none}.o-1{order:1}.o-2{order:2}.o-3{order:3}.o-4{order:4}.o-5{order:5}.o-6{order:6}@media(min-width:900px){.home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.home-col{display:flex;flex-direction:column;gap:var(--s5)}}.filters{display:flex;flex-direction:column;gap:var(--s2)}.filter-row{display:flex;gap:var(--s2);overflow-x:auto;scrollbar-width:none;padding:2px 2px 4px;margin:0 -2px}.filter-row::-webkit-scrollbar{display:none}.filter-row>*{flex:none}.summary-line{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);padding:0 var(--s1);color:var(--text-2);font-size:var(--fs-sm);flex-wrap:wrap}.summary-line strong{color:var(--text);font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.balance-hero{align-items:center;text-align:center;padding:var(--s6) var(--s5);gap:var(--s3)}.balance-people{display:flex;align-items:center;gap:var(--s3);color:var(--text-3)}.balance-text{font-size:var(--fs-lg)}.balance-text strong{display:block;font-size:var(--fs-3xl);letter-spacing:-.02em;margin-top:2px;font-variant-numeric:tabular-nums}.budget-item{flex-direction:column;align-items:stretch;gap:var(--s2)}.budget-item .row-top{display:flex;align-items:center;gap:var(--s3)}.budget-item .progress{margin-left:calc(40px + var(--s3))}.budget-item .budget-foot{margin-left:calc(40px + var(--s3));display:flex;justify-content:space-between;gap:var(--s2);font-size:var(--fs-xs);color:var(--text-2)}.goal-card{gap:var(--s3)}.goal-head{display:flex;align-items:center;gap:var(--s3)}.goal-amounts{display:flex;align-items:baseline;gap:var(--s2);flex-wrap:wrap}.goal-people{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);font-size:var(--fs-sm);color:var(--text-2)}.goal-people>span{display:inline-flex;align-items:center;gap:6px}.settings-group{display:flex;flex-direction:column;gap:var(--s2)}.settings-group>h2{font-size:var(--fs-sm);font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;padding:0 var(--s4)}.settings-group>.note{font-size:var(--fs-sm);color:var(--text-2);padding:0 var(--s4)}.back-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--s1);min-height:44px}.settings-page-title{font-size:var(--fs-xl);font-weight:700;margin:0 0 var(--s1)}.settings-group .row-item>.icon:last-child{color:var(--text-3);flex:none}.settings-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);min-height:60px}.settings-row label{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--text-2);padding-top:var(--s1)}.settings-row input{background:transparent;border-color:transparent;padding:0;min-height:32px;font-weight:500}.settings-row input:focus{box-shadow:none;border-color:transparent;background:transparent}.settings-row:focus-within{box-shadow:inset 0 0 0 2px var(--accent);border-radius:var(--r-lg)}.release{display:flex;flex-direction:column;gap:var(--s2);padding-bottom:var(--s4)}.release+.release{border-top:1px solid var(--separator);padding-top:var(--s4)}.release ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--s2)}.release li{font-size:var(--fs-sm);display:flex;gap:var(--s2);align-items:baseline}.kind{flex:none;display:inline-block;font-size:var(--fs-xs);font-weight:700;border-radius:var(--r-full);padding:1px 8px}.kind-nuevo{background:var(--accent-soft);color:var(--accent)}.kind-mejora{background:var(--warning-soft);color:var(--warning)}.kind-correccion{background:var(--negative-soft);color:var(--negative)}.import-list>li{padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:var(--s2)}.import-list>li.skipped{opacity:.6}.import-list .note-input{min-height:40px;font-size:var(--fs-md)}.import-list select{min-height:40px;min-width:0;font-size:var(--fs-sm)}.import-list .segmented{flex:none}.import-list .dup{display:flex;gap:6px;align-items:center;color:var(--warning);font-size:var(--fs-sm);font-weight:500}.auth{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--s5);text-align:left}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:var(--s3);text-align:center}.auth-brand img{width:68px;height:68px;border-radius:18px;box-shadow:var(--shadow-2)}.auth-brand p{color:var(--text-2)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.spinner{animation:spin 1.6s linear infinite!important}}.row-link{justify-content:flex-start;padding:0;min-height:44px;font-weight:500;color:var(--text);text-align:left}.row-item.negative{color:var(--negative)}.code-input{font-size:var(--fs-2xl);letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.shop-layout{display:flex;flex-direction:column;gap:var(--s5);min-width:0}.shop-main,.shop-side{display:flex;flex-direction:column;gap:var(--s4);min-width:0}@media(min-width:1100px){.app:has(.shop-layout){--content-w: 1040px}.shop-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start}.shop-side{position:sticky;top:calc(var(--s5) + 72px)}}.shop-hero{gap:var(--s3)}.shop-hero-top{display:flex;align-items:flex-start;gap:var(--s2)}.shop-count{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.015em}.sync-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 var(--s2);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:600;color:var(--text-2);white-space:nowrap}.sync-badge .spinner{width:13px;height:13px;border-width:2px}.sync-badge.offline{background:var(--warning-soft);color:var(--warning);min-height:32px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--positive-fill);box-shadow:0 0 0 3px var(--positive-soft)}.shop-add{display:flex;flex-direction:column;gap:var(--s2)}.shop-add-row{display:flex;gap:var(--s2);align-items:center}.shop-add-input{flex:1;min-width:0;min-height:50px;font-size:var(--fs-md)}.shop-add-btn{min-height:50px;padding:0 var(--s4);border-radius:var(--r-sm);flex:none}.shop-details-btn{width:50px;height:50px;min-height:50px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border)}.shop-details-btn.active{background:var(--accent-soft);color:var(--accent);border-color:transparent}@media(max-width:380px){.shop-add-btn span{display:none}.shop-add-btn{padding:0 var(--s3)}}.shop-added{min-height:1.2em;font-size:var(--fs-sm);color:var(--positive);font-weight:600;display:flex;align-items:center;gap:4px}.shop-added:empty{min-height:0}.shop-details{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s3);border-radius:var(--r-md);background:var(--surface-2);animation:view-in .18s var(--ease)}.shop-details-line{display:flex;flex-direction:column;gap:6px;min-width:0}.shop-details-line .field-label{margin:0}.shop-details .chip:not(.selected){background:var(--surface)}.shop-cat-chip .icon{opacity:.8}.check-line{display:flex;align-items:center;gap:var(--s2);min-height:44px;font-size:var(--fs-sm);font-weight:500;cursor:pointer}.check-line input{width:22px;height:22px;min-height:0;accent-color:var(--accent);margin:0;flex:none}.check-line .icon{color:var(--warning-fill)}.stepper{display:inline-flex;align-items:center;gap:var(--s1);background:var(--surface);border-radius:var(--r-full);padding:2px;box-shadow:var(--shadow-1);align-self:flex-start}.stepper input{width:4.5rem;min-height:40px;text-align:center;border:none;background:transparent;font-weight:650;font-variant-numeric:tabular-nums;padding:0}.stepper input:focus{box-shadow:none;background:transparent}.stepper .icon-btn{width:40px;height:40px;min-height:40px;color:var(--accent)}.shop-toolbar{display:flex;align-items:center;gap:var(--s2)}.shop-toolbar .segmented{flex:1;min-width:0}.shop-search-btn{background:var(--surface);box-shadow:var(--shadow-1);color:var(--text)}.shop-search-btn.active{background:var(--accent-soft);color:var(--accent)}.shop-list{--sep-inset: 3.6rem}.shop-item{display:flex;align-items:center;gap:var(--s1);padding-right:var(--s2);animation:item-in .22s var(--ease)}@keyframes item-in{0%{opacity:0;transform:translateY(-4px)}}.shop-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:var(--s3);min-height:62px;padding:var(--s2) var(--s2) var(--s2) var(--s4);border-radius:0;justify-content:flex-start;text-align:left;font-weight:400}.shop-toggle:active:not(:disabled){transform:none;background:var(--surface-2)}.shop-toggle:disabled{opacity:1;cursor:default}.shop-check{width:28px;height:28px;flex:none;border-radius:50%;border:2px solid var(--text-3);display:grid;place-items:center;color:transparent;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.shop-check .icon{stroke-width:3}.shop-toggle:hover:not(:disabled) .shop-check{border-color:var(--accent)}.shop-check.checked{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:scale(1.08)}.shop-check.checked{animation:check-pop .36s var(--ease-spring)}.shop-check.checked path{stroke-dasharray:24;animation:draw-check .3s 80ms ease-out backwards}@keyframes check-pop{0%{transform:scale(.85)}60%{transform:scale(1.22)}to{transform:scale(1.08)}}@keyframes draw-check{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}.shop-name{font-size:var(--fs-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:5px}.shop-name>.icon{flex:none}.shop-star{color:var(--warning-fill);fill:var(--warning-fill)}.shop-meta{display:flex;align-items:center;gap:6px}.shop-meta .cat-icon{width:20px;height:20px;border-radius:6px}.shop-meta .cat-icon .icon{width:13px;height:13px}.shop-qty{flex:none;font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums;padding:3px 10px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);white-space:nowrap;max-width:7.5rem;overflow:hidden;text-overflow:ellipsis}.shop-edit{color:var(--text-3)}.shop-item.leaving{animation:item-out .3s var(--ease) .34s forwards;pointer-events:none}.shop-item.leaving .shop-name{text-decoration:line-through;color:var(--text-2)}.shop-item.leaving .shop-qty{opacity:.5}@keyframes item-out{to{opacity:0;transform:translate(24px)}}.shop-item.failed{background:var(--negative-soft)}.shop-failed-actions{flex:none;gap:var(--s1)}.shop-item.done .shop-name{text-decoration:line-through;color:var(--text-2);font-weight:500}.shop-undo-hint{color:var(--text-3);padding:0 var(--s3)}.shop-group{display:flex;flex-direction:column;gap:var(--s2)}.shop-group+.shop-group{margin-top:var(--s2)}.shop-group-title{display:inline-flex;align-items:center;gap:var(--s2)}.shop-group-title .cat-icon{width:24px;height:24px;border-radius:7px}.shop-bought-toggle{min-height:48px;background:var(--surface);box-shadow:var(--shadow-1);border-radius:var(--r-md)}.shop-quick{gap:var(--s4)}.shop-quick h3{font-weight:600}.shop-chips{gap:var(--s2)}.center-chips{justify-content:center;margin-top:var(--s2)}.shop-chip{min-height:40px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border);gap:6px}.shop-chip .icon{color:var(--accent)}.shop-chip .chip-count{color:var(--text-3);font-size:var(--fs-xs);font-weight:600}.shop-chip.on-list{background:var(--accent-soft);box-shadow:none;color:var(--accent)}.shop-recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.shop-recent li{display:flex;align-items:center;gap:var(--s3);min-height:56px}.shop-recent li+li{border-top:1px solid var(--separator)}.shop-readd{background:var(--accent-soft);color:var(--accent)}.shop-readd.on-list{background:transparent;color:var(--positive)}.shop-history-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3) var(--s2) var(--s4);min-height:60px}.shop-history-row button{flex:none}.shop-preview{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--text-2)}.shop-preview strong{color:var(--text)}.shop-preview .cat-icon{width:20px;height:20px;border-radius:6px}.shop-preview .cat-icon .icon{width:13px;height:13px}.tab-label-short{display:none}@media(max-width:899px){.tab{color:var(--text-2);font-size:var(--fs-tab)}.tab:has(.tab-label-short) .tab-label:not(.tab-label-short){display:none}.tab-label-short{display:block}.tab-add .add-circle{width:50px;height:50px}}.shop-cost{display:flex;flex-direction:column;gap:2px}.shop-cost-main{display:flex;align-items:center;gap:var(--s2)}.shop-cost-main .icon{color:var(--text-2);flex:none}.finish-prices{display:flex;flex-direction:column}.finish-price-row{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s2) 0;border-bottom:1px solid var(--border)}.finish-price-row:last-child{border-bottom:0}.finish-price-row .row-main{flex:1;min-width:0}.finish-price-row .select-pill{align-self:flex-start;max-width:100%}.price-input{width:6.5em;text-align:right;flex:none}.finish-loose summary{cursor:pointer;padding:var(--s1) 0}.finish-loose li{padding:var(--s1) 0;gap:var(--s2)}.expense-items{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.expense-items li{display:flex;gap:var(--s2);padding:var(--s1) 0;font-size:var(--fs-sm)}.expense-bought summary{list-style:none;cursor:pointer}.expense-bought summary::-webkit-details-marker{display:none}.expense-bought[open] summary .icon:last-child{transform:rotate(180deg)}.expense-bought .expense-items{margin-top:var(--s2)}.finish-prices,.finish-loose ul{list-style:none;margin:0;padding:0}.ticket-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ticket-item{display:flex;align-items:center;gap:var(--s2);padding:var(--s1) 0;border-bottom:1px solid var(--border)}.ticket-item:last-child{border-bottom:0}.ticket-item input[type=checkbox]{flex:none;width:22px;height:22px;min-height:0;margin:0;accent-color:var(--accent)}.ticket-item .row-main,.ticket-item-name{flex:1;min-width:0}.ticket-item-price{flex:none;font-variant-numeric:tabular-nums}.ticket-item.off .ticket-item-price,.ticket-item.off .row-main{opacity:.5}.fixed-suggestions h2{gap:var(--s2);color:var(--accent)}.pending-payments{margin-bottom:var(--s5)}.pending-payments h2{gap:var(--s2);color:var(--accent)}.applepay-guide{border-top:1px solid var(--border);padding-top:var(--s4)}.applepay-url{display:block;padding:var(--s3);border-radius:10px;background:var(--surface-3);font-size:var(--fs-xs);word-break:break-all;user-select:all;-webkit-user-select:all}.applepay-steps{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:var(--s2);line-height:1.45}.applepay-steps code{padding:1px 5px;border-radius:6px;background:var(--surface-3);font-weight:600}.fixed-suggestions+.stack,.fixed-suggestions+.empty-state{margin-top:var(--s4)}.auto-list{margin:0;padding-left:1.1em;display:grid;gap:2px}.suggest-hint{display:flex;gap:var(--s2);align-items:flex-start}.suggest-hint>.icon{flex:none;margin-top:2px;color:var(--accent)}.review-list{--sep-inset: 6.4rem}.review-list label.row-item{cursor:pointer;align-items:flex-start}.review-list .row-item>.cat-icon,.review-list .cancel-check{margin-top:2px}.review-list .row-meta{-webkit-line-clamp:4;line-clamp:4}.cancel-check{width:22px;height:22px;min-height:0;accent-color:var(--accent);margin:0;flex:none}span.cancel-check{display:inline-block}.review-reason{color:var(--warning)}.review-list .row-meta strong{font-weight:600;color:var(--text)}.recat-input{margin-top:var(--s1);min-height:36px;padding:4px var(--s2);font-size:var(--fs-sm);max-width:16rem}.limit-input{display:inline-flex;align-items:center;gap:4px;flex:none}.limit-input input{width:6.5rem;text-align:right;min-height:40px}.limit-hint{align-self:flex-start;justify-content:flex-start;text-align:left;padding:0;min-height:0}.legend-row{flex-direction:row;flex-wrap:wrap;gap:var(--s2) var(--s4)}.fill-income{background:var(--positive-fill)}.fill-expense{background:var(--negative-fill)}.fill-forecast{background:transparent;border:1.5px dashed var(--text-2)}.dash-mark{width:14px;border-top:2px dashed var(--text);opacity:.7;flex:none}.trend-bars .t-income{fill:var(--positive-fill)}.trend-bars .t-expense{fill:var(--negative-fill)}.trend-bars .current rect{opacity:.55}.trend-bars .forecast rect{fill:transparent;stroke:var(--text-2);stroke-width:1.2;stroke-dasharray:3 2}.trend-bars .now-mark{stroke:var(--separator);stroke-width:1;stroke-dasharray:2 3}.trend-bars .grid{stroke:var(--separator)}.shop-cheaper{color:var(--positive)}.shop-compare-row{display:flex;flex-direction:column;gap:var(--s1, 4px);padding:var(--s3, 12px) 0;border-bottom:1px solid var(--border)}.shop-compare-row:last-child{border-bottom:0}.shop-compare-prices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm)}.shop-compare-prices li{display:flex;justify-content:space-between;gap:var(--s2)}.shop-compare-prices .icon{display:inline-block;vertical-align:-2px}.story-backdrop{position:fixed;inset:0;z-index:45;background:#000;display:grid;place-items:center;animation:fade-in .2s ease-out}.story{--story-a: #3f6f4e;--story-b: #123c63;position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;color:#fff;background:radial-gradient(120% 70% at 85% 0%,rgb(255 255 255 / .18),transparent 60%),radial-gradient(90% 60% at 0% 100%,rgb(0 0 0 / .25),transparent 70%),linear-gradient(160deg,var(--story-a),var(--story-b));outline:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}@media(min-width:640px){.story-backdrop{background:#000000d1;padding:var(--s6)}.story{width:min(430px,100%);height:min(100%,880px);border-radius:28px;box-shadow:0 30px 80px #00000080}}.theme-intro{--story-a: #0f8a7e;--story-b: #1b2b6b}.theme-total{--story-a: #1663c7;--story-b: #0e2a55}.theme-category{--story-a: #d4407c;--story-b: #5a1f7a}.theme-place{--story-a: #2f9a4a;--story-b: #0f4a45}.theme-weekday{--story-a: #7a4fe0;--story-b: #261a63}.theme-biggest{--story-a: #ef7a2a;--story-b: #9b1f3a}.theme-budget{--story-a: #0f8f8a;--story-b: #14406b}.theme-payers{--story-a: #5b5bd6;--story-b: #0f6b66}.theme-savings{--story-a: #e05a9a;--story-b: #7b2d8f}.theme-shopping{--story-a: #5aa52a;--story-b: #1d5d3a}.theme-trips{--story-a: #1c9bd1;--story-b: #253f8f}.theme-calm{--story-a: #3a4aa8;--story-b: #111833}.theme-outro{--story-a: #1c1c2e;--story-b: #0d5e58}.story-bars{display:flex;gap:4px;padding:calc(env(safe-area-inset-top) + 10px) 12px 0;flex:none}.story-bar{flex:1;height:3px;border-radius:2px;background:#ffffff4d;overflow:hidden}.story-bar-fill{display:block;height:100%;background:#fff;transform-origin:left;transform:scaleX(0)}.story-top{display:flex;align-items:center;gap:var(--s1);padding:8px 6px 0 14px;flex:none}.story-brand{flex:1;display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:600;min-width:0}.story-brand img{width:26px;height:26px;border-radius:8px}.story-tag{font-size:var(--fs-xs);font-weight:600;padding:2px 8px;border-radius:var(--r-full);background:#fff3}.story-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#fff;background:transparent}.story-icon:active{background:#ffffff26}.story-stage{position:relative;flex:1;min-height:0;touch-action:none;cursor:pointer}.story-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:var(--s3);padding:var(--s4) var(--s6) calc(env(safe-area-inset-bottom) + var(--s6));overflow-y:auto}.story-center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s3)}.story-slide>:not(.story-center){text-align:left}.story-badge{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#ffffff2e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.story-kicker{font-size:var(--fs-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85}.story-title{font-size:var(--fs-3xl);line-height:1.08;font-weight:800;letter-spacing:-.02em;text-wrap:balance}.story-title.sm{font-size:1.625rem}.story-big{font-size:clamp(3.2rem,17vw,4.6rem);line-height:1;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.story-text{font-size:var(--fs-lg);line-height:1.4;opacity:.95;text-wrap:pretty}.story-text.dim{opacity:.75;font-size:var(--fs-md)}.story ul{list-style:none;margin:0;padding:0}.story-hint{font-size:var(--fs-sm);opacity:.7;margin-top:var(--s4)}.story-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 9px 1px 6px;border-radius:var(--r-full);background:#fff3;font-weight:700;font-size:var(--fs-md);vertical-align:2px}.story-rings{position:relative;width:128px;height:84px;margin-bottom:var(--s2)}.story-rings span{position:absolute;top:0;width:84px;height:84px;border-radius:50%;border:7px solid #fff}.story-rings span:first-child{left:0;opacity:.9;animation:ring-l .9s var(--ease) both}.story-rings span:nth-child(2){right:0;opacity:.6;animation:ring-r .9s var(--ease) both}.story-rings b{position:absolute;inset:0;display:grid;place-items:center;font-size:2rem;font-weight:800;animation:s-pop .5s .6s var(--ease) both}.story-rings.small{transform:scale(.7);margin:-12px 0 -8px}@keyframes ring-l{0%{transform:translate(-30px);opacity:0}}@keyframes ring-r{0%{transform:translate(30px);opacity:0}}.story-cols{display:flex;align-items:flex-end;gap:8px;height:190px;margin-top:var(--s4)}.story-col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.story-col-bar{width:100%;max-width:44px;border-radius:8px 8px 3px 3px;background:#ffffff59;transform-origin:bottom;animation:grow-up .7s var(--ease) both}.story-col.on .story-col-bar{background:#fff}.story-col-value{font-size:var(--fs-xs);font-weight:700;opacity:0;white-space:nowrap}.story-col.on .story-col-value{opacity:1}.story-col-label{font-size:var(--fs-xs);font-weight:600;opacity:.8;text-transform:capitalize}@keyframes grow-up{0%{transform:scaleY(0)}}.story-hbars{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s4)}.story-hbar-top{display:flex;justify-content:space-between;gap:var(--s2);font-weight:600;margin-bottom:5px}.story-hbar{display:block;height:10px;border-radius:5px;background:#fff3;overflow:hidden}.story-hbar>span{display:block;height:100%;border-radius:5px;background:#fff;transform-origin:left;animation:grow-right .8s var(--ease) both}.story-hbar-sub{display:block;font-size:var(--fs-xs);opacity:.75;margin-top:4px}@keyframes grow-right{0%{transform:scaleX(0)}}.story-ring{position:relative;width:168px;height:168px;margin:var(--s2) 0}.story-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.story-ring circle{fill:none;stroke-width:14}.story-ring .track{stroke:#fff3}.story-ring .value{stroke:#fff;stroke-linecap:round;stroke-dashoffset:var(--ring-off);animation:ring-fill 1.1s .3s var(--ease) both}.story-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--fs-3xl);font-weight:800}@keyframes ring-fill{0%{stroke-dashoffset:400}}.story-split{display:flex;gap:4px;width:100%;height:26px;border-radius:13px;overflow:hidden;margin-top:var(--s2);transform-origin:left;animation:grow-right .8s .3s var(--ease) both}.story-split>span{flex-basis:0;min-width:6px;box-shadow:inset 0 0 0 2px #ffffff40}.story-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2) var(--s5);font-size:var(--fs-md)}.story-legend li{display:flex;align-items:center;gap:6px}.story-legend.col{flex-direction:column;align-items:center;gap:var(--s2);font-size:var(--fs-lg)}.story-legend .dot{box-shadow:0 0 0 2px #fff}.story-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:var(--s4);max-width:340px;width:100%;align-self:center}.story-cal-head{text-align:center;font-size:var(--fs-xs);font-weight:700;opacity:.7}.story-cal-day{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;font-size:var(--fs-xs);font-weight:600;border:2px solid rgb(255 255 255 / .85);animation:s-pop .4s var(--ease) both}.story-cal-key{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid #fff;vertical-align:-2px}.story-cal-day.spent{border-color:transparent;background:#ffffff29;opacity:.7}.story-highlights{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2);margin-top:var(--s2)}.story-highlights li{padding:8px 14px;border-radius:var(--r-full);background:#ffffff29;font-weight:600}.story-actions{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s6);animation:s-in .5s .7s var(--ease) both}.story-actions .row>*{flex:1}.story-btn{min-height:48px;border-radius:var(--r-full);padding:0 var(--s4);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:var(--fs-md);color:#fff;background:#ffffff29}.story-btn.primary{background:#fff;color:#10201e}.story-arrow{position:absolute;top:50%;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.story-arrow:focus-visible{width:44px;height:44px;clip-path:none}.story-arrow.prev{left:4px}.story-arrow.next{right:4px}@media(min-width:640px)and (hover:hover){.story-arrow{width:44px;height:44px;clip-path:none;margin-top:-22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#ffffff29}.story-arrow:disabled{opacity:0;pointer-events:none}.story-slide{padding-left:60px;padding-right:60px}}.s-in{animation:s-in .55s var(--ease) both}.s-pop{animation:s-pop .6s var(--ease) both}.d1{animation-delay:80ms}.d2{animation-delay:.18s}.d3{animation-delay:.3s}.d4{animation-delay:.42s}.d5{animation-delay:.54s}@keyframes s-in{0%{opacity:0;transform:translateY(16px)}}@keyframes s-pop{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.04)}}.story-card{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s4);border-radius:var(--r-lg);text-align:left;color:#fff;background:linear-gradient(120deg,#0f8a7e,#5b3fc9 60%,#d4407c);box-shadow:var(--shadow-2)}.story-card strong{display:block;font-size:var(--fs-md)}.story-card .grow>span{display:block;font-size:var(--fs-sm);opacity:.9}.story-card-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:#fff3}.story-card:active{transform:scale(.99)}.profile-preview{display:flex;align-items:center;gap:var(--s3)}.profile-preview>span:last-child{display:flex;flex-direction:column;gap:2px}.swatches{display:flex;flex-wrap:wrap;gap:var(--s3)}.swatch{width:40px;height:40px;min-height:0;padding:0;border-radius:var(--r-full);display:grid;place-items:center;color:var(--on-person);border:none;box-shadow:0 0 0 2px var(--surface),0 0 0 2px transparent;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.swatch.selected{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--person)}.swatch:disabled{opacity:.25}.swatch:not(:disabled):active{transform:scale(.92)}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:var(--s2)}.emoji-option{height:44px;min-height:0;padding:0;font-size:var(--fs-xl);font-weight:700;border-radius:var(--r-md);background:var(--surface-2);color:var(--text-2);border:2px solid transparent}.emoji-option.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.appbar-pair{align-self:center}.appbar-pair .avatar{width:40px;height:40px;font-size:var(--fs-md)}.appbar-pair .avatar.avatar-emoji{font-size:1.25rem}.appbar-pair .avatar+.avatar{box-shadow:0 0 0 2px var(--bg)}.payer-badge{position:relative;flex:none;display:inline-grid}.payer-badge>.avatar{position:absolute;right:-5px;bottom:-5px;width:20px;height:20px;font-size:.625rem;box-shadow:0 0 0 2px var(--surface)}.payer-badge>.avatar.avatar-emoji{font-size:var(--fs-2xs);border-width:1.5px}.reaction-chips{display:flex;flex-wrap:wrap;gap:var(--s1);margin-top:var(--s1)}.reaction-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 8px 2px 3px;border-radius:var(--r-full);background:var(--surface-2);font-size:var(--fs-xs);color:var(--text-2)}.reaction-chip .avatar{width:18px;height:18px;font-size:.5625rem}.reaction-card{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) var(--s4)}.reaction-theirs{display:flex;align-items:center;gap:var(--s2)}.reaction-big{font-size:1.25rem;vertical-align:-2px}.reaction-row{display:flex;justify-content:space-between;gap:var(--s1)}.reaction-btn{flex:1;min-height:0;height:42px;padding:0;font-size:1.25rem;border-radius:var(--r-md);background:var(--surface-2);border:2px solid transparent;color:var(--text-2);transition:transform var(--dur) var(--ease)}.reaction-btn.selected{border-color:var(--accent);background:var(--accent-soft)}.reaction-btn:not(:disabled):active{transform:scale(.9)}.reaction-mine{margin:0}.payer-picker .segmented label{min-height:58px;font-size:var(--fs-md)}.payer-picker .segmented label>span{gap:var(--s2)}.payer-picker .segmented label:not(.selected) .avatar{opacity:.55;filter:saturate(.6)}.balance-flow{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:var(--fs-xs);color:var(--text-3);min-width:44px}.balance-heart{font-size:var(--fs-2xl);animation:heartbeat 1.6s var(--ease) infinite}.balance-kicker{display:block;font-size:var(--fs-sm);color:var(--text-2);margin-bottom:2px}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}45%{transform:scale(1.12)}}.celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:200}.celebration span{position:absolute;top:-40px;font-size:1.5rem;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.3,.6,.5,1);animation-fill-mode:forwards}@keyframes confetti-fall{0%{transform:translate(0) rotate(0);opacity:1}80%{opacity:1}to{transform:translate(var(--drift),105vh) rotate(var(--spin));opacity:0}}.activity-card{display:flex;align-items:center;gap:var(--s1);background:transparent;border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s1) var(--s2) var(--s1) 0}.activity-main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--s3);text-align:left;background:none;border:none;padding:var(--s2) var(--s2) var(--s2) var(--s4);min-height:0;font-weight:400;color:var(--text);font-size:var(--fs-sm)}.activity-main .grow{min-width:0;overflow-wrap:anywhere}.activity-when{display:block;color:var(--text-3);font-size:var(--fs-xs);margin-top:1px}.activity-love{flex:none;width:44px;height:44px;min-height:0;padding:0;border-radius:var(--r-full);background:none;border:none;font-size:var(--fs-xl);transition:transform var(--dur) var(--ease)}.activity-love.loved{animation:love-pop .4s var(--ease)}.activity-love:not(:disabled):active{transform:scale(.85)}@keyframes love-pop{0%{transform:scale(.6)}60%{transform:scale(1.3)}to{transform:scale(1)}}.shared-goal{display:flex;flex-direction:column;align-items:stretch;gap:var(--s2);text-align:left}.shared-goal-top{display:flex;justify-content:space-between;align-items:baseline}.shared-goal-name{font-size:var(--fs-lg);font-weight:700;color:var(--text)}.shared-goal-track>span{height:100%;min-width:3px}.shared-goal .legend{flex-direction:row;flex-wrap:wrap;gap:var(--s1) var(--s4)}.shared-goal .legend-item{display:inline-flex;align-items:center;gap:var(--s2);color:var(--text)}.shared-goal .legend .money{margin-left:var(--s1)}.streak{display:flex;gap:var(--s2);align-items:flex-start;margin:var(--s3) 0 0;font-size:var(--fs-sm);color:var(--text-2)}.good-month{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s2) var(--s3) var(--s4);border-radius:var(--r-lg);background:linear-gradient(120deg,color-mix(in srgb,var(--person-teal) 16%,var(--surface)),color-mix(in srgb,var(--person-violet) 16%,var(--surface)));font-size:var(--fs-sm)}.good-month .grow{display:flex;flex-direction:column;gap:2px}.good-month-emoji{font-size:var(--fs-2xl)}.appbar-hello h1{font-size:var(--fs-xl);white-space:normal;line-height:1.2}.profile-card fieldset{border:none;padding:0;margin:0;min-width:0}.profile-card legend{padding:0;margin-bottom:var(--s2)}.error-message{overflow-wrap:anywhere}.error-detail{margin:0 var(--s3) var(--s3);padding:var(--s3);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-xs);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}.challenge{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3);border-radius:var(--r-md);background:var(--surface-2)}.challenge-title{font-weight:650;color:var(--text)}.challenge-won{background:var(--positive-soft)}.challenge-lost{background:var(--warning-soft)}.challenge-idea{white-space:normal}.coach-card{--lvl-a: var(--accent);--lvl-b: var(--cat-7);position:relative;overflow:hidden;gap:var(--s4);padding:var(--s5);box-shadow:var(--shadow-2);background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--lvl-a) 16%,transparent),transparent 60%),radial-gradient(90% 70% at 0% 100%,color-mix(in srgb,var(--lvl-b) 12%,transparent),transparent 70%),var(--surface)}.coach-card.level-genial{--lvl-a: var(--positive-fill);--lvl-b: var(--cat-7)}.coach-card.level-bien{--lvl-a: var(--accent);--lvl-b: var(--cat-8)}.coach-card.level-regular{--lvl-a: var(--warning-fill);--lvl-b: var(--cat-5)}.coach-card.level-flojo{--lvl-a: var(--negative-fill);--lvl-b: var(--cat-4)}.coach-empty{flex-direction:row;align-items:center;gap:var(--s3)}.coach-badge{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--on-accent);background:linear-gradient(135deg,var(--lvl-a),var(--lvl-b))}.coach-head{display:flex;align-items:center;gap:var(--s4)}.coach-verdict{display:flex;flex-direction:column;gap:2px;min-width:0}.coach-verdict strong{font-size:var(--fs-xl);line-height:1.15}.coach-kicker{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.score-ring{position:relative;flex:none;width:112px;height:112px}.score-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.score-ring circle{fill:none;stroke-width:11}.ring-track{stroke:var(--surface-3)}.ring-value{stroke-linecap:round;filter:drop-shadow(0 2px 6px color-mix(in srgb,var(--lvl-a) 45%,transparent))}.ring-a{stop-color:var(--lvl-a)}.ring-b{stop-color:var(--lvl-b)}.score-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-size:2.1rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.score-num small{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--text-3);letter-spacing:0;margin-top:2px}.coach-factors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2)}.coach-factors li{display:flex;flex-direction:column;gap:4px;min-width:0;padding:var(--s2) var(--s2) var(--s3);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--separator);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.coach-factor-top{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-2xs);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach-factors strong{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach-meter{height:4px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.coach-meter>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lvl-a),var(--lvl-b));animation:fill-in .8s .2s var(--ease) backwards}@media(max-width:480px){.coach-factors{grid-template-columns:repeat(2,minmax(0,1fr))}}.coach-tips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2)}.coach-tips li{display:flex;gap:var(--s3);align-items:flex-start;font-size:var(--fs-sm);line-height:1.4;animation:rise-in .42s var(--ease) backwards}.coach-tip-n{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700;color:var(--on-fill);background:linear-gradient(135deg,var(--lvl-a),var(--lvl-b))}.coach-mini{gap:var(--s2)}.coach-mini-title{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.cushion-big,.compare-big{margin:0;display:flex;align-items:center;gap:6px;font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.cushion-track{position:relative;height:12px;border-radius:var(--r-full);background:var(--surface-3);margin-top:var(--s2)}.cushion-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;animation:fill-in .9s .15s var(--ease) backwards}.cushion-low .cushion-fill{background:linear-gradient(90deg,var(--negative-fill),var(--warning-fill))}.cushion-ok .cushion-fill{background:linear-gradient(90deg,var(--warning-fill),var(--positive-fill))}.cushion-goal .cushion-fill{background:linear-gradient(90deg,var(--positive-fill),var(--cat-7))}.cushion-mark{position:absolute;top:-3px;bottom:-3px;width:2px;border-radius:1px;background:var(--text-3);transform:translate(-1px)}.cushion-scale{position:relative;height:16px;font-size:var(--fs-2xs);color:var(--text-3)}.cushion-scale span{position:absolute;top:0}.cushion-scale span:first-child{left:0}.cushion-scale span:nth-child(2){transform:translate(-50%);white-space:nowrap}.cushion-scale span:last-child{right:0}.compare-bars{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s1)}.compare-label{display:flex;justify-content:space-between;gap:var(--s2);font-size:var(--fs-xs);color:var(--text-2)}.compare-label strong{color:var(--text);font-variant-numeric:tabular-nums}.compare-track{display:block;height:8px;margin-top:3px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.compare-track>span{display:block;height:100%;border-radius:inherit;animation:fill-in .8s .15s var(--ease) backwards}.compare-bar.now .compare-track>span{background:linear-gradient(90deg,var(--accent),var(--cat-7))}.compare-bar.normal .compare-track>span{background:var(--text-3)}.compare-bar.year .compare-track>span{background:var(--cat-3);opacity:.7}.compare-cats{list-style:none;margin:var(--s1) 0 0;padding:var(--s2) 0 0;border-top:1px solid var(--separator);display:flex;flex-direction:column;gap:4px}.compare-cats li{display:flex;justify-content:space-between;gap:var(--s2);font-size:var(--fs-sm)}.compare-cats strong{font-variant-numeric:tabular-nums}.appbar-hello h1{font-size:2rem;letter-spacing:-.025em}.month-nav-compact{border:none;justify-content:center;gap:var(--s1);padding:0;margin:calc(-1 * var(--s2)) 0 calc(-1 * var(--s1))}.month-nav-compact .icon-btn{width:34px;height:34px;min-height:34px;color:var(--accent)}.month-nav-compact .month-nav-label{min-width:9.5rem}.month-nav-compact .month-nav-label strong{font-size:var(--fs-sm);font-weight:600;color:var(--text-2);letter-spacing:.01em}.ring{position:relative;flex:none;display:grid;place-items:center}.ring svg{position:absolute;inset:0;animation:ring-in .7s var(--ease-spring) backwards}.ring-track{stroke:color-mix(in srgb,var(--text) 9%,transparent)}.ring-arc{transition:stroke-dasharray .7s var(--ease)}.ring-ok{stroke:var(--positive-fill)}.ring-warn{stroke:var(--warning-fill)}.ring-over{stroke:var(--negative-fill)}.ring-saving,.ring-accent{stroke:var(--accent)}.ring-lap{filter:drop-shadow(0 0 2px rgb(0 0 0 / .35))}.ring-center{position:relative;display:grid;place-items:center;text-align:center;line-height:1}.stroke-person-none{stroke:var(--person-none)}.stroke-person-teal{stroke:var(--person-teal)}.stroke-person-violet{stroke:var(--person-violet)}.stroke-person-coral{stroke:var(--person-coral)}.stroke-person-blue{stroke:var(--person-blue)}.stroke-person-amber{stroke:var(--person-amber)}.stroke-person-pink{stroke:var(--person-pink)}.stroke-person-green{stroke:var(--person-green)}.stroke-person-slate{stroke:var(--person-slate)}@keyframes ring-in{0%{opacity:0;transform:rotate(-40deg) scale(.85)}}.hero{border-radius:26px;padding:var(--s5);gap:var(--s4);box-shadow:var(--shadow-1)}.hero-main{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2);min-width:0}.hero-kicker{font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.hero .stat-big{font-size:clamp(2.1rem,11vw,2.6rem);font-weight:700;letter-spacing:-.035em;line-height:1}.hero-sub{font-size:var(--fs-sm);color:var(--text-2)}.hero-ring .ring-center strong{font-size:1.6rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.hero-ring .ring-center small{font-size:.8rem;font-weight:600;margin-left:1px;color:var(--text-2)}.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding-top:var(--s3);border-top:1px solid var(--separator)}.hero-facts>div{display:flex;flex-direction:column;gap:2px;min-width:0;padding:0 var(--s2)}.hero-facts>div:first-child{padding-left:0}.hero-facts>div+div{border-left:1px solid var(--separator)}.hero-facts dt{font-size:var(--fs-xs);color:var(--text-2);font-weight:500}.hero-facts dd{margin:0;font-size:var(--fs-md);font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero .forecast{border-top-color:var(--separator)}.home-feed{display:flex;flex-direction:column;gap:var(--s2)}.home-feed:empty{display:none}.home-feed .activity-card{background:var(--surface);border:none;box-shadow:var(--shadow-1);border-radius:20px}.widgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.widget-slot{display:flex;min-width:0}.widget-wide{grid-column:1 / -1}.widget{width:100%;min-height:150px;padding:var(--s4);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-1);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;text-align:left;font-weight:inherit;color:var(--text)}.widget:active:not(:disabled){transform:scale(.96)}@media(hover:hover){.widget{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.widget:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}}.widget-head{display:flex;align-items:center;gap:7px;margin-bottom:auto;padding-bottom:var(--s2)}.widget-glyph{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;color:#fff;flex:none}.widget-glyph-blue{background:var(--cat-1)}.widget-glyph-pink{background:var(--cat-4)}.widget-glyph-green{background:var(--positive-fill)}.widget-glyph-purple{background:var(--cat-3)}.widget-glyph-red{background:var(--negative-fill)}.widget-title{font-size:var(--fs-xs);font-weight:650;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}.widget-value{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}.widget-value small{font-size:var(--fs-md);font-weight:600;letter-spacing:0;color:var(--text-2)}.widget-caption{font-size:var(--fs-xs);color:var(--text-2);line-height:1.3}.widget-kicker{font-size:var(--fs-xs);font-weight:650;color:var(--cat-3)}.widget-name{font-size:var(--fs-md);font-weight:650;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.widget-name-lg{font-size:var(--fs-lg)}.widget-avatars .avatar{box-shadow:0 0 0 2px var(--surface)}.widget-row{display:flex;align-items:center;gap:var(--s3);width:100%;min-width:0}.widget-ring-pct{font-size:var(--fs-xs);font-weight:700;font-variant-numeric:tabular-nums}.widget-legend{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-xs);color:var(--text-2);min-width:0}.widget-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.widget-legend strong{color:var(--text);font-variant-numeric:tabular-nums}.widget-legend .dot{width:7px;height:7px}.widget-calendar{flex-direction:row;align-items:stretch;justify-content:space-between;min-height:0;gap:var(--s4)}.widget-cal-side{display:flex;flex-direction:column;gap:6px;min-width:0}.widget-cal-side .widget-head{margin-bottom:0}.widget-cal-grid{display:grid;grid-template-columns:repeat(7,13px);grid-auto-rows:13px;gap:5px;align-self:center;flex:none}.widget-cal-dot{border-radius:4px;background:var(--surface-3)}.widget-cal-dot.cal-out{background:transparent}.widget-cal-dot.cal-today{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--text)}.widget-cal-dot.cal-has-fixed:not(.cal-level-1,.cal-level-2,.cal-level-3,.cal-level-4){background:transparent;box-shadow:inset 0 0 0 1.5px var(--accent)}.cal-level-1{background:color-mix(in srgb,var(--accent) 22%,var(--surface-3))}.cal-level-2{background:color-mix(in srgb,var(--accent) 45%,var(--surface-3))}.cal-level-3{background:color-mix(in srgb,var(--accent) 72%,var(--surface-3))}.cal-level-4{background:var(--accent)}.challenges-idle-row{display:flex;align-items:center;gap:var(--s3)}.challenges-idle-row .grow{min-width:0}.challenges-idle-row button{flex:none}.storage{gap:var(--s4)}.storage-bar{display:flex;gap:2px;height:14px;border-radius:var(--r-full);overflow:hidden;background:var(--surface-3)}.storage-bar>span{min-width:4px;height:100%;animation:storage-in .7s var(--ease) backwards;transform-origin:left}.storage-rest,.storage-rest-dot{background:var(--text-3)}.storage-rest-dot{width:24px;height:24px;border-radius:8px;flex:none;opacity:.5}@keyframes storage-in{0%{transform:scaleX(0)}}.storage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s3)}.storage-list li{display:flex;align-items:center;gap:var(--s3);font-size:var(--fs-sm);min-width:0}.storage-list .money{font-weight:600;min-width:5.5rem;text-align:right;font-variant-numeric:tabular-nums}@media(min-width:900px){.widget-cal-grid{grid-template-columns:repeat(7,15px);grid-auto-rows:15px}}.calendar{gap:var(--s2);padding:var(--s3);border-radius:24px}.cal-days{display:flex;flex-direction:column;gap:4px}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-weekdays span{text-align:center;font-size:var(--fs-2xs);font-weight:650;color:var(--text-3);padding:var(--s1) 0}.cal-day{position:relative;min-height:0;aspect-ratio:1 / 1.15;padding:5px 2px 0;border-radius:12px;flex-direction:column;justify-content:flex-start;gap:1px;background:var(--surface-2);color:var(--text)}.cal-day.cal-out{background:transparent}.cal-day.cal-level-3,.cal-day.cal-level-4{color:var(--on-accent)}.cal-day.cal-level-1{background:color-mix(in srgb,var(--accent) 22%,var(--surface-2))}.cal-day.cal-level-2{background:color-mix(in srgb,var(--accent) 45%,var(--surface-2))}.cal-day.cal-level-3{background:color-mix(in srgb,var(--accent) 72%,var(--surface-2))}.cal-day.cal-level-4{background:var(--accent)}.cal-day.cal-future{color:var(--text-3)}.cal-day[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text);z-index:1}.cal-num{font-size:var(--fs-sm);font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums}.cal-today .cal-num{background:var(--negative-fill);color:var(--on-fill);border-radius:var(--r-full);min-width:22px;padding:0 5px}.cal-amount{font-size:.66rem;font-weight:600;opacity:.85;font-variant-numeric:tabular-nums;white-space:nowrap}.cal-fixed{position:absolute;bottom:5px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:var(--r-full);box-shadow:inset 0 0 0 1.5px var(--accent)}.cal-level-3 .cal-fixed,.cal-level-4 .cal-fixed{box-shadow:inset 0 0 0 1.5px var(--on-accent)}.cal-legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:var(--fs-2xs);color:var(--text-3);padding:var(--s1) var(--s1) 0;flex-wrap:wrap}.cal-swatch{width:11px;height:11px;border-radius:3px}.cal-legend-fixed{display:inline-flex;align-items:center;gap:4px;margin-left:var(--s3)}.cal-legend-fixed .cal-fixed{position:static;margin:0}.cal-empty{text-align:center;padding:var(--s5) var(--s4)}.cal-fixed-row{opacity:.75}.cal-fixed-row .row-amount{color:var(--text-2)}.wish-intro{padding:0 var(--s1);margin-top:calc(-1 * var(--s2))}.wish-chosen{border-radius:26px;padding:var(--s5);gap:var(--s2);color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--cat-3) 85%,#000),color-mix(in srgb,var(--cat-4) 90%,#000));box-shadow:var(--shadow-2)}.wish-chosen-kicker{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.9}.wish-chosen-name{font-size:var(--fs-2xl);letter-spacing:-.02em;overflow-wrap:anywhere}.wish-chosen-meta{font-size:var(--fs-sm);opacity:.9}.wish-chosen .wish-votes{color:#fff}.wish-chosen .avatar{box-shadow:0 0 0 2px #fff9}.wish-chosen-actions{margin-top:var(--s2);align-items:center;gap:var(--s3)}.wish-chosen-actions .primary{background:#fff;color:#3a2a6b}.wish-chosen-actions .primary:hover:not(:disabled){background:#ffffffe6}.wish-chosen-actions .link-btn{color:#fff;opacity:.9}.wish-votes{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);font-size:var(--fs-sm)}.wish-vote{display:inline-flex;align-items:center;gap:6px}.wish-list>li{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) var(--s4)}.wish-main{display:flex;align-items:center;gap:var(--s3);width:100%;padding:0;min-height:0;text-align:left;justify-content:flex-start;font-weight:inherit}.wish-main .row-main{flex:1;min-width:0}.wish-rank{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-weight:700;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.wish-rank-top{background:var(--accent-soft);color:var(--accent)}.wish-score{font-size:var(--fs-lg);font-weight:700;font-variant-numeric:tabular-nums}.wish-score small{font-size:var(--fs-xs);color:var(--text-3);font-weight:600}.wish-needs-vote{color:var(--accent);font-weight:600}.wish-vetoed .row-title{color:var(--text-2)}.wish-voting{display:flex;align-items:center;gap:var(--s2);padding-left:calc(30px + var(--s3))}.wish-choices{display:flex;gap:6px;flex:1;min-width:0}.wish-choice{flex:1;min-width:0;min-height:40px;padding:2px 4px;border-radius:12px;background:var(--surface-2);flex-direction:column;gap:0;font-size:1.15rem;line-height:1.1}.wish-choice-label{font-size:.62rem;font-weight:600;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.wish-choice.selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.wish-choice.selected .wish-choice-label{color:var(--accent)}.wish-choice:not(.selected)>span:first-child{filter:grayscale(.6);opacity:.8}.wish-partner-vote{display:inline-flex;align-items:center;gap:4px;font-size:1.1rem;flex:none}.wish-goal{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-left:calc(30px + var(--s3))}.wish-goal .progress{width:100%}.wish-done-icon{font-size:1.4rem;width:40px;text-align:center;flex:none}.sheet .wish-choices{margin-top:var(--s1)}.list>li.row-fresh{animation:fresh-in .42s var(--ease) backwards}.row-fresh>.row-item{animation:fresh-glow 1.8s .15s ease-out backwards}@keyframes fresh-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes fresh-glow{0%,35%{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}to{background:transparent;box-shadow:inset 3px 0 0 transparent}}.day-groups{display:flex;flex-direction:column;gap:var(--s5)}.progress-shake{animation:limit-shake .52s .95s var(--ease) both}@keyframes limit-shake{0%,to{transform:none}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.wish-choice.just-voted>span:first-child{display:inline-block;animation:vote-pop .42s var(--ease-spring)}@keyframes vote-pop{0%{transform:scale(.7)}55%{transform:scale(1.35) rotate(-8deg)}to{transform:none}}.wish-crown{display:inline-block}.wish-chosen-new{animation:chosen-rise .52s var(--ease) backwards}.wish-chosen-new .wish-crown{animation:crown-drop .65s .38s var(--ease-spring) backwards}@keyframes chosen-rise{0%{opacity:0;transform:translateY(28px) scale(.97)}}@keyframes crown-drop{0%{opacity:0;transform:translateY(-14px) rotate(-25deg) scale(.6)}70%{opacity:1;transform:translateY(1px) rotate(6deg) scale(1.15)}to{transform:none}}.report-picker{margin-top:var(--s3)}.report-picker select{flex:1;min-width:0}.report-picker button{flex:none}.reliability{display:inline-flex;align-items:center;padding:2px var(--s2);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:600}.reliability-low{background:var(--warning-soft);color:var(--warning)}.reliability-medium{background:var(--surface-3);color:var(--text-2)}.reliability-good{background:var(--positive-soft);color:var(--positive)}.forecast-info{margin-top:var(--s2)}.forecast-info-head{gap:var(--s2);flex-wrap:wrap}.forecast-info-body{margin-top:var(--s2);padding:var(--s3);border-radius:var(--r-md, 12px);background:var(--surface-2);font-size:var(--fs-sm);color:var(--text-2);animation:fade-in .2s ease both}.forecast-info-body p{margin:0}.forecast-info-body ul{margin:var(--s1) 0 var(--s3);padding-left:1.1em;display:grid;gap:var(--s1)}.forecast-info-body strong{color:var(--text)}.forecast-info-body p+.forecast-info-title{margin-top:var(--s3)}.forecast-info-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);margin-bottom:var(--s1)!important}.forecast-info-body ul.forecast-caveats{list-style:none;padding:0;margin-bottom:0}.forecast-caveats li{display:flex;gap:var(--s2);align-items:flex-start;color:var(--warning)}.forecast-caveats .icon{flex:none;margin-top:2px}.forecast .forecast-text{display:block}.doubt-hint{display:flex;gap:var(--s1);align-items:flex-start;color:var(--warning);font-weight:500}.doubt-hint .icon{flex:none;margin-top:2px}input.doubtful-input{border-color:var(--warning-fill)!important;box-shadow:0 0 0 3px var(--warning-soft)}.doubtful .amount-underline{background:var(--warning-fill)!important;transform:none!important;opacity:1!important}.ticket-item.doubtful{flex-wrap:wrap;background:var(--warning-soft);margin:2px calc(-1 * var(--s2));padding:var(--s1) var(--s2);border-radius:10px;border-bottom-color:transparent}.ticket-item-doubt{flex-basis:100%;display:flex;gap:4px;align-items:center;padding-left:30px;font-size:var(--fs-xs);color:var(--warning);font-weight:600}.finish-price-row.doubtful{background:var(--warning-soft);border-radius:10px;padding-left:var(--s2);padding-right:var(--s2)}
