:root{--ds-page:#fbf7f0;--ds-card:#fff;--ds-ink:#1d2433;--ds-ink-2:#667085;--ds-hairline:#e8e0d3;--ds-red:#c8473b;--ds-teal:#2f8f83;--navy:#1d2b4a;--navy2:#2c3f6b;--gold:#b98a2e;--sat:#f3ece0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%}body{background:var(--ds-page);color:var(--ds-ink);font-family:system-ui,-apple-system,Segoe UI,Arial Hebrew,Noto Sans Hebrew,Arial,sans-serif;line-height:1.45;font-size:16px}button,select,input{font:inherit;color:inherit}.shell{max-width:860px;margin:0 auto;padding-bottom:92px}.hero{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;padding:calc(env(safe-area-inset-top) + 18px) 18px 20px;border-radius:0 0 26px 26px;box-shadow:0 8px 24px #1d2b4a2e}.hero-in{display:flex;flex-direction:column;gap:14px}.hd{font-family:Frank Ruhl Libre,David Libre,David,Times New Roman,serif;font-size:30px;font-weight:700;line-height:1.15}.gd{color:#d7c9a4;font-size:14px;margin-top:2px}.loc{display:flex;align-items:center;gap:10px;font-size:13px;color:#cfd6e6}.loc select{flex:1;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:9px 12px;min-height:42px}.loc select option{color:#000}.app{padding:18px 14px 0;direction:rtl;text-align:right}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;max-width:860px;margin:0 auto;background:#fffffff5;backdrop-filter:blur(8px);border-top:1px solid var(--ds-hairline);padding:6px 8px calc(env(safe-area-inset-bottom) + 6px);direction:rtl}.tabs button{flex:1;background:none;border:0;border-radius:14px;padding:6px 2px 4px;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--ds-ink-2);font-size:12px;cursor:pointer;min-height:52px}.tabs button i{font-style:normal;font-size:20px;line-height:1.1}.tabs button.on{color:var(--navy);font-weight:700;background:#efe7d6}.monthbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.monthtitle{text-align:center;display:flex;flex-direction:column}.monthtitle b{font-size:22px;font-family:Frank Ruhl Libre,David,serif}.monthtitle span{color:var(--ds-ink-2);font-size:13px}.nav{width:46px;height:46px;border:1px solid var(--ds-hairline);background:var(--ds-card);border-radius:50%;font-size:24px;cursor:pointer;box-shadow:0 1px 3px #0000000d}.jump{display:flex;gap:8px;margin-bottom:12px}.yr{flex:1;min-width:0;border:1px solid var(--ds-hairline);background:var(--ds-card);border-radius:12px;padding:8px 12px;min-height:42px}.chip{border:1px solid var(--ds-hairline);background:var(--ds-card);border-radius:12px;padding:8px 14px;min-height:42px;cursor:pointer;box-shadow:0 1px 3px #0000000a}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.grid.head div{text-align:center;color:var(--ds-ink-2);font-size:12px;padding:4px 0}.grid.head div.sat{color:var(--gold);font-weight:700}.cell{position:relative;aspect-ratio:1 / 1.18;min-height:56px;border:1px solid var(--ds-hairline);background:var(--ds-card);border-radius:12px;padding:4px 2px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;cursor:pointer}.cell.empty{border:0;background:none;cursor:default}.cell.sat{background:var(--sat)}.cell.yt{border-color:#e9b3ad;background:#fdf0ee}.cell.today{box-shadow:inset 0 0 0 2px var(--gold)}.cell.sel{outline:2px solid var(--navy);outline-offset:-2px}.cell .g{font-size:17px;font-weight:700;line-height:1.1}.cell .h{font-size:11px;color:var(--ds-ink-2);line-height:1.1}.cell .pn{font-size:10px;font-weight:700;line-height:1.05;color:var(--teal, #1f7a6f);text-align:center;overflow-wrap:anywhere}.cell .cl{font-size:10.5px;font-weight:700;line-height:1;color:var(--navy);direction:ltr;background:#efe7d6;border-radius:6px;padding:1px 4px}.dots{display:flex;gap:2px;min-height:6px}.d{display:inline-block;width:6px;height:6px;border-radius:50%}.d.red{background:var(--ds-red)}.d.teal{background:var(--ds-teal)}.d.dark{background:var(--ds-ink)}.d.sand{background:#c9b8ad}.d.gold{background:var(--gold)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px;color:var(--ds-ink-2);font-size:12px}.legend span{display:inline-flex;align-items:center;gap:5px}.daynav{display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.daytop{background:var(--ds-card);border:1px solid var(--ds-hairline);border-radius:18px;padding:16px}.bigh{font-family:Frank Ruhl Libre,David,serif;font-size:28px;font-weight:700;line-height:1.15}.subg{color:var(--ds-ink-2);margin-top:2px}.hols{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}.tag{background:var(--ds-card);border:1px solid var(--ds-hairline);border-radius:999px;padding:4px 12px;font-size:13px}.tag.yt{border-color:var(--ds-red);color:#8f2b22}.tag.chabad{border-color:var(--gold)}.tag.fast{border-color:var(--ds-ink)}.tag.cm,.tag.minor,.tag.shabbat{border-color:var(--ds-teal)}h3{font-family:Frank Ruhl Libre,David,serif;font-size:20px;margin:24px 4px 8px;font-weight:700;color:var(--navy)}.rw{display:flex;gap:12px;padding:11px 14px;background:var(--ds-card);border:1px solid var(--ds-hairline);border-bottom:0;align-items:baseline}.rw:first-of-type{border-radius:14px 14px 0 0}.rw:last-child{border-bottom:1px solid var(--ds-hairline);border-radius:0 0 14px 14px}.rw:only-child{border-radius:14px}.rl{flex:0 0 104px;color:var(--ds-ink-2);font-size:13px}.rv{flex:1;min-width:0;overflow-wrap:anywhere}.time{font-size:22px;font-variant-numeric:tabular-nums;color:var(--navy)}.note{color:var(--ds-ink-2);font-size:12px}.note.verified{color:var(--ds-teal);font-weight:600}.lnk{color:var(--navy2);text-decoration:underline;text-underline-offset:3px;margin-inline-start:8px;font-size:13px;white-space:nowrap}.studynote{background:#efe7d6;border-radius:14px;padding:12px 14px;margin:6px 0 10px;font-size:14px}.foot{color:var(--ds-ink-2);font-size:12px;margin:10px 4px}.closing{color:var(--ds-ink-2);font-size:12px;text-align:center;margin:28px 0 8px}.form{display:flex;gap:8px;flex-wrap:wrap}.form input,.form select{border:1px solid var(--ds-hairline);background:var(--ds-card);border-radius:12px;padding:8px 12px;min-height:46px}.form input{width:84px}.form select{min-width:120px;flex:1}.result{margin:12px 0 4px;padding:14px 16px;background:var(--ds-card);border:1px solid var(--ds-hairline);border-radius:16px;display:flex;flex-direction:column;gap:2px}.result b{font-size:24px;font-family:Frank Ruhl Libre,David,serif;color:var(--navy)}.shead,.srow{display:grid;grid-template-columns:1fr 62px 62px;gap:8px;align-items:center;padding:12px 14px}.shead{color:var(--ds-ink-2);font-size:12px;padding-block:0 6px}.srow{background:var(--ds-card);border:1px solid var(--ds-hairline);border-radius:14px;margin-bottom:8px;text-align:right;width:100%;cursor:pointer}.sname{display:flex;flex-direction:column;min-width:0}.sname b{color:var(--navy)}.sname small{color:var(--ds-ink-2);font-size:12px}.t{font-variant-numeric:tabular-nums;font-weight:700;text-align:center}@media(min-width:768px){.zgrid{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.zgrid .rw{border-radius:0!important}.cell{min-height:84px}.cell .pn{font-size:13px}.cell .cl{font-size:12px}.hero{border-radius:0 0 28px 28px}.hero-in{flex-direction:row;align-items:center;justify-content:space-between}.loc{min-width:320px}}@media(min-width:768px){.cell{aspect-ratio:1 / .82}}.seg{display:flex;background:#efe7d6;border-radius:14px;padding:4px;margin-bottom:12px}.seg button{flex:1;border:0;background:none;border-radius:11px;padding:9px 6px;min-height:40px;cursor:pointer;color:var(--ds-ink-2)}.seg button.on{background:#fff;color:var(--navy);font-weight:700;box-shadow:0 1px 4px #0000001f}.shell{padding-bottom:110px}.tabs{position:sticky;inset:0 auto auto;max-width:none;margin:0;padding:6px 10px;border-top:0;border-bottom:1px solid var(--ds-hairline);background:#fbf7f0f5}.tabs button{flex-direction:row;justify-content:center;gap:6px;min-height:44px;padding:6px 4px;font-size:14px}.tabs button i{font-size:16px}@media(max-width:380px){.tabs button{font-size:13px;gap:3px}.tabs button i{font-size:14px}}.grid{grid-template-columns:repeat(7,minmax(0,1fr))}.cell{min-width:0;overflow:hidden}.cell .pn,.cell .cl,.cell .h,.cell .g{max-width:100%}@media(max-width:380px){.app{padding-inline:8px}.grid{gap:3px}.cell .g{font-size:15px}.cell .cl{font-size:9.5px;padding:1px 2px}.cell .pn{font-size:9px}.jump .chip{padding-inline:10px}}.top{position:fixed;top:0;left:0;right:0;z-index:10;max-width:860px;margin:0 auto;background:var(--ds-page)}.top .hero{padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;border-radius:0 0 18px 18px;box-shadow:none}.top .hero-in{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.top .hd{font-size:21px}.top .gd{font-size:12px;margin-top:0}.top .loc{flex:0 1 46%;min-width:0}.top .loc select{width:100%;min-height:38px;padding:6px 8px;font-size:14px;border-radius:10px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.top .tabs{position:static;padding:6px 10px;background:var(--ds-page);border-bottom:1px solid var(--ds-hairline);max-width:none}.top .tabs button{min-height:42px}.topspacer{height:calc(env(safe-area-inset-top) + 124px)}@media(min-width:768px){.top .hero{border-radius:0 0 22px 22px}.top .loc{min-width:0;flex-basis:40%}}.ver{direction:ltr;unicode-bidi:isolate;font-size:11px;opacity:.7}.cell,.srow,.chip,.nav,.tabs button,.seg button{touch-action:manipulation}.top .tabs{gap:6px;padding:8px 10px}.top .tabs button{background:#fff;border:1.5px solid #cdbf9f;border-radius:12px;color:var(--navy);font-weight:700;box-shadow:0 2px #cdbf9f;min-height:44px}.top .tabs button i{opacity:.85}.top .tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 2px #0f1a30}.top .tabs button:active{transform:translateY(1px);box-shadow:none}.topspacer{height:calc(env(safe-area-inset-top) + 128px)}.form select{min-width:74px;flex:1}.form input{flex:1;min-width:96px}.form .hy{text-align:center;font-weight:700}.form{flex-wrap:nowrap}.form select{flex:1 1 70px;min-width:0}.form input{flex:1.3 1 90px;min-width:0;width:auto}.form select{flex:1 1 0;padding-inline:8px}.form input{flex:0 0 112px;width:112px;padding-inline:6px;text-align:center}.nav{display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--navy)}.chev{display:inline-block;vertical-align:middle}.chip .chev{width:14px;height:14px}

/* v2: bottom tabs, big hero, month dropdown row, tasks */
.tophero{background:var(--ds-page)}
.tophero .hero{padding:calc(env(safe-area-inset-top) + 18px) 18px 20px;border-radius:0 0 26px 26px}
.tophero .hero-in{flex-direction:column;align-items:stretch;gap:14px}
.tophero .hd{font-size:32px}
.tophero .gd{font-size:15px;margin-top:2px}
.tophero .loc{flex:none;min-width:0}
.tophero .loc select{width:100%;min-height:42px;padding:9px 12px;font-size:15px;border-radius:12px}
.convbtn{margin-top:10px;background:#ffffff1f;color:#e9dfc2;border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:5px 12px;font-size:13px;cursor:pointer}
@media(min-width:768px){.tophero .hero-in{flex-direction:row;align-items:center;justify-content:space-between}.tophero .loc{flex-basis:40%}}
.shell{padding-bottom:118px}
.btabs{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;gap:6px;max-width:860px;margin:0 auto;padding:8px 10px calc(env(safe-area-inset-bottom) + 8px);background:#fbf7f0f7;backdrop-filter:blur(8px);border-top:1px solid var(--ds-hairline);direction:rtl}
.btabs button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:54px;padding:5px 2px;background:#fff;border:1.5px solid #cdbf9f;border-radius:14px;color:var(--navy);font-weight:700;font-size:14px;box-shadow:0 2px #cdbf9f;cursor:pointer;touch-action:manipulation}
.btabs button i{font-style:normal;font-size:19px;line-height:1.1;opacity:.9}
.btabs button.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 2px #0f1a30}
.btabs button:active{transform:translateY(1px);box-shadow:none}
.jump{gap:6px;align-items:stretch}
.jump .chip{padding-inline:10px;flex:none}
.jump .mo{flex:1 1 0;min-width:0;border:1px solid var(--ds-hairline);background:var(--ds-card);border-radius:12px;padding:8px 6px;min-height:42px}
.jump .yr{flex:0 0 66px;width:66px;padding-inline:4px;text-align:center}
.cell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.cell .tc{position:absolute;top:0;left:0;min-width:16px;height:16px;padding:0 3px;border-radius:11px 0 8px 0;background:#6b3fa0;color:#fff;font:700 11px/16px ui-monospace,Menlo,Consolas,monospace;text-align:center}
.chip.wide{width:100%;margin-bottom:10px;font-weight:700;color:var(--navy)}
.sheetbg{position:fixed;inset:0;z-index:40;background:rgba(20,28,45,.5);display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--ds-page);width:100%;max-width:560px;max-height:90vh;overflow:auto;border-radius:22px 22px 0 0;padding:16px 14px calc(env(safe-area-inset-bottom) + 16px);direction:rtl;box-shadow:0 -8px 30px #0004}
.shtop{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.shx{width:40px;height:40px;border-radius:50%;border:1px solid var(--ds-hairline);background:#fff;font-size:18px;cursor:pointer}
.tlist{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.tempty{color:var(--ds-ink-2);text-align:center;padding:14px}
.trow{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--ds-hairline);border-radius:14px;padding:10px 12px}
.ttime{font:700 18px ui-monospace,Menlo,Consolas,monospace;color:#6b3fa0;direction:ltr;min-width:52px}
.tmain{flex:1;min-width:0;display:flex;flex-direction:column;overflow-wrap:anywhere}
.tmain small{color:var(--ds-ink-2);font-size:12px}.twarn{color:var(--ds-red)!important}
.wa{background:#25d366;color:#fff;font-weight:700;font-size:13px;text-decoration:none;border-radius:10px;padding:8px 10px;white-space:nowrap}
.tdel{border:1px solid var(--ds-hairline);background:#fff;border-radius:10px;min-width:40px;min-height:38px;cursor:pointer;color:var(--ds-ink-2)}
.tdel.sure{background:var(--ds-red);border-color:var(--ds-red);color:#fff;font-weight:700;padding:0 8px}
.tform{display:grid;grid-template-columns:1fr 112px;gap:8px}
.tform input{border:1px solid var(--ds-hairline);background:#fff;border-radius:12px;padding:8px 12px;min-height:44px;min-width:0}
.tform .f-title{grid-column:1/3}.tform .f-phone{grid-column:1/3;text-align:left}.tfull{grid-column:1/3}.tform .f-time{direction:ltr;text-align:center}
.tadd{grid-column:1/3;min-height:48px;border:0;border-radius:14px;background:var(--navy);color:#fff;font-weight:700;font-size:16px;cursor:pointer}
.tadd:disabled{opacity:.4}
.tbig{width:100%;min-height:50px;border:1.5px solid #cdbf9f;background:#fff;color:var(--navy);font-weight:700;border-radius:14px;box-shadow:0 2px #cdbf9f;cursor:pointer;margin-bottom:6px}
.tday{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}
.tdh{display:flex;justify-content:space-between;align-items:baseline;background:none;border:0;padding:6px 4px 2px;cursor:pointer;text-align:right}
.tdh b{font-family:Frank Ruhl Libre,David,serif;font-size:18px;color:var(--navy)}.tdh span{color:var(--ds-ink-2);font-size:13px}
@media(max-width:380px){.jump .chip{padding-inline:7px;font-size:14px}.jump .mo{font-size:14px}}

/* v2.1 */
.cell{aspect-ratio:1 / 1.5;padding-top:17px;min-height:70px}
@media(min-width:768px){.cell{aspect-ratio:1 / .9;min-height:96px}}
.tbtns{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.tbtns .wa,.tbtns .tcal{text-align:center}
.tcal{border:1px solid var(--ds-hairline);background:#fff;border-radius:10px;padding:7px 8px;font-size:12px;cursor:pointer;white-space:nowrap}
.tph{direction:ltr;text-align:right}
.talarm{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ds-ink-2)}
.talarm select{border:1px solid var(--ds-hairline);background:#fff;border-radius:12px;padding:8px 10px;min-height:44px}
.twarn.tfull{font-size:12px}
.bk{display:flex;gap:8px}.bk .chip{flex:1;text-align:center;display:flex;align-items:center;justify-content:center}

/* v2.2 compact hero + fit month */
.tophero .hero{padding:calc(env(safe-area-inset-top) + 8px) 14px 10px;border-radius:0 0 20px 20px}
.tophero .hero-in{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
.tophero .hd{font-size:26px}
.tophero .gd{font-size:13px;margin-top:0}
.tophero .loc{flex:0 0 36%;min-width:0}
.tophero .loc select{width:100%;min-height:34px;padding:4px 6px;font-size:13px;border-radius:10px}
.convbtn{display:none}
.app{padding-top:10px}
.seg{margin-bottom:8px;padding:3px}
.seg button{min-height:34px;padding:5px 6px}
.monthbar{margin-bottom:6px}
.nav{width:38px;height:38px}
.monthtitle b{font-size:19px;line-height:1.2}
.jump{margin-bottom:8px}
.jump .chip,.jump .mo,.jump .yr{min-height:36px;padding-block:4px}
.grid.head div{padding:2px 0}
@media(max-width:767px){
.cell{aspect-ratio:auto;min-height:0;height:clamp(52px,calc((100dvh - 345px)/6),88px);padding-top:15px;padding-bottom:3px}
.cell .g{font-size:16px}
}
@media(max-width:380px){.cell .g{font-size:15px}.tophero .hd{font-size:23px}.tophero .loc{flex-basis:38%}}

/* v2.3 whatsapp chooser */
.washeet{text-align:right}
.washeet b{font-size:18px;color:var(--navy)}
.wapick{display:block;width:100%;min-height:54px;margin-bottom:8px;border:0;border-radius:14px;font-weight:700;font-size:17px;color:#fff;cursor:pointer}
.wapick.biz{background:#128c7e}.wapick.per{background:#25d366}
.wacancel{display:block;width:100%;min-height:44px;border:1px solid var(--ds-hairline);background:#fff;border-radius:14px;cursor:pointer}

/* v2.4 sticky header */
.tophero{position:sticky;top:0;z-index:15}
.tophero .hero{box-shadow:0 4px 14px #1d2b4a40}
