:root{
  --bg:#f2f2f7;--card:#fff;--text:#111;--muted:#6e6e73;--dim:#8e8e93;--line:#e5e5ea;--ph:#b0b0b5;
  --accent:#0a66ff;--accent-bg:#e3ecff;--green:#1f9d55;--red:#d93025;--key:#fff;--key-dim:#e9e9ee;--seg:#e3e3e8;
  --karni-bg:#fde7ef;--karni:#b4235c;--tot:#f4f6ff;--th:#fafafc;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#000;--card:#1c1c1e;--text:#f2f2f7;--muted:#98989e;--dim:#8e8e93;--line:#2c2c2e;--ph:#5c5c60;
  --accent:#4d8dff;--accent-bg:#1a2a4a;--green:#2fb36a;--red:#ff5b4d;--key:#2c2c2e;--key-dim:#1f1f21;--seg:#2c2c2e;
  --karni-bg:#3a1a28;--karni:#ff7aa8;--tot:#15203a;--th:#232325;
}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;direction:rtl;overscroll-behavior:none}
body{display:flex;flex-direction:column;min-height:100dvh}
.hidden{display:none!important}
.muted{color:var(--muted)}.small{font-size:13px}.red{color:var(--red)}
.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
#scr-main{flex:1;display:flex;flex-direction:column;min-height:100dvh}
.tab{flex:1;overflow:auto;padding:calc(env(safe-area-inset-top) + 14px) 16px 16px;-webkit-overflow-scrolling:touch}
.tabs{display:flex;border-top:1px solid var(--line);background:var(--card);padding:6px 0 calc(env(safe-area-inset-bottom) + 6px);position:sticky;bottom:0}
.tabs div{flex:1;text-align:center;font-size:11px;color:var(--muted);cursor:pointer}
.tabs div.on{color:var(--accent);font-weight:600}
.tabs svg{display:block;width:26px;height:26px;margin:0 auto 2px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}
.big{font-size:30px;font-weight:700;letter-spacing:-.5px}
.who-badge{font-size:12px;background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:4px 10px;font-weight:600}
.who-badge.karni{background:var(--karni-bg);color:var(--karni)}

