@font-face{font-family:Noto Sans Lao Loop;src:url(/fonts/NotoSansLaoLooped-Variable.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:Noto Sans Lao Loop,Noto Sans Lao,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;color-scheme:light;--page: #f3f2ec;--surface: #fffefa;--surface-raised: #ffffff;--surface-soft: #eceee6;--ink: #202720;--ink-soft: #485249;--muted: #687269;--line: #dce1d8;--line-strong: #c5cec3;--accent: #28674d;--accent-strong: #1b523a;--accent-soft: #e1efe5;--warning: #8b4a1d;--warning-soft: #fff0df;--danger: #a33e36;--danger-soft: #fce9e6;--income: #24664a;--shadow: 0 18px 44px rgb(32 39 32 / 9%);--shadow-soft: 0 4px 16px rgb(32 39 32 / 5%);--radius-card: 20px;--radius-control: 12px;--focus: #1672d4;background:var(--page);color:var(--ink);font-size:16px;font-weight:450;line-height:1.55}:root[data-theme=dark]{color-scheme:dark;--page: #171c19;--surface: #202722;--surface-raised: #252d27;--surface-soft: #2b342d;--ink: #f1f2eb;--ink-soft: #d3dbd1;--muted: #a6b1a6;--line: #3b463d;--line-strong: #536052;--accent: #83c29a;--accent-strong: #a7dbb7;--accent-soft: #293e30;--warning: #ffc48c;--warning-soft: #493321;--danger: #ffaaa1;--danger-soft: #482c2a;--income: #9bd9af;--shadow: 0 18px 44px rgb(0 0 0 / 28%);--shadow-soft: 0 4px 16px rgb(0 0 0 / 18%);--focus: #79b8ff}@media(prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;--page: #171c19;--surface: #202722;--surface-raised: #252d27;--surface-soft: #2b342d;--ink: #f1f2eb;--ink-soft: #d3dbd1;--muted: #a6b1a6;--line: #3b463d;--line-strong: #536052;--accent: #83c29a;--accent-strong: #a7dbb7;--accent-soft: #293e30;--warning: #ffc48c;--warning-soft: #493321;--danger: #ffaaa1;--danger-soft: #482c2a;--income: #9bd9af;--shadow: 0 18px 44px rgb(0 0 0 / 28%);--shadow-soft: 0 4px 16px rgb(0 0 0 / 18%);--focus: #79b8ff}}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--page);color:var(--ink);-webkit-user-select:none;user-select:none}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled{cursor:wait;opacity:.68}input,textarea,select,[contenteditable=true],.invite-created,.exact-amount-dialog{-webkit-user-select:text;user-select:text}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}a{color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{background:var(--accent-soft);color:var(--ink)}.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}.loading-screen,.center-state{min-height:100svh;display:grid;place-content:center;justify-items:center;gap:18px;padding:24px}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .72s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.brand-lockup{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:1.13rem;font-weight:760;letter-spacing:-.035em}.brand-mark{display:inline-grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:var(--accent);color:#fff;font-size:1.15rem;font-weight:800;box-shadow:inset 0 0 0 1px #fff3}.eyebrow{margin:0;color:var(--muted);font-size:.76rem;font-weight:720;letter-spacing:.095em;line-height:1.4;text-transform:uppercase}.muted-copy,.field-hint{color:var(--muted)}.button,.icon-button,.mobile-add,.nav-item,.select-control select,.field input,.field select{min-height:46px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:var(--radius-control);padding:0 17px;font-size:.92rem;font-weight:680;line-height:1.25;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.compact-value{display:inline;min-height:0;margin:0;padding:0 0 .035em;border:0;border-bottom:1px solid color-mix(in srgb,currentColor 38%,transparent);border-radius:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:inherit;cursor:pointer;text-decoration:none;touch-action:manipulation}.compact-value:hover{border-bottom-color:currentColor}.compact-value:focus-visible{border-radius:3px;outline:2px solid var(--accent);outline-offset:3px}.button:not(:disabled):active,.icon-button:not(:disabled):active,.mobile-add:not(:disabled):active{transform:translateY(1px)}.button-primary{background:var(--accent);color:#fff}:root[data-theme=dark] .button-primary{color:#132219}@media(prefers-color-scheme:dark){:root[data-theme=system] .button-primary{color:#132219}}.button-primary:hover:not(:disabled){background:var(--accent-strong)}.button-secondary{background:var(--surface-raised);border-color:var(--line-strong);color:var(--ink)}.button-secondary:hover:not(:disabled),.button-quiet:hover:not(:disabled){background:var(--surface-soft)}.button-quiet{background:transparent;color:var(--ink-soft)}.button-passkey{width:100%;margin-top:10px;border-color:var(--line);background:transparent;color:var(--ink-soft)}.button-wide{width:100%}.button svg{flex:none}.icon-button{display:inline-grid;place-items:center;width:46px;padding:0;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink-soft)}.icon-button:hover:not(:disabled){background:var(--surface-soft)}.select-control{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 9px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted)}.select-control select{min-height:38px;max-width:130px;padding:0 17px 0 2px;border:0;appearance:none;background:transparent;color:var(--ink-soft);font-size:.83rem;font-weight:630}.select-control:after{content:"";position:absolute;right:11px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);pointer-events:none}.theme-control select{max-width:88px}.header-controls,.auth-top-controls{display:flex;align-items:center;gap:9px}.auth-layout{display:grid;min-height:100svh;grid-template-columns:minmax(320px,.9fr) minmax(430px,1.1fr)}.auth-aside{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:100%;padding:clamp(28px,5vw,68px);background:var(--accent);color:#f5f7ee}.auth-aside .brand-lockup{color:#fff}.auth-aside .brand-mark{background:#ffffff29}.auth-intro{position:relative;z-index:1;width:min(100%,490px);margin:auto 0;padding:72px 0 90px}.auth-intro .eyebrow{color:#ffffffb8}.auth-intro h1{margin:18px 0 14px;font-size:clamp(2.25rem,4.4vw,4rem);font-weight:690;letter-spacing:-.055em;line-height:1.05}.auth-intro p{max-width:380px;margin:0;color:#ffffffd1;font-size:1.08rem;line-height:1.7}.auth-orbit{position:absolute;right:-80px;bottom:-160px;width:min(58vw,570px);aspect-ratio:1;border:1px solid rgb(255 255 255 / 17%);border-radius:50%}.auth-orbit:before,.auth-orbit:after{content:"";position:absolute;inset:11%;border:1px solid rgb(255 255 255 / 15%);border-radius:50%}.auth-orbit:after{inset:25%}.orbit-line{position:absolute;top:51%;left:-20%;width:140%;height:1px;background:#ffffff36;transform:rotate(-34deg)}.orbit-center{position:absolute;top:37%;left:38%;display:grid;place-items:center;width:86px;height:86px;border:1px solid rgb(255 255 255 / 24%);border-radius:27px;background:#ffffff1a;transform:rotate(-8deg)}.orbit-dot{position:absolute;z-index:1;width:14px;height:14px;border-radius:50%;background:#d6df9d;box-shadow:0 0 0 7px #ffffff1a}.orbit-one{top:17%;left:25%}.orbit-two{top:62%;right:18%;width:9px;height:9px;background:#f5d294}.auth-main{position:relative;display:grid;place-items:center;padding:86px 28px 36px;background:var(--page)}.auth-top-controls{position:absolute;top:24px;right:28px}.auth-card{width:min(100%,440px);padding:clamp(24px,3vw,40px);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-soft)}.auth-card-heading{margin-bottom:22px}.auth-card-heading .eyebrow{margin-bottom:8px}.auth-card-heading h2{margin:0;font-size:1.65rem;font-weight:720;letter-spacing:-.045em}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:21px;padding:4px;border-radius:13px;background:var(--surface-soft)}.segmented button{min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:650}.segmented button,.kind-switch button{transition:background-color .22s ease,color .22s ease,box-shadow .22s ease}.segmented button.selected{background:var(--surface-raised);color:var(--ink);box-shadow:0 1px 4px #141c161f}.stack-form{display:grid;gap:15px}.field{display:grid;gap:7px;min-width:0;color:var(--ink-soft);font-size:.87rem;font-weight:640}.field input,.field select{width:100%;min-width:0;padding:0 13px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);font-size:1rem;font-weight:470}.field input::placeholder{color:var(--muted);opacity:.8}.field input:hover,.field select:hover{border-color:var(--accent)}.field small,.field-hint{color:var(--muted);font-size:.78rem;font-weight:440;line-height:1.5}.field-hint{margin:-7px 0 0}.auth-divider{display:flex;align-items:center;gap:14px;margin:18px 0 12px;color:var(--muted);font-size:.78rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.passkey-glyph{font-size:1.3rem;line-height:1}.onboarding-layout{min-height:100svh;padding:24px clamp(18px,5vw,70px)}.onboarding-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.onboarding-main{display:grid;place-items:center;min-height:calc(100svh - 88px);padding:35px 0 70px}.onboarding-card{width:min(100%,510px);padding:clamp(26px,5vw,48px);border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-soft)}.onboarding-card h1{margin:8px 0 9px;font-size:clamp(1.75rem,4vw,2.4rem);letter-spacing:-.05em;line-height:1.2}.onboarding-card>.muted-copy{margin:0 0 24px}.onboarding-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:24px;border-radius:17px;background:var(--accent-soft);color:var(--accent-strong)}.onboarding-icon.icon-warn{background:var(--warning-soft);color:var(--warning)}.onboarding-card .stack-form{margin-top:23px}.notice{margin:13px 0;padding:11px 13px;border:1px solid var(--line);border-radius:11px;font-size:.86rem;line-height:1.5}.notice-success{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft);color:var(--accent-strong)}.notice-error{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:var(--danger-soft);color:var(--danger)}.notice-neutral{background:var(--surface-soft);color:var(--ink-soft)}.notice-warning{border-color:color-mix(in srgb,var(--warning) 35%,var(--line));background:var(--warning-soft);color:var(--warning)}.state-card{width:min(100%,430px);padding:28px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:center;box-shadow:var(--shadow-soft)}.state-card .brand-mark{margin:0 auto 10px}.state-card p{margin:10px 0 20px}.app-shell{min-height:100svh}.desktop-rail{position:fixed;z-index:5;inset:0 auto 0 0;display:flex;flex-direction:column;width:224px;padding:28px 17px 22px;border-right:1px solid var(--line);background:var(--surface)}.desktop-rail>.brand-lockup{padding:0 7px 35px}.rail-nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;padding:0 13px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--ink-soft);font-size:.91rem;font-weight:640;text-align:left;text-decoration:none;transition:transform .24s cubic-bezier(.2,.75,.3,1),background-color .24s ease,color .24s ease,border-color .24s ease}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}.nav-item:hover:not(.active){transform:translateY(-1px);background:var(--surface-soft)}.nav-item:active{transform:scale(.98)}.nav-item:disabled{cursor:default;opacity:.5}.nav-add{border:1px solid var(--line)}.rail-footer{display:flex;align-items:center;gap:9px;margin-top:auto;padding:12px 10px;color:var(--muted);font-size:.82rem}.rail-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.app-main{min-height:100svh;margin-left:224px}.topbar{position:sticky;z-index:4;top:0;display:flex;align-items:center;justify-content:flex-end;gap:20px;min-height:72px;padding:11px clamp(24px,4vw,58px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--page) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-user{display:inline-flex;align-items:center;gap:10px;margin-right:auto;color:var(--ink-soft);font-size:.87rem;font-weight:620}.user-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-weight:750}.mobile-brand{display:none;align-items:center;gap:9px;margin-right:auto;font-weight:760}.mobile-brand .brand-mark{width:32px;height:32px;flex-basis:32px;border-radius:11px;font-size:1rem}.home-content{width:min(100%,1320px);margin:0 auto;padding:32px clamp(24px,4vw,58px) 60px;animation:page-enter .28s cubic-bezier(.2,.75,.3,1)}@keyframes page-enter{0%{opacity:.72;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-heading h1{margin:5px 0 0;font-size:clamp(1.55rem,2.5vw,2.15rem);font-weight:700;letter-spacing:-.05em;line-height:1.25}.desktop-add{min-width:142px}.home-title-mobile{display:none}.card{min-width:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft)}.family-position{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:24px;padding:clamp(22px,3vw,33px)}.position-copy{position:relative;align-self:center}.hero-amount,.period-total strong,.activity-amount{font-variant-numeric:tabular-nums}.hero-amount{margin:12px 0 8px;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:740;letter-spacing:-.065em;line-height:1.12;overflow-wrap:anywhere}.hero-amount .compact-value{white-space:nowrap}.position-note{color:var(--muted);font-size:.86rem;line-height:1.45}.position-mark{display:none}.wallet-summary{min-width:0;padding-left:24px;border-left:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-heading h2,.section-heading h3{margin:0;font-size:1.02rem;font-weight:700;letter-spacing:-.02em}.section-heading h3{font-size:.88rem}.section-heading .eyebrow{margin-bottom:4px}.heading-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--accent-soft);color:var(--accent-strong)}.wallet-member-list{display:grid;gap:13px}.wallet-member+.wallet-member{padding-top:12px;border-top:1px solid var(--line)}.member-heading,.category-line,.goal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-heading{color:var(--ink-soft);font-size:.81rem;font-weight:600}.member-heading strong{color:var(--ink);font-size:.85rem;font-variant-numeric:tabular-nums}.wallet-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.wallet-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-raised);color:var(--muted);font-size:.75rem}.wallet-chip strong,.wallet-chip .compact-value{color:var(--ink-soft);font-variant-numeric:tabular-nums}.wallet-aggregates,.wallet-detail-toggle,.wallet-exact-mobile,.mobile-plan-status,.more-family-details-toggle{display:none}.wallet-member-list[hidden],.home-more-family-details[hidden]{display:none!important}.member-heading .compact-value{color:var(--ink);font-size:.85rem;font-weight:640;white-space:nowrap}.period-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.period-card{padding:19px 21px}.period-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.period-heading h2{margin:0;font-size:.91rem;font-weight:690}.period-heading span{color:var(--muted);font-size:.7rem;text-align:right}.period-total{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:13px;border-bottom:1px solid var(--line)}.period-total span,.period-details span{color:var(--muted);font-size:.78rem}.period-total>.lak-amount{font-size:1.42rem;font-weight:720;letter-spacing:-.035em}.period-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:11px}.period-details>div{display:grid;gap:3px}.period-details .lak-amount{font-size:.85rem;font-weight:640;font-variant-numeric:tabular-nums}.amount-negative{color:var(--danger)}.weekly-summary-card{margin-top:14px;padding:clamp(19px,2.8vw,27px)}.weekly-summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:19px}.weekly-summary-heading h2{margin:3px 0;font-size:1.25rem;letter-spacing:-.035em}.weekly-summary-heading>div>p:last-child{margin:0;color:var(--muted);font-size:.78rem}.weekly-summary-heading .eyebrow{margin:0}.weekly-total-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.weekly-total{display:grid;gap:6px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface-raised)}.weekly-total>span{color:var(--muted);font-size:.72rem}.weekly-total strong{overflow-wrap:anywhere;font-size:clamp(.94rem,1.8vw,1.23rem);font-weight:720;font-variant-numeric:tabular-nums}.weekly-total .weekly-spent{color:var(--warning)}.weekly-total .weekly-income{color:var(--income)}.weekly-total .weekly-negative{color:var(--danger)}.weekly-comparison{margin:12px 0 0;color:var(--muted);font-size:.79rem}.weekly-investment{display:flex;justify-content:space-between;gap:12px;margin:11px 0 0;padding:10px 12px;border-radius:11px;background:var(--accent-soft);color:var(--ink-soft);font-size:.79rem}.weekly-investment strong{color:var(--accent-strong);font-variant-numeric:tabular-nums}.weekly-summary-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;margin-top:20px}.weekly-summary-group{min-width:0}.weekly-summary-group h3{margin:0 0 10px;font-size:.84rem;font-weight:690}.weekly-summary-group>p{margin:0;color:var(--muted);font-size:.78rem}.weekly-ranked-list,.weekly-progress-list{display:grid;margin:0;padding:0;list-style:none}.weekly-ranked-list{gap:8px}.weekly-ranked-list li,.weekly-ranked-list li>span{display:flex;align-items:center;min-width:0}.weekly-ranked-list li{justify-content:space-between;gap:12px;font-size:.78rem}.weekly-ranked-list li>span{gap:8px;overflow-wrap:anywhere;color:var(--ink-soft)}.weekly-ranked-list i{display:grid;flex:0 0 23px;place-items:center;width:23px;height:23px;border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:.68rem;font-style:normal;font-weight:680}.weekly-ranked-list strong{flex:none;font-size:.76rem;font-variant-numeric:tabular-nums}.weekly-progress-list{gap:11px}.weekly-progress-item{min-width:0;padding-bottom:10px;border-bottom:1px solid var(--line)}.weekly-progress-item:last-child{padding-bottom:0;border-bottom:0}.weekly-progress-top{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;font-size:.77rem;font-weight:640}.weekly-progress-top>span{min-width:0;overflow-wrap:anywhere}.weekly-progress-top small{display:block;margin-top:2px;color:var(--muted);font-size:.68rem;font-weight:460}.weekly-progress-top>strong{flex:none;color:var(--accent-strong);font-size:.73rem;font-variant-numeric:tabular-nums}.weekly-progress-item>p{margin:5px 0 0;color:var(--muted);font-size:.68rem;font-variant-numeric:tabular-nums}.weekly-observation-section{margin-top:18px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:var(--accent-soft)}.weekly-observation-section h3{margin:0 0 7px;font-size:.79rem}.weekly-observations{display:grid;gap:6px;margin:0;padding-left:18px;color:var(--ink-soft);font-size:.77rem;line-height:1.5}.weekly-fact-disclosure{margin-top:13px;border-top:1px solid var(--line)}.weekly-fact-disclosure>summary{display:flex;align-items:center;min-height:48px;color:var(--accent-strong);font-size:.8rem;font-weight:670;cursor:pointer}.weekly-fact-content{padding:0 1px 4px}.weekly-fact-text{margin:0;color:var(--ink-soft);font-size:.87rem;line-height:1.6}.weekly-fact-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:8px;color:var(--muted);font-size:.68rem}.weekly-fact-error,.notification-error{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--danger);font-size:.78rem}.weekly-fact-error .text-action,.notification-error .text-action{flex:none}.weekly-fact-content>.text-action{margin:3px 0 0 -8px}.notification-entry{position:relative;display:inline-flex;flex:none}.notification-trigger{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink-soft)}.notification-trigger:hover{background:var(--surface-soft)}.notification-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border:2px solid var(--page);border-radius:999px;background:var(--accent);color:#fff;font-size:.61rem;font-weight:750;line-height:1}.notification-panel{position:absolute;z-index:15;top:calc(100% + 12px);right:0;width:min(440px,calc(100vw - 24px));max-height:min(70svh,590px);overflow:auto;padding:15px 17px 11px;border:1px solid var(--line-strong);border-radius:17px;background:var(--surface);box-shadow:var(--shadow);animation:panel-in .2s ease-out}.notification-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.notification-panel-heading h2{margin:0;font-size:1rem;font-weight:710}.notification-panel-heading .icon-button{width:40px;height:40px;border-radius:11px;font-size:1.3rem}.notification-list{display:grid;margin:0;padding:0;list-style:none}.notification-list>li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:start;gap:9px;padding:12px 0;border-top:1px solid var(--line)}.notification-dot{width:7px;height:7px;margin-top:6px;border-radius:50%;background:transparent}.notification-list .is-unread .notification-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.notification-copy{min-width:0}.notification-copy p{margin:0;color:var(--ink-soft);font-size:.77rem;line-height:1.5}.notification-copy time{display:block;margin-top:4px;color:var(--muted);font-size:.67rem}.notification-list .text-action{min-height:38px;padding-inline:5px;font-size:.69rem}.notification-loading,.notification-empty{margin:15px 0;color:var(--muted);font-size:.8rem}.notification-panel .notice{margin:8px 0;font-size:.77rem}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px}.chart-card,.category-card,.budget-card,.goals-card{padding:21px}.chart-card .section-heading,.category-card .section-heading{margin-bottom:7px}.chart-card h2,.category-card h2,.budget-card h2,.goals-card h2,.activity-card h2{font-size:1rem}.chart-caption{margin:0;font-size:.79rem}.bar-chart{margin:16px 0 0}.bar-chart-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(7px,1.4vw,17px);height:138px;padding:0 2px}.bar-day{display:flex;flex-direction:column;align-items:center;min-width:0;gap:8px}.bar-track{display:flex;align-items:end;justify-content:center;width:100%;height:112px;overflow:hidden;border-radius:7px 7px 3px 3px;background:var(--surface-soft)}.bar-fill{display:block;width:min(100%,28px);min-height:2px;border-radius:6px 6px 2px 2px;background:var(--accent);transition:height .25s ease}.bar-label{color:var(--muted);font-size:.68rem}.empty-inline{margin:19px 0 3px;color:var(--muted);font-size:.87rem}.category-list,.budget-list,.goal-list,.activity-list,.insight-strip ul{margin:0;padding:0;list-style:none}.category-list{display:grid;gap:15px;margin-top:18px}.category-line{color:var(--ink-soft);font-size:.82rem}.category-line strong{color:var(--ink);font-size:.8rem;font-weight:640;white-space:nowrap;font-variant-numeric:tabular-nums}.category-line small{display:block;margin-top:1px;color:var(--muted);font-size:.7rem;font-weight:450}.thin-progress{height:7px;margin-top:8px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.thin-progress>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .25s ease}.thin-progress.is-over>span{background:var(--warning)}.insight-strip{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:15px 18px;border:1px solid var(--line);border-radius:16px;background:var(--accent-soft);color:var(--ink-soft)}.insight-mark{display:grid;flex:0 0 24px;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:.79rem;font-weight:750}.insight-strip ul{display:grid;gap:5px;font-size:.82rem}.lower-grid{margin-top:14px}.budget-list,.goal-list{display:grid;gap:16px;margin-top:17px}.budget-list>li+li,.goal-list>li+li{padding-top:14px;border-top:1px solid var(--line)}.budget-divider{padding:0 3px;color:var(--muted)}.progress-footnote{margin:6px 0 0;color:var(--muted);font-size:.72rem}.goal-heading{font-size:.86rem;font-weight:650}.goal-heading strong{color:var(--accent-strong);font-variant-numeric:tabular-nums}.goal-list .muted-copy{margin:2px 0 0;font-size:.75rem}.activity-card{margin-top:14px;padding:21px}.activity-card>.section-heading{margin-bottom:5px}.activity-list{display:grid}.activity-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:14px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:0}.activity-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--surface-soft);color:var(--ink-soft);font-size:1.05rem;font-weight:700}.activity-icon.kind-income{background:var(--accent-soft);color:var(--income)}.activity-icon.kind-expense{background:var(--warning-soft);color:var(--warning)}.activity-icon.kind-adjustment{background:var(--danger-soft);color:var(--danger)}.activity-detail{min-width:0}.activity-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.activity-title strong{overflow:hidden;color:var(--ink);font-size:.84rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.activity-title>span{flex:none;color:var(--muted);font-size:.7rem}.activity-detail p{overflow:hidden;margin:2px 0 0;color:var(--muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.activity-meta{color:var(--muted)}.pending-label,.original-currency{display:inline-block;margin-top:2px;color:var(--muted);font-size:.68rem}.pending-label{color:var(--warning)}.activity-amount{color:var(--ink);font-size:.87rem;font-weight:680;text-align:right;white-space:nowrap}.kind-text-income{color:var(--income)}.kind-text-expense{color:var(--ink)}.kind-text-adjustment{color:var(--warning)}.activity-empty{display:grid;justify-items:center;padding:31px 14px 23px;text-align:center}.empty-orbit{display:grid;place-items:center;width:50px;height:50px;margin-bottom:11px;border:1px solid var(--line);border-radius:17px;background:var(--surface-soft);color:var(--accent-strong)}.activity-empty h3{margin:0;font-size:1rem}.activity-empty .muted-copy{max-width:360px;margin:5px 0 16px;font-size:.83rem}.dashboard-error{margin:20px 0}.dashboard-skeleton{display:grid;gap:14px}.skeleton-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.skeleton{overflow:hidden;min-height:120px;border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(100deg,var(--surface) 30%,var(--surface-soft) 48%,var(--surface) 68%);background-size:220% 100%;animation:shimmer 1.5s ease infinite}.skeleton-position{min-height:170px}.skeleton-period{min-height:126px}.skeleton-panel{min-height:225px}@keyframes shimmer{to{background-position-x:-220%}}.toast{position:fixed;z-index:10;top:88px;right:24px;display:flex;align-items:center;gap:14px;max-width:min(440px,calc(100vw - 32px));padding:11px 13px 11px 16px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow);font-size:.85rem}.toast button{display:grid;flex:none;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--muted)}.toast button:hover{background:var(--surface-soft)}.mobile-nav{display:none}@keyframes panel-in{0%{opacity:.7;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes family-disclosure-in{0%{opacity:.65;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.activity-page{display:grid;gap:14px;min-width:0}.planning-page{display:grid;gap:15px;min-width:0}.planning-heading{margin-bottom:0}.planning-heading .muted-copy{margin:5px 0 0;font-size:.86rem}.planning-section{min-width:0;padding:clamp(18px,2.8vw,25px);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft)}.planning-section-heading{margin-bottom:10px}.planning-section-heading h2{margin:4px 0 0;font-size:1.12rem;letter-spacing:-.025em}.planning-explainer{margin:0 0 17px;font-size:.82rem}.planning-goal-grid,.planning-budget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planning-goal-card,.planning-budget-card{padding:18px;box-shadow:none}.planning-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.planning-card-top .eyebrow{font-size:.65rem}.planning-card-top h3{margin:4px 0 0;font-size:1rem;font-weight:690;letter-spacing:-.02em;overflow-wrap:anywhere}.planning-actions{display:flex;flex:none;gap:2px;margin:-7px -7px 0 0}.planning-actions .text-action{padding-inline:7px}.planning-goal-total,.planning-budget-amount{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:18px 0 9px}.planning-goal-total strong,.planning-budget-amount strong{font-size:1.18rem;font-weight:740;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.planning-goal-total span,.planning-budget-amount span{color:var(--muted);font-size:.75rem;text-align:right}.planning-progress-note{display:flex;justify-content:space-between;gap:8px;margin:7px 0 0;color:var(--muted);font-size:.72rem}.planning-progress-unavailable{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:13px 0 0;color:var(--muted);font-size:.76rem}.planning-budget-scope{margin:4px 0 0;color:var(--muted);font-size:.76rem}.planning-contribution{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.planning-contribution .field{font-size:.76rem}.planning-contribution .field input{min-height:44px;font-size:.9rem}.planning-contribution .button{min-height:44px;padding-inline:12px;font-size:.79rem}.planning-empty{padding:18px;border:1px dashed var(--line-strong);border-radius:14px;color:var(--muted);font-size:.85rem;text-align:center}.planning-form-disclosure,.planning-archived{margin-top:13px;border-top:1px solid var(--line)}.planning-form-disclosure>summary,.planning-archived>summary{display:flex;align-items:center;min-height:47px;color:var(--accent-strong);font-size:.84rem;font-weight:680;cursor:pointer;transition:color .22s ease}.planning-form-disclosure[open]>summary,.planning-archived[open]>summary{margin-bottom:11px}.planning-form{display:grid;gap:15px;padding:17px;box-shadow:none}.planning-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planning-form-grid .field{font-size:.78rem}.planning-form-grid .field input,.planning-form-grid .field select{min-height:44px;font-size:.88rem}.planning-form-actions{display:flex;flex-wrap:wrap;gap:8px}.planning-form-actions .button{min-height:43px}.planning-archived ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.planning-archived li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:.8rem}.planning-archived li span:last-child{color:var(--muted)}.planning-category-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.planning-category-list>li{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:end;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.planning-category-kind{padding-bottom:12px;color:var(--muted);font-size:.73rem}.planning-category-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px}.planning-category-form .field{font-size:.73rem}.planning-category-form .field input{min-height:43px;font-size:.86rem}.planning-category-form .button{min-height:43px}.planning-archived-categories{margin:10px 0 0}.planning-error{justify-self:center;margin:10px auto}.quick-category-create{display:grid;justify-items:start;gap:5px;margin-top:-13px}.quick-category-create>.text-action{margin-left:-8px}.quick-category-form{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.quick-category-form .field{font-size:.77rem}.quick-category-form .field input{min-height:43px;font-size:.88rem}.quick-category-actions{display:flex;gap:6px}.quick-category-actions .button{min-height:43px;padding-inline:11px;font-size:.77rem;white-space:nowrap}.category-create-error{color:var(--danger);font-size:.76rem}.family-page{display:grid;gap:15px;min-width:0}.family-page-heading{margin-bottom:0}.family-page-heading .muted-copy{margin:5px 0 0;font-size:.86rem}.family-transparency,.family-admin-section{min-width:0;padding:clamp(18px,2.8vw,25px)}.family-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.family-summary-heading h2,.family-admin-section h2{margin:4px 0 0;font-size:1.1rem;font-weight:700;letter-spacing:-.025em}.family-total{display:grid;justify-items:end;gap:1px}.family-total span{color:var(--muted);font-size:.75rem}.family-total strong{font-size:1.23rem;font-variant-numeric:tabular-nums}.family-total .compact-value{font-size:1.23rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.family-transparency-note,.family-section-copy{margin:11px 0 14px;color:var(--muted);font-size:.8rem}.family-member-list{display:grid;margin:0;padding:0;list-style:none}.family-member-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(112px,.45fr) minmax(220px,1fr);align-items:center;gap:15px;padding:15px 0;border-top:1px solid var(--line)}.family-member-identity{display:flex;align-items:center;gap:10px;min-width:0}.family-member-identity>span:last-child{display:grid;min-width:0}.family-member-identity strong{overflow:hidden;font-size:.86rem;font-weight:670;text-overflow:ellipsis;white-space:nowrap}.family-member-identity small{overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.family-role-cell{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.family-role-cell select{max-width:116px;min-height:42px;padding:0 9px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-raised);color:var(--ink-soft);font-size:.78rem}.family-role-cell .text-action{min-height:42px;padding-inline:7px}.role-badge{display:inline-flex;align-items:center;min-height:29px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--ink-soft);font-size:.72rem;font-weight:650}.role-admin{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft);color:var(--accent-strong)}.family-balances{display:grid;justify-items:end;gap:4px;min-width:0}.family-balances>.lak-amount{font-size:.9rem;font-variant-numeric:tabular-nums}.family-balances>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.family-balances .wallet-chip{padding:4px 8px;font-size:.68rem}.family-balances .wallet-chip b,.family-balances .wallet-chip .compact-value{color:var(--ink-soft);font-weight:670;font-variant-numeric:tabular-nums}.family-admin-section .section-heading{margin-bottom:7px}.account-section{margin-top:15px;padding:clamp(18px,2.8vw,25px)}.account-section-heading{margin-bottom:15px}.account-section-heading h2{margin:4px 0 0;font-size:1.1rem;font-weight:700;letter-spacing:-.025em}.account-section-heading p:last-child{margin:5px 0 0;color:var(--muted);font-size:.8rem}.account-username-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding-bottom:17px;border-bottom:1px solid var(--line)}.account-username-form .field input,.account-username-form .button{min-height:44px}.account-methods-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:17px}.account-methods{min-width:0;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}.account-subheading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.account-subheading h3,.account-password-form h3{margin:0;font-size:.85rem;font-weight:690}.account-subheading .text-action{min-height:38px}.account-method-list{display:grid;gap:8px;margin:0 0 12px;padding:0;list-style:none}.account-method-list li{display:flex;align-items:flex-start;gap:9px;min-width:0;color:var(--ink-soft);font-size:.8rem}.account-method-list li>span:last-child{min-width:0;overflow-wrap:anywhere}.account-method-list small{display:block;margin-top:2px;color:var(--muted);font-size:.68rem}.account-method-dot{flex:0 0 8px;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--accent)}.account-empty,.account-status-note{margin:0 0 11px;color:var(--muted);font-size:.76rem}.account-methods .button,.account-password-form>.button{min-height:43px;padding-inline:12px;font-size:.78rem}.account-password-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;margin-top:17px;padding-top:17px;border-top:1px solid var(--line)}.account-password-form>div:first-child{align-self:center}.account-password-form .field{font-size:.77rem}.account-password-form .field input{min-height:44px;font-size:.9rem}.account-password-form .field-hint{margin:5px 0 0;font-size:.72rem}.account-load-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--danger);font-size:.8rem}.account-load-error .button{min-height:40px;flex:none}.auth-reset-form{margin-top:4px}.auth-reset-cancel{justify-self:center}.auth-forgot{display:flex;width:100%;margin:5px 0 0}.family-settings-error{display:flex;align-items:center;justify-content:space-between;gap:10px}.family-invite-form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(135px,.55fr) auto;align-items:end;gap:11px}.family-invite-form .field{font-size:.78rem}.family-invite-form .field input,.family-invite-form .field select{min-height:46px;font-size:.89rem}.family-invite-form>.button{min-height:46px;white-space:nowrap}.invite-created{display:grid;gap:10px;margin-top:15px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:14px;background:var(--accent-soft)}.invite-created-heading,.invite-link-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.invite-created-heading strong{font-size:.83rem}.invite-created .field{font-size:.75rem}.invite-created .field input{min-height:44px;background:var(--surface-raised);font-size:.78rem}.invite-link-footer>span{color:var(--muted);font-size:.74rem;text-align:right}.family-export-actions{display:flex;flex-wrap:wrap;gap:9px}.family-member-export{display:grid;grid-template-columns:minmax(190px,1fr) auto;align-items:end;gap:10px;max-width:660px;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.family-member-export .field{font-size:.78rem}.family-member-export .field select{min-height:46px;font-size:.89rem}.family-member-export .button{min-height:46px}.family-ai-setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:3px}.family-ai-setting>div{max-width:780px}.family-ai-setting>div>strong{font-size:.9rem}.family-ai-setting .muted-copy{margin:4px 0;font-size:.79rem}.family-ai-setting .field-hint{margin:0;font-size:.74rem}.toggle-control{position:relative;display:inline-flex;flex:none;align-items:center;gap:9px;min-height:44px;color:var(--ink-soft);font-size:.8rem;font-weight:640;cursor:pointer}.toggle-control input{position:absolute;width:1px;height:1px;opacity:0}.toggle-track{position:relative;display:block;width:46px;height:26px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-soft);transition:background .15s ease}.toggle-track:after{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface-raised);box-shadow:0 1px 4px #0003;content:"";transition:transform .15s ease}.toggle-control input:checked+.toggle-track{border-color:var(--accent);background:var(--accent)}.toggle-control input:checked+.toggle-track:after{transform:translate(20px)}.toggle-control input:focus-visible+.toggle-track{outline:3px solid var(--focus);outline-offset:3px}.toggle-control input:disabled+.toggle-track{cursor:not-allowed;opacity:.55}.family-audit-list{display:grid;margin:0;padding:0;list-style:none}.family-audit-list li{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid var(--line)}.family-audit-list li>div{display:grid;min-width:0}.family-audit-list strong{font-size:.82rem;font-weight:650}.family-audit-list span,.family-audit-list time{color:var(--muted);font-size:.72rem}.family-audit-list time{flex:none}.family-audit-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}.family-audit-pagination>span{color:var(--muted);font-size:.74rem;text-align:center}.family-audit-pagination .button{min-height:42px;padding-inline:11px;font-size:.76rem}.activity-page-heading{align-items:flex-start;margin:0}.activity-page-heading .muted-copy{margin:5px 0 0;font-size:.84rem}.activity-heading-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.connection-state{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.72rem;font-weight:650;white-space:nowrap}.connection-state:before{width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--muted);content:""}.connection-state.is-online:before{background:var(--income)}.connection-state.is-offline:before{background:var(--warning)}.connection-state.is-syncing:before{background:var(--accent);animation:pulse-dot 1s ease-in-out infinite alternate}@keyframes pulse-dot{to{opacity:.35}}.activity-filter-card{padding:20px}.activity-filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.activity-filter-details{flex:1;min-width:0}.activity-filter-details>summary{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);cursor:pointer;list-style:none}.activity-filter-details>summary::-webkit-details-marker{display:none}.activity-filter-details>summary:before{width:7px;height:7px;flex:none;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);content:"";transform:rotate(-45deg);transition:transform .22s ease}.activity-filter-details[open]>summary:before{transform:rotate(45deg)}.activity-filter-details>summary strong{font-size:.9rem}.activity-filter-details>summary span{overflow:hidden;color:var(--muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.activity-filter-details[open]>summary{margin-bottom:12px}.activity-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.activity-filters .field{font-size:.78rem}.activity-filters .field input,.activity-filters .field select{min-height:44px;font-size:.86rem}.activity-results{margin:0;padding:17px 21px}.activity-row-end{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.activity-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 8px}.text-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:var(--accent-strong);font-size:.78rem;font-weight:680;text-decoration:none}.text-action:hover:not(:disabled){background:var(--accent-soft)}.text-action:disabled{cursor:wait;opacity:.6}.danger-action{color:var(--danger)}.danger-action:hover:not(:disabled){background:var(--danger-soft)}.activity-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:14px;border-top:1px solid var(--line)}.activity-pagination>span{min-width:72px;color:var(--muted);font-size:.8rem;text-align:center}.activity-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;color:var(--muted)}.activity-error{justify-self:center}.conflict-list{display:grid;gap:9px}.conflict-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));border-radius:15px;background:var(--warning-soft);color:var(--ink-soft);font-size:.82rem}.conflict-card p{margin:4px 0 0;color:var(--muted);font-size:.76rem}.conflict-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.conflict-actions .button{min-height:42px;padding-inline:12px;font-size:.78rem}.outbox-panel{padding:15px 19px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.outbox-panel .section-heading{margin-bottom:4px}.outbox-panel .section-heading>span{display:grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:.76rem;font-weight:700}.outbox-panel ul{display:grid;margin:0;padding:0;list-style:none}.outbox-panel li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:6px 0;border-top:1px solid var(--line)}.outbox-panel li>span{display:grid;min-width:0}.outbox-panel li strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.outbox-panel li small{color:var(--muted);font-size:.7rem}.outbox-panel li>div{display:flex;flex:none;gap:4px}.sheet-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:end;justify-content:center;padding:24px;background:#1219147a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:backdrop-in .2s ease-out}.fast-add-sheet{width:min(100%,590px);max-height:min(92svh,880px);overflow:auto;padding:15px 25px 22px;border:1px solid var(--line);border-radius:24px 24px 18px 18px;background:var(--surface);box-shadow:var(--shadow);animation:sheet-in .28s cubic-bezier(.16,1,.3,1)}.sheet-handle{width:43px;height:4px;margin:0 auto 15px;border-radius:999px;background:var(--line-strong)}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.sheet-header h2{margin:3px 0 0;font-size:1.35rem;letter-spacing:-.04em}.sheet-header .eyebrow{font-size:.66rem}.sheet-loading{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.83rem}.add-form{display:grid;gap:15px;margin-top:14px}.kind-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border-radius:13px;background:var(--surface-soft)}.kind-switch button{min-height:42px;padding:0 6px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:650}.kind-switch button.selected{background:var(--surface-raised);color:var(--accent-strong);box-shadow:0 1px 4px #141c161f}.amount-field{display:grid;gap:7px;color:var(--ink-soft);font-size:.87rem;font-weight:640}.amount-input-row{display:flex;align-items:center;min-height:76px;padding:0 18px;border:1px solid var(--line-strong);border-radius:15px;background:var(--surface-raised)}.amount-input-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.amount-input-row input{width:100%;min-width:0;height:72px;border:0;outline:0;background:transparent;color:var(--ink);font-size:clamp(2rem,7vw,2.8rem);font-weight:720;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.amount-input-row input::placeholder{color:var(--muted);opacity:.48}.amount-currency-select{flex:none;width:auto;max-width:150px;min-width:72px;min-height:46px;margin-left:10px;padding:0 22px 0 9px;border:0;border-radius:9px;background-color:var(--surface-soft);color:var(--ink-soft);font-size:.82rem;font-weight:680}.amount-currency-select:focus-visible{outline-offset:1px}.adjustment-hint{margin:-8px 0 0}.secondary-fields{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.secondary-fields summary{min-height:46px;display:flex;align-items:center;color:var(--ink-soft);font-size:.84rem;font-weight:640;cursor:pointer;transition:color .2s ease}.secondary-fields[open] summary{margin-bottom:12px}.secondary-fields summary::marker{color:var(--accent)}.secondary-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding-bottom:15px}.entry-photo-field{grid-column:1 / -1;display:grid;gap:7px;min-width:0}.entry-photo-field>.field{gap:7px}.entry-photo-field input[type=file]{min-height:44px;padding:8px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink-soft);font-size:.75rem}.entry-photo-preview{display:flex;align-items:center;gap:12px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.entry-photo-preview img{width:64px;height:64px;flex:none;border-radius:9px;object-fit:cover}.entry-photo-preview>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;color:var(--ink-soft);font-size:.78rem}.activity-photo{display:flex;align-items:flex-start;gap:10px;margin-top:8px}.activity-photo>img{display:block;width:min(200px,100%);max-height:180px;border-radius:10px;background:var(--surface-soft);object-fit:contain}.activity-photo>p,.photo-loading{margin:0;color:var(--muted);font-size:.72rem}.activity-photo-actions{display:flex;flex-wrap:wrap;gap:2px}.field-note{grid-column:1 / -1}.sheet-actions{display:grid;grid-template-columns:.85fr 1.15fr;gap:10px;padding-top:2px}.expense-confirmation-backdrop,.exact-amount-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:18px;background:#12191485;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:backdrop-in .2s ease-out}.expense-confirmation-dialog,.exact-amount-dialog{width:min(100%,470px);max-height:min(88svh,680px);overflow:auto;padding:22px;border:1px solid var(--line-strong);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);animation:sheet-in .26s cubic-bezier(.16,1,.3,1)}.expense-confirmation-dialog h2,.exact-amount-dialog h2{margin:4px 0 7px;font-size:1.23rem;letter-spacing:-.03em}.expense-confirmation-dialog>.muted-copy{margin:0 0 15px;font-size:.83rem}.expense-confirmation-values{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}.expense-confirmation-values>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.expense-confirmation-values dt{color:var(--muted);font-size:.78rem}.expense-confirmation-values dd{margin:0;color:var(--ink);font-size:.88rem;font-weight:680;font-variant-numeric:tabular-nums;text-align:right}.expense-confirmation-values dd small{display:block;color:var(--muted);font-size:.71rem;font-weight:480}.expense-confirmation-dialog>.field-hint{margin:11px 0 0;font-size:.74rem}.expense-confirmation-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:19px}.exact-amount-dialog{display:grid;gap:15px}.exact-amount-dialog>strong{font-size:clamp(1.65rem,8vw,2.5rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.exact-amount-dialog>.button{justify-self:end;min-width:110px}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:.72;transform:translateY(18px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1050px){.desktop-rail{width:78px;align-items:center;padding-inline:11px}.desktop-rail>.brand-lockup{padding:0 0 32px}.desktop-rail>.brand-lockup>span:last-child,.nav-item:not(.nav-add){font-size:0}.rail-nav{width:100%;justify-items:center}.nav-item{justify-content:center;width:52px;padding:0}.nav-item.nav-add{font-size:0}.rail-footer{font-size:0;padding:10px 0}.app-main{margin-left:78px}.home-content{padding-inline:clamp(21px,3vw,36px)}.family-position{grid-template-columns:minmax(160px,.62fr) minmax(0,1.38fr);gap:16px}.wallet-summary{padding-left:16px}}@media(max-width:760px){.auth-layout{display:block}.auth-aside{display:none}.auth-main{min-height:100svh;padding:92px 18px 32px}.auth-top-controls{top:max(18px,env(safe-area-inset-top));right:18px}.auth-card{width:min(100%,470px)}.onboarding-layout{padding:max(16px,env(safe-area-inset-top)) 17px 22px}.onboarding-header{align-items:flex-start}.onboarding-header .header-controls{flex-wrap:wrap;justify-content:end;gap:6px}.onboarding-header .button-quiet{min-height:38px;padding-inline:9px}.onboarding-main{min-height:calc(100svh - 80px);padding:22px 0 56px}.onboarding-card{padding:25px 22px}.desktop-rail{display:none}.app-main{margin-left:0}.topbar{justify-content:flex-end;min-height:62px;padding:8px 16px;gap:10px}.mobile-brand{display:inline-flex}.topbar-user{display:none}.topbar .header-controls{gap:6px}.topbar .select-control{min-height:38px;padding-inline:7px}.topbar .select-control select{min-height:36px;max-width:75px;font-size:.76rem}.topbar .theme-control select{max-width:53px}.signout-button{min-height:38px;padding:0 9px;font-size:.76rem}.home-content{padding:14px 16px calc(96px + env(safe-area-inset-bottom))}.page-heading{align-items:center;margin-bottom:12px}.page-heading .eyebrow{display:none}.page-heading h1{font-size:1.34rem;line-height:1.2}.home-title-desktop{display:none}.home-title-mobile{display:inline;white-space:nowrap}.desktop-add{display:none}.family-position{grid-template-columns:1fr;gap:10px;padding:14px 16px}.position-copy{padding:0}.position-copy>.eyebrow{display:block}.position-note{display:none}.hero-amount{margin:0;font-size:clamp(2.1rem,10vw,2.7rem);line-height:1.05}.wallet-summary{padding:8px 0 0;border-top:1px solid var(--line);border-left:0}.wallet-summary .section-heading,.wallet-summary .icon-button{display:none}.wallet-aggregates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wallet-aggregate{display:grid;align-content:center;gap:4px;min-width:0;min-height:53px;padding:7px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised)}.wallet-aggregate>span{color:var(--muted);font-size:.7rem}.wallet-aggregate .lak-amount{max-width:100%;overflow-wrap:anywhere;font-size:.91rem;font-weight:690;font-variant-numeric:tabular-nums}.wallet-detail-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:6px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--accent-strong);font-size:.79rem;font-weight:660}.wallet-detail-toggle:focus-visible,.more-family-details-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wallet-member-list{margin-top:13px}.wallet-member-list.wallet-details-open{animation:family-disclosure-in .2s ease-out}.wallet-exact-mobile{display:inline;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.wallet-desktop-amount{display:none}.period-grid{display:block;margin-top:8px;padding:1px 13px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.period-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading spent" "details details";align-items:center;gap:5px 8px;padding:9px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.period-card+.period-card{border-top:1px solid var(--line)}.period-heading{grid-area:heading;position:relative;align-items:baseline;flex-direction:row;gap:8px;min-width:0;margin:0}.period-heading h2{white-space:nowrap}.period-heading .period-date-range{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.period-total{grid-area:spent;align-items:baseline;justify-content:end;gap:5px;min-width:0;padding:0;border:0;white-space:nowrap}.period-total>span{color:var(--muted);font-size:.69rem;white-space:nowrap}.period-total>.lak-amount{font-size:1.08rem;line-height:1.15;text-align:right;white-space:nowrap}.period-details{grid-area:details;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;padding-top:5px;border-top:1px solid var(--line)}.period-details>div{display:flex;align-items:baseline;justify-content:space-between;gap:3px;min-width:0}.period-details>div>span{font-size:.68rem;white-space:nowrap}.period-details .lak-amount{min-width:0;font-size:.7rem;white-space:nowrap}.mobile-plan-status{display:block;margin-top:8px;padding:4px 8px}.mobile-plan-summary{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) auto;align-items:center;gap:6px;min-height:46px}.mobile-plan-metric{min-width:0}.mobile-plan-count{margin:0;color:var(--ink-soft);font-size:.72rem;font-weight:640;line-height:1.25;overflow-wrap:anywhere}.mobile-plan-count.is-warning{color:var(--warning);font-weight:700}.mobile-plan-action{min-height:44px;padding-inline:8px;font-size:.72rem;white-space:nowrap}.mobile-plan-warnings{display:grid;gap:3px;margin:2px 0 3px;padding:5px 0 0;border-top:1px solid var(--line);list-style:none}.mobile-plan-warnings>li{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--ink-soft);font-size:.7rem;line-height:1.3}.mobile-plan-warnings>li>span{min-width:0;overflow-wrap:anywhere}.mobile-plan-warnings>li>strong{flex:none;color:var(--warning);font-size:.7rem;font-variant-numeric:tabular-nums;white-space:nowrap}.more-family-details-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:10px 0 0;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--accent-strong);font-size:.82rem;font-weight:670}.home-more-family-details:not([hidden]){animation:family-disclosure-in .22s ease-out}.weekly-summary-columns{grid-template-columns:1fr;gap:17px;margin-top:17px}.weekly-summary-card{padding:17px}.weekly-total-grid{gap:7px}.weekly-total{padding:10px 8px}.weekly-total>span{font-size:.67rem}.weekly-total strong{font-size:.92rem}.notification-trigger{width:38px;height:38px}.notification-panel{position:fixed;top:max(70px,calc(env(safe-area-inset-top) + 62px));right:12px;width:min(440px,calc(100vw - 24px))}.overview-grid{grid-template-columns:1fr;gap:10px;margin-top:10px}.planning-page{gap:10px}.planning-heading{align-items:flex-start}.planning-section{padding:16px}.planning-goal-grid,.planning-budget-grid{grid-template-columns:1fr;gap:9px}.planning-goal-card,.planning-budget-card{padding:16px}.planning-form-grid{grid-template-columns:1fr;gap:10px}.planning-contribution{grid-template-columns:minmax(0,1fr) auto;gap:7px}.planning-contribution .button{padding-inline:9px}.quick-category-form{grid-template-columns:1fr}.quick-category-actions{justify-content:flex-start}.family-page{gap:10px}.account-section{margin-top:10px;padding:16px}.account-methods-grid,.account-password-form{grid-template-columns:1fr;gap:10px}.account-username-form{grid-template-columns:minmax(0,1fr) auto;gap:8px}.account-username-form>.button{padding-inline:11px}.family-page-heading{align-items:flex-start}.family-transparency,.family-admin-section{padding:16px}.family-summary-heading{align-items:flex-start}.family-total strong,.family-total .compact-value{font-size:1rem}.family-member-row{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:13px 0}.family-member-identity{grid-column:1}.family-role-cell{grid-column:2;grid-row:1;justify-content:flex-end}.family-balances{grid-column:1 / -1;justify-items:start;padding-left:46px}.family-balances>div{justify-content:flex-start}.family-invite-form{grid-template-columns:1fr 1fr;gap:9px}.family-invite-form>.field:first-child{grid-column:1 / -1}.family-invite-form>.button{grid-column:1 / -1}.family-member-export{grid-template-columns:1fr}.family-member-export .button{justify-self:start}.family-ai-setting{align-items:flex-start}.family-audit-list li{align-items:flex-start;flex-direction:column;gap:4px}.family-audit-pagination{gap:6px}.family-audit-pagination .button{padding-inline:8px}.chart-card,.category-card,.budget-card,.goals-card,.activity-card{padding:18px}.bar-chart-bars{height:130px;gap:8px}.bar-track{height:104px}.insight-strip{margin-top:10px;padding:13px}.lower-grid,.activity-card{margin-top:10px}.activity-row{grid-template-columns:36px minmax(0,1fr) auto;gap:9px;padding:13px 0}.activity-icon{width:35px;height:35px}.activity-title{align-items:start;flex-direction:column;gap:1px}.activity-title>span{font-size:.68rem}.activity-amount{max-width:95px;font-size:.78rem;white-space:normal;overflow-wrap:anywhere}.mobile-nav{position:fixed;z-index:8;right:13px;bottom:max(12px,env(safe-area-inset-bottom));left:13px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-items:center;gap:0;min-height:66px;padding:6px 7px;border:1px solid var(--line-strong);border-radius:21px;background:color-mix(in srgb,var(--surface) 93%,transparent);box-shadow:0 8px 26px #141b1524;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.mobile-nav-item{display:grid;justify-items:center;gap:1px;width:100%;min-width:0;min-height:48px;align-content:center;border:0;border-radius:13px;background:transparent;color:var(--muted);font-size:.66rem;font-weight:630;text-decoration:none;transition:background-color .22s ease,color .22s ease}.mobile-nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}.mobile-nav-placeholder{opacity:.48}.mobile-nav-placeholder:disabled{cursor:default}.mobile-add{position:static;grid-column:3;display:grid;place-self:center;place-items:center;width:54px;height:54px;border:4px solid var(--surface);border-radius:18px;background:var(--accent);color:#fff;box-shadow:0 4px 12px #141e162e}.mobile-nav-item:nth-child(1){grid-column:1}.mobile-nav-item:nth-child(2){grid-column:2}.activity-page{gap:10px}.activity-page-heading{flex-direction:column;align-items:stretch;gap:10px}.activity-heading-actions{justify-content:flex-start}.activity-heading-actions .button{min-height:42px;padding-inline:11px;font-size:.76rem}.activity-filter-card{padding:15px}.activity-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.activity-results{padding:14px 15px}.activity-row-end{max-width:100px}.activity-actions{gap:0}.activity-actions .text-action{min-height:38px;padding-inline:5px;font-size:.69rem}.conflict-card{align-items:flex-start;flex-direction:column}.conflict-actions{justify-content:flex-start}.outbox-panel{padding:13px}:root[data-theme=dark] .mobile-add{color:#142219}@media(prefers-color-scheme:dark){:root[data-theme=system] .mobile-add{color:#142219}}.sheet-backdrop{align-items:end;padding:0}.fast-add-sheet{width:100%;max-height:94svh;padding:12px 18px calc(17px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.expense-confirmation-backdrop{align-items:end;padding:0}.expense-confirmation-dialog{width:100%;max-height:min(88svh,650px);padding:20px 19px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.exact-amount-dialog{width:min(100%,470px);padding:20px}.sheet-handle{margin-bottom:12px}.add-form{gap:13px}.kind-switch button{font-size:.71rem}.amount-input-row{min-height:70px;padding-inline:14px}.amount-input-row input{height:66px}.amount-currency-select{max-width:108px;min-width:67px;margin-left:5px;padding-inline:7px 19px;font-size:.73rem}.toast{top:max(70px,calc(env(safe-area-inset-top) + 62px));right:12px}}@media(max-width:390px){.topbar{padding-inline:10px;gap:6px}.topbar .select-control select{max-width:61px}.topbar .theme-control select{max-width:40px}.signout-button{padding-inline:6px;font-size:.69rem}.mobile-brand{gap:6px;font-size:.87rem}.mobile-brand .brand-mark{width:29px;height:29px;flex-basis:29px}.period-card{padding-inline:11px}.period-total strong{font-size:1rem}.period-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.kind-switch{gap:2px}.kind-switch button{font-size:.67rem}.fast-add-sheet{padding-inline:14px}}@media(max-width:430px){.topbar .mobile-brand>span:last-child{display:none}.topbar .signout-button{flex-shrink:0;white-space:nowrap}}@media(min-width:761px)and (max-width:920px){.topbar{padding-inline:18px}.topbar-user .user-name{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
