:root{--bg: var(--tg-theme-bg-color, #ffffff);--section-bg: var(--tg-theme-secondary-bg-color, #f2f2f7);--text: var(--tg-theme-text-color, #000000);--hint: var(--tg-theme-hint-color, #8e8e93);--link: var(--tg-theme-link-color, #007aff);--button: var(--tg-theme-button-color, #007aff);--button-text: var(--tg-theme-button-text-color, #ffffff);--danger: #e5484d;--positive: #2f9e44;--radius: 12px;--gap: 12px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--section-bg);color:var(--text);font:15px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#app{display:flex;flex-direction:column;min-height:100vh}.screen{flex:1;padding:var(--gap);padding-bottom:calc(72px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--gap)}.card{background:var(--bg);border-radius:var(--radius);padding:14px}.card h2{margin:0 0 10px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--hint)}.hero{text-align:center;padding:22px 14px}.hero .label{font-size:13px;color:var(--hint)}.hero .value{font-size:34px;font-weight:700;margin-top:4px;letter-spacing:-.02em}.hero .value.negative{color:var(--danger)}.hero .note{font-size:12px;color:var(--hint);margin-top:6px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.stat{background:var(--bg);border-radius:var(--radius);padding:12px}.stat .label{font-size:12px;color:var(--hint)}.stat .value{font-size:18px;font-weight:600;margin-top:2px}.stat .value.debt{color:var(--danger)}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--section-bg);min-height:44px}.row:last-child{border-bottom:none}.row.tappable{cursor:pointer}.row .main{min-width:0}.row .title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .sub{font-size:12px;color:var(--hint);margin-top:2px}.row .amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.row .amount.negative{color:var(--danger)}.row .amount.positive{color:var(--positive)}.row.child .title{padding-left:16px;font-weight:400;color:var(--hint)}.progress{height:3px;background:var(--section-bg);border-radius:2px;margin-top:6px}.progress>span{display:block;height:100%;background:var(--button);border-radius:2px}.pending{background:var(--bg);border-radius:var(--radius);padding:14px;border-left:3px solid var(--button)}.pending .title{font-weight:600}.pending .actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}button,.btn{font:inherit;border:none;border-radius:10px;padding:11px 16px;min-height:44px;background:var(--button);color:var(--button-text);font-weight:500;cursor:pointer}button:disabled{opacity:.5}button.secondary{background:var(--section-bg);color:var(--text)}button.danger{background:transparent;color:var(--danger)}button.wide{width:100%}label{display:block;font-size:13px;color:var(--hint);margin-bottom:6px}.field{margin-bottom:14px}input,select,textarea{font:inherit;width:100%;padding:12px;min-height:44px;border:1px solid var(--section-bg);border-radius:10px;background:var(--bg);color:var(--text)}input.amount-input{font-size:28px;font-weight:600;text-align:center}.segmented{display:flex;gap:6px}.segmented button{flex:1;background:var(--section-bg);color:var(--text)}.segmented button[aria-pressed=true]{background:var(--button);color:var(--button-text)}.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--bg);border-top:1px solid var(--section-bg);padding-bottom:env(safe-area-inset-bottom)}.tabs button{flex:1;background:none;color:var(--hint);border-radius:0;padding:9px 4px;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:3px}.tabs button[aria-current=page]{color:var(--link)}.tabs .glyph{font-size:19px;line-height:1}.sheet{position:fixed;inset:0;background:#0006;display:flex;align-items:flex-end;z-index:20}.sheet>div{background:var(--bg);width:100%;border-radius:16px 16px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));max-height:90vh;overflow-y:auto}.sheet h3{margin:0 0 14px;font-size:17px}.toast{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translate(-50%);background:#000000d9;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:30;max-width:90vw;text-align:center}.toast.error{background:var(--danger)}.empty{color:var(--hint);text-align:center;padding:26px 12px}.muted{color:var(--hint);font-size:12px}.spread{display:flex;justify-content:space-between;align-items:center;gap:10px}.back{align-self:flex-start;background:none;color:var(--link);padding:4px 0;min-height:32px;font-size:16px}
