:root{--glass-shadow: inset 0 0 0 1px rgba(255, 255, 255, .03), inset 1.8px 3px 0px -2px rgba(255, 255, 255, .27), inset -2px -2px 0px -2px rgba(255, 255, 255, .24), inset -3px -8px 1px -6px rgba(255, 255, 255, .18), inset -.3px -1px 4px 0px rgba(0, 0, 0, .24), inset -1.5px 2.5px 0px -2px rgba(0, 0, 0, .4), inset 0px 3px 4px -2px rgba(0, 0, 0, .4), inset 2px -6.5px 1px -4px rgba(0, 0, 0, .2), 0px 1px 5px 0px rgba(0, 0, 0, .2), 0px 6px 16px 0px rgba(0, 0, 0, .16);--glass-shadow-active: inset 0 0 0 1px rgba(255, 255, 255, .03), inset 1px 1px 0 0 rgba(255, 255, 255, .15), inset -1px -1px 0 0 rgba(255, 255, 255, .1), 0 2px 4px rgba(0, 0, 0, .15);--glass-shadow-indicator: inset 0 0 0 1px #ffffff08, inset 2px 1px 0 -1px #ffffff45, inset -1.5px -1px 0 -1px #ffffff3d, inset -2px -6px 1px -5px #ffffff2e, inset -1px 2px 3px -1px #0006, inset 0 -4px 1px -2px #0003, 0 3px 6px #00000029}.glass{box-shadow:var(--glass-shadow)}.glass-active{box-shadow:var(--glass-shadow-active)}.glass-indicator{box-shadow:var(--glass-shadow-indicator)}:root{--sg-bg: var(--tg-bg-color, #f2f2f7);--sg-surface: rgba(255, 255, 255, .55);--sg-surface-strong: rgba(255, 255, 255, .75);--sg-surface-border: rgba(255, 255, 255, .6);--sg-text: var(--tg-text-color, #0b0b0f);--sg-text-secondary: var(--tg-hint-color, rgba(20, 20, 25, .55));--sg-accent: var(--tg-button-color, #3d8bfd);--sg-accent-text: var(--tg-button-text-color, #ffffff);--sg-positive: #2fb463;--sg-negative: #ef4a5c;--sg-overlay-blur: 28px;--sg-radius-xl: 28px;--sg-radius-lg: 22px;--sg-radius-md: 16px;--sg-radius-sm: 12px;--sg-radius-pill: 999px;--sg-space-1: 4px;--sg-space-2: 8px;--sg-space-3: 12px;--sg-space-4: 16px;--sg-space-5: 24px;--sg-space-6: 32px;--sg-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;color-scheme:light}:root[data-tg-color-scheme=dark]{--sg-bg: var(--tg-bg-color, #0d0d10);--sg-surface: rgba(255, 255, 255, .07);--sg-surface-strong: rgba(255, 255, 255, .12);--sg-surface-border: rgba(255, 255, 255, .12);--sg-text: var(--tg-text-color, #f5f5f7);--sg-text-secondary: var(--tg-hint-color, rgba(235, 235, 245, .55));--sg-accent: var(--tg-button-color, #5aa2ff);--sg-positive: #3ecf7e;--sg-negative: #ff5b6b;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-tg-color-scheme=light]){--sg-bg: var(--tg-bg-color, #0d0d10);--sg-surface: rgba(255, 255, 255, .07);--sg-surface-strong: rgba(255, 255, 255, .12);--sg-surface-border: rgba(255, 255, 255, .12);--sg-text: var(--tg-text-color, #f5f5f7);--sg-text-secondary: var(--tg-hint-color, rgba(235, 235, 245, .55));--sg-accent: var(--tg-button-color, #5aa2ff);--sg-positive: #3ecf7e;--sg-negative: #ff5b6b;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sg-font);background:var(--sg-bg);color:var(--sg-text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,textarea,select{font-family:inherit;color:inherit}.glass-surface{background:var(--sg-surface);backdrop-filter:blur(var(--sg-overlay-blur));-webkit-backdrop-filter:blur(var(--sg-overlay-blur));border-radius:var(--sg-radius-lg);border:1px solid var(--sg-surface-border)}@supports not (backdrop-filter: blur(1px)){.glass-surface{background:var(--sg-surface-strong)}}.glass-scrim{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.app-shell{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.app-content{flex:1;overflow-y:auto;padding:calc(56px + var(--tg-content-safe-area-inset-top, 0px)) calc(var(--sg-space-4) + var(--tg-safe-area-inset-right, 0px)) calc(84px + var(--tg-safe-area-inset-bottom, 0px)) calc(var(--sg-space-4) + var(--tg-safe-area-inset-left, 0px));-webkit-overflow-scrolling:touch}.app-state-screen{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sg-space-3);color:var(--sg-text-secondary);text-align:center;padding:var(--sg-space-5)}.spin{animation:sg-spin 1s linear infinite;color:var(--sg-accent)}@keyframes sg-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tabbar{position:fixed;left:var(--sg-space-4);right:var(--sg-space-4);bottom:calc(var(--sg-space-3) + var(--tg-safe-area-inset-bottom, 0px));display:flex;padding:6px;gap:4px;border-radius:var(--sg-radius-pill);z-index:40}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:none;background:transparent;color:var(--sg-text-secondary);border-radius:var(--sg-radius-pill);font-size:11px;font-weight:500;text-decoration:none;transition:color .2s ease}.tabbar-item.active{color:var(--sg-text)}.tabbar-item .tabbar-icon-wrap{width:40px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--sg-radius-pill)}.tabbar-item.active .tabbar-icon-wrap{background:var(--sg-surface-strong)}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin:var(--sg-space-2) 0 var(--sg-space-4)}.page-header h1{font-size:22px;font-weight:700;margin:0;letter-spacing:-.02em}.page-header .page-subtitle{color:var(--sg-text-secondary);font-size:13px;margin-top:2px}.section-title{font-size:14px;font-weight:600;color:var(--sg-text-secondary);margin:var(--sg-space-5) 0 var(--sg-space-2);text-transform:uppercase;letter-spacing:.04em}.section-title:first-child{margin-top:0}.row-between{display:flex;align-items:center;justify-content:space-between}.stack{display:flex;flex-direction:column;gap:var(--sg-space-3)}.hstack{display:flex;align-items:center;gap:var(--sg-space-2)}.card{padding:var(--sg-space-4)}.card+.card{margin-top:var(--sg-space-3)}.card-tap{cursor:pointer;transition:transform .15s ease,opacity .15s ease}.card-tap:active{transform:scale(.98);opacity:.9}.balance-hero{padding:var(--sg-space-5) var(--sg-space-4);text-align:center}.balance-hero .balance-label{color:var(--sg-text-secondary);font-size:13px;font-weight:500}.balance-hero .balance-amount{font-size:34px;font-weight:700;letter-spacing:-.03em;margin:4px 0 var(--sg-space-4)}.balance-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--sg-space-3)}.balance-pill{padding:var(--sg-space-3);border-radius:var(--sg-radius-md);background:var(--sg-surface-strong);text-align:left}.balance-pill .label{font-size:12px;color:var(--sg-text-secondary);display:flex;align-items:center;gap:6px}.balance-pill .value{font-size:18px;font-weight:700;margin-top:4px}.balance-pill.owe .value{color:var(--sg-negative)}.balance-pill.owed .value{color:var(--sg-positive)}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--sg-radius-pill);background:var(--sg-surface-strong);color:var(--sg-text-secondary);white-space:nowrap}.status-badge.confirmed{color:var(--sg-positive)}.status-badge.marked_paid{color:#d8a13a}.status-badge.unpaid{color:var(--sg-text-secondary)}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;background:var(--sg-surface-strong);color:var(--sg-text);flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.sm{width:28px;height:28px;font-size:12px}.btn{border:none;border-radius:var(--sg-radius-pill);padding:12px 20px;font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--sg-accent);color:var(--sg-accent-text)}.btn-glass{background:var(--sg-surface-strong);color:var(--sg-text)}.btn-ghost{background:transparent;color:var(--sg-accent);padding:8px 12px}.btn-danger{background:transparent;color:var(--sg-negative)}.btn-sm{padding:8px 14px;font-size:13px}.btn-icon{width:40px;height:40px;padding:0;border-radius:50%;background:var(--sg-surface-strong);color:var(--sg-text)}.fab-row{position:fixed;right:var(--sg-space-4);bottom:calc(96px + var(--tg-safe-area-inset-bottom, 0px));display:flex;flex-direction:column;gap:var(--sg-space-2);z-index:30}.fab{width:56px;height:56px;border-radius:50%;background:var(--sg-accent);color:var(--sg-accent-text);border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #00000040}.progress-track{height:8px;border-radius:var(--sg-radius-pill);background:var(--sg-surface-strong);overflow:hidden}.progress-fill{height:100%;border-radius:var(--sg-radius-pill);background:var(--sg-accent);transition:width .4s ease}.empty-state{text-align:center;color:var(--sg-text-secondary);padding:var(--sg-space-6) var(--sg-space-4);font-size:14px}.sheet-scrim{position:fixed;inset:0;background:#0006;z-index:50;animation:sg-fade-in .2s ease}.sheet{position:fixed;left:0;right:0;bottom:0;max-height:86dvh;overflow-y:auto;border-radius:28px 28px 0 0;padding:var(--sg-space-4) var(--sg-space-4) calc(var(--sg-space-5) + var(--tg-safe-area-inset-bottom, 0px));z-index:51;animation:sg-slide-up .25s cubic-bezier(.22,1,.36,1)}@keyframes sg-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sg-slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.sheet-handle{width:36px;height:4px;border-radius:var(--sg-radius-pill);background:var(--sg-surface-border);margin:0 auto var(--sg-space-4)}.participant-row{display:flex;align-items:center;gap:var(--sg-space-3);padding:var(--sg-space-2) 0}.participant-row .name{flex:1;font-size:14px;font-weight:500}.participant-row .amount{font-weight:600;font-size:14px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sg-space-4)}.field label{font-size:12px;font-weight:600;color:var(--sg-text-secondary);text-transform:uppercase;letter-spacing:.03em}.input,.textarea,.select{border:none;border-radius:var(--sg-radius-md);padding:12px 14px;font-size:16px;background:var(--sg-surface-strong);color:var(--sg-text);width:100%}.input::placeholder,.textarea::placeholder{color:var(--sg-text-secondary)}.textarea{resize:none;min-height:72px;font-family:inherit}.amount-input-row{display:flex;gap:var(--sg-space-2)}.amount-input-row .input{flex:1}.amount-input-row .select{width:84px;flex-shrink:0}.segmented{display:flex;padding:4px;border-radius:var(--sg-radius-pill);gap:2px}.segmented button{flex:1;border:none;background:transparent;color:var(--sg-text-secondary);padding:8px 6px;border-radius:var(--sg-radius-pill);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:4px;transition:color .15s ease}.segmented button.active{color:var(--sg-text)}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{display:flex;align-items:center;gap:6px;padding:6px 12px 6px 6px;border-radius:var(--sg-radius-pill);background:var(--sg-surface-strong);font-size:13px;font-weight:500;border:1.5px solid transparent;color:var(--sg-text-secondary)}.chip.selected{color:var(--sg-text);border-color:var(--sg-accent)}.search-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--sg-radius-pill);margin-bottom:var(--sg-space-4)}.search-bar input{border:none;background:transparent;outline:none;font-size:15px;flex:1;color:var(--sg-text)}.form-error{color:var(--sg-negative);font-size:13px;margin:4px 0 var(--sg-space-3)}
