:root{--ink:#141210;--text:#5a5550;--muted:#948c82;--line:#e6e0d6;--neut:#f1ece3;--paper:#f8f5ef;--white:#ffffff;--tan:#e8562f;--tan-t:#fce7e0;--teal:#1fa39a;--violet:#6e5bf2;--saffron:#e9a23b;color-scheme:light}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink)}body{font-family:Instrument Sans,IBM Plex Sans Arabic,Helvetica Neue,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;min-height:100dvh}a{color:var(--ink);text-decoration:none}a:hover{color:var(--tan)}button,input{font:inherit;color:inherit}.tn{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.screen{max-width:480px;margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 28px) 24px calc(env(safe-area-inset-bottom) + 28px);display:flex;flex-direction:column}.top{display:flex;justify-content:space-between;align-items:center}.wordmark{display:inline-flex;align-items:flex-end;font-weight:500;letter-spacing:-.05em;line-height:.9}.wordmark i{display:inline-block;background:var(--tan)}.wordmark.lg{font-size:56px}.wordmark.lg i{width:7px;height:7px;margin-left:5px;margin-bottom:5px}.wordmark.sm{font-size:22px}.wordmark.sm i{width:3px;height:3px;margin-left:2px;margin-bottom:2px}h1{font-size:28px;font-weight:500;letter-spacing:-.02em;margin:0}.sub{font-size:14px}.label,.sub{color:var(--muted)}.label{font-size:12px}.form{gap:10px}.field,.form{display:flex;flex-direction:column}.field{gap:6px}.field label{font-size:12px;color:var(--muted)}.input{height:52px;width:100%;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:var(--white);font-size:16px;outline:none}.input:focus{border-color:var(--ink)}.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:10px;gap:10px}.pair>*{min-width:0}input[type=date].input,input[type=datetime-local].input{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;max-width:100%}.btn{height:56px;width:100%;border:0;border-radius:28px;background:var(--ink);color:#fff;font-size:16px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}.btn:disabled{opacity:.6}.btn.ghost{background:var(--neut);color:var(--ink)}.btn.sm{height:44px;font-size:14px;border-radius:22px;width:auto;padding:0 18px}.error{padding:12px 14px;border-radius:12px;background:var(--tan-t);color:var(--tan);font-size:14px}.hint{font-size:13px;color:var(--muted);text-align:center}.rows{flex-direction:column}.row,.rows{display:flex}.row{justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.row:last-child{border-bottom:1px solid var(--line)}.row .t{font-size:15px}.row .s{font-size:12px;color:var(--muted);margin-top:2px}.pill{min-width:22px;height:22px;padding:0 8px;border-radius:11px;background:var(--tan);font-size:12px}.avatar,.pill{color:#fff;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.avatar{width:32px;height:32px;border-radius:50%;background:var(--ink);font-size:13px}.card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:18px}.icon-btn{width:40px;height:40px;border-radius:20px;border:0;background:var(--neut);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.screen.wide{max-width:1100px}.tabbar{position:-webkit-sticky;position:sticky;bottom:0;margin:0 -24px;padding:10px 8px calc(env(safe-area-inset-bottom) + 10px);display:flex;border-top:1px solid var(--line);background:var(--paper)}.tabbar a{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;font-weight:500;color:var(--muted);min-height:44px;justify-content:center}.tabbar a.on,.tabbar a:hover{color:var(--ink)}.section{display:flex;flex-direction:column;gap:12px}.section-h{display:flex;justify-content:space-between;align-items:baseline}.section-h .label{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:500}.big-number{font-size:40px;font-weight:500;letter-spacing:-.03em;line-height:1}.big-number small{font-size:20px;color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:8px 14px;border-radius:999px;background:var(--neut);font-size:13px;border:0;cursor:pointer;color:var(--ink)}.chip.on{background:var(--ink);color:#fff}.tile{border-radius:18px;padding:18px;display:flex;align-items:center;justify-content:space-between;min-height:88px;color:var(--ink)}.tile .n{font-size:32px;font-weight:500;letter-spacing:-.02em}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px}.grid2,.grid3{display:grid;gap:10px}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px}.ptile{position:relative;aspect-ratio:1;border-radius:16px;background:var(--neut);overflow:hidden;display:flex;align-items:flex-end;border:0;padding:0;cursor:pointer;text-align:left}.ptile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ptile .cap{position:relative;width:100%;padding:8px 10px;font-size:12px;font-weight:500;background:linear-gradient(transparent,rgba(20,18,16,.55));color:#fff}.ptile .badge{position:absolute;top:8px;right:8px}.ptile.sel{outline:3px solid var(--sel,var(--ink));outline-offset:-3px}.select{height:52px;width:100%;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:var(--white);font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea.input{height:auto;min-height:88px;padding:14px 16px;resize:vertical}.toggle{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid var(--line);gap:12px}.toggle input{width:22px;height:22px;accent-color:var(--ink)}.fab{position:fixed;right:20px;bottom:calc(env(safe-area-inset-bottom) + 84px);width:60px;height:60px;border-radius:30px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(20,18,16,.25)}.money-pos{color:var(--teal)}.money-neg{color:var(--tan)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:8px 0}.table td{padding:12px 0;border-top:1px solid var(--line);vertical-align:top}.table td.num,.table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.muted{color:var(--muted)}.small{font-size:12px}.stack{flex-direction:column}.hstack,.stack{display:flex;gap:10px}.hstack{align-items:center}.spacer{flex:1 1}.linkrow{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid var(--line);min-height:56px}.linkrow:last-child{border-bottom:1px solid var(--line)}@media (min-width:900px){.screen{max-width:640px}.screen.wide{max-width:1100px}}.step{font-size:12px;color:var(--muted);letter-spacing:.02em}.counter{display:inline-flex;align-items:center;background:var(--neut);border-radius:22px;height:44px}.counter span{width:32px;text-align:center;font-size:17px;font-weight:500}.counter button{width:44px;height:44px;border-radius:22px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}.counter button:disabled{color:#b9b3a8}.check{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;flex:none;background:var(--white)}.check.on{background:var(--ink);border-color:var(--ink)}.seg{display:flex;background:var(--neut);border-radius:12px;padding:3px;gap:2px}.seg button{flex:1 1;text-align:center;font-size:13px;padding:8px 0;border-radius:9px;color:var(--text);border:0;background:transparent;cursor:pointer}.seg button.on{background:var(--white);color:var(--ink);font-weight:500;box-shadow:0 1px 2px rgba(20,18,16,.08)}.seg button.on.warn{color:var(--tan)}.pin{display:flex;gap:6px}.pin input{width:44px;height:52px;border:1px solid var(--line);border-radius:12px;background:var(--white);text-align:center;font-size:22px;padding:0}.pickrow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line);min-height:64px;gap:12px;cursor:pointer}.pickrow:last-child{border-bottom:1px solid var(--line)}.box{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:16px 18px;flex-direction:column}.box,.box-head{display:flex;gap:12px}.box-head{justify-content:space-between;align-items:center;width:100%;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.box-head .t{font-size:16px;font-weight:500}.chev{display:inline-flex;transition:transform .15s}.chev.open{transform:rotate(180deg)}.switch{width:44px;height:26px;border-radius:13px;background:var(--line);position:relative;display:inline-block;flex:none;border:0;padding:0;cursor:pointer;transition:background .15s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(20,18,16,.2);transition:left .15s}.switch.on{background:var(--teal)}.switch.on:after{left:21px}.switch:disabled{opacity:.5;cursor:default}.paidlbl{font-size:12px;font-weight:500;min-width:52px;text-align:right;color:var(--muted)}.paidlbl.on{color:var(--teal)}.frow{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--line);min-height:54px;gap:10px}.frow.last{border-bottom:1px solid var(--line)}.frow .t{font-size:15px}.frow.done .amt,.frow.done .t{color:var(--muted)}.frow .amt{font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.banner{border-radius:14px;padding:12px 16px;display:flex;gap:10px;align-items:center;font-size:14px}.banner.warn{background:var(--tan-t)}.banner.ok{background:#e6f5f3}.ptr[data-ready="1"] .ptr-icon{background:var(--ink);border-color:var(--ink)}.ptr[data-ready="1"] .ptr-icon circle:first-child{stroke:rgba(255,255,255,.25)}.ptr[data-busy="1"] .ptr-icon{background:var(--ink);border-color:var(--ink);transform:none!important}.ptr[data-busy="1"] .ptr-ring{stroke-dashoffset:42!important;animation:ptr-spin .8s linear infinite;transform-origin:12px 12px}.ptr[data-busy="1"] .ptr-icon circle:first-child{stroke:rgba(255,255,255,.25)}@keyframes ptr-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}