:root{--bg: #f3f6f5;--card: #ffffff;--ink: #14211f;--mut: #5b6b68;--line: #dde6e3;--acc: #0c7f70;--acc-ink: #ffffff;--soft: #e3f0ed;--danger: #c0344b;--warn-bg: #fff2d6;--warn-ink: #6b4a00;--inc: #17835a;--exp: #c8452b;--shadow: 0 1px 2px rgba(10, 40, 34, .06), 0 6px 18px rgba(10, 40, 34, .06);--p0: #e5484d;--p1: #1f9d6b;--p2: #d99a00;--p3: #e8702a;--p4: #8e5cd9;--p5: #2f7fe0;--p6: #0e9aa7;--p7: #a0643c;--p8: #4756d6;--p9: #d6458f;--p10: #6c8a2b;--p11: #6b7785;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #10171c;--card: #18222a;--ink: #e8f0ee;--mut: #9fb0ac;--line: #263640;--acc: #3fc8b3;--acc-ink: #07201c;--soft: #1d3039;--danger: #ff7a90;--warn-bg: #3a3118;--warn-ink: #ffd88a;--inc: #4cd49a;--exp: #ff8466;--shadow: none;--p0: #ff7a7f;--p1: #4cd49a;--p2: #f5c542;--p3: #ff9a5c;--p4: #b895ff;--p5: #6aa8ff;--p6: #4fd0dc;--p7: #d09972;--p8: #8d9bff;--p9: #ff7fb8;--p10: #a8c85a;--p11: #9aa6b3;color-scheme:dark}}:root[data-theme=dark]{--bg: #10171c;--card: #18222a;--ink: #e8f0ee;--mut: #9fb0ac;--line: #263640;--acc: #3fc8b3;--acc-ink: #07201c;--soft: #1d3039;--danger: #ff7a90;--warn-bg: #3a3118;--warn-ink: #ffd88a;--inc: #4cd49a;--exp: #ff8466;--shadow: none;--p0: #ff7a7f;--p1: #4cd49a;--p2: #f5c542;--p3: #ff9a5c;--p4: #b895ff;--p5: #6aa8ff;--p6: #4fd0dc;--p7: #d09972;--p8: #8d9bff;--p9: #ff7fb8;--p10: #a8c85a;--p11: #9aa6b3;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Noto Naskh Arabic,Noto Sans Arabic,sans-serif;min-height:100dvh}#app{max-width:560px;margin:0 auto}main{padding:16px 16px calc(150px + env(safe-area-inset-bottom))}h1{font-size:1.5rem;margin:0;line-height:1.25}h2{font-size:1.02rem;margin:0}p{margin:0}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:8px}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.grow{flex:1;min-width:0}.muted{color:var(--mut);font-size:.92rem}.tiny{color:var(--mut);font-size:.8rem}.center{text-align:center}.pad{padding:20px 0}.lbl{font-size:.84rem;color:var(--mut);font-weight:600}.big{font-size:2rem;font-weight:700;line-height:1.2}.top{display:flex;flex-direction:column;gap:6px;padding-top:4px}.top.row{flex-direction:row;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.card.stack{gap:12px}.card.total{display:flex;flex-direction:column;gap:4px}.card.alert{background:var(--warn-bg);color:var(--warn-ink);border-color:transparent}.card.note-card{background:var(--soft);border-color:transparent;display:flex;flex-direction:column;gap:6px}.card.events{padding:4px 16px}.note{background:var(--soft);border-radius:12px;padding:10px 12px;font-size:.9rem}.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border:0;border-radius:14px;background:var(--acc);color:var(--acc-ink);font:inherit;font-weight:700;cursor:pointer}.btn.soft{background:var(--soft);color:var(--ink)}.btn.ghost{background:transparent;color:var(--mut)}.btn.danger{background:var(--danger);color:#fff}.btn.wide{width:100%}.btn.small{min-height:38px;padding:0 14px}.btn:focus-visible,.tab:focus-visible,.chip:focus-visible,.icon-btn:focus-visible,.link:focus-visible,.ev:focus-visible,.pickbtn:focus-visible,.fab:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--acc);outline-offset:2px}.link{background:none;border:0;color:var(--acc);font:inherit;font-weight:600;padding:4px 0;text-align:start;cursor:pointer;text-decoration:none}.link.center{text-align:center}.icon-btn{background:none;border:0;color:var(--mut);padding:8px;border-radius:10px;cursor:pointer;display:inline-flex}.icon-btn.on{color:var(--acc)}.icon{display:inline-flex;line-height:0}.inc{color:var(--inc)}.exp{color:var(--exp)}.card.tight{gap:0;padding-block:8px}.events{display:flex;flex-direction:column}.ev{display:flex;align-items:center;gap:10px;width:100%;padding:10px 0;border:0;border-top:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.events>.ev:first-child{border-top:0}.ev-main{display:flex;flex-direction:column;min-width:0}.ev-main.end{align-items:flex-end;text-align:end}.ev-t{font-weight:600;overflow-wrap:anywhere}.amt{font-weight:700;white-space:nowrap}.amt.income{color:var(--inc)}.amt.expense,.neg{color:var(--exp)}.dayhead{margin:6px 4px -4px;color:var(--mut);font-size:.86rem}.badge{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;color:var(--c, var(--mut));background:color-mix(in srgb,var(--c, var(--mut)) 16%,transparent);flex:none}.badge.swatch{background:var(--c);width:28px;height:28px;border-radius:50%}.legendlist{display:flex;flex-direction:column}.pal-0{--c: var(--p0)}.pal-1{--c: var(--p1)}.pal-2{--c: var(--p2)}.pal-3{--c: var(--p3)}.pal-4{--c: var(--p4)}.pal-5{--c: var(--p5)}.pal-6{--c: var(--p6)}.pal-7{--c: var(--p7)}.pal-8{--c: var(--p8)}.pal-9{--c: var(--p9)}.pal-10{--c: var(--p10)}.pal-11{--c: var(--p11)}.pal-rest{--c: var(--mut)}.daynav{display:flex;align-items:center;gap:2px}.daynav .day{min-width:110px;text-align:center;font-weight:600;font-size:.92rem}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:.95rem;cursor:pointer}.chip.on{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);font-weight:700}.field{display:flex;flex-direction:column;gap:6px}.field .hint{font-size:.8rem;color:var(--mut)}input[type=text],input[type=search],input[type=password],input[type=number],input[type=date],select{width:100%;min-height:46px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit}select:disabled{opacity:.6}.moneybox{display:flex;align-items:center;gap:8px}.moneybox input{text-align:end}.moneybox .sym{min-width:3.2rem;color:var(--mut);font-weight:600;direction:ltr}.pin{text-align:center;letter-spacing:.4em}.big-pin{font-size:1.6rem;min-height:56px}.lockicon{color:var(--acc);padding-top:24px}.searchbox{position:relative;display:flex;align-items:center}.searchbox .icon{position:absolute;inset-inline-start:12px;color:var(--mut);pointer-events:none}.searchbox input{padding-inline-start:38px}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px}.switch input{width:22px;height:22px;accent-color:var(--acc)}.error{color:var(--danger);font-weight:600;font-size:.92rem}.error:empty{display:none}.line{padding:6px 0;border-bottom:1px solid var(--line)}.line:last-child{border-bottom:0}.grid{display:grid;gap:8px}.catgrid{grid-template-columns:repeat(3,1fr)}.iconpick,.colorpick{grid-template-columns:repeat(6,1fr)}.pickbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;padding:6px 2px;border:2px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;font-size:.78rem;cursor:pointer;text-align:center}.pickbtn.on{border-color:var(--acc);background:var(--soft)}.catgrid .pickbtn{min-height:74px}.bar{width:100%;height:10px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;border-radius:5px;background:var(--line);overflow:hidden;display:block}.bar::-webkit-progress-bar{background:var(--line);border-radius:5px}.bar::-webkit-progress-value{background:var(--acc);border-radius:5px}.bar::-moz-progress-bar{background:var(--acc);border-radius:5px}.bar.warn::-webkit-progress-value{background:var(--p2)}.bar.warn::-moz-progress-bar{background:var(--p2)}.bar.over::-webkit-progress-value{background:var(--exp)}.bar.over::-moz-progress-bar{background:var(--exp)}.bar.done::-webkit-progress-value{background:var(--inc)}.bar.done::-moz-progress-bar{background:var(--inc)}.budget{display:flex;flex-direction:column;gap:8px;width:100%;font:inherit;color:inherit;text-align:start;cursor:pointer}.goal .row.between{flex-wrap:wrap;row-gap:2px}.budget-note.over{color:var(--exp);font-weight:700}.budget-note.warn{font-weight:700}.goal.done{border-color:var(--inc)}.goal.overdue{border-color:var(--exp)}.tabbar{position:fixed;inset-inline:0;bottom:0;display:flex;justify-content:center;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5}.tabbar>*{flex:1;max-width:112px;min-width:0}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 7px;color:var(--mut);text-decoration:none;font-size:.72rem;font-weight:600;text-align:center}.tab.on{color:var(--acc)}.fab{position:fixed;inset-inline-end:max(16px,calc((100vw - 560px)/2 + 16px));bottom:calc(76px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;border:0;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px #00000040;z-index:6}.chartbox{width:100%}.chart{width:100%;height:auto;display:block;direction:ltr}.donut{max-width:260px;margin:0 auto}.c-grid{stroke:var(--line);stroke-width:1}.c-zero{stroke:var(--mut)}.c-tick{fill:var(--mut);font-size:9px}.c-inc{fill:var(--inc)}.c-exp{fill:var(--exp)}.c-line{fill:none;stroke:var(--acc);stroke-width:2.2;stroke-linejoin:round}.c-pt{fill:var(--acc);stroke:var(--card);stroke-width:1.5}.slice{fill:var(--c);stroke:var(--card);stroke-width:1.5}.c-empty{stroke:var(--line)}.c-center{fill:var(--ink);font-size:13px;font-weight:700}.c-sub{fill:var(--mut);font-size:9px}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;color:var(--mut)}.sw{width:12px;height:12px;border-radius:4px;display:inline-block}.s-inc{background:var(--inc)}.s-exp{background:var(--exp)}.setup{padding-top:24px}.logo{width:72px;height:72px;border-radius:22px}dialog.sheet{border:0;padding:0;margin:auto 0 0;width:100%;max-width:560px;margin-inline:auto;background:transparent;color:var(--ink)}dialog.sheet::backdrop{background:#060c0e8c}.sheet-in{background:var(--card);border-radius:24px 24px 0 0;padding:8px 16px calc(20px + env(safe-area-inset-bottom));max-height:92dvh;overflow:auto;display:flex;flex-direction:column;gap:14px}.sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--line);margin:4px auto 0}.sheet-head{display:flex;align-items:center;justify-content:space-between}.x{background:none;border:0;font-size:1.6rem;line-height:1;color:var(--mut);padding:4px 10px;cursor:pointer}#toast{position:fixed;inset-inline:16px;bottom:calc(84px + env(safe-area-inset-bottom));max-width:520px;margin-inline:auto;background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:14px;font-weight:600;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s,transform .2s;z-index:50}#toast.on{opacity:1;transform:none}[hidden]{display:none!important}@media (prefers-reduced-motion: reduce){*{transition:none!important}}@media (max-width: 360px){.chip{padding:0 12px}.big{font-size:1.7rem}}