.card{background:var(--card);border-radius:16px;padding:2px 14px;margin-bottom:12px}
.field{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:17px;min-height:52px}
.field:last-child{border-bottom:0}
.field .k{color:var(--muted);font-size:15px;flex-shrink:0}
.field .v{font-weight:500;text-align:left}
.field .v.ph{color:var(--ph);font-weight:400}
.field .v.dim{color:var(--dim);font-weight:400}
.field .v.num{font-size:20px;font-weight:600}
.field.nav{cursor:pointer}
.vwrap{display:flex;align-items:center;gap:8px;min-width:0}
.chev{color:#c7c7cc;font-size:20px}
.field input.note{border:0;outline:0;font-size:16px;background:transparent;color:var(--text);text-align:right;width:65%;font-family:inherit}
.field input.note::placeholder{color:var(--ph)}

.btn{display:block;width:100%;border:0;border-radius:14px;font-size:17px;font-weight:600;padding:15px;font-family:inherit;cursor:pointer;color:var(--text);background:var(--card)}
.btn.save{background:var(--green);color:#fff;font-size:18px;font-weight:700;padding:16px;margin:4px 0 18px}
.btn.primary{background:var(--accent);color:#fff;margin-bottom:10px}
.btn.primary.big{padding:20px;font-size:20px}
.btn.danger{color:var(--red);margin-top:4px}
.btn.ghost{background:var(--card);border:1px solid var(--line);font-weight:500}
.row2{display:flex;gap:10px;margin:12px 16px 0}
.sheet .row2 .btn,.row2 .btn{margin:0;width:auto;flex:1}
.sheet .row2 .ghost,.row2 .ghost{flex:0 0 auto;padding:15px 18px}
.sec{font-size:13px;color:var(--muted);margin:14px 4px 6px}
.hint{font-size:12px;color:var(--muted);margin:6px 4px 0}

.list .ent{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer}
.list .ent:last-child{border-bottom:0}
.ent .t{font-size:12px;color:var(--muted);min-width:48px;flex-shrink:0}
.ent .c{flex:1;font-size:15px;min-width:0}
.ent .c small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent .a{font-weight:600;font-variant-numeric:tabular-nums;direction:ltr}
.ent .w{font-size:11px;border-radius:999px;padding:2px 8px;background:var(--seg);color:var(--muted);flex-shrink:0}
.ent .w.m{background:var(--accent-bg);color:var(--accent)}.ent .w.k{background:var(--karni-bg);color:var(--karni)}
.list .empty{padding:18px;text-align:center;color:var(--muted);font-size:14px}

.toast{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 92px);left:50%;transform:translateX(-50%);background:#1c1c1e;color:#fff;font-size:14px;padding:10px 16px;border-radius:12px;opacity:0;transition:.25s;pointer-events:none;white-space:nowrap;z-index:50}
@media (prefers-color-scheme: dark){.toast{background:#e5e5ea;color:#111}}
.toast.show{opacity:.96}

/* overlays */
.ov{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;z-index:20}
.ov.show{display:block}
#ov-pick,#ov-pad,#ov-cal,#ov-menu{z-index:30}
#ov-edit{z-index:25}
.sheet{position:absolute;left:0;right:0;bottom:0;background:var(--bg);border-radius:22px 22px 0 0;display:flex;flex-direction:column;padding-bottom:calc(env(safe-area-inset-bottom) + 10px);max-height:100dvh}
.sheet.tall{top:max(60px, env(safe-area-inset-top))}
.sheet.full{top:env(safe-area-inset-top);border-radius:0}
.sheet .bar{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 8px;font-weight:600;font-size:17px}
.lnk{color:var(--accent);font-weight:500;font-size:15px;cursor:pointer}
.search{margin:0 16px 8px;background:var(--seg);border-radius:10px;padding:9px 12px;font-size:16px;display:flex;align-items:center;gap:8px}
.search input{border:0;background:transparent;outline:0;font-size:16px;flex:1;color:var(--text);font-family:inherit}
.scroll{overflow:auto;-webkit-overflow-scrolling:touch}
.sheet .list{margin:0 16px 10px;flex:1}
.sheet .card{margin:0 16px 12px}
.sheet .btn.primary,.sheet .btn.danger,.sheet .btn.ghost{width:calc(100% - 32px);margin-left:16px;margin-right:16px}
.sheet .hint{margin:0 20px 8px}
.pk{padding:13px 14px;border-bottom:1px solid var(--line);font-size:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:var(--card)}
.pk:first-child{border-radius:14px 14px 0 0}.pk:last-child{border-bottom:0;border-radius:0 0 14px 14px}
.pk small{color:var(--muted)}
.pk b.hl{color:var(--accent)}
.pk .acts{display:flex;gap:6px}
.pk .acts span{font-size:12px;color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:3px 9px}
.pk.hiddencat{color:var(--dim)}

.seg{display:flex;background:var(--seg);border-radius:10px;padding:2px;margin:0 16px 8px}
.seg div{flex:1;text-align:center;font-size:13px;padding:7px 6px;border-radius:8px;color:var(--text);cursor:pointer;white-space:nowrap}
.seg div.on{background:var(--card);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.seg.mini{margin:0;padding:2px}.seg.mini div{padding:5px 10px;font-size:12px}
#tab-reports .seg{margin:0 0 10px}
.ctrl{display:flex;gap:8px;margin-bottom:10px;align-items:center;overflow-x:auto;scrollbar-width:none}
.ctrl::-webkit-scrollbar{display:none}
.ctrl.wrap{flex-wrap:wrap;margin:0 16px 6px}
.pill{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;white-space:nowrap;cursor:pointer;flex-shrink:0}
.pill.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.pill.left{margin-right:auto}

/* keypad */
.sheet.bottom{padding-bottom:calc(env(safe-area-inset-bottom) + 14px)}
.disp{text-align:center;font-size:44px;font-weight:700;padding:6px 16px 14px;letter-spacing:-1px}
.disp::before{content:"₪ ";font-size:24px;color:var(--muted);font-weight:500}
.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 16px;direction:ltr}
.keys div{background:var(--key);border-radius:16px;height:62px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:500;box-shadow:0 1px 1px rgba(0,0,0,.08);user-select:none;cursor:pointer}
.keys div:active{background:var(--seg)}
.keys div.dim{background:var(--key-dim);font-size:24px}
.sheet .btn.save{width:calc(100% - 32px);margin:12px 16px 0}
.sheet .row2 .btn.save{width:auto;margin:0;flex:1}

/* calendar */
.calnav{display:flex;justify-content:space-between;align-items:center;padding:4px 24px 10px;font-size:17px}
.calnav span{color:var(--accent);font-size:28px;padding:0 12px;cursor:pointer}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0 16px;background:var(--card);border-radius:16px;padding:10px 8px}
.calgrid .dow{text-align:center;font-size:12px;color:var(--muted);padding:4px 0}
.calgrid .d{text-align:center;font-size:17px;height:42px;line-height:42px;border-radius:50%;cursor:pointer}
.calgrid .d.today{color:var(--accent);font-weight:700}
.calgrid .d.sel{background:var(--accent);color:#fff;font-weight:700}
.calgrid .d.fut{color:var(--ph);cursor:default}

/* reports table */
.tblwrap{background:var(--card);border-radius:14px;overflow:auto;max-height:calc(100dvh - 300px)}
table{border-collapse:separate;border-spacing:0;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
th,td{padding:8px 7px;border-bottom:1px solid var(--line);text-align:center}
th{background:var(--th);position:sticky;top:0;font-weight:600;color:var(--muted);z-index:2}
td.lbl,th.lbl{position:sticky;right:0;background:var(--card);text-align:right;font-weight:500;z-index:3;min-width:96px;max-width:140px;overflow:hidden;text-overflow:ellipsis;box-shadow:-1px 0 0 var(--line)}
td.sub,th.sub{text-align:right;color:var(--muted);min-width:70px;max-width:110px;overflow:hidden;text-overflow:ellipsis}
th.lbl{background:var(--th);z-index:4}
td.z{color:var(--ph)}
tr.tot td{font-weight:700;background:var(--tot)}
tr.tot td.lbl{background:var(--tot)}
td.hot{cursor:pointer;color:var(--text)}
td.hot:active{background:var(--accent-bg)}
td.sum{font-weight:700}

/* login */
.login{max-width:360px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 60px) 24px 24px;text-align:center}
.login .logo{width:84px;height:84px;border-radius:22px;background:var(--accent);color:#fff;font-size:44px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.login h1{font-size:24px;margin:0 0 6px}
.login input{display:block;width:100%;border:1px solid var(--line);border-radius:12px;padding:14px;font-size:17px;margin:10px 0;background:var(--card);color:var(--text);font-family:inherit;outline:0}
.login .err{color:var(--red);font-size:14px;min-height:20px}
