:root{--bg-app:#F7F4EF;--bg-subtle:#FAF8F3;--surface-card:#FFFDF8;--surface-raised:#FFFFFF;--surface-sunken:#FAF8F3;--surface-fill:#ECE7DD;--text-primary:#111111;--text-secondary:#77736B;--text-tertiary:#A8A39A;--text-inverse:#FFFFFF;--text-link:#3E8EF0;--border-subtle:#ECE7DD;--border-default:#DED8CE;--border-strong:#CFC8BB;--accent:#FFC433;--accent-hover:#F2B01F;--accent-wash:#FFF3D1;--accent-text:#111111;--status-success:#1BAA73;--status-success-wash:#DCF2E7;--status-attention:#FF6A3D;--status-attention-wash:#FFE3D8;--status-info:#3E8EF0;--status-info-wash:#DDEBFA;--balance-owed:#FF6A3D;--balance-due:#1BAA73;--balance-zero:#77736B;--font-sans:"Onest",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-numeric:var(--font-sans);--fs-display:34px;--fs-title-1:28px;--fs-title-2:22px;--fs-title-3:18px;--fs-body:16px;--fs-callout:15px;--fs-subhead:14px;--fs-footnote:13px;--fs-caption:12px;--fs-amount-xl:40px;--fs-amount-lg:28px;--fs-amount-md:20px;--fs-amount-sm:16px;--lh-tight:1.1;--lh-snug:1.25;--lh-normal:1.4;--lh-relaxed:1.55;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--space-12:80px;--gutter:20px;--card-pad:16px;--card-pad-lg:20px;--gap-list:12px;--gap-section:28px;--hit-min:44px;--hit-comfort:52px;--hit-primary:56px;--content-max:430px;--safe-bottom:34px;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(60,50,30,0.05);--shadow-sm:0 2px 8px rgba(60,50,30,0.06);--shadow-md:0 6px 20px rgba(60,50,30,0.08);--ring-focus:0 0 0 3px rgba(255,196,51,0.45);--card-border:1px solid var(--border-default)}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{width:min(100%,var(--content-max));min-height:100vh;margin:0 auto;padding:20px var(--gutter) calc(28px + env(safe-area-inset-bottom))}.stack{display:flex;flex-direction:column;gap:var(--gap-list)}.section-title{margin:22px 2px 10px;font-weight:700}.muted-copy,.section-title{color:var(--text-secondary);font-size:var(--fs-subhead)}.muted-copy{margin:4px 2px 18px}.sticky-action{position:-webkit-sticky;position:sticky;bottom:0;margin:24px calc(var(--gutter) * -1) calc((28px + env(safe-area-inset-bottom)) * -1);padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg-app) 72%,rgba(247,244,239,0))}.splt-num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1,tabular-nums lining-nums}.ui-button{display:inline-flex;min-height:var(--hit-min);align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;transition:background .15s ease,border-color .15s ease,transform .12s ease}.ui-button[data-block=true]{width:100%}.ui-button:active{transform:translateY(1px)}.ui-button:disabled{cursor:not-allowed;opacity:.48}.ui-button-primary{background:var(--accent);color:var(--accent-text)}.ui-button-primary:hover{background:var(--accent-hover)}.ui-button-secondary{background:var(--surface-raised);border-color:var(--border-default);color:var(--text-primary)}.ui-button-ghost{background:transparent;color:var(--text-primary)}.ui-button-danger{background:var(--status-attention-wash);color:var(--status-attention)}.ui-button-sm{min-height:38px;padding:0 14px;font-size:var(--fs-subhead)}.ui-button-md{min-height:48px;padding:0 20px;font-size:var(--fs-body)}.ui-button-lg{min-height:var(--hit-primary);padding:0 24px;border-radius:var(--radius-md);font-size:17px}.ui-card{border:var(--card-border);border-radius:var(--radius-lg);padding:var(--card-pad-lg);box-shadow:var(--shadow-xs)}.ui-card-card{background:var(--surface-card)}.ui-card-raised{background:var(--surface-raised)}.ui-card-sunken{background:var(--surface-sunken)}.ui-amount{color:var(--text-primary);font-family:var(--font-numeric);font-weight:800;white-space:nowrap}.ui-amount-sm{font-size:var(--fs-amount-sm)}.ui-amount-md{font-size:var(--fs-amount-md)}.ui-amount-lg{font-size:var(--fs-amount-lg)}.ui-amount-xl{font-size:var(--fs-amount-xl)}.ui-amount-positive{color:var(--balance-due)}.ui-amount-negative{color:var(--balance-owed)}.ui-amount-muted{color:var(--balance-zero)}.ui-field{display:grid;grid-gap:8px;gap:8px;color:var(--text-secondary);font-size:var(--fs-subhead);font-weight:700}.ui-input{width:100%;min-height:var(--hit-comfort);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);padding:0 14px;outline:none}.ui-input:focus{border-color:var(--accent);box-shadow:var(--ring-focus)}.ui-invite{margin-top:36px;text-align:center}.ui-invite h1{margin:10px 0 6px;font-size:var(--fs-title-1);line-height:var(--lh-tight)}.ui-invite p{margin:0 0 20px;color:var(--text-secondary)}.ui-invite-mark{display:inline-flex;min-height:38px;align-items:center;border-radius:var(--radius-pill);background:var(--accent);color:var(--text-primary);font-weight:900;padding:0 14px;letter-spacing:0}.ui-expense-row,.ui-settlement-row{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-subtle);padding:12px 2px}.ui-expense-row:last-child,.ui-settlement-row:last-child{border-bottom:0}.ui-expense-row strong,.ui-settlement-row strong{display:block;font-size:var(--fs-callout)}.ui-expense-row span,.ui-settlement-row span{display:block;color:var(--text-secondary);font-size:var(--fs-footnote);margin-top:2px}.ui-balance-card{display:grid;grid-gap:4px;gap:4px}.ui-balance-card>span{color:var(--text-secondary);font-size:var(--fs-subhead);font-weight:700}.ui-balance-card>strong{font-size:var(--fs-callout)}.ui-empty{display:grid;grid-gap:4px;gap:4px;color:var(--text-secondary);text-align:center}.checkbox-grid{display:grid;grid-gap:8px;gap:8px}.checkbox-row{display:flex;min-height:var(--hit-min);align-items:center;gap:10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);padding:0 12px}.error-copy{color:var(--status-attention);font-size:var(--fs-subhead);font-weight:700}