:root{--bg: var(--tg-theme-bg-color, #ffffff);--text: var(--tg-theme-text-color, #10151c);--hint: var(--tg-theme-hint-color, #7b8794);--card: var(--tg-theme-secondary-bg-color, #f2f4f7);--accent: var(--tg-theme-button-color, #2f8fed);--accent-text: var(--tg-theme-button-text-color, #ffffff);--ok: #2fa84f;--warn: #e8a33d;--danger: #e05c4b;--radius: 14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4;padding-bottom:76px}.app{max-width:560px;margin:0 auto;padding:16px}.balance-hero{background:var(--card);border-radius:var(--radius);padding:20px;text-align:center;margin-bottom:16px}.balance-hero .amount{font-size:40px;font-weight:700;line-height:1.1}.balance-hero .label{color:var(--hint);font-size:14px}.balance-hero .held{margin-top:8px;font-size:13px;color:var(--warn)}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--hint);margin:20px 0 8px}.card{background:var(--card);border-radius:var(--radius);padding:14px;margin-bottom:10px;display:flex;gap:12px;align-items:center}.card .emoji{font-size:26px;flex-shrink:0}.card .body{flex:1;min-width:0}.card .title{font-weight:600;overflow-wrap:anywhere}.card .meta{font-size:13px;color:var(--hint)}.card.done{opacity:.55}button{font:inherit;cursor:pointer;border:none;border-radius:10px;padding:9px 14px;background:var(--accent);color:var(--accent-text);font-weight:600;white-space:nowrap}button:disabled{opacity:.45;cursor:default}button.ghost{background:transparent;color:var(--hint);border:1px solid var(--hint)}.progress{height:6px;border-radius:3px;background:#7f7f7f40;overflow:hidden;margin-top:8px}.progress>span{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.progress.ready>span{background:var(--ok)}.missing{font-size:13px;color:var(--warn);margin-top:6px}.shop-card{display:block}.shop-card .row{display:flex;gap:12px;align-items:center}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--bg);border-top:1px solid rgba(127,127,127,.2);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;background:none;color:var(--hint);border-radius:0;padding:10px 4px;font-size:11px;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:3px}.tabbar button.active{color:var(--accent)}.tabbar .icon{font-size:20px}.empty{text-align:center;color:var(--hint);padding:48px 16px}.error{background:#e05c4b1f;color:var(--danger);border-radius:var(--radius);padding:14px;margin-bottom:12px}.status-chip{font-size:12px;padding:2px 8px;border-radius:999px;background:#7f7f7f33;color:var(--hint)}.entry{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(127,127,127,.15)}.entry .delta{font-weight:700;white-space:nowrap}.entry .delta.plus{color:var(--ok)}.entry .delta.minus{color:var(--danger)}.entry .when{font-size:12px;color:var(--hint)}.streak{display:flex;gap:8px;justify-content:center;font-size:14px;color:var(--hint);margin-top:6px}.screen-title{font-size:22px;font-weight:700;margin:4px 0 16px}.footnote{color:var(--hint);font-size:13px;text-align:center;margin:16px 0}.notice{background:#2f8fed1f;color:var(--accent);border-radius:var(--radius);padding:12px 14px;margin-bottom:12px;font-size:14px}.error-retry{margin-left:12px;padding:4px 10px;font-size:13px}.card.clickable{cursor:pointer;transition:opacity .15s}.card.clickable:active{opacity:.6}.card.column{flex-direction:column;align-items:stretch;gap:14px}.chevron{color:var(--hint);font-size:22px;line-height:1;flex-shrink:0}.row-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.row-actions.wide{margin-bottom:8px}.row-actions.wide>button{flex:1}button.wide{width:100%}button.danger{background:var(--danger);color:#fff}button.ghost.danger{background:transparent;color:var(--danger);border-color:var(--danger)}code.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;letter-spacing:.12em}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;color:var(--hint)}.field-hint{font-size:12px;color:var(--hint)}input[type=text],input[type=number],input[type=time],input:not([type]){font:inherit;color:var(--text);background:var(--bg);border:1px solid rgba(127,127,127,.35);border-radius:10px;padding:10px 12px;width:100%}input:focus{outline:2px solid var(--accent);outline-offset:-1px}.segmented{display:flex;gap:6px;flex-wrap:wrap}.segmented>button{flex:1;min-width:fit-content;background:transparent;color:var(--hint);border:1px solid rgba(127,127,127,.35);padding:8px 10px;font-size:14px}.segmented>button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.stepper{display:flex;gap:8px;align-items:center}.stepper>button{width:44px;font-size:20px;line-height:1;padding:8px 0}.stepper>input{text-align:center;font-weight:600}.weekdays{display:flex;gap:5px}.weekdays>button{flex:1;padding:9px 0;background:transparent;color:var(--hint);border:1px solid rgba(127,127,127,.35);font-size:13px}.weekdays>button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.review-card{background:var(--card);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}.review-card.highlighted{outline:2px solid var(--accent)}.review-photo{display:block;width:100%;max-height:320px;object-fit:cover;background:#7f7f7f26}.review-head{display:flex;gap:12px;align-items:center;padding:14px}.review-comment{padding:0 14px 10px;font-size:14px;color:var(--hint)}.review-actions{display:flex;gap:8px;padding:0 14px 14px;align-items:center}.review-actions.column{flex-direction:column;align-items:stretch}.review-actions.column>.review-actions{padding:0}.review-actions>button:first-child{flex:1}
