@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#383b33;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#fffefa;--bg:#f8f6f2;--ink:#383b33;--muted:#797c72;--line:#eae8e0;--accent:#b95337;--soft-accent:#f4e7df;--radius:22px;color-scheme:light;background:#f8f6f2;font-family:DM Sans Variable,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #b95337}input:focus,select:focus{outline-offset:2px;outline:2px solid #b9533780}input,select{min-width:0;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}fieldset{border:0;min-width:0;margin:0;padding:0}svg{flex-shrink:0}button,select,input{font-size:1rem}button{transition:background .18s,transform .18s,box-shadow .18s}button:active:not(:disabled){transform:translateY(1px)}::selection{background:#efd8c8}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.full-width{width:100%}.spin{animation:1s linear infinite spin}.view-enter{animation:.3s ease-out enter}.btn{border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:12px 19px;font-size:.9375rem;font-weight:600;line-height:1.3;display:inline-flex}.btn.primary{background:var(--accent);color:#fffaf5;box-shadow:0 3px 4px #6f2e2110}.btn.primary:hover:not(:disabled){background:#a64730}.btn.secondary{background:#f6f4ee;border:1px solid #e5e1d8}.btn.secondary:hover:not(:disabled){background:#ece9e1}.btn.danger{color:#fff;background:#ab392f}.icon-button{color:#74776d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:42px;min-height:42px;display:inline-flex}.icon-button:hover{background:#eeeae3}.text-button{color:var(--accent);justify-content:center;align-items:center;gap:7px;min-height:36px;font-size:.875rem;font-weight:600;display:inline-flex}.text-button:hover{text-underline-offset:3px;text-decoration:underline}.button-row{gap:10px;margin-top:24px;display:flex}.button-row>*{flex:1}.brand{text-align:left;align-items:center;gap:10px;display:inline-flex}.brand img{border-radius:11px;width:37px;height:37px}.brand>span{letter-spacing:-2px;font-size:2.35rem;font-weight:800;line-height:1.1}.brand-dot,.title-dot{color:var(--accent)}.brand-dot{margin-left:1px}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:23px;line-height:1;display:inline-flex}.avatar.small{width:36px;height:36px;font-size:21px}.avatar.large{width:78px;height:78px;font-size:42px}.avatar.tiny{width:26px;height:26px;font-size:15px}.avatar-button{border-radius:50%;padding:3px}.category-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.category-icon.small{border-radius:11px;width:36px;height:36px}.eyebrow{letter-spacing:1.5px;color:#767d6f;font-size:.75rem;font-weight:700}.sidebar{display:none}.main-shell{min-width:0}.demo-banner{color:#696851;background:#edeae0;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:7px 18px;font-size:.75rem;display:flex}.demo-banner>span{align-items:center;gap:7px;display:flex}.demo-banner button{white-space:nowrap;color:#825537;align-items:center;gap:4px;min-height:30px;font-size:.75rem;font-weight:600;display:flex}.demo-extra{display:none}.offline-banner,.error-banner{color:#795121;background:#fff0d5;align-items:center;gap:10px;padding:12px 18px;font-size:.875rem;line-height:1.5;display:flex}.error-banner{border-radius:12px;flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}.error-banner button{align-items:center;gap:6px;font-weight:600;display:flex}.topbar{justify-content:space-between;align-items:center;gap:10px;height:76px;padding:12px 22px;display:flex}.desktop-breadcrumb{display:none}.mobile-brand>span{font-size:2rem}.mobile-brand img{width:31px;height:31px}.topbar-right{align-items:center;gap:14px;display:flex}.sync-label{color:#777b70;font-size:.8125rem;display:none}.sync-label.synced:before{content:"";vertical-align:middle;background:#7a967a;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.main-content{max-width:1190px;margin:0 auto;padding:16px 20px 112px}.page-heading{flex-direction:column;gap:21px;margin-bottom:24px;display:flex}.greeting{color:#7d8076;letter-spacing:.1px;margin-bottom:7px;font-size:.875rem}.page-heading h1{letter-spacing:-1.3px;font-size:2.15rem;font-weight:650;line-height:1.17}.heading-description{color:#73786c;margin-top:9px;font-size:.875rem;line-height:1.5}.month-picker{background:#fffdf8;border:1px solid #e7e4dc;border-radius:12px;align-self:flex-start;align-items:center;gap:3px;min-height:44px;padding:3px 4px;display:flex}.month-picker>button{color:#777b70;border-radius:8px;justify-content:center;align-items:center;width:34px;min-height:36px;display:flex}.month-picker>button:hover{background:#f1eee6}.month-picker label{text-transform:capitalize;justify-content:center;min-width:156px;padding:9px 4px;font-size:.875rem;font-weight:500;display:flex;position:relative}.month-picker input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.month-picker input::-webkit-calendar-picker-indicator{cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.month-picker label:focus-within{outline:2px solid var(--accent);border-radius:6px}.bottom-nav{z-index:20;min-height:77px;padding:5px 8px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8f5;border-top:1px solid #eae6dd;grid-template-columns:1fr 1.2fr 1fr 1fr 1fr;align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #60533405}.bottom-nav>button{color:#7a7d74;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:58px;font-size:.75rem;display:flex}.bottom-nav>button.active{color:var(--accent)}.bottom-nav>button.active svg{stroke-width:2.3px}.bottom-nav>.fab{background:var(--accent);color:#fffaf5;box-sizing:content-box;border:5px solid #f8f6f2;border-radius:20px;place-self:center;width:56px;height:56px;min-height:56px;position:relative;top:-13px;box-shadow:0 5px 14px #b9533740}.dashboard{gap:18px;display:grid}.summary-grid{gap:16px;display:grid}.total-card{color:#fff8f0;border-radius:var(--radius);background:#b95337;min-height:208px;padding:23px 24px;position:relative;overflow:hidden;box-shadow:0 5px 12px #8c472417}.total-card:after{content:"";pointer-events:none;border:34px solid #ffffff06;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-150px;right:-80px}.total-top{justify-content:space-between;align-items:center;gap:8px;font-size:.875rem;display:flex}.total-top>span:first-child{align-items:center;gap:10px;display:flex}.total-icon{border:1px solid #ffffff30;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.currency-label{letter-spacing:1px;border:1px solid #ffffff38;border-radius:7px;padding:4px 7px;font-size:.6875rem}.total-value{letter-spacing:-2px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;align-items:baseline;gap:3px;margin-top:18px;font-size:clamp(2.4rem,8vw,3.6rem);font-weight:500;line-height:1.15;display:flex}.total-value>span{letter-spacing:-.6px;opacity:.7;align-self:flex-start;margin-top:10px;font-size:1.5rem}.total-value>span:before{content:","}.total-footer{z-index:1;justify-content:space-between;align-items:center;gap:9px;margin-top:19px;display:flex;position:relative}.comparison{flex-wrap:wrap;align-items:center;gap:4px;font-size:.8125rem;line-height:1.5;display:flex}.comparison>span{color:#f8dccd;margin-left:3px}.total-add{background:#fff8f023;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:33px;height:33px;display:flex}.total-add:hover{background:#fff8f03a}.household-card{border-radius:var(--radius);background:#edf0e6;border:1px solid #e3e7d9;padding:21px 24px}.household-heading{color:#909d7e;justify-content:space-between;align-items:center;display:flex}.household-card h2{letter-spacing:-.4px;margin-top:12px;font-size:1.3rem;font-weight:600}.avatar-stack{margin-top:19px;padding-left:3px;display:flex}.avatar-stack .avatar{border:3px solid #edf0e6;width:43px;height:43px;margin-left:-3px;font-size:22px}.avatar-stack .avatar+.avatar{margin-left:-8px}.avatar-stack .overflow-count{background:#d4dfca;font-size:.875rem}.household-bottom{color:#727d65;justify-content:space-between;align-items:center;gap:10px;margin-top:11px;font-size:.8125rem;display:flex}.household-bottom button{border:1px solid #d7ddcf;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.dot-separator{color:#a4a498;margin:0 7px}.charts-grid{gap:18px;display:grid}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:22px;box-shadow:0 2px 3px #39372902}.panel-heading{justify-content:space-between;align-items:center;gap:14px;min-height:27px;display:flex}.panel-heading h2,.panel>h2{letter-spacing:-.3px;font-size:1.0625rem;font-weight:600;line-height:1.5}.quiet-icon{color:#969a8e}.category-chart{justify-content:center;align-items:center;gap:24px;padding:28px 0 13px;display:flex}.donut{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:139px;height:139px;display:flex;transform:rotate(-.01deg)}.donut-hole{background:var(--paper);width:107px;height:107px;box-shadow:0 0 0 4px var(--paper);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1.4;display:flex}.donut-hole span{color:#828478;font-size:.6875rem}.donut-hole strong{letter-spacing:-1px;font-size:1.8rem;font-weight:500;line-height:1.35}.chart-legend{flex-direction:column;flex:1;gap:13px;min-width:0;max-width:230px;display:flex}.legend-row{align-items:center;gap:7px;font-size:.75rem;display:flex}.legend-dot{border-radius:3px;flex-shrink:0;width:7px;height:7px}.legend-row>span:nth-child(2){flex:1;min-width:0;line-height:1.3}.legend-row strong{white-space:nowrap;font-size:.8125rem;font-weight:600}.legend-row strong span{color:#919285;margin-left:1px;font-weight:400}.panel-description{color:#818579;margin-top:6px;font-size:.8125rem}.member-contributions{flex-direction:column;gap:20px;margin-top:26px;display:flex}.contribution{align-items:center;gap:12px;display:flex}.contribution .avatar{width:37px;height:37px;font-size:20px}.contribution-info{flex:1;min-width:0}.contribution-info>div:first-child{justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:.875rem;display:flex}.contribution-info strong{white-space:nowrap;font-weight:550}.contribution-info small{color:#8c8e82;font-size:.75rem}.progress-track{background:#f0eee6;border-radius:8px;height:5px;overflow:hidden}.progress-track>div{border-radius:8px;height:100%;transition:width .4s}.members-footnote{color:#85897c;border-top:1px dashed #eae6dc;align-items:center;gap:6px;margin-top:26px;padding-top:17px;font-size:.75rem;display:flex}.recent-panel{padding-bottom:7px}.expense-list{margin-top:12px}.expense-row{text-align:left;border-bottom:1px solid #f0ede5;border-radius:4px;align-items:center;gap:12px;width:100%;min-width:0;min-height:79px;padding:15px 0;display:flex}.expense-list>div:last-child>.expense-row{border-bottom:0}.expense-row:hover{background:#f8f6f0}.expense-info{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.expense-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:550;line-height:1.3;overflow:hidden}.expense-info>span{color:#85877b;flex-wrap:wrap;align-items:center;font-size:.75rem;line-height:1.3;display:flex}.expense-value{text-align:right;flex-direction:column;align-items:flex-end;gap:5px;display:flex}.expense-value strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:550}.expense-value>span{color:#999b8f;font-size:.75rem}.dashboard-footer{color:#8d9082;justify-content:center;align-items:center;gap:7px;margin-top:6px;font-size:.75rem;display:flex}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:36px 10px;display:flex}.empty-icon{color:#bda37a;background:#f5f1e8;border-radius:20px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:17px;display:flex}.empty-state h3{font-size:1rem;font-weight:600}.empty-state p{color:#818578;max-width:290px;margin-top:7px;font-size:.875rem;line-height:1.6}.empty-state .btn{margin-top:18px}.categories-panel .empty-state{padding:22px 0 6px}.filter-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding-bottom:22px;display:flex}.filter-bar>span{color:#7f8378;align-items:center;gap:8px;width:100%;font-size:.875rem;display:flex}.filter-bar label{flex:1;min-width:130px}.filter-bar select,.field select,.field input{width:100%;min-height:48px;color:var(--ink);background:#fbfaf6;border:1px solid #e6e2d8;border-radius:11px;padding:11px 13px;font-size:1rem;line-height:1.5}.filter-bar select{font-size:.875rem}.history-total{color:#7b8072;justify-content:space-between;align-items:center;margin-top:22px;font-size:.875rem;display:flex}.history-total strong{color:var(--ink);font-size:1.125rem}.day-heading{letter-spacing:.4px;color:#888c7e;margin-top:25px;margin-bottom:3px;font-size:.75rem;font-weight:600}.history-panel{padding-top:22px}.history-panel .expense-row{padding:17px 0}.history-panel .expense-list{margin-top:4px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#292a2448;animation:.18s fade;position:fixed;inset:0}.modal-content{overscroll-behavior:contain;z-index:51;max-height:92dvh;padding:12px 24px calc(25px + env(safe-area-inset-bottom));background:#fffdf8;border:1px solid #f0eadf;border-radius:28px 28px 0 0;outline:none;animation:.25s ease-out slide-up;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -10px 70px #2529201a}.sheet-handle{background:#dedbd1;border-radius:5px;width:37px;height:4px;margin:0 auto 22px}.modal-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:27px;display:flex}.modal-heading h2{letter-spacing:-.7px;font-size:1.5rem;font-weight:600;line-height:1.2}.modal-heading p{color:#85877b;margin-top:8px;font-size:.875rem;line-height:1.5}.modal-heading .icon-button{margin-top:-9px;margin-right:-11px}.field{flex-direction:column;gap:8px;min-width:0;margin:19px 0;display:flex}.field>span,.field-label{color:#585f50;align-items:center;gap:6px;font-size:.875rem;font-weight:550;display:flex}.field .muted{font-size:.8125rem;font-weight:400}.field input::placeholder{color:#9b9c91;opacity:1;font-weight:400}.field-hint{color:#7d8275;margin:10px 0 20px;font-size:.8125rem;line-height:1.6}.form-two-col{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-two-col .field{margin-bottom:0}.form-two-col .field input,.form-two-col .field select{font-size:.875rem}.form-error,.form-success{color:#a33d29;background:#f8e8e3;border-radius:10px;margin:16px 0;padding:12px 14px;font-size:.875rem;line-height:1.6}.form-success{color:#496a3e;background:#eaf1e4;align-items:flex-start;gap:8px;display:flex}.amount-label{color:#7a7e71;justify-content:space-between;font-size:.875rem;display:flex}.amount-label>span{font-size:.75rem}.amount-input{border-bottom:1px solid #e8e3d8;align-items:center;gap:9px;margin-bottom:24px;padding:9px 0 22px;display:flex}.amount-input>span{color:#bda892;font-size:2rem}.amount-input input{letter-spacing:-1.5px;color:#414738;background:0 0;border:0;outline:none;width:100%;min-width:0;padding:0;font-size:2.9rem;font-weight:500;line-height:1.3}.amount-input input::placeholder{color:#d4d1c5}.amount-input:focus-within{border-bottom-color:var(--accent)}.category-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px;margin-bottom:6px;display:grid}.category-option{border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:center;gap:7px;min-height:87px;padding:8px 2px;display:flex;position:relative}.category-option>span:last-of-type{text-align:center;color:#707568;overflow-wrap:anywhere;font-size:.6875rem;line-height:1.25}.category-option .category-icon{border-radius:13px;width:40px;height:40px}.category-option.selected{background:#fcf1e8;border-color:#ce967d}.category-option.selected>span:last-of-type{color:#9a4d30}.category-check{background:var(--accent);color:#fff;border-radius:50%;padding:1px;position:absolute;top:4px;right:4px}.expense-actions{gap:9px;margin-top:25px;display:flex}.expense-actions>.btn{flex:1}.delete-button{color:#ad5342;background:#f8ebe6;border-radius:12px;width:48px}.record-author{color:#8a8c80;flex-wrap:wrap;align-items:center;gap:7px;margin-top:16px;margin-bottom:16px;font-size:.75rem;line-height:1.5;display:flex}.form-fieldset:disabled{opacity:.8}.confirm-body>p{text-align:center;color:#7b7d71;line-height:1.5}.confirm-body .confirm-amount{color:#3f4637;margin-bottom:9px;font-size:2.2rem;font-weight:500}.segmented{background:#f0ede5;border-radius:12px;gap:3px;margin-bottom:24px;padding:4px;display:flex}.segmented button{color:#7e8275;border-radius:9px;flex:1;min-height:42px;font-size:.875rem;font-weight:500}.segmented button.active{color:#594b3c;background:#fffdf8;box-shadow:0 2px 6px #33241a0a}.code-input{text-transform:uppercase;letter-spacing:2px;font-family:ui-monospace,monospace}.family-hero{text-align:center;flex-direction:column;align-items:center;padding:21px 0 35px;display:flex}.family-house{color:#82916c;background:#e9eddf;border-radius:23px;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:19px;display:inline-flex}.family-hero h2{letter-spacing:-.6px;font-size:1.7rem;font-weight:600}.family-hero p{color:#858a7b;margin-top:9px;font-size:.875rem}.family-grid{gap:18px;display:grid}.count-pill{color:#8b8d7e;background:#f1eee6;border-radius:8px;padding:3px 9px;font-size:.8125rem}.family-members{margin-top:19px}.family-member{border-bottom:1px solid #efece4;align-items:center;gap:13px;padding:15px 0;display:flex}.family-member>div{flex-direction:column;flex:1;gap:4px;display:flex}.family-member strong{font-size:.9375rem;font-weight:550}.family-member>div>span{color:#868b7c;font-size:.8125rem}.family-member:last-child{border:0}.family-grid .field-hint{margin-top:21px;margin-bottom:0}.invitation-card{background:#f3eee4;flex-direction:column;align-items:flex-start;display:flex}.invite-icon{color:#9b835a;background:#e9ddc5;border-radius:16px;justify-content:center;align-items:center;width:47px;height:47px;margin-bottom:19px;display:flex}.invitation-card>p{color:#7d816e;margin-top:8px;font-size:.875rem;line-height:1.7}.invitation-code{background:#fffdf780;border:1px dashed #ccbda2;border-radius:12px;justify-content:space-between;align-items:center;gap:9px;width:100%;margin-top:22px;padding:10px 8px 10px 18px;display:flex}.invitation-code code{color:#776147;letter-spacing:1px;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font-size:1.1rem}.invitation-code.expired{opacity:.65}.invitation-card .field-hint{margin-top:10px;font-size:.75rem}.invitation-card .text-button{margin-top:14px;font-size:.8125rem}.family-more{flex-direction:column;align-items:flex-start;gap:18px;padding:26px 3px;display:flex}.family-more h3{font-size:.9375rem;font-weight:550}.family-more p{color:#838777;margin-top:6px;font-size:.8125rem;line-height:1.5}.group-switch{max-width:330px;margin-top:0}.settings-view{max-width:750px}.profile-card{align-items:center;gap:16px;padding:23px;display:flex}.profile-card>div{flex:1;min-width:0}.profile-card h2{font-size:1.3rem;font-weight:600}.profile-card p{color:#848877;overflow-wrap:anywhere;margin-top:6px;font-size:.8125rem;line-height:1.6}.profile-card .avatar.large{width:58px;height:58px;font-size:32px}.profile-card>.icon-button{margin-right:-10px}.settings-list{margin-top:20px;padding:7px 20px}.settings-list>button{text-align:left;border-bottom:1px solid #ede9df;align-items:center;gap:15px;width:100%;padding:21px 0;display:flex}.settings-list>button:last-child{border:0}.setting-icon{color:#8b8d75;background:#f2eee5;border-radius:13px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.settings-list>button>span:nth-child(2){flex-direction:column;flex:1;gap:5px;display:flex}.settings-list strong{font-size:.9375rem;font-weight:550}.settings-list>button>span>span{color:#878b7a;font-size:.8125rem}.settings-list>button>svg{color:#a0a391}.privacy-note{color:#929882;align-items:flex-start;gap:12px;padding:29px 7px;display:flex}.privacy-note h3{color:#727b63;font-size:.875rem;font-weight:550}.privacy-note p{margin-top:7px;font-size:.8125rem;line-height:1.7}.version-label{color:#a2a494;text-align:center;margin-top:6px;font-size:.75rem}.profile-preview{justify-content:center;margin:8px 0 24px;display:flex}.avatar-picker{grid-template-columns:repeat(8,1fr);gap:3px;margin:12px 0 21px;display:grid}.avatar-picker button{border:1px solid #0000;border-radius:12px;min-height:42px;padding:0;font-size:1.45rem}.avatar-picker button.selected{background:#f5eadd;border-color:#cba585}.color-picker{gap:13px;margin:15px 0 29px;display:flex}.color-picker button{color:#7a7059;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:37px;height:37px;display:flex}.color-picker button.selected{border-color:#a6906e;box-shadow:inset 0 0 0 3px #fff}.install-instructions h3{align-items:center;gap:8px;margin-bottom:15px;font-size:1.0625rem;font-weight:550;display:flex}.install-instructions section+section{margin-top:25px}.install-instructions ol{color:#7a7f70;padding-left:23px;font-size:.875rem;line-height:1.8;list-style:decimal}.install-instructions li{margin:8px 0;padding-left:4px}.install-instructions svg{vertical-align:text-bottom;display:inline}.install-instructions .notice{margin:23px 0}.auth-layout{min-height:100dvh;display:grid}.auth-story{display:none}.auth-form-area{justify-content:center;align-items:center;padding:44px 25px;display:flex}.auth-form-card{width:100%;max-width:400px}.auth-mobile-logo{border-radius:17px;width:54px;height:54px;margin-bottom:33px}.auth-form-card h2{letter-spacing:-.9px;font-size:1.8rem;font-weight:600;line-height:1.25}.auth-form-card>p{color:#858778;margin-top:12px;margin-bottom:28px;font-size:.9375rem;line-height:1.7}.auth-tabs{margin-top:30px}.auth-divider{text-align:center;color:#a0a190;margin:27px 0;font-size:.8125rem;position:relative}.auth-divider:before{content:"";z-index:-1;background:#e8e4d9;height:1px;position:absolute;top:50%;left:0;right:0}.auth-divider span{background:var(--bg);padding:0 12px}.auth-form-card .field{margin:20px 0}.auth-form-card form>.btn{margin-top:12px}.forgot-link{margin-top:-10px;margin-bottom:13px;margin-left:auto;font-size:.8125rem;display:flex}.demo-link{color:#939781;width:100%;margin-top:24px;font-size:.8125rem;display:flex}.notice{color:#817256;background:#efebdd;border-radius:11px;margin:20px 0;padding:13px 15px;font-size:.8125rem;line-height:1.7}.loading-screen{text-align:center;color:#8a8f7b;flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100dvh;padding:30px;display:flex}.loading-screen img{border-radius:20px;width:65px;height:65px;animation:1.5s infinite pulse}.loading-screen h1{color:var(--ink);font-size:1.6rem}.onboarding{flex-direction:column;justify-content:center;align-items:center;gap:34px;min-height:100dvh;padding:40px 22px;display:flex}.onboarding-card{text-align:center;width:100%;max-width:450px;padding:35px}.onboarding-card h1{letter-spacing:-.5px;font-size:1.7rem;font-weight:600}.onboarding-card>p{color:#858977;margin:16px 0 29px;font-size:.9375rem;line-height:1.7}.onboarding-card>.btn+.btn{margin-top:12px}.loading-message{color:#868b77;align-items:center;gap:12px;display:flex}.toast{bottom:calc(104px + env(safe-area-inset-bottom));z-index:70;color:#fffdf6;background:#394637;border-radius:15px;align-items:center;gap:10px;padding:14px 14px 14px 17px;font-size:.875rem;line-height:1.5;animation:.22s enter;display:flex;position:fixed;left:20px;right:20px;box-shadow:0 8px 28px #292e2030}.toast>span{flex:1}.toast>svg{color:#b5caa6}.toast button{color:#cad5c5;justify-content:center;align-items:center;width:27px;height:27px;display:flex}.update-banner{z-index:80;background:#fffdf8;border:1px solid #e6dac7;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;font-size:.875rem;display:flex;position:fixed;top:16px;left:16px;right:16px;box-shadow:0 8px 40px #40341d20}.update-banner button{color:var(--accent);font-weight:600}@media(min-width:600px){.main-content{padding:20px 30px 120px}.topbar{padding:12px 32px}.page-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:24px}.month-picker{align-self:auto}.summary-grid{grid-template-columns:1.3fr 1fr}.category-chart{gap:33px}.donut{width:168px;height:168px}.donut-hole{width:128px;height:128px}.donut-hole span{font-size:.75rem}.donut-hole strong{font-size:2.1rem}.chart-legend{gap:13px;max-width:260px}.legend-row,.legend-row strong{font-size:.875rem}.legend-row{gap:10px}.demo-extra{display:inline}.demo-banner{padding:5px 30px}.modal-content{border-radius:24px;width:min(520px,100% - 40px);max-height:90dvh;padding:30px;animation:.22s modal-in;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.sheet-handle{display:none}.modal-heading{margin-bottom:26px}.amount-input input{font-size:3.2rem}.category-option>span:last-of-type{font-size:.75rem}.category-option{min-height:88px;padding:9px 3px}.category-picker{gap:9px}.form-two-col .field input,.form-two-col .field select{font-size:.9375rem}.avatar-picker{gap:7px}.family-more{flex-direction:row;justify-content:space-between;align-items:center}.filter-bar>span{width:auto}.family-grid{grid-template-columns:1.2fr 1fr}.sync-label{display:inline}.toast{max-width:450px;left:auto;right:30px}.update-banner{max-width:490px;left:auto;right:24px}.total-card{padding:23px 26px}.total-value{font-size:2.9rem}.household-card,.family-grid .panel{padding:22px}.invitation-code code,.expense-info strong,.expense-value strong{font-size:.9375rem}.expense-info>span,.expense-value>span{font-size:.8125rem}.profile-card{padding:28px}}@media(min-width:1000px){.app-layout{display:flex}.sidebar{z-index:30;background:#f1eee6;border-right:1px solid #e8e4da;flex-direction:column;width:232px;padding:38px 21px 0;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{padding-left:14px}.sidebar .brand img{width:35px;height:35px}.sidebar .brand>span{font-size:2.65rem}.sidebar-home{background:#f8f5ec;border:1px solid #e3dfd2;border-radius:13px;align-items:center;gap:10px;min-width:0;margin:39px 0 28px;padding:16px 12px;display:flex}.sidebar-home-icon{color:#8a866d;background:#ede7d8;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.sidebar-home>div{flex-direction:column;gap:5px;min-width:0;display:flex}.sidebar-home>div>span{letter-spacing:1.5px;color:#918e78;font-size:.625rem;font-weight:650}.sidebar-home strong{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:550;overflow:hidden}.sidebar nav{flex-direction:column;gap:8px;display:flex}.nav-item{text-align:left;color:#7b7c6b;border-radius:11px;align-items:center;gap:13px;width:100%;min-height:49px;padding:13px 16px;font-size:.875rem;display:flex}.nav-item.active{color:#a35334;background:#eadbd0;font-weight:600}.nav-item:hover:not(.active){background:#e9e5da}.nav-active-dot{background:#b87759;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-add{min-height:45px;margin-top:27px;font-size:.875rem}.sidebar-bottom{margin-top:auto;padding-top:40px}.install-card{text-align:left;background:#e8e9db;border:1px solid #e0e1d3;border-radius:16px;flex-direction:column;align-items:flex-start;gap:7px;width:100%;padding:18px;display:flex}.install-card-icon{color:#8a9475;margin-bottom:6px}.install-card strong{font-size:.875rem;font-weight:550}.install-card>span:not(.text-button):not(.install-card-icon){color:#848b72;font-size:.75rem}.install-card .text-button{color:#79885e;min-height:30px;margin-top:3px;font-size:.75rem}.sidebar-profile{text-align:left;border-top:1px solid #dfdccf;align-items:center;gap:10px;width:100%;margin-top:24px;padding:22px 1px;display:flex}.sidebar-profile .avatar{width:35px;height:35px;font-size:20px}.sidebar-profile>span:nth-child(2){flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sidebar-profile strong{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;overflow:hidden}.sidebar-profile>span>span{color:#96977f;font-size:.6875rem}.sidebar-profile>svg{color:#9c9f86}.main-shell{flex:1;margin-left:232px}.bottom-nav{display:none}.topbar{border-bottom:1px solid #ebe8df;height:81px;padding:0 43px}.mobile-brand{display:none}.desktop-breadcrumb{color:#939685;align-items:center;gap:13px;font-size:.8125rem;display:flex}.desktop-breadcrumb strong{color:#686f5d;font-weight:500}.topbar-right{gap:20px}.demo-banner{min-height:35px;padding:5px 43px;font-size:.75rem}.main-content{padding:33px 42px 36px}.page-heading{margin-bottom:30px}.page-heading h1{letter-spacing:-1.3px;font-size:2.3rem}.heading-description{font-size:.875rem}.greeting{margin-bottom:9px;font-size:.8125rem}.month-picker label{min-width:143px;font-size:.8125rem}.dashboard{gap:22px}.summary-grid{grid-template-columns:1.57fr 1fr;gap:22px}.total-card{min-height:221px;padding:25px 28px}.total-value{margin-top:20px;font-size:3.25rem}.total-value>span{margin-top:12px;font-size:1.6rem}.total-footer{margin-top:23px}.household-card{padding:24px 25px}.household-card h2{margin-top:14px;font-size:1.25rem}.household-bottom{margin-top:10px}.charts-grid{grid-template-columns:1.22fr 1fr;gap:22px}.panel{padding:24px}.category-chart{gap:20px;padding-top:32px;padding-bottom:16px}.donut{width:139px;height:139px}.donut-hole{width:105px;height:105px}.donut-hole span{font-size:.6875rem}.donut-hole strong{font-size:1.8rem}.chart-legend{gap:14px}.legend-row{gap:7px;font-size:.75rem}.legend-row strong{font-size:.75rem}.member-contributions{gap:22px;margin-top:26px}.contribution-info>div:first-child{font-size:.8125rem}.members-footnote{margin-top:26px;padding-top:19px;font-size:.6875rem}.recent-panel{padding:21px 25px 6px}.expense-row{gap:15px;padding:15px 0}.expense-list{margin-top:11px}.expense-info strong,.expense-value strong{font-size:.875rem}.expense-info>span,.expense-value>span{font-size:.75rem}.recent-panel .expense-row{min-height:79px}.dashboard-footer{margin-top:3px;font-size:.75rem}.toast{bottom:28px}.auth-layout{grid-template-columns:1fr 1fr}.auth-story{background:#eeeee2;flex-direction:column;justify-content:space-between;padding:54px 55px;display:flex}.auth-story-content{padding:65px 0}.auth-story-content h1{letter-spacing:-1.9px;margin-top:24px;font-size:3.1rem;font-weight:550;line-height:1.18}.auth-story-content>p{color:#858b73;max-width:370px;margin-top:24px;font-size:1.0625rem;line-height:1.8}.auth-sample{background:#fffdf680;border:1px solid #e2dfce;border-radius:23px;max-width:345px;margin-top:48px;padding:26px;transform:rotate(-3deg)}.auth-sample>span{color:#979d7f;align-items:center;gap:9px;font-size:.875rem;display:flex}.auth-sample>strong{letter-spacing:-.4px;margin-top:12px;font-size:1.1rem;font-weight:500;display:block}.sample-avatars{margin-top:24px;display:flex}.sample-avatars span{background:#ece1c6;border:3px solid #f5f4e9;border-radius:50%;justify-content:center;align-items:center;width:43px;height:43px;font-size:24px;display:flex}.sample-avatars span+span{background:#dee7d3;margin-left:-7px}.sample-avatars span:last-child{background:#ecdbd5}.auth-small{color:#9b9f86;font-size:.8125rem}.auth-form-area{padding:50px}.auth-mobile-logo{display:none}.auth-form-card h2{font-size:1.9rem}.family-grid{gap:22px}.family-grid .panel{padding:25px}.invitation-code code{font-size:1.125rem}.family-hero{padding-top:2px}}@media(min-width:1280px){.sidebar{width:247px;padding:39px 24px 0}.main-shell{margin-left:247px}.main-content{padding-left:49px;padding-right:49px}.topbar{padding:0 50px}.demo-banner{padding-left:50px;padding-right:50px}.total-value{font-size:3.7rem}.charts-grid{grid-template-columns:1.2fr 1fr}.category-chart{gap:27px}.donut{width:159px;height:159px}.donut-hole{width:121px;height:121px}.donut-hole span{font-size:.75rem}.donut-hole strong{font-size:2rem}.legend-row,.legend-row strong{font-size:.8125rem}.legend-dot{width:8px;height:8px}.panel-heading h2{font-size:1.0625rem}.members-footnote{font-size:.75rem}.contribution-info>div:first-child{font-size:.875rem}.category-chart{padding-top:29px}.member-contributions{gap:22px}.total-top{font-size:.9375rem}.household-card h2{font-size:1.35rem}.auth-story{padding:60px 75px}.auth-story-content h1{font-size:3.8rem}}@media(max-width:359px){.main-content{padding-left:16px;padding-right:16px}.category-chart{gap:15px}.donut{width:119px;height:119px}.donut-hole{width:89px;height:89px}.panel{padding:18px}.legend-row{font-size:.6875rem}.expense-row{gap:9px}.expense-row>.category-icon{width:37px;height:37px}.expense-value strong{font-size:.8125rem}.modal-content{padding-left:18px;padding-right:18px}.demo-banner{padding-left:12px;padding-right:12px}.demo-banner>span>svg{display:none}.category-option>span:last-of-type{font-size:.625rem}.avatar-picker{grid-template-columns:repeat(4,1fr)}.demo-banner button{font-size:.6875rem}}.legend-row,.legend-row strong{font-size:.875rem}.heading-description,.panel-description,.field-hint,.expense-info>span,.expense-value>span,.record-author,.members-footnote{color:#73776a}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(prefers-contrast:more){:root{--muted:#54594c}.muted,.heading-description,.panel-description,.expense-info>span,.expense-value>span,.field-hint{color:#535a4b}.panel{border-color:#969b88}}@keyframes enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:.5;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
