:root{--bg:#f3eee4;--header:#b8a48c;--cream:#fffcf7;--ink:#3a322a;--muted:#958b7e;--gold:#c8924a;--brown:#a08b72;--green:#7e9a7a;--line:#e6ddd0;--red:#d4655a;--tag:#f7ede0;color:var(--ink);font-family:Noto Sans SC,Segoe UI,sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:#e7dfd2}button,input,textarea{font-family:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.phone{width:min(390px,100%);min-height:100dvh;margin:0 auto;background:var(--bg);display:flex;flex-direction:column;position:relative}@media (min-width:480px){body{padding:24px 0 32px}.phone{height:844px;min-height:844px;border-radius:28px;overflow:hidden;box-shadow:0 16px 40px rgba(58,50,42,.16)}}.header{background:var(--header);color:var(--cream);padding:12px 16px 14px}.title-row{display:flex;align-items:center;min-height:28px}.title-row h1{flex:1 1;margin:0;text-align:center;font-size:18px;font-weight:700}.back,.balance{width:36px;flex:none}.back{border:0;background:transparent;color:var(--cream);font-size:28px;line-height:1;padding:0;text-align:left}.screen{flex:1 1;min-height:0;display:flex;flex-direction:column;position:relative}.scroll{flex:1 1;min-height:0;overflow:auto}.scroll.with-fab{padding-bottom:84px}.pad{padding:12px;display:flex;flex-direction:column;gap:12px}.card{background:var(--cream);border-radius:12px}.today{padding:16px 8px;display:flex;flex-direction:column;gap:14px}.today h2{margin:0;font-size:15px}.stats{display:flex;justify-content:space-between}.stat{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:64px}.stat b{color:var(--gold);font-size:18px}.stat span{color:var(--muted);font-size:11px}.actions{display:flex;gap:12px}.actions button{flex:1 1;border:0;border-radius:8px;color:var(--cream);font-size:16px;font-weight:700;padding:22px 8px}.btn-in{background:var(--brown)}.btn-out{background:var(--green)}.seg{display:flex;background:var(--cream)}.seg button{flex:1 1;border:0;background:transparent;padding:12px 8px 0;color:var(--muted);font-size:15px;display:flex;flex-direction:column;align-items:center;gap:8px}.seg button.on{color:var(--header);font-weight:700}.seg i{display:block;width:72px;height:3px;background:transparent}.seg button.on i{background:var(--header)}.seg.compact button{font-size:14px}.seg.compact i{width:56px}.record{background:var(--cream);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px}.record .bot,.record .top{display:flex;justify-content:space-between;gap:12px}.record .top{font-size:15px;font-weight:700}.record .bot{color:var(--muted);font-size:12px}.amt-in{color:var(--header)}.amt-out{color:var(--green)}.grow{flex:1 1;min-width:0}.empty{color:var(--muted);text-align:center;padding:48px 16px;font-size:14px}.tabs{background:var(--cream);border-top:1px solid var(--bg);display:flex;justify-content:space-between;padding:6px 24px 8px}.tabs a{width:100px;text-align:center;font-size:11px;color:var(--muted);padding:6px 0 8px}.tabs a.on{color:var(--header);font-weight:700}.row{width:100%;background:var(--cream);border:0;border-bottom:1px solid var(--line);min-height:52px;padding:14px 16px;justify-content:space-between;gap:12px;text-align:left}.lab,.row{display:flex;align-items:center}.lab{font-weight:700;font-size:15px;gap:2px;color:var(--ink)}.req{color:var(--red)}.row input,.row textarea,.val{color:var(--muted);font-size:14px;background:transparent;border:0;text-align:right;outline:none;min-width:0;flex:1 1}.chev{color:var(--muted);font-size:16px;margin-left:4px}.remark{align-items:flex-start}.notes{min-height:48px}.add{display:block;background:var(--cream);border:1px solid var(--green);color:var(--green);border-radius:6px;padding:11px;font-size:14px}.add,.submit{width:calc(100% - 24px);margin:12px}.submit{background:var(--brown);color:var(--cream);border:0;border-radius:6px;padding:12px;font-size:16px;font-weight:700}.spacer{flex:1 1}.line{margin:0 12px 8px;background:var(--cream);border-radius:10px;padding:12px;display:flex;gap:10px;align-items:center}.photo{width:48px;height:48px;border-radius:6px;background:#e6ddd0;flex:none}.photo.lg{width:52px;height:52px}.line .meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}.line strong{font-size:15px}.line label{color:var(--muted);font-size:13px;display:flex;gap:6px;align-items:center}.line input{width:72px;border:0;border-bottom:1px solid var(--line);color:var(--ink);font-size:13px}.line input,.x{background:transparent}.x{border:0;font-size:22px;padding:0 4px}.search,.x{color:var(--muted)}.search{background:var(--cream);border-radius:20px;display:flex;align-items:center;gap:8px;padding:8px 14px;flex:none;width:100%;min-height:36px}.search input{border:0;background:transparent;flex:1 1;outline:none;color:var(--ink);font-size:14px;height:20px}.filter-row .search{flex:1 1;width:auto}.filter-row{padding:12px 12px 0}.check,.filter-row{display:flex;align-items:center;gap:8px}.check{color:var(--ink);font-size:13px;background:transparent;border:0;padding:0}.box{width:14px;height:14px;border:1px solid var(--muted);border-radius:2px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.box.on{background:var(--header);border-color:var(--header);color:var(--cream)}.party,.product{margin:12px;background:var(--cream);border-radius:10px;padding:14px;display:flex;gap:12px;align-items:center;border:0;width:calc(100% - 24px);text-align:left}.party{flex-direction:column;align-items:flex-start;gap:6px}.party b,.product b{font-size:15px}.party span,.product span{color:var(--muted);font-size:12px}.radio{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--header);flex:none}.radio.on{background:var(--header);box-shadow:inset 0 0 0 3px var(--cream)}.fab{position:absolute;right:20px;bottom:24px;z-index:4;width:52px;height:36px;border:0;border-radius:18px;background:var(--brown);color:var(--cream);font-size:22px;line-height:36px}.fab.above-submit{bottom:76px}.stage{position:relative;flex:1 1;min-height:120px}.summary{display:flex;justify-content:space-between;padding:14px 16px}.summary div{display:flex;flex-direction:column;align-items:center;gap:4px}.summary b{color:var(--gold);font-size:16px}.summary span{color:var(--muted);font-size:11px}.warn{padding:14px;display:flex;flex-direction:column;gap:10px}.warn .head,.warn .item{display:flex;align-items:center;justify-content:space-between;gap:8px}.warn .head{font-weight:700;font-size:15px}.warn .head em{color:var(--gold);font-style:normal}.pill{background:var(--tag);color:var(--gold);border-radius:4px;padding:3px 8px;font-size:12px}.tools{display:flex;align-items:center;justify-content:space-between}.ghost{border:1px solid var(--header);color:var(--header);background:transparent;border-radius:4px;padding:6px 10px;font-size:12px}.ghost.on{background:var(--header);color:var(--cream)}.ghost:active{transform:scale(.96)}.linkish{border:0;background:transparent;color:var(--ink);font-size:14px;padding:0}.table{border-radius:10px;overflow:hidden}.table .tr{display:flex;padding:12px;border-bottom:1px solid var(--bg);font-size:14px}.table .tr.sub{padding-top:4px;padding-bottom:8px}.table .tr.sub span{color:var(--muted);font-weight:400}.table .tr.sub span:last-child{color:var(--ink)}.table .tr span{flex:1 1}.table .hd{background:var(--bg);color:var(--muted);font-size:12px;font-weight:700;padding:10px 12px}.orange{color:var(--gold);font-weight:700}.month{padding:14px;display:flex;flex-direction:column;gap:10px}.month .head{display:flex;justify-content:space-between;align-items:center}.month button{border:0;background:transparent;color:var(--header);font-size:13px}.profit{color:var(--red);font-weight:700;font-size:16px;margin:0}.month p{margin:0;font-size:12px}.user{gap:12px;align-items:center;padding:16px}.user,.who{display:flex}.who{flex-direction:column}.who b{font-size:18px}.member{margin-top:8px;align-self:flex-start;background:#e3b341;color:#fffaf0;font-size:11px;font-weight:700;font-style:normal;border-radius:4px;padding:3px 8px}.shortcuts{display:flex;gap:8px}.shortcuts a{flex:1 1;border-radius:10px;padding:14px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px}.menu,.shortcuts a{background:var(--cream)}.menu{border-bottom:1px solid var(--bg)}.menu .side{gap:6px;color:var(--muted);font-size:13px}.menu .side,.overlay{display:flex;align-items:center}.overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);justify-content:center;padding:28px;z-index:5}.overlay.top{z-index:8}.pay-frame{position:absolute;inset:0;z-index:7;background:var(--cream);display:flex;flex-direction:column}.pay-frame-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--header);color:var(--cream)}.pay-frame-bar b{font-size:16px}.pay-frame-bar button{border:0;background:transparent;color:var(--cream);font-size:14px}.pay-frame iframe{flex:1 1;width:100%;border:0;background:#fff}.dialog{width:100%;background:var(--cream);border-radius:12px;padding:22px 16px 16px;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.dialog h2{margin:0;font-size:18px}.dialog p{margin:0;color:var(--muted);font-size:14px}.dialog.plans{gap:10px;padding:20px 16px 14px}.dialog.plans>p{font-size:13px;line-height:1.35}.plan{width:100%;background:var(--brown);color:var(--cream);border:0;border-radius:8px;min-height:88px;padding:12px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.plan span{font-size:15px;font-weight:700}.plan b{font-size:22px;line-height:1.2}.plan em{font-style:normal;font-size:12px;opacity:.92}.plan:disabled{background:#d5cdc2;color:#8d857b;opacity:1;cursor:default}.plan.method{flex-direction:row;min-height:52px;gap:8px}.plan.method img{width:22px;height:22px;object-fit:contain}.dialog .fine{font-size:11px;line-height:1.35;max-width:280px;color:var(--muted)}.texty{border:0;background:transparent;color:var(--muted);font-size:14px}.notice{width:min(280px,100%)}.dialog .submit,.notice .submit{width:100%;margin:0}.dialog .close{border:0;background:transparent;color:var(--muted);font-size:14px;padding:4px 12px;cursor:pointer}.dialog .hint{margin:0;color:var(--red);font-size:13px}.cat-name{margin:12px 12px 0;background:var(--cream);border-radius:8px;padding:10px 14px}.cat-name input{width:100%;border:0;background:transparent;outline:none;font-size:15px;color:var(--ink)}.filter-row.cat-filter{padding-bottom:4px}.filter-row.cat-filter .search{border-radius:10px;padding:8px 12px;min-height:0}.cat-list{display:flex;flex-direction:column;gap:8px;padding-top:8px}.cat-row{margin:0 12px;background:var(--cream);border-radius:10px;padding:16px 14px;gap:0}.cat-row,.cat-row .pick{display:flex;align-items:center}.cat-row .pick{flex:1 1;gap:10px;border:0;background:transparent;text-align:left;font-size:15px;font-weight:700;color:var(--ink);padding:0}.type-row{background:var(--cream);border-bottom:1px solid var(--line);min-height:100px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.type-row .name{border:0;background:transparent;color:var(--ink);font-size:15px;font-weight:700;padding:0;text-align:left}.type-tools{display:flex;align-items:center;gap:8px;flex:none}.type-default{border:1px solid var(--gold);background:transparent;color:var(--gold);border-radius:4px;padding:4px 8px;font-size:12px;line-height:1.2}.type-default.on{background:var(--gold);color:var(--cream)}.type-tools .icon{border:0;background:transparent;color:var(--muted);font-size:16px;line-height:1;padding:0}.type-tools .bin{font-size:14px}.cat-tools{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:16px}.cat-tools button{border:0;background:transparent;color:inherit;padding:0;font-size:16px}.detail-meta{display:flex;justify-content:space-between;align-items:center;padding:10px 16px 8px}.detail-meta b{font-size:14px}.detail-meta span{color:var(--muted);font-size:11px}.detail-fields{background:var(--cream)}.detail-fields .row{border-bottom:1px solid var(--line)}.detail-fields .lab{color:var(--muted);font-weight:400;font-size:14px}.detail-val{color:var(--ink);font-size:14px;text-align:right}.detail-actions{display:flex;gap:10px;padding:12px 16px 16px}.detail-actions button{flex:1 1;border-radius:8px;padding:10px 8px;font-size:14px;font-weight:700}.detail-actions .danger{background:#a85c52;color:var(--cream);border:0}.detail-actions .outline{background:var(--cream);color:var(--ink);border:1px solid var(--brown)}.detail-actions .fill{background:var(--brown);color:var(--cream);border:0}.dialog input{width:100%;border:0;border-bottom:1px solid var(--line);text-align:left;font-size:15px;padding:8px 0;color:var(--ink)}.dialog input,.switch{background:transparent}.switch{border:0;padding:0;width:44px;height:20px;flex:none;display:inline-flex;align-items:center}.switch .off,.switch img{display:block}.switch .off{width:44px;height:20px;border-radius:10px;background:#d9d0c4;position:relative}.switch .off:after{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#fffcf7;box-shadow:0 0 0 1px rgba(58,50,42,.12)}.legal{padding:16px;color:var(--ink);font-size:14px;line-height:1.6}.legal h2{margin:16px 0 8px;font-size:16px}.legal h3{margin:12px 0 6px;font-size:14px}.legal p{margin:0 0 8px}.legal ul{margin:0 0 10px;padding-left:18px}.legal li{margin:4px 0}.legal hr{border:0;border-top:1px solid #e4dccd;margin:12px 0}.legal .table-wrap{overflow-x:auto;margin:0 0 12px}.legal table{width:100%;border-collapse:collapse;font-size:12px}.legal td,.legal th{border:1px solid #e4dccd;padding:6px;text-align:left;vertical-align:top}.cat,.legal th{background:var(--cream)}.cat{position:absolute;left:12px;right:12px;top:72px;border-radius:10px;z-index:4;box-shadow:0 8px 24px rgba(58,50,42,.12);overflow:hidden}.cat button{width:100%;text-align:left}