@font-face{font-family:"FRL";src:url(/assets/frl-700.ttf) format("truetype");font-weight:700}
@font-face{font-family:"FRL";src:url(/assets/frl-900.ttf) format("truetype");font-weight:900}
@font-face{font-family:"FRL";src:url(/assets/frl-500.ttf) format("truetype");font-weight:500}
@font-face{font-family:"KLDavid";src:url(/assets/fonts/david-700.ttf) format("truetype");font-weight:700}
@font-face{font-family:"KLNotoSerif";src:url(/assets/fonts/notoserif-var.ttf) format("truetype");font-weight:100 900}
@font-face{font-family:"KLHeebo";src:url(/assets/fonts/heebo-var.ttf) format("truetype");font-weight:100 900}
@font-face{font-family:"KLAssistant";src:url(/assets/fonts/assistant-var.ttf) format("truetype");font-weight:200 800}
:root{--paper:#f7f1e3;--card:#fffdf8;--ink:#2b1d14;--ink2:#6a5646;--accent:#7f5733;--line:#d9c7ac;--soft:#efe2cf;--bad:#9b2c1f;--ok:#3f6b3a}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font:16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--paper);color:var(--ink);min-height:100vh}
.he,[dir=rtl]{font-family:"FRL","Frank Ruhl Libre",serif}
.muted{color:var(--ink2)} .small{font-size:13px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
.primary{background:var(--ink);color:#fff;border-radius:10px;padding:12px 22px;font-weight:600}
.primary:disabled{opacity:.35}
.ghost{border:1px solid var(--line);border-radius:9px;padding:7px 11px;font-size:14px;color:var(--ink);text-decoration:none;background:var(--card);white-space:nowrap}
.err{color:var(--bad);margin-top:10px;min-height:20px;font-size:14px}
label{display:block;font-size:14px;color:var(--ink2);margin:12px 0 0}
input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:16px}
textarea{min-height:76px;resize:vertical}
[hidden]{display:none!important}
#login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}
.loginbox{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 22px}
.loginbox .kl{height:30px;opacity:.7}
.loginbox h1{font-family:"FRL",serif;font-size:30px;margin:14px 0 4px}
.loginbox .primary{width:100%;margin-top:18px}
.bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));background:var(--paper);border-bottom:1px solid var(--line)}
.who{flex:1;min-width:0}
#shulName{font-size:24px;font-weight:900;line-height:1.1}
.tabs{position:sticky;top:61px;z-index:4;display:flex;background:var(--paper);border-bottom:1px solid var(--line);padding:0 8px}
.tabs button{flex:1;padding:12px 4px;font-weight:600;color:var(--ink2);border-bottom:3px solid transparent}
.tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}
main{padding:14px 14px 110px;max-width:640px;margin:0 auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 14px;margin-bottom:14px}
.card h2{font-size:17px;margin-bottom:2px}
.card .hint{font-size:13px;color:var(--ink2);margin-bottom:6px}
.sw{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--soft)}
.sw:first-of-type{border-top:0}
.sw .lab{flex:1;min-width:0}
.sw .lab .he{font-size:18px;font-weight:700}
.sw .lab .muted{font-size:13px}
.tg{position:relative;width:50px;height:30px;flex:none}
.tg input{opacity:0;width:0;height:0;position:absolute}
.tg span{position:absolute;inset:0;background:#d8cdbd;border-radius:30px;transition:.2s}
.tg span:before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.tg input:checked+span{background:var(--accent)}
.tg input:checked+span:before{transform:translateX(20px)}
.seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:6px}
.seg button{flex:1;padding:10px 6px;font-size:15px;background:#fff}
.seg button.on{background:var(--ink);color:#fff}
.trow{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px 8px;align-items:center;padding:10px 0;border-top:1px solid var(--soft)}
.trow:first-child{border-top:0}
.trow .tl{grid-column:1/-1}
.trow input.tl{margin:0!important;font-family:"FRL",serif;font-size:19px;direction:rtl}
.trow input[type=time],.trow select,.trow .auto{margin:0!important}
.trow input[type=time]{width:100%!important;min-width:0}
.trow select{width:auto!important;padding:10px 8px!important}
.trow .auto{font-size:13px;color:var(--accent);line-height:1.2;padding:4px 0}
.trow.nod{grid-template-columns:1fr auto auto}
.ib{width:34px;height:40px;flex:none;border-radius:8px;color:var(--ink2);font-size:18px}
.ib:active{background:var(--soft)}
.add{margin-top:10px;color:var(--accent);font-weight:600;padding:6px 0}
.sub{font-size:13px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin:14px 0 2px}
.fl{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--soft);align-items:flex-start}
.fl:first-child{border-top:0}
.fl .th{width:78px;height:100px;flex:none;border:1px solid var(--line);border-radius:6px;background:#fff center/contain no-repeat;position:relative}
.fl .th .pg{position:absolute;bottom:2px;left:2px;background:var(--ink);color:#fff;font-size:11px;border-radius:4px;padding:0 4px}
.fl .tx{width:78px;height:100px;flex:none;border:1px solid var(--line);border-radius:6px;background:var(--soft);display:flex;align-items:center;justify-content:center;font-family:"FRL",serif;font-size:13px;text-align:center;padding:4px;overflow:hidden;direction:rtl}
.fl .body{flex:1;min-width:0}
.fl .body input,.fl .body textarea{margin-top:4px;font-family:"FRL",serif;direction:rtl;font-size:17px}
.fl .ctl{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:13px;color:var(--ink2)}
.fl .ctl input{width:64px;display:inline-block;margin:0 4px;padding:6px 8px;font-size:14px;direction:ltr;font-family:inherit}
.tag{display:inline-block;font-size:11px;border:1px solid var(--ink2);border-radius:4px;padding:0 5px;color:var(--ink2);margin-left:4px}
.upl{display:flex;gap:10px;flex-wrap:wrap}
.upl button{flex:1;min-width:140px}
.prog{font-size:14px;color:var(--accent);margin-top:8px;min-height:18px}
.themes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.th-card{border:2px solid var(--line);border-radius:12px;padding:10px;text-align:right;background:#fff}
.th-card.on{border-color:var(--ink)}
.th-card .pv{height:54px;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"FRL",serif;direction:rtl;border:1px solid rgba(0,0,0,.08)}
.th-card .pv b{font-size:20px;font-weight:900;line-height:1}
.th-card .pv i{font-style:normal;font-size:13px;font-weight:700}
.th-card .nm{font-size:13px;margin-top:6px;text-align:left}
.colors{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.colors label{margin:0;text-align:center}
.colors input[type=color]{display:block;width:100%;height:46px;border:1px solid var(--line);border-radius:10px;padding:3px;background:#fff;margin-top:4px}
.fonts .fo{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--soft)}
.fonts .fo:first-child{border-top:0}
.fonts .fo input{width:20px;height:20px;accent-color:var(--ink)}
.fonts .fo .s{flex:1;color:var(--ink);font-size:26px;direction:rtl;text-align:right;line-height:1.1}
.fonts .fo .n{font-size:13px;color:var(--ink2);width:118px}
.imgrow{display:flex;gap:12px;align-items:center;margin-top:8px}
.imgrow .pic{width:96px;height:72px;flex:none;border:1px dashed var(--line);border-radius:8px;background:#fff center/contain no-repeat;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--ink2)}
.imgrow .btns{display:flex;flex-direction:column;gap:6px;flex:1}
.prevwrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#e9e4d8;margin-top:8px}
.prevwrap iframe{position:absolute;left:0;top:0;width:1920px;height:1080px;border:0;transform-origin:0 0}
.savebar{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;align-items:center;gap:12px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 14px rgba(43,29,20,.06)}
.savebar #saveState{flex:1}
.savebar.dirty #saveState{color:var(--accent);font-weight:600}
.savebar.ok #saveState{color:var(--ok)}
.toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:9;max-width:90vw}

.tc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:6px;min-width:0}.tc select{width:100%!important;min-width:0!important}.tc input[type=time]{width:100%!important;min-width:0!important;padding-left:6px!important;padding-right:6px!important}.tc select:only-child{grid-column:1/-1}
.rule{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:15px;background:var(--soft);border-radius:10px;padding:8px 10px}
.rule input[type=number]{width:64px!important;margin:0!important;padding:8px!important;text-align:center}
.rule select{width:auto!important;margin:0!important;padding:8px 6px!important}
.rule .pv{flex-basis:100%;font-size:14px;color:var(--accent)}
.tip{background:#fbf4e6}
.trow:not(.nod) .tc{grid-column:1/-1;order:5}.trow .rule{order:6}
.trow:not(.nod) .ib[data-a=up]{grid-column:3}.trow:not(.nod) .ib[data-a=del]{grid-column:4}
.trow:not(.nod) .auto{grid-column:2}

/* ---------- v9: language, yahrzeits, sponsors ---------- */
.langsel{font:inherit;font-size:13px;padding:5px 6px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);width:auto;max-width:92px;margin:0}
.langrow{display:flex;justify-content:flex-end;margin:-6px 0 6px}
.langbar{flex:none;display:flex}
.tabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:1 0 auto;white-space:nowrap;padding:12px 9px;font-size:14.5px}
.yz{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--soft)}
.yz:first-of-type{border-top:0}
.yz .d{flex:none;width:76px;font-family:"FRL",serif;font-size:17px;font-weight:700;color:var(--accent);direction:rtl;text-align:center}
.yz .n{flex:1;min-width:0}
.yz .n .he{font-family:"FRL",serif;font-size:18px;direction:rtl;text-align:right}
.yz .n .muted{direction:rtl;text-align:right}
.yzw{padding:5px 0;border-top:1px solid var(--soft);font-size:15px;color:var(--ink)}
.yzw:first-of-type{border-top:0}
.yzw .he{font-family:"FRL",serif;font-size:17px}
.he{font-family:"FRL",serif}
.conv{min-height:22px;margin-top:8px;font-size:15px}
.conv .he{font-size:19px;color:var(--accent)}
.imp{margin-top:10px;max-height:260px;overflow:auto;border:1px solid var(--soft);border-radius:10px;padding:6px 10px;font-size:14px}
.imp>div{padding:4px 0;border-top:1px solid var(--soft)}.imp>div:first-child{border-top:0}
.imp .bad{color:var(--bad)}
.imp .he{font-size:16px}
.spadd{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 6px}
.spadd button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 6px;line-height:1.2}
.spadd button .he{font-size:18px;font-weight:700;color:var(--ink)}
.spadd button small{font-size:12px;color:var(--ink2)}
.spadd button:last-child{grid-column:1/-1}
.sphead{display:flex;align-items:center;gap:8px}
.sphead select{flex:1;margin:0}
.pill{display:inline-block;font-size:12px;border-radius:99px;padding:3px 9px;background:var(--soft);color:var(--ink2);white-space:nowrap}
.pill.on{background:#e3eedc;color:#2f5a22}.pill.soon{background:#f2e8d2;color:#7a5a1d}.pill.exp{background:#eee;color:#888}
.card.sp textarea.he,.card.sp input.he{font-size:18px}
textarea{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);resize:vertical}
/* right-to-left (עברית / אידיש) */
html.rtl body{font-family:"KLAssistant",system-ui,sans-serif;font-size:16px}
html.rtl h1,html.rtl h2,html.rtl .tabs button,html.rtl .sub{font-family:"FRL",serif}
html.rtl .tg, html.rtl .prevwrap, html.rtl input[type=time], html.rtl input[type=date], html.rtl input[type=color]{direction:ltr}
html.rtl .th-card .nm{text-align:right}
html.rtl .tag{margin-left:0;margin-right:4px}
html.rtl .pill{margin-left:0;margin-right:6px}
html.rtl .steps{padding-left:0;padding-right:22px}
html.rtl .hp{left:auto;right:-9999px}
html.rtl .fl .th .pg{left:auto;right:2px}
html.rtl .shul-card .row, html.rtl .note{direction:rtl}
html.rtl #lShul, html.rtl #slug, html.rtl #email, html.rtl #zip, html.rtl #phone, html.rtl #wxLat, html.rtl #wxLon{direction:ltr;text-align:right}
.idrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.idrow .langsel{font-size:12px;padding:2px 4px;border-radius:6px}
#shulName{line-height:1.15;overflow-wrap:anywhere}
.yzw{display:flex;align-items:baseline;gap:10px}
.yzw b{flex:none;min-width:74px}
.yzw .dt{flex:none;color:var(--accent);font-weight:700}
.yzw .nm{flex:1;direction:rtl;text-align:right;min-width:0}
.colors input[type=date]{min-width:0;width:100%;box-sizing:border-box}
.card.sp .ctl .danger{padding:6px 12px}

/* v9 preview pictures */
.pvrow{display:flex;gap:10px;align-items:center;margin:8px 0 10px}
.pvrow .mini{flex:none;width:132px;height:auto;display:block}
.pvrow>div,.pvrow>svg.pic-wide{flex:1;min-width:0}
.mini{width:100%;height:auto;display:block}
.seg.pics{gap:6px}
.seg.pics button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 4px 7px;line-height:1.15;font-size:13px}
.seg.pics button .mini{width:100%;max-width:120px;border-radius:3px}
.seg.pics button .pic-sm{width:64px;height:40px}
.pic-wide{width:100%;height:auto;border:1px solid var(--line);border-radius:6px;display:block}
.pv-cd{border:2px solid;border-radius:8px;padding:6px 8px;text-align:center;direction:rtl;font-family:"FRL",serif;line-height:1.25}
.pv-cd .l{font-size:12px;opacity:.75}.pv-cd .m{font-size:19px;font-weight:900}.pv-cd .i{font-size:13px;font-weight:700}
.pv-band{border:1px solid;border-radius:6px;padding:6px 8px;direction:rtl;font-family:"FRL",serif;font-size:13px;line-height:1.35;display:flex;flex-direction:column}
.pv-band b{font-size:13.5px}
.pv-sp{border:1.5px solid;outline:1px solid;outline-offset:-5px;border-radius:5px;padding:9px 8px;text-align:center;direction:rtl;font-family:"FRL",serif;line-height:1.3;display:flex;flex-direction:column;align-items:center;gap:3px}
.pv-sp b{font-size:18px;font-weight:900}.pv-sp i{display:block;width:50%;height:1px}.pv-sp span{font-size:13px;font-weight:700}
.th-card .mini{border-radius:6px}
.th-card .cmini{display:block;max-width:170px;margin:0 auto}
.seg.pics button.on{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 2px var(--accent);font-weight:700}
.seg.pics button{background:#fff}
html.rtl .spadd small{display:none}
.setup{font-size:18px;margin:2px 0 10px}
.bar{position:relative}
.tabs{top:0}

/* ===== v10: zmanim checklist, opinion pictures, simchas ===== */
.pic-clock{width:78px;height:78px}
.seg.pics button .pic-clock{width:78px;height:78px}
.pv-zm{border:1.5px solid;border-radius:6px;padding:6px 9px 7px;direction:rtl;font-family:"FRL",serif;line-height:1.28;font-size:12.5px;min-width:0}
.pv-zm .pt{display:block;text-align:center;font-size:14px;font-weight:900;border-bottom:1px solid;padding-bottom:2px;margin-bottom:3px}
.pv-zm .zr{display:flex;align-items:baseline;gap:4px;font-weight:700}
.pv-zm .zr small{font-size:9.5px;font-weight:500;opacity:.75;margin-right:3px}
.pv-zm .zr i{flex:1;border-bottom:1px dotted currentColor;opacity:.4;transform:translateY(-3px)}
.pv-zm .zr .tm{direction:ltr;font-variant-numeric:tabular-nums}
.pv-zm .zh{text-align:center;font-weight:900;font-size:12.5px}
.pvcap{font-size:13px;color:var(--ink2);margin:10px 0 4px}
.zlist{margin-top:4px}
.zrow{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line)}
.zrow:last-child{border-bottom:0}
.zrow .lab{flex:1;min-width:0}
.zrow .lab .he{font-family:"FRL",serif;font-weight:700;font-size:16.5px;direction:rtl;text-align:left}
html.rtl .zrow .lab .he{text-align:right}
.zrow .lab .muted{font-size:12.5px}
.zrow.off .lab,.zrow.off .ztm{opacity:.55}
.ztm{flex:none;font-variant-numeric:tabular-nums;font-size:14px;color:var(--ink2);direction:ltr;min-width:62px;text-align:end}
.zrow .ib:disabled{opacity:.25}
.ibsp{display:inline-block;width:76px;flex:none}
.zck{position:relative;flex:none;width:26px;height:26px}
.zck input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.zck span{position:absolute;inset:0;border:2px solid var(--line);border-radius:7px;background:#fff}
.zck input:checked+span{background:var(--accent);border-color:var(--accent)}
.zck input:checked+span::after{content:"";position:absolute;left:8px;top:3px;width:6px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.zoffh{margin:12px 0 2px;text-transform:uppercase;letter-spacing:.5px}
.pic-wide.hz{width:100%;max-width:150px;height:auto;border-radius:4px}
.seg.pics button .pic-wide{width:100%;max-width:140px;height:auto;border-radius:3px}
.seg.pics button .pic-dig{width:104px;height:65px;margin:6px 0 7px}
.sphead{flex-wrap:wrap}.sphead select{min-width:150px}

/* v11: Minyanim tab (multi-minyan shuls) */
.tabs button[hidden]{display:none}
#main .mm-room{display:grid;grid-template-columns:22px 1fr 96px 30px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #eadfcd}
#main .mm-room input{margin:0;min-width:0}
#main .mm-sw{width:22px;height:22px;border-radius:50%}
#main .mm-cols{grid-column:2 / -1;display:flex;gap:7px;flex-wrap:wrap}
#main .mm-c{width:28px;height:28px;border-radius:50%;border:2px solid transparent;padding:0;flex:none}
#main .mm-c.on{border-color:#2b1d14;box-shadow:0 0 0 2px #fff inset}
#main button.x{background:none;border:0;color:#8a7a68;font-size:18px;padding:4px 6px;width:auto;flex:none}
#main .mm-sec{border:1px solid #d9c8ad;border-radius:12px;padding:10px 10px 12px;margin:12px 0;background:#fffdf8}
#main .mm-sh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#main .mm-sh select{width:auto;flex:1 1 140px;font-weight:700;margin:0}
#main .mm-sn{margin:8px 0 4px}
#main .mm-it{border-top:1px dashed #e0d2bb;padding:10px 0 6px;display:flex;flex-direction:column;gap:6px}
#main .mm-it input,#main .mm-it select{margin:0}
#main .mm-l1{display:flex;gap:8px;align-items:center}
#main .mm-l1 input[type=time]{width:132px;flex:none;padding:9px 8px}
#main .mm-l1 select{flex:1 1 auto;width:auto;min-width:0}
#main .mm-it.series .mm-l1{justify-content:space-between}
#main .mm-l2{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:15px}
#main .mm-l2 input{display:inline-block;margin:0;padding:8px 6px}
#main .mm-l2 input[type=time]{width:118px}
#main .mm-l2 input.n{width:58px}
#main .mm-l2 .ar{color:#8a7a68}
#main .mm-rule{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#main .mm-rule select{width:auto;flex:none;padding:8px 10px}
#main .chips{display:inline-flex;gap:5px;flex-wrap:wrap}
#main .chip{padding:5px 10px;border-radius:16px;border:1px solid #cdb894;background:#fff;color:#5a4636;font-size:15px;font-weight:600;line-height:1.2}
#main .chip.on{background:#7f5733;border-color:#7f5733;color:#fff}
#main .mm-ck{display:flex;gap:8px;align-items:center;font-size:15px;margin:0;color:var(--ink)}
#main .mm-gen{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:14px;color:#5a4636;background:#f6efe2;border-radius:8px;padding:6px 10px;direction:ltr}
#main .mm-gen em{color:#8a7a68;font-style:normal;margin-left:auto}
#main .mm-ov{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px 0}
#main .mm-ov input{flex:1 1 120px;width:auto;margin:0}
#main .mm-addov{width:auto;font-size:15px;padding:8px 10px}
#main .mm-adds{display:flex;gap:8px;margin-top:10px}
#main .mm-adds button{flex:1}
.mpl{display:inline-block;color:#f7f1e3;border-radius:999px;padding:2px 10px 4px;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;font-family:"FRL",serif}
#main .mm-pvdays{margin-bottom:10px}
#main .mm-pvh{font-weight:800;color:#7f5733;margin-top:10px;border-bottom:1px solid #eadfcd}
#main .mm-pvh small{color:#8a7a68;font-weight:500}
#main .mm-pvl{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;padding-top:4px}
#main .mm-pvl div{display:flex;gap:6px;align-items:center;font-size:15px;min-width:0}
#main .mm-pvl b{min-width:42px;font-variant-numeric:tabular-nums}
#main .mm-pvl small{color:#8a7a68;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#main [dir=auto]{unicode-bidi:plaintext}
#main .seg.pics + .hint{margin-top:8px}

/* v12: flyer templates + helper logins */
.tplgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:6px 0 12px}
.tplcard{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer}
.tplcard canvas{width:100%;height:auto;border-radius:4px;box-shadow:0 1px 4px rgba(43,29,20,.18)}
.tplcard b{font-size:20px;color:var(--ink)}
.tplwrap{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap-reverse;margin-bottom:12px}
.tplform{flex:1 1 280px;min-width:0}
.tplform input,.tplform textarea{font-size:18px}
.tplform .chips{margin-top:6px}
#main .chip.he{font-family:"FRL","Frank Ruhl Libre",serif;font-size:15px}
.tplprev{flex:1 1 260px;max-width:420px;margin:0 auto}
.tplprev canvas{width:100%;height:auto;display:block;border-radius:6px;box-shadow:0 2px 10px rgba(43,29,20,.22)}
.ib.wide{width:auto;padding:0 10px;font-size:14px;border:1px solid var(--line)}
.helperlink{display:block;text-align:center;margin-top:16px;font-size:14px;color:var(--ink2)}
.hlist{margin:8px 0}
.hrow{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--soft)}
.hrow .small{font-size:13px;padding:6px 10px}
.hnew{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.hnew label{flex:1 1 140px}
.fo-note{background:var(--soft);font-size:15px;color:var(--ink)}
.fl .ctl input[type=number]{min-width:58px}

/* v13: Poster tab + poster-only shuls */
body.posteronly .scronly{display:none}
.pvwrap{position:relative;width:100%;max-width:560px;margin:4px auto 0;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.18)}
.pvwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.pvbtns{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0 6px}
.pvbtns .primary{padding:10px 18px}
.pvbtns a.btn{display:inline-block}
.plan{display:flex;gap:8px;margin:4px 0 12px}
.plan label{flex:1;display:flex;flex-direction:column;gap:3px;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;margin:0;background:#fff}
.plan label.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.plan input{display:none}
.plan b{font-size:16px}
.plan span{font-size:13px;color:#6b5a4b;line-height:1.3}

/* ===== v14: Simcha screen tab ===== */
.smtab .savebar:not(.dirty){display:none}
.smpv{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px;border:1px solid var(--line);background:#eee;direction:ltr}
.smpv .smpv-in{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0}
.smpv.big{margin:8px 0 4px;box-shadow:0 6px 18px rgba(43,29,20,.12)}
.smpv.thumb{width:132px;flex:none;border-radius:5px}
.smsticky{position:sticky;top:106px;z-index:3;background:var(--card);padding:2px 0 6px;margin:0 -2px}
.smnow{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--soft);font-size:15px}
.smnow>div{flex:1}
.smnow.on{background:#e3eedc}
.smnow .danger,.smc-acts .danger.primary{background:var(--bad);border-color:var(--bad);color:#fff}
.smc-top{display:flex;gap:12px;align-items:flex-start}
.smc-info{flex:1;min-width:0}
.smc-t{font-size:19px;font-weight:700;line-height:1.25;margin-bottom:2px}
.smc-info .pill{margin-top:5px}
.smc-acts{display:flex;gap:8px;margin-top:10px}
.smc-acts button{flex:1;padding:9px 6px}
.smtypes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px}
.smtypes button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 3px;line-height:1.15}
.smtypes button .he{font-size:16px;font-weight:700;color:var(--ink)}
.smtypes button small{font-size:11px;color:var(--ink2)}
.smtypes button.on{box-shadow:inset 0 0 0 2px var(--accent);background:var(--soft)}
html.rtl .smtypes small{display:none}
.smmore{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.smmore summary{font-size:14px;color:var(--ink2);cursor:pointer}
.smsw{display:block;width:72px;height:42px;border-radius:4px;position:relative;border:1px solid rgba(0,0,0,.15)}
.smsw i{position:absolute;inset:6px;border:2px solid}
.smsw.sw-classic{background:#f7f1e3}.smsw.sw-classic i{border-color:#8c6239}
.smsw.sw-festive{background:radial-gradient(#4b3423,#1a110b)}.smsw.sw-festive i{border-color:#d39e6c}
.smsw.sw-modern{background:#fffdf9}.smsw.sw-modern i{border-color:#2a221c;border-width:1px;inset:8px}
.smphoto{display:flex;align-items:center;gap:8px;margin-top:6px}
.smphoto img{height:56px;border-radius:4px;border:1px solid var(--line)}
.smquick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.smquick button{padding:7px 10px;font-size:13px}
.sm2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sm2 label,.sm1 label{min-width:0}
.smsave{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.smsave #smOk{grid-column:1/-1}
.smsave button{padding:12px 8px}
.smnote{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--soft);font-size:15px;line-height:1.4}
.ltrwrap{direction:ltr;unicode-bidi:isolate}
html.rtl .ltrwrap{text-align:right}
input[type=datetime-local]{min-width:0;width:100%;box-sizing:border-box;direction:ltr}

/* ---------- v15: show/hide per announcement · Hebrew pop-up keyboard · stale-save dialog ---------- */
.fl .visrow{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-bottom:2px}
.vis{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:14px;color:var(--ink);cursor:pointer;font-weight:600}
.tg.sm{width:42px;height:24px}
.tg.sm span:before{width:18px;height:18px}
.tg.sm input:checked+span:before{transform:translateX(18px)}
.tag.off{border-color:var(--bad);color:var(--bad);font-weight:600}
h2 .tag.off{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;vertical-align:middle}
.fl.off .th,.fl.off .tx,.fl.off .body input:not([type=checkbox]),.fl.off .body textarea,.fl.off .tpl-note{opacity:.42;filter:grayscale(.85)}
.fl.off{background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(43,29,20,.025) 10px 20px)}
.kbbtn{display:inline-block;margin:5px 0 2px;padding:3px 11px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--accent);font:600 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;white-space:nowrap}
.kbbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
label .kbbtn{margin-top:4px}
.kbtarget{outline:2px solid var(--accent);outline-offset:1px}
.hekb{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#d5cfc4;padding:4px 4px max(6px,env(safe-area-inset-bottom));box-shadow:0 -6px 18px rgba(43,29,20,.22);user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.hekb[hidden]{display:none}
.hekb-in{max-width:560px;margin:0 auto}
.hekb-top{display:flex;align-items:center;justify-content:space-between;padding:0 4px 2px;font:600 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink2)}
.hekb .hekb-x{flex:none;height:28px;padding:0 12px;border-radius:14px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;box-shadow:none}
.hekb-row{display:flex;gap:4px;margin:4px 0}
.hekb-row button{flex:1 1 0;min-width:0;height:42px;padding:0;border-radius:7px;background:#fff;color:#1f1712;font:500 21px/1 "Arial Hebrew","Noto Sans Hebrew",Arial,system-ui,sans-serif;box-shadow:0 1px 0 rgba(0,0,0,.28)}
.hekb-row button.fn{background:#ada597;color:#fff;font-size:19px}
.hekb-row button.w2{flex-grow:1.55}
.hekb-row button.sp{flex-grow:4.2}
.hekb-row button.dn{background:#8f877a;color:#fff}
@media (min-width:700px){.hekb{left:50%;right:auto;transform:translateX(-50%);width:560px;border-radius:12px 12px 0 0}.hekb-row button{height:38px;font-size:19px}}
.klmodal{position:fixed;inset:0;z-index:80;background:rgba(30,20,12,.45);display:flex;align-items:center;justify-content:center;padding:18px}
.klmbox{background:var(--card);border-radius:16px;padding:20px 18px 16px;max-width:400px;width:100%;box-shadow:0 12px 40px rgba(0,0,0,.3);text-align:center}
.klmbox .klmic{font-size:30px;color:var(--bad);line-height:1}
.klmbox h3{font-size:18px;margin:8px 0 6px;line-height:1.3}
.klmbox p{margin:10px 0 14px;color:var(--ink2)}
.klmbtns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.klmbtns .ghost{padding:11px 18px;font-size:15px}
.ghost.danger{color:var(--bad);border-color:var(--bad)}
.kbbtn{display:block;width:max-content;margin-left:auto;margin-right:0}

/* v16: box order card + sponsorship box card */
#ordPre{flex-wrap:wrap}
#ordPre button{flex:1 1 30%;min-width:96px}
.ordsl{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0 8px}
.ordsl label{font-size:13px;margin:0}
.ordsl select{width:100%;margin-top:3px;font-size:14px}
#ordCard .sw{margin-top:6px}
.hint.warn{color:#8a4b12}
#spCard .upl{margin:10px 0 4px}
.ordsl{grid-template-columns:1fr;gap:6px}
.ordsl label{display:flex;align-items:center;gap:10px}
.ordsl label select{flex:1;margin:0}
.ordsl label{min-width:0}

/* v17: drag & drop files onto the הודעות / sponsorship box cards · ⠿ drag to reorder */
.dropz{margin:10px 0 6px;border:2px dashed var(--line);border-radius:10px;padding:14px 10px;text-align:center;color:var(--ink2);font-size:15px;cursor:pointer;background:rgba(255,255,255,.35);transition:background .12s,border-color .12s}
.dropz:hover{border-color:var(--accent)}
.dropz .dzi{font-size:18px}
.dropz .he{font-family:"FRL",serif}
.dropz .dzs{font-size:12px;margin-top:2px;opacity:.75}
.card.dropcard.dragon{outline:3px solid var(--accent);outline-offset:-3px}
.card.dropcard.dragon .dropz{border-color:var(--accent);border-style:solid;background:rgba(160,110,40,.14);color:var(--ink);font-weight:600}
.dq{display:flex;flex-direction:column;gap:3px;margin-bottom:4px}
.dq:empty{display:none}
.dqi{display:flex;gap:8px;align-items:baseline;font-size:13px;padding:4px 8px;border-radius:6px;background:var(--soft)}
.dqi b{font-weight:600;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr}
.dqi.busy span{color:var(--accent)} .dqi.ok span{color:#2e7d32} .dqi.err{background:#fdecea} .dqi.err span{color:#b3261e}
.fl .ctl .hdl{cursor:grab;font-size:20px;line-height:1;padding:4px 6px;color:var(--ink2);user-select:none;-webkit-user-select:none;touch-action:none;border-radius:6px}
.fl .ctl .hdl:hover{background:var(--soft);color:var(--ink)}
.fl.dragging{opacity:.45}
body.reordering,body.reordering *{cursor:grabbing!important;user-select:none!important}
.dropmark{height:4px;margin:-2px 0;border-radius:2px;background:var(--accent);position:relative;z-index:2}
@media (hover:none),(pointer:coarse){ .fl .ctl .hdl{display:none} .dropz{display:none} }

/* v18: Times — ⠿ drag to reorder, show/hide per time, ↑ ↓, ⌨ עברית on the names */
.trow{grid-template-columns:auto 1fr auto}
.trow.nod{grid-template-columns:1fr auto}
.trow .tvis,.trow .tln{grid-column:1/-1}
.trow:not(.nod) .tbtns{grid-column:3}
.tbtns{display:flex;gap:2px;justify-content:flex-end}
.tvis{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.tvis .vis{font-size:13px}
.trow .hdl{cursor:grab;font-size:22px;line-height:1;padding:5px 9px;color:var(--ink2);user-select:none;-webkit-user-select:none;touch-action:none;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.trow .hdl:hover{background:var(--soft);color:var(--ink);border-color:var(--ink2)}
.trow.dragging{opacity:.4;background:var(--soft)}
.trow + .dropmark,.dropmark + .trow{border-top:0}
.trow.off .tl,.trow.off .tc,.trow.off .auto,.trow.off .rule,.trow.off select{opacity:.42;filter:grayscale(.85)}
.trow.off{background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(43,29,20,.025) 10px 20px)}
.ib:disabled{opacity:.25}
h2 .tall{margin-inline-start:10px;padding:3px 10px;font:600 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;vertical-align:middle}
.bw{display:flex;flex-wrap:wrap;gap:8px 14px;margin:8px 0}
.bw label{display:flex;flex-direction:column;gap:3px;font-size:13px;margin:0;min-width:92px}
.bw .stp{display:flex;align-items:center;gap:4px}
.bw .stp b{min-width:34px;text-align:center;font-size:16px}
.bw .stp button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;font-size:18px;line-height:1}
.bwnote{color:var(--accent);font-weight:600}
@media (hover:none),(pointer:coarse){ .trow .hdl{display:none} }

/* v19: note lines (text only, no time) */
.addrow{display:flex;flex-wrap:wrap;gap:4px 22px;align-items:center}
.vis.notime{display:inline-flex;align-items:center;gap:5px;font-size:13px;margin:0;cursor:pointer}
.vis.notime input{width:auto!important;margin:0!important;accent-color:var(--accent)}
.trow .auto.notxt{font-style:italic;color:var(--ink2)}
.trow.isnote .tl{font-weight:600;color:var(--accent);text-align:center}
.trow.isnote{background:linear-gradient(90deg,transparent,rgba(127,87,51,.05),transparent)}

/* v20.1: minutes pickers roll over to hours (− [1:45] + hr) */
.hmw{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;direction:ltr}
.hmw input.hmin{width:74px!important;display:inline-block!important;margin:0!important;padding:8px 4px!important;text-align:center;font-variant-numeric:tabular-nums}
button.hmb{min-width:36px;width:36px;height:38px;margin:0;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;color:inherit;font-size:20px;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;box-shadow:none}
button.hmb:active{background:var(--soft)}
.hmw .hmu{font-size:14px;color:var(--ink2);min-width:26px}
.hmrow{display:block;margin-top:5px}

/* ===== v21 restyle (2026-10-23): same look as the kehillalive.com homepage =====
   General Sans for UI/headings/buttons/labels, Lora for explanatory text,
   homepage palette. Visual only: no selectors used by JS were renamed. Hebrew
   still falls back to Heebo / Frank Ruhl (FRL), and .he / [dir=rtl] keep FRL. */
@font-face{font-family:"General Sans";src:url(/new/fonts/general-sans-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"General Sans";src:url(/new/fonts/general-sans-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"General Sans";src:url(/new/fonts/general-sans-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"General Sans";src:url(/new/fonts/general-sans-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Lora";src:url(/new/fonts/lora-var.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Lora";src:url(/new/fonts/lora-var-italic.woff2) format("woff2");font-style:italic;font-weight:400 700;font-display:swap}
:root{--paper:#fbfaf7;--card:#ffffff;--ink:#1d1e22;--ink2:#5f5b54;--accent:#86683c;--line:#e5e0d6;--line2:#d8d2c6;--soft:#f4f1eb;
  --kl-sans:"General Sans","KLHeebo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --kl-serif:"Lora","FRL","Frank Ruhl Libre",Georgia,serif}
body{font-family:var(--kl-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html.rtl body{font-family:"General Sans","KLAssistant",system-ui,sans-serif}
a{color:var(--accent)}
/* explanatory text in Lora (LTR UI only; Hebrew/Yiddish UI keeps its Hebrew font) */
html:not(.rtl) .loginbox>p.muted,html:not(.rtl) .card .hint,html:not(.rtl) .note,html:not(.rtl) .steps li,
html:not(.rtl) #done p.muted,html:not(.rtl) .plan span,html:not(.rtl) .klmbox p,html:not(.rtl) .hnew .muted{font-family:var(--kl-serif)}
html:not(.rtl) .card .hint{font-size:14px;line-height:1.5}
html:not(.rtl) .loginbox>p.muted{font-size:16.5px;line-height:1.6;margin-bottom:6px}
/* headings */
.loginbox h1{font-family:var(--kl-sans);font-weight:500;font-size:30px;letter-spacing:-.025em;line-height:1.12;color:var(--ink)}
html.rtl .loginbox h1{font-family:"FRL",serif;font-weight:700;letter-spacing:0}
.card h2{font-weight:600;letter-spacing:-.01em;color:var(--ink)}
#done h2{font-weight:600;letter-spacing:-.01em}
.sub,.sub-l{font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:var(--accent)}
label{color:var(--ink2);font-weight:500}
/* buttons: near-black pills like the homepage */
.primary{border-radius:999px;padding:13px 26px;font-weight:500;letter-spacing:-.005em;border:1px solid var(--ink);transition:background .2s}
.primary:not(:disabled):hover{background:#000}
.ghost{border-radius:999px;border-color:var(--line2);padding:7px 14px;font-weight:500;background:var(--card)}
.ghost:hover{border-color:var(--ink)}
.add{color:var(--accent);font-weight:500}
.helperlink{color:var(--ink2)}
/* fields */
input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{border-color:var(--line2);border-radius:10px;background:#fff}
input:not([type=checkbox]):not([type=radio]):not([type=color]):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(134,104,60,.15)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
.langsel{border-color:var(--line2);border-radius:999px;padding:5px 10px}
.idrow .langsel{border-radius:999px;padding:2px 8px}
/* cards + bars */
.loginbox{border-color:var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(29,30,34,.04),0 8px 24px -6px rgba(29,30,34,.08)}
.card{border-color:var(--line);box-shadow:0 1px 2px rgba(29,30,34,.03)}
.bar{background:rgba(251,250,247,.92);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.tabs{background:var(--paper)}
.tabs button{font-weight:500;color:var(--ink2)}
.tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}
.savebar{background:rgba(255,255,255,.96);border-top-color:var(--line);box-shadow:0 -4px 14px rgba(29,30,34,.06)}
.tg span{background:#d8d2c6}
.seg{border-color:var(--line2)}
.tip{background:#f8f4ec}
.plan label{border-color:var(--line2)}
.plan span{color:var(--ink2)}
.plan b{font-weight:600}
.link{background:var(--soft)}
#main .chip{border-color:var(--line2);color:var(--ink2);font-weight:500}
#main .chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.toast{border-radius:999px;padding:10px 18px}
/* homepage-style logo header on login / sign-up screens */
.klhead{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:14px 22px;border-bottom:1px solid var(--line);background:rgba(251,250,247,.9)}
.klhead .klbrand{display:inline-flex;line-height:0}
.klhead .klbrand img{height:46px;width:auto}
.klhead .kllink{font-weight:500;font-size:15px;color:var(--ink);text-decoration:none;border:1px solid var(--line2);border-radius:999px;padding:8px 16px;background:var(--card);white-space:nowrap}
.klhead .kllink:hover{border-color:var(--ink)}
.klhead~.loginbox .kl,.klhead~* .kl{display:none}
#login{flex-direction:column;justify-content:flex-start;padding:0 0 48px}
#login .klhead{flex:none}
#login .loginbox{margin:clamp(28px,9vh,96px) 20px 0;width:calc(100% - 40px)}
.screen.su{padding:0 0 48px}
.screen.su .loginbox{margin:clamp(24px,6vh,64px) auto 0;width:calc(100% - 40px)}
@media (min-width:700px){.klhead{padding:16px 40px}.klhead .klbrand img{height:54px}}
@media (max-width:420px){.klhead{padding:10px 16px}.klhead .klbrand img{height:40px}.klhead .kllink{font-size:14px;padding:7px 13px}.klhead .klbrand img{height:42px}}

/* v22 (Nat Oct 23: "a thicker line between things so it's not confusing what goes for which tefila"): each time row is its own block */
#main .trow{border-top:2px solid #d8d1c4;padding:16px 0 14px}
#main .trow:first-child{border-top:0;padding-top:6px}
#main .trow + .dropmark,#main .dropmark + .trow{border-top:0}
#main .trow .tl{font-weight:600}
#main .rule.hvauto .auto{grid-column:auto;padding:0;font-size:14px}
