:root{--app-bg:var(--tg-theme-secondary-bg-color,#f2f2f7);--app-section:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,#fff));--app-text:var(--tg-theme-text-color,#1c1c1e);--app-hint:var(--tg-theme-hint-color,#6d6d72);--app-link:var(--tg-theme-link-color,#2481cc);--app-button:var(--tg-theme-button-color,#2481cc);--app-button-text:var(--tg-theme-button-text-color,#fff);--app-header:var(--tg-theme-header-bg-color,var(--tg-theme-bg-color,#fff));--app-destructive:var(--tg-theme-destructive-text-color,#c62828);--app-border:var(--tg-theme-section-separator-color,#e5e5ea);--app-subtitle:var(--tg-theme-subtitle-text-color,#6d6d72);--app-owed:var(--tg-theme-accent-text-color,#0b7a3b);--app-owe:var(--tg-theme-destructive-text-color,#c62828);background:var(--app-bg);color:var(--app-text)}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--app-bg);min-height:100dvh;color:var(--app-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a,button{-webkit-tap-highlight-color:transparent}a{color:var(--app-link)}:focus-visible{outline:2px solid var(--app-link);outline-offset:2px}h1,h2,.activity-title,.member-name{overflow-wrap:anywhere}h1,h2{margin:0 0 12px;font-size:1.25rem;line-height:1.3}h2{font-size:1rem}.shell{background:var(--app-bg);width:min(32rem,100%);min-height:100dvh;margin:0 auto}.private-chat{z-index:20;background:var(--app-bg);text-align:center;place-items:center;padding:32px 24px;display:grid;position:fixed;inset:0}.private-chat h1{max-width:20rem;margin:0;font-size:1.375rem;line-height:1.35}.dev-switcher{z-index:40;padding:10px calc(16px + env(safe-area-inset-right)) 10px calc(16px + env(safe-area-inset-left));background:var(--app-header);border-bottom:1px solid var(--app-border);flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:sticky;top:0}.dev-switcher-label{color:var(--app-hint);margin:0;font-size:.8125rem;font-weight:600}.dev-switcher-options{flex-wrap:wrap;flex:auto;gap:6px;display:flex}.dev-switcher-options button{border:1px solid var(--app-border);min-height:36px;color:var(--app-text);background:0 0;border-radius:999px;flex:auto;padding:6px 10px;font-size:.875rem;font-weight:600}.dev-switcher-options button[aria-pressed=true]{border-color:var(--app-button);background:var(--app-button);color:var(--app-button-text)}.screen{padding:16px calc(16px + env(safe-area-inset-right)) 24px calc(16px + env(safe-area-inset-left))}.screen-with-bar{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.status{color:var(--app-hint);text-align:center;margin:48px 0}.card{background:var(--app-section);border-radius:16px;margin-bottom:12px;padding:16px}.totals dl{gap:10px;margin:0;display:grid}.totals div,.money-row,.activity-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.totals dt{color:var(--app-hint)}.totals dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:700}.balance{margin:14px 0 0;font-size:1.0625rem;font-weight:700}.balance-owed,.pairwise.balance-owed{color:var(--app-owed)}.balance-owe,.pairwise.balance-owe{color:var(--app-owe)}.balance-settled,.pairwise.balance-settled{color:var(--app-hint)}.member-list,.activity-list,.lines{margin:0;padding:0;list-style:none}.member+.member{border-top:1px solid var(--app-border);margin-top:12px;padding-top:12px}.member-name{font-weight:600}.member-spending,.activity-amount,.detail-total{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.member-spending{align-items:baseline;gap:6px;display:inline-flex}.pairwise{margin:4px 0 0;font-size:.875rem;font-weight:600}.hint,.notice,.activity-meta{color:var(--app-hint)}.hint{font-size:.8125rem;font-weight:500}.notice{margin:8px 0 0}.error{color:var(--app-destructive);margin:0 0 12px}.history{margin-bottom:16px}.activity-list{gap:8px;display:grid}.activity-card{background:var(--app-section);color:inherit;border-radius:16px;padding:14px;text-decoration:none;display:block}.activity-title{margin:0;font-weight:700}.activity-meta{margin:6px 0 0}.tag{border:1px solid var(--app-border);background:var(--app-bg);color:var(--app-subtitle);border-radius:999px;margin:6px 0 0;padding:2px 8px;font-size:.8125rem;display:inline-block}.detail-total{margin:0 0 12px;font-size:1.5rem}.bottom-bar{z-index:15;width:min(32rem,100%);padding:12px calc(16px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));border-top:1px solid var(--app-border);background:var(--app-header);grid-template-columns:1fr 1fr;gap:8px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.button{background:var(--app-button);width:100%;min-height:48px;color:var(--app-button-text);text-align:center;touch-action:manipulation;border:0;border-radius:12px;justify-content:center;align-items:center;padding:12px 16px;font-weight:600;text-decoration:none;display:inline-flex}.button:disabled{opacity:.45}.button:active,.activity-card:active{opacity:.85}.button:disabled:active{opacity:.45}.button-secondary{border:1px solid var(--app-border);background:var(--app-section);color:var(--app-text)}.button-danger{border:1px solid var(--app-border);background:var(--app-section);color:var(--app-destructive)}.button-inline{width:auto;margin-bottom:8px}.action-row,.confirm-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.quiet-danger{min-height:44px;color:var(--app-destructive);background:0 0;border:0;align-items:center;margin-top:4px;padding:8px 0;font-weight:600;display:inline-flex}.back-link{color:var(--app-link);margin-bottom:12px;font-weight:600;text-decoration:none;display:inline-flex}.field{gap:6px;margin-bottom:14px;display:grid}.field span,legend{color:var(--app-hint);font-size:.875rem}.field input{border:1px solid var(--app-border);background:var(--app-section);width:100%;min-height:48px;color:var(--app-text);border-radius:12px;padding:12px 14px}.field input::placeholder{color:var(--app-hint)}fieldset{border:0;min-width:0;margin:0 0 14px;padding:0}legend{margin-bottom:6px;padding:0}.readonly{background:var(--app-bg);border-radius:12px;margin:0 0 14px;padding:12px 14px;font-weight:600}.choice{align-items:center;gap:12px;min-height:48px;font-weight:600;display:flex}.choice input{width:1.25rem;height:1.25rem;accent-color:var(--app-button)}.lines{gap:8px;display:grid}.preview{margin-bottom:14px}
