*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  color-scheme: light dark;
  /* v64 canonical design tokens: components bind to variables, not hard-coded theme overrides */
  --bg-app:#FBFAF6;
  --bg-surface:#FFFFFF;
  --bg-warm:#F6EFE2;
  --color-text:#0D1B2F;
  --color-muted:#6C6A63;
  --color-accent:#092A55;
  --color-accent-2:#0D3768;
  --color-accent-3:#174C83;
  --gold-decor:#C08A1A;
  --gold-text:#7A5510;
  --gold-light:#E8C56F;
  --gold:var(--gold-decor);
  --glt:var(--gold-light);
  --navy:var(--color-accent);
  --nvm:var(--color-accent-2);
  --nvl:var(--color-accent-3);
  --cream:var(--bg-app);
  --warm:var(--bg-warm);
  --paper:var(--bg-surface);
  --text:var(--color-text);
  --muted:var(--color-muted);
  --bdr:rgba(80,50,15,.18);
  --gold-bdr:rgba(192,138,26,.32);
  --ok:#166534;
  --ok-bg:#f0fdf4;
  --err:#991b1b;
  --err-bg:#fef2f2;
  --warn:#854d0e;
  --warn-bg:#fffbeb;
  --s1:0 4px 18px rgba(9,42,85,.10);
  --s2:0 8px 30px rgba(9,42,85,.15);
  /* dark-mode tokens (overridden in [data-theme="dark"] and prefers-color-scheme:dark) */
  --dark-bg:#0F172A;
  --dark-surface:#111827;
  --dark-surface-2:#1E293B;
  --dark-input:#0B1120;
  --dark-border:#475569;
  --dark-text:#F8FAFC;
  --dark-muted:#D1D5DB;
  --dark-soft:#94A3B8;
  --dark-gold:#FDE68A;
}

body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;background:linear-gradient(180deg,#fffdf8 0%,#fbfaf6 46%,#f6f1e8 100%);color:var(--text);transition:background-color .2s ease,color .2s ease}
.rtl{direction:rtl;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.hdr{background:linear-gradient(155deg,#041D38,var(--navy) 48%,var(--nvm));position:relative;overflow:hidden}
.hdr::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%,rgba(199,157,67,.13),transparent 60%);pointer-events:none}
.hi{max-width:1140px;margin:0 auto;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:relative;z-index:1}
.hbrand{display:flex;align-items:center;gap:12px}
.hlogo{height:58px;width:58px;object-fit:contain;border-radius:10px;filter:drop-shadow(0 3px 10px rgba(0,0,0,.22));background:rgba(255,255,255,.04)}
.hicon{width:58px;height:58px;background:linear-gradient(135deg,var(--gold),var(--glt));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 18px rgba(200,151,58,.35);flex-shrink:0}
.ht h1{font-family:Georgia,'Times New Roman',serif;color:#fff;font-size:1.7rem;font-weight:700;line-height:1.1}
.ht p{color:var(--glt);font-size:.84rem;margin-top:3px}
.hr{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.lb{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;padding:5px 12px;border-radius:7px;font-size:.84rem;cursor:pointer;font-family:inherit}
.lb:hover,.lb.on{background:rgba(200,151,58,.25);border-color:var(--gold);color:var(--glt)}
.pb{background:rgba(200,151,58,.15);border:1px solid rgba(200,151,58,.4);color:var(--glt);padding:6px 14px;border-radius:7px;font-size:.84rem;cursor:pointer;font-family:inherit}
.pb:hover{background:rgba(200,151,58,.28)}
.nav{background:var(--navy);border-bottom:1px solid rgba(200,151,58,.18);overflow-x:auto;padding-bottom:4px}
.nav-in{max-width:1140px;margin:0 auto;display:flex}
.nt{padding:11px 18px;color:rgba(255,255,255,.55);font-size:.88rem;font-weight:500;cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;white-space:nowrap;font-family:inherit}
.nt:hover{color:var(--glt)}.nt.on{color:var(--gold);border-bottom-color:var(--gold)}
.main{max-width:1140px;margin:0 auto;padding:24px 18px}
.fb{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;align-items:center}
.fsel,.finp{padding:7px 11px;border-radius:7px;border:1.5px solid var(--bdr);background:#fff;color:var(--text);font-size:.88rem;min-width:138px;font-family:inherit}
.fsel:focus,.finp:focus{outline:none;border-color:var(--gold)}.finp{min-width:185px}
.sh{font-family:Georgia,'Times New Roman',serif;font-size:1.22rem;font-weight:700;color:var(--navy);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--bdr)}
.sh span{color:var(--gold);font-weight:400;font-size:.93rem}
.zb{border-radius:13px;padding:16px 18px;margin-bottom:20px;position:relative;overflow:hidden}
.zb::before{content:'';position:absolute;font-size:6rem;opacity:.05;right:14px;top:50%;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ctext y='.9em' font-size='90'%3E✡%3C/text%3E%3C/svg%3E") no-repeat center/contain;width:5rem;height:5rem;}
.zbt{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.zbtl{font-family:Georgia,'Times New Roman',serif;font-size:1.06rem;font-weight:700;color:var(--glt)}
.zbsub{font-size:.83rem;color:rgba(255,255,255,.65)}
.zbsrc{font-size:.7rem;color:rgba(255,255,255,.4);margin-top:3px}
.zg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:7px}
.zi{background:rgba(255,255,255,.07);border:1px solid rgba(200,151,58,.18);border-radius:8px;padding:9px 12px}
.zil{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--glt);margin-bottom:2px}
.ziv{font-family:Georgia,'Times New Roman',serif;font-size:1.12rem;font-weight:700;color:#fff}
.zi.c .ziv{color:var(--glt)}
.tg{display:flex;flex-direction:column;gap:6px}
.tr{display:grid;grid-template-columns:80px 100px 1fr;gap:10px;align-items:center;background:#fff;border-radius:9px;padding:11px 15px;border:1px solid var(--bdr);box-shadow:var(--s1);cursor:default}
.tr:hover{box-shadow:var(--s2)}
.tbg{font-family:Georgia,'Times New Roman',serif;font-size:1.04rem;font-weight:700;color:var(--navy)}
.pt{font-size:.71rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:2px 8px;border-radius:18px;background:var(--warm);color:var(--muted)}
.sdr{display:flex;align-items:center;gap:8px}.sd{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.sn{font-size:.9rem;font-weight:600}.sa{font-size:.76rem;color:var(--muted)}
.sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(295px,1fr));gap:16px}
.sc{background:#fff;border-radius:13px;border:1px solid var(--bdr);overflow:hidden;box-shadow:var(--s1);display:flex;flex-direction:column}
.sc:hover{box-shadow:var(--s2)}
.sch{padding:13px 15px 10px;border-bottom:1px solid var(--bdr);display:flex;gap:9px;align-items:flex-start}
.sbar{width:4px;border-radius:3px;flex-shrink:0;align-self:stretch}
.slg{width:40px;height:40px;object-fit:contain;border-radius:6px;flex-shrink:0;border:1px solid var(--bdr)}
.slph{width:40px;height:40px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:17px}
.scn{font-family:Georgia,'Times New Roman',serif;font-size:1.06rem;font-weight:700;color:var(--navy)}
.scr{font-size:.8rem;color:var(--muted);margin-top:1px}
.scb{padding:12px 15px;flex:1;display:flex;flex-direction:column}
.stl{font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin-bottom:5px;margin-top:8px}
.stl:first-child{margin-top:0}
.chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:2px}
.chip{background:var(--warm);color:var(--text);padding:3px 8px;border-radius:5px;font-size:.84rem;font-weight:500}
.sbmini{background:var(--navy);border-radius:8px;padding:10px 12px;margin-top:6px;margin-bottom:6px}
.sbmini .stl{color:var(--glt);margin-top:0}
.sbr{display:flex;justify-content:space-between;align-items:center;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.sbr:last-child{border:none}
.sbrl{font-size:.76rem;color:rgba(255,255,255,.62)}.sbrv{font-size:.83rem;font-weight:700;color:#fff}
.sbrv.c{color:var(--glt)}
.clist{display:flex;flex-direction:column;gap:5px;margin-top:2px;margin-bottom:8px}
.citem{background:var(--warm);border-radius:6px;padding:6px 10px}
.cit{font-weight:600;font-size:.86rem}.cim{font-size:.74rem;color:var(--muted);margin-top:1px}
.prbtn{width:100%;background:var(--navy);color:var(--glt);border:none;padding:8px;border-radius:7px;font-size:.85rem;font-weight:600;cursor:pointer;margin-top:auto;font-family:inherit}
.prbtn:hover{background:var(--nvm)}
.stamp{font-size:.74rem;color:var(--muted);margin-top:4px}
.sbg{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px}
.sbc{background:#fff;border-radius:13px;border:1px solid var(--bdr);overflow:hidden;box-shadow:var(--s1)}
.sbc:hover{box-shadow:var(--s2)}
.sbch{padding:12px 15px 10px;border-bottom:3px solid}
.sbrows{padding:12px 15px;display:flex;flex-direction:column;gap:5px}
.sbrow{display:flex;justify-content:space-between;align-items:center}
.sblbl{font-size:.84rem;color:var(--muted)}.sbval{font-weight:700;font-size:.91rem;color:var(--navy)}
.sbdiv{height:1px;background:var(--bdr);margin:3px 0}.cnd .sbval{color:var(--gold)}
.ccg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.ccc{background:#fff;border-radius:11px;border:1px solid var(--bdr);border-left:4px solid;padding:13px 14px;box-shadow:var(--s1)}
.ccc:hover{box-shadow:var(--s2)}
.cct{font-family:Georgia,'Times New Roman',serif;font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:2px}
.ccs{font-size:.77rem;color:var(--muted);margin-bottom:6px}
.cctype{font-size:.67rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:2px 7px;border-radius:9px;background:var(--warm);color:var(--muted);display:inline-block;margin-bottom:6px}
.ccm{display:flex;flex-direction:column;gap:2px}.ccti{font-size:.86rem;font-weight:600}.ccte{font-size:.77rem;color:var(--muted)}
.aw{max-width:700px;margin:0 auto}
.ac{background:#fff;border-radius:15px;border:1px solid var(--bdr);overflow:hidden;box-shadow:var(--s2)}
.ah{background:linear-gradient(135deg,var(--navy),var(--nvm));padding:18px 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.aht{font-family:Georgia,'Times New Roman',serif;color:#fff;font-size:1.16rem;font-weight:700}
.ahs{color:var(--glt);font-size:.8rem;margin-top:2px}
.ab{padding:22px}.asec{margin-bottom:22px}
.asec h3{font-family:Georgia,'Times New Roman',serif;font-size:.98rem;font-weight:700;color:var(--navy);margin-bottom:9px;padding-bottom:6px;border-bottom:1.5px solid var(--bdr)}
.fg{display:flex;flex-direction:column;gap:3px;margin-bottom:7px}
.fl{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.fi,.fsl{padding:8px 11px;border-radius:7px;border:1.5px solid var(--bdr);font-size:.9rem;color:var(--text);background:#fff;width:100%;font-family:inherit}
.fi:focus,.fsl:focus{outline:none;border-color:var(--gold)}.fi.invalid{border-color:#e74c3c;background:#fff8f8}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.sb2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn-p{background:linear-gradient(135deg,var(--navy),var(--nvm));color:var(--glt);border:none;padding:9px 20px;border-radius:8px;font-size:.92rem;font-weight:700;cursor:pointer;font-family:inherit}
.btn-p:hover{box-shadow:0 4px 13px rgba(14,29,56,.25)}
.btn-s{background:var(--warm);color:var(--text);border:1.5px solid var(--bdr);padding:7px 14px;border-radius:8px;font-size:.88rem;cursor:pointer;font-family:inherit}
.btn-s:hover{background:#fff;border-color:var(--gold)}
.btn-d{background:#fdf2f2;color:#c0392b;border:1.5px solid #f5c6c2;padding:5px 10px;border-radius:7px;font-size:.82rem;cursor:pointer;font-family:inherit}
.btn-d:hover{background:#fde8e8}
.btn-g{background:linear-gradient(135deg,var(--gold),var(--glt));color:var(--navy);border:none;padding:8px 16px;border-radius:8px;font-size:.88rem;font-weight:700;cursor:pointer;font-family:inherit}
.btn-g:hover{box-shadow:0 3px 11px rgba(200,151,58,.35)}
.brow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
.err{color:#c0392b;font-size:.81rem;padding:6px 10px;background:#fff0f0;border-radius:6px;margin-top:4px}
.ok{color:#27ae60;font-size:.81rem}
.tlist{display:flex;flex-direction:column;gap:6px}
.tlr{display:flex;gap:7px;align-items:center}.tlr .fi{flex:1}
.addbtn{background:var(--warm);border:1.5px dashed var(--gold);color:var(--muted);padding:6px 13px;border-radius:7px;font-size:.85rem;cursor:pointer;margin-top:5px;font-family:inherit}
.addbtn:hover{background:#fff;color:var(--text)}
.clsa{display:flex;flex-direction:column;gap:9px}
.clar{background:var(--warm);border-radius:9px;padding:11px 13px;display:flex;flex-direction:column;gap:7px}
.lcard{background:#fff;border-radius:15px;border:1px solid var(--bdr);padding:30px;text-align:center;box-shadow:var(--s2)}
.lcard h2{font-family:Georgia,'Times New Roman',serif;font-size:1.32rem;color:var(--navy);margin-bottom:6px}
.lcard p{color:var(--muted);margin-bottom:18px;font-size:.88rem}
.quick-ann{margin:0 0 22px 0;padding:16px;border:1px solid var(--bdr);border-radius:14px;background:var(--warm);text-align:start}
.quick-ann h3{font-size:1rem;color:var(--navy);margin-bottom:6px}
.quick-ann .hint{font-size:.78rem;color:var(--muted);margin-bottom:12px}
.quick-ann-ok{background:#e9f7ef;color:#17633a;border:1px solid #bfe8cf;border-radius:8px;padding:8px 10px;font-size:.82rem;margin-top:8px}
.quick-ann-err{background:#fdf2f2;color:#b42318;border:1px solid #f5c6c2;border-radius:8px;padding:8px 10px;font-size:.82rem;margin-top:8px}
.lform{display:flex;flex-direction:column;gap:11px;text-align:start}
.dnote{margin-top:12px;font-size:.76rem;color:var(--muted);padding:8px 11px;background:var(--warm);border-radius:7px}
.smrow{background:var(--warm);border-radius:9px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sminfo{display:flex;align-items:center;gap:9px}
.smdot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.smlogo{width:31px;height:31px;object-fit:contain;border-radius:5px;border:1px solid var(--bdr)}
.smnm{font-weight:700;font-size:.9rem}.smsub{font-size:.76rem;color:var(--muted)}
.smbtns{display:flex;gap:6px}
.tpills{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.tpill{padding:3px 10px;border-radius:18px;border:1.5px solid var(--bdr);background:#fff;font-size:.81rem;display:flex;align-items:center;gap:5px;font-family:inherit}
.tpdel{background:none;border:none;color:#c0392b;cursor:pointer;font-size:.85rem;padding:0}
.crow{display:flex;gap:6px;flex-wrap:wrap}
.csw{width:23px;height:23px;border-radius:50%;cursor:pointer;border:3px solid transparent}
.csw.on{border-color:var(--navy);transform:scale(1.18)}
.lupl{border:2px dashed var(--bdr);border-radius:9px;padding:13px;text-align:center;cursor:pointer;background:var(--warm)}
.lupl:hover{border-color:var(--gold);background:#fff}
.lprev{max-height:70px;max-width:155px;object-fit:contain;border-radius:5px;margin-bottom:6px}
.lhint{font-size:.73rem;color:var(--muted)}
.lacts{display:flex;gap:6px;justify-content:center;margin-top:6px}
.sfw{background:var(--warm);border-radius:11px;padding:14px;margin-top:6px}
.api-tog-row{display:flex;align-items:center;justify-content:space-between;background:var(--warm);border-radius:10px;padding:12px 16px;margin-bottom:14px}
.api-tog-lbl{font-size:.88rem;font-weight:600;color:var(--navy)}
.api-tog-sub{font-size:.76rem;color:var(--muted);margin-top:2px}
.tog-wrap{display:flex;align-items:center;gap:10px}
.tog{position:relative;width:44px;height:24px;cursor:pointer}
.tog input{opacity:0;width:0;height:0}
.tog-sl{position:absolute;inset:0;background:#ccc;border-radius:24px;transition:.3s}
.tog-sl::before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:white;border-radius:50%;transition:.3s}
.tog input:checked+.tog-sl{background:var(--navy)}
.tog input:checked+.tog-sl::before{transform:translateX(20px)}
.tog-st{font-size:.78rem;font-weight:600;color:var(--muted)}
.tog-st.live{color:#27ae60}
.src-badge{display:inline-block;padding:2px 9px;border-radius:12px;font-size:.71rem;font-weight:700;background:var(--warm);color:var(--muted)}
.ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hidden{display:none}

.nextbox{background:#fff;border:1px solid var(--bdr);border-radius:13px;box-shadow:var(--s1);padding:13px 15px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.nextlbl{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.nextmain{font-family:Georgia,'Times New Roman',serif;font-size:1.16rem;font-weight:700;color:var(--navy)}
.nextsub{font-size:.82rem;color:var(--muted);margin-top:2px}
.share-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.share-btn{background:var(--warm);border:1.5px solid var(--bdr);color:var(--text);padding:6px 10px;border-radius:7px;font-size:.78rem;cursor:pointer;font-family:inherit}
.share-btn:hover{background:#fff;border-color:var(--gold)}
.pwa-note{font-size:.76rem;color:var(--muted);margin-top:12px;padding:8px 11px;background:var(--warm);border-radius:7px}
.daypick{display:flex;gap:5px;flex-wrap:wrap}.daybtn{border:1.5px solid var(--bdr);background:#fff;color:var(--text);padding:5px 9px;border-radius:999px;font-size:.78rem;cursor:pointer;font-family:inherit}.daybtn.on{background:var(--navy);color:var(--glt);border-color:var(--navy)}.relrow{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(180px,1.2fr);gap:8px;align-items:end;width:100%}.relrow .fg{margin-bottom:0}.tlr .relrow{flex:1}.time-mode{min-width:120px}.time-note{font-size:.72rem;color:var(--muted);margin-top:3px;min-height:16px}.relbase{font-size:.72rem;color:var(--muted);margin-top:3px}.subsec{font-size:.78rem;font-weight:700;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin:8px 0 5px}.shabbat-time-list{display:flex;flex-direction:column;gap:8px}.shabbat-time-list .tlr{align-items:flex-start}.shabbat-admin-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:end;width:100%}.shabbat-admin-label{font-size:.78rem;font-weight:700;color:var(--muted);padding-bottom:30px}.shabbat-admin-row .relrow{width:100%}.ta{min-height:78px;resize:vertical;line-height:1.45}
@media(max-width:640px){
  .ht h1{font-size:1.22rem}.main{padding:13px 11px}
  .fr2,.fr3,.sb2,.ov-grid{grid-template-columns:1fr}
  .tr{grid-template-columns:72px 1fr}.ab{padding:13px 11px}
  .zg{grid-template-columns:1fr 1fr}.sg{grid-template-columns:1fr}
  .rtl .ccc{border-left:1px solid var(--bdr);border-right:4px solid var(--gold)}.relrow{grid-template-columns:1fr}
}
.date-line{font-size:.82rem;color:var(--muted);margin-top:3px}.card-date{font-size:.75rem;color:var(--muted);margin-top:2px}.sb-date{font-size:.76rem;color:var(--gold);margin-top:2px}

.ann-today{border-color:rgba(200,151,58,.35);background:#fffaf0}.ann-line{border-top:1px solid rgba(200,151,58,.18);padding:7px 0}.ann-line:first-of-type{border-top:0}.ann-line-title{font-weight:800;color:var(--navy);font-size:.86rem}.ann-line-text{color:#6b4a12;font-size:.86rem;line-height:1.45;margin-top:2px}
.ann-card{background:#fff7e7;border:1px solid rgba(200,151,58,.35);border-radius:10px;padding:8px 10px;margin:7px 0;font-size:.82rem;color:#6b4a12;line-height:1.45}
.ann-title{font-weight:700;color:var(--navy);margin-bottom:2px}.ann-exp{font-size:.72rem;color:var(--muted);margin-top:3px;opacity:.85}
.day-mini{font-size:.68rem;color:var(--muted);margin-inline-start:4px}.netz-badge,.special-badge,.chag-badge{display:inline-block;border-radius:10px;background:#fff7e7;color:#9a5d00;border:1px solid rgba(200,151,58,.35);font-size:.68rem;font-weight:700;padding:1px 6px;margin-inline-start:4px;white-space:nowrap}.special-badge{background:#eef6ff;color:#1c5b7a;border-color:#b8d8ef}.chag-badge{background:#f7eefc;color:#6b2d6b;border-color:#e0c3ef}
.special-card{background:#eef6ff;border:1px solid #b8d8ef;border-radius:10px;padding:8px 10px;margin:8px 0;font-size:.82rem;color:#1c5b7a}.special-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(28,91,122,.12);padding:2px 0}.special-row:last-child{border-bottom:0}.copybox{background:var(--warm);border:1px solid var(--bdr);border-radius:10px;padding:10px;margin:8px 0}.chg-list{font-size:.78rem;color:var(--muted);line-height:1.45;display:flex;flex-direction:column;gap:4px}.time-spec-extra{margin-top:5px}

@media print{body>*{display:none!important}#PZ{display:block!important;position:fixed!important;inset:0!important;background:white!important;padding:26px 32px!important;z-index:999999!important}}
#PZ{display:none}

@media(max-width:520px){
  .nav{overflow-x:hidden}
  .nav-in{width:100%;max-width:none;display:grid;grid-template-columns:repeat(5,1fr)}
  .nt{min-width:0;padding:10px 3px;font-size:.68rem;line-height:1.05;white-space:nowrap;text-align:center}
}
.earlier-block{margin-top:14px}.earlier-title{font-size:.82rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0}.tr.past{opacity:.72}.tr.past .tbg{color:var(--muted)}

/* ── v44 compact premium brand polish ─────────────────────────────────────── */

.hdr.institutional-hdr{
  background:
    radial-gradient(circle at 50% 22%,rgba(233,202,120,.2),transparent 34%),
    linear-gradient(160deg,#051F3D 0%,var(--navy) 52%,#0F3F78 100%);
  border-bottom:1px solid rgba(201,164,90,.42);
}
.institutional-hdr::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);opacity:.55;pointer-events:none}
.hi.brand-centered{min-height:172px;justify-content:center;text-align:center;flex-direction:column;padding:25px 20px 22px;}
.brand-centered .hbrand{flex-direction:column;gap:7px;justify-content:center;align-items:center;width:100%;}
.brand-centered .hlogo{height:118px;width:118px;border-radius:0;background:transparent;filter:drop-shadow(0 7px 17px rgba(0,0,0,.28));}
.brand-centered .hicon{height:100px;width:100px;font-size:36px;}
.brand-centered .ht h1{font-family:Georgia,'Times New Roman',serif;font-size:2.15rem;letter-spacing:.015em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.22);}
.brand-centered .ht p{color:var(--glt);font-size:1.02rem;font-weight:600;letter-spacing:.025em;margin:0 10px;white-space:nowrap;}
.brand-rule{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px;}
.brand-line{display:block;width:56px;height:2px;background:linear-gradient(90deg,transparent,var(--gold));}
.rtl .brand-line:first-child{background:linear-gradient(90deg,transparent,var(--gold));}.brand-line:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.header-tools{position:absolute;top:14px;inset-inline-end:18px;z-index:2;}
.header-tools .lb,.header-tools .pb{backdrop-filter:blur(8px);}
.nav{background:#08284F;border-bottom:2px solid rgba(201,164,90,.36);box-shadow:0 4px 16px rgba(10,47,95,.12);}
.nav-in{justify-content:center;}
.nt{padding:12px 22px;color:rgba(255,255,255,.66);border-bottom:3px solid transparent;}
.nt.on{color:#fff;border-bottom-color:var(--gold);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(201,164,90,.08));}
.main{padding-top:26px;}
.notice-card,.sc,.sbc,.ccc,.tr,.ac{background:var(--paper);border-color:rgba(201,164,90,.28);}
.sh{font-size:1.35rem;text-align:center;border-bottom-color:rgba(201,164,90,.45);}
.btn-g{background:linear-gradient(135deg,var(--gold),var(--glt));color:#08284F;}
.btn-p{background:linear-gradient(135deg,#08284F,#0A2F5F);color:var(--glt);}
.btn-s,.share-btn{background:#f7edd8;border-color:rgba(201,164,90,.36);}
.ann-card,.ann-today{background:#fff8e8;border-color:rgba(201,164,90,.44);}
@media(max-width:760px){
  .hi.brand-centered{min-height:146px;padding:22px 14px 18px;}
  .brand-centered .hlogo{height:86px;width:86px;}
  .brand-centered .ht h1{font-size:1.45rem;}
  .brand-centered .ht p{font-size:.88rem;}
  .brand-line{width:34px;}
  .header-tools{position:static;margin-top:8px;justify-content:center;}
  .nav-in{justify-content:flex-start;}
}



/* ── v44 compact premium brand polish ───────────────────────────────────── */

.hdr.institutional-hdr{
  background:
    radial-gradient(circle at 50% 6%,rgba(232,197,111,.14),transparent 35%),
    linear-gradient(180deg,#0A315E 0%,#082B55 100%);
  border-bottom:1px solid rgba(198,154,63,.35);
}
.hi.brand-centered{
  min-height:112px;
  padding:13px 20px 11px;
}
.brand-centered .hbrand{gap:2px;}
.brand-centered .hlogo{
  height:70px;
  width:70px;
  filter:drop-shadow(0 4px 9px rgba(0,0,0,.24));
}
.brand-centered .hicon{height:64px;width:64px;font-size:24px;}
.brand-centered .ht h1{
  font-size:1.48rem;
  line-height:1.05;
  letter-spacing:.005em;
}
.brand-centered .ht p{
  font-size:.82rem;
  line-height:1.1;
  white-space:normal;
}
.brand-rule{gap:8px;margin-top:0;}
.brand-line{width:36px;height:1.5px;}
.header-tools{top:10px;inset-inline-end:14px;}
.header-tools .lb,.header-tools .pb{padding:4px 10px;font-size:.78rem;}
.nav{background:#08284F;border-bottom:1px solid rgba(198,154,63,.28);box-shadow:0 3px 12px rgba(8,43,85,.09);}
.nt{padding:10px 18px;}
.main{padding-top:18px;}
.notice-card,.sc,.sbc,.ccc,.tr,.ac{background:#fff;border-color:rgba(198,154,63,.2);}
.zi{background:#fffaf0;border-color:rgba(198,154,63,.2)}
.ziv{color:var(--text)}
.zi.c .ziv{color:#9A6A13}
.sh{font-size:1.18rem;margin-bottom:10px;padding-bottom:6px;}
.btn-s,.share-btn{background:#fff8e8;}
@media(max-width:760px){
  .hi.brand-centered{min-height:94px;padding:10px 10px 9px;}
  .brand-centered .hlogo{height:54px;width:54px;}
  .brand-centered .ht h1{font-size:1.12rem;}
  .brand-centered .ht p{font-size:.7rem;}
  .brand-line{width:20px;}
  .header-tools{position:static;margin-top:4px;}
  .header-tools .lb,.header-tools .pb{font-size:.7rem;padding:3px 8px;}
  .main{padding-top:13px;}
}


/* ── v45 light dashboard redesign ───────────────────────────────────────── */

.hdr.institutional-hdr{
  background:linear-gradient(180deg,#fffdf8 0%,#fbfaf6 100%);
  color:var(--navy);
  border-bottom:1px solid rgba(9,42,85,.10);
  box-shadow:none;
}
.hdr::after,.hdr.institutional-hdr::before{display:none!important;}
.hi.brand-centered{
  min-height:116px;
  padding:12px 18px 10px;
  position:relative;
}
.brand-centered .hlogo{height:62px;width:62px;filter:drop-shadow(0 3px 8px rgba(9,42,85,.12));}
.brand-centered .ht h1{color:var(--navy);font-size:1.52rem;text-shadow:none;font-weight:800;}
.brand-centered .ht p{color:var(--navy);font-size:.84rem;font-weight:600;opacity:.88;}
.brand-line{background:linear-gradient(90deg,transparent,var(--gold));height:1.5px;width:34px;}
.brand-line:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.header-tools .lb,.header-tools .pb{background:#fff;border:1px solid rgba(9,42,85,.12);color:var(--navy);box-shadow:var(--s1);}
.header-tools .lb.on,.header-tools .lb:hover,.header-tools .pb:hover{background:#fff8e8;border-color:var(--gold-bdr);color:#9A6A13;}
.nav{background:rgba(255,255,255,.92);border-top:1px solid rgba(9,42,85,.08);border-bottom:1px solid rgba(9,42,85,.10);box-shadow:0 2px 10px rgba(9,42,85,.035);padding-bottom:0;}
.nav-in{justify-content:center;gap:8px;}
.nt{color:var(--navy);opacity:.78;padding:13px 22px;border-bottom:3px solid transparent;background:transparent;}
.nt:hover{color:#9A6A13;background:#fff8e8;}
.nt.on{color:#9A6A13;border-bottom-color:var(--gold);background:transparent;opacity:1;}
.main{max-width:1180px;padding-top:28px;}
/* ── Loading skeleton ─────────────────────────────────────────────────────── */
@keyframes skel-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skel{border-radius:8px;background:linear-gradient(90deg,#e8edf4 25%,#f4f7fc 50%,#e8edf4 75%);background-size:200% 100%;animation:skel-shimmer 1.4s infinite linear;}
.skel-time{width:68px;height:28px;}
.skel-title{width:140px;height:16px;margin-bottom:6px;}
.skel-sub{width:90px;height:12px;}
.skel-panel-title{width:180px;height:22px;}
.skel-date-h{width:220px;height:30px;margin:0 auto 8px;}
.skel-date-s{width:120px;height:16px;margin:0 auto;}
.skel-side-title{width:100px;height:18px;margin-bottom:10px;}
.skel-side-body{width:160px;height:14px;}
.skel-row{pointer-events:none;}

.home-page{display:flex;flex-direction:column;gap:18px;}
.home-heading{text-align:center;margin-bottom:2px;}
.home-title{font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;font-weight:800;color:var(--navy);}
.home-date{font-size:.95rem;color:var(--muted);margin-top:6px;display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;}
.home-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:20px;align-items:start;}
.home-panel,.notice-card{background:#fff;border:1px solid rgba(9,42,85,.10);border-radius:18px;box-shadow:var(--s1);}
.home-panel{padding:18px;}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(9,42,85,.08);padding-bottom:12px;margin-bottom:14px;}
.panel-title{font-size:1.25rem;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:8px;}
.panel-icon{color:var(--gold);font-size:1.28rem;}
.panel-mode{font-size:.76rem;font-weight:800;color:#9A6A13;background:#fff8e8;border:1px solid var(--gold-bdr);border-radius:999px;padding:4px 10px;white-space:nowrap;}
.next-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:linear-gradient(90deg,#fff9ed,#fffdf8);border:1px solid var(--gold-bdr);border-radius:14px;padding:13px 14px;margin-bottom:14px;}
.next-strip-label{font-size:.78rem;font-weight:800;color:#9A6A13;}
.next-strip-main{font-size:1.08rem;font-weight:900;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.next-strip-sub{font-size:.86rem;color:var(--muted);white-space:nowrap;}
.upcoming-list{display:flex;flex-direction:column;gap:8px;}
.today-section-head{font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 4px 2px;margin-top:4px;border-top:1px solid rgba(9,42,85,.07);}
.upcoming-list>.today-section-head:first-child{border-top:none;margin-top:0;padding-top:0;}
.upcoming-row{display:grid;grid-template-columns:92px minmax(0,1fr) 110px;gap:12px;align-items:center;border:1px solid rgba(9,42,85,.09);border-radius:13px;padding:10px 12px;background:#fff;transition:.15s ease;}
.upcoming-row:hover{box-shadow:var(--s1);border-color:rgba(192,138,26,.28);}
.upcoming-time{font-size:1.32rem;font-weight:850;color:var(--navy);font-variant-numeric:tabular-nums;}
.upcoming-title{font-weight:850;color:var(--navy);font-size:.94rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.upcoming-shul{color:var(--muted);font-size:.82rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.upcoming-address{opacity:.8;}
.upcoming-count{justify-self:end;color:#9A6A13;background:#fff8e8;border:1px solid var(--gold-bdr);border-radius:999px;padding:5px 9px;font-weight:800;font-size:.80rem;white-space:nowrap;}
.upcoming-list.compact .upcoming-row{opacity:.72;}
.home-actions{display:flex;justify-content:center;gap:10px;margin-top:15px;padding-top:14px;border-top:1px solid rgba(9,42,85,.08);}
.home-side{display:flex;flex-direction:column;gap:16px;}
.home-side .zb{padding:18px;color:var(--text);box-shadow:var(--s1);}
.home-side .zb::before{display:none;}
.home-side .zbt{justify-content:center;text-align:center;}
.home-side .zbtl{font-size:1.22rem;color:#9A6A13;font-weight:900;}
.home-side .zbsub{font-size:.86rem;color:var(--muted);width:100%;}
.zg{grid-template-columns:1fr 1fr;gap:8px;}
.zi{background:#fffdf8;border:1px solid rgba(9,42,85,.08);text-align:center;}
.zil{color:var(--muted);font-size:.62rem;}
.ziv{color:var(--navy);font-size:1.08rem;}
.zi.c{background:#fff8e8;border-color:var(--gold-bdr);}
.ann-today{background:linear-gradient(180deg,#fffaf0,#fff);border-color:var(--gold-bdr);}
.ann-empty{background:#fff;}
.notice-title{color:#9A6A13;font-family:Georgia,'Times New Roman',serif;font-size:1.1rem;text-align:center;}
.notice-text{text-align:center;}
.status-card .status-stack{align-items:stretch;}
.tg{gap:8px;}
.tr{border-radius:13px;background:#fff;border-color:rgba(9,42,85,.10);}
.btn-s{background:#fff;border-color:rgba(9,42,85,.14);color:var(--navy);}
.btn-s:hover{background:#fff8e8;border-color:var(--gold-bdr);color:#9A6A13;}
.btn-g{background:#fff8e8;border:1px solid var(--gold-bdr);color:#9A6A13;}
@media(max-width:860px){
  .home-grid{grid-template-columns:1fr;gap:16px;}
  .home-side{display:grid;grid-template-columns:1fr;}
}
@media(max-width:640px){
  .hi.brand-centered{min-height:98px;padding:10px 8px 8px;}
  .brand-centered .hlogo{height:48px;width:48px;}
  .brand-centered .ht h1{font-size:1.08rem;}
  .brand-centered .ht p{font-size:.68rem;}
  .header-tools{position:static;margin-top:4px;}
  .nav-in{display:flex;overflow-x:auto;justify-content:flex-start;gap:0;}
  .nt{padding:10px 12px;font-size:.76rem;}
  .main{padding:18px 12px;}
  .home-title{font-size:1.35rem;}
  .home-panel{padding:14px;}
  .panel-head{align-items:flex-start;flex-direction:column;gap:7px;}
  .next-strip{grid-template-columns:1fr;gap:4px;text-align:center;}
  .next-strip-main{white-space:normal;}
  .next-strip-sub{white-space:normal;}
  .upcoming-row{grid-template-columns:82px minmax(0,1fr);gap:8px;}
  .upcoming-count{grid-column:1 / -1;justify-self:center;}
  .upcoming-time{font-size:1.12rem;}
  .zg{grid-template-columns:1fr 1fr;}
}

/* ── v46 polished dashboard contrast + architecture cleanup ─────────────── */

.home-main-panel{min-width:0;}
/* Gold as text uses the darker AA-safe token; decorative accents keep the brighter gold. */
.nt.on,.nt:hover,.notice-title,.zbtl,.panel-mode,.next-strip-label,.upcoming-count,.btn-g,.btn-s:hover,.header-tools .lb.on,.header-tools .lb:hover,.header-tools .pb:hover{color:var(--gold-text);}
.nt.on{border-bottom-color:var(--gold-decor);}
.panel-icon,.brand-line{color:var(--gold-decor);}
.stl,.sh span,.sb-date,.nextlbl{color:var(--gold-text);}
.fi.invalid{border-color:var(--err);background:var(--err-bg);}
.err{color:var(--err);background:var(--err-bg);}
.ok,.trust.ok,.status-pill.ok{color:var(--ok);background:var(--ok-bg);}
.trust.warn,.status-pill.warn,.status-pill.stale{color:var(--warn);background:var(--warn-bg);}
/* Restore zmanim as the primary visual anchor while keeping the page light. */
.zb{
  background:linear-gradient(150deg,#092A55 0%,#0D3768 62%,#164C83 100%);
  color:#fff;
  border:1px solid rgba(232,197,111,.32);
  box-shadow:0 10px 26px rgba(9,42,85,.16);
}
.zb::before{display:block;opacity:.045;color:#fff;}
.zbtl,.zil{color:var(--gold-light);}
.zbsub,.zbsrc{color:rgba(255,255,255,.72);}
.zi{background:rgba(255,255,255,.075);border:1px solid rgba(232,197,111,.18);}
.zi.c{background:rgba(232,197,111,.13);border-color:rgba(232,197,111,.36);}
.ziv{color:#fff;}
.mobile-ann-wrap{display:none;}
@media(max-width:860px){
  .mobile-ann-wrap{display:block;}
  .mobile-ann-wrap .ann-today{margin-top:0;margin-bottom:0;}
  .home-side > .ann-today{display:none;}
}

/* v59 tablet background continuity: keep the same warm app surface through medium widths. */
@media(max-width:760px){body{background:linear-gradient(180deg,#fffdf8 0%,#fbfaf6 46%,#f6f1e8 100%);}}



/* v55 admin cleanup + expiring inputs */
.clean-login{text-align:start;max-width:780px;margin:0 auto;padding:24px}
.login-head{display:flex;gap:12px;align-items:center;margin-bottom:16px;text-align:start}
.login-icon{width:44px;height:44px;border-radius:14px;background:var(--warm);display:flex;align-items:center;justify-content:center;font-size:24px;flex:0 0 auto}
.login-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-bottom:16px}
.login-box{border:1px solid var(--bdr);border-radius:14px;background:var(--paper);padding:14px;text-align:start}
.login-box h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-size:.98rem;margin-bottom:10px}
.super-login{opacity:.92}
.time-spec-exp{margin-top:6px;display:grid;grid-template-columns:minmax(110px,.55fr) minmax(160px,1fr);gap:8px;align-items:center}
.plan-card{background:var(--warm);border-radius:14px;padding:14px;border:1px solid var(--bdr)}
.mazal-card{background:#fffaf0;border:1px solid rgba(192,138,26,.22);border-radius:13px;padding:12px 14px;margin-top:10px}
.mazal-line{font-size:.88rem;color:var(--text);line-height:1.45;padding:4px 0;border-top:1px solid rgba(192,138,26,.12)}
.mazal-line:first-of-type{border-top:0}
.mazal-today{border-color:rgba(192,138,26,.24);background:#fffaf0}
@media(max-width:720px){.login-grid{grid-template-columns:1fr}.clean-login{padding:18px}.time-spec-exp{grid-template-columns:1fr}}


/* ── v58 consolidated visual tokens ───────────────────────────────
   A small consolidation layer: final token values live here, so future changes
   can be made in one place instead of chasing older version blocks above. */

.stl,.sh span,.sb-date,.nextlbl,.panel-mode,.next-strip-label,.upcoming-count,.nt.on,.nt:hover{color:var(--gold-text)}
.home-panel,.notice-card,.nextbox,.next-strip,.upcoming-row,.tr,.sc,.sbc,.ccc,.ac,.lcard{box-shadow:var(--s1)}
@media(max-width:640px){
  .hdr{min-height:104px}
  .hlogo{width:56px;height:56px}
  .ht p{font-size:.78rem;line-height:1.25}
  .upcoming-shul{font-size:.85rem}
  .upcoming-address{opacity:.9}
}
@media(max-width:520px){
  .nav-in{display:grid;grid-template-columns:repeat(5,1fr);width:100%;overflow:visible}
  .nt{font-size:0;color:transparent;padding:10px 2px;min-width:0;white-space:nowrap}
  .nt::after{content:attr(data-short);font-size:.76rem;color:var(--text);font-weight:800}
  .nt.on::after,.nt:hover::after{color:var(--gold-text)}
}

/* v62 holiday/Yom Tov admin presets */
.preset-row{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 12px}
.tinybtn{border:1px solid var(--bdr);background:var(--paper);color:var(--text);border-radius:999px;padding:7px 10px;font-weight:800;font-size:.78rem;cursor:pointer}
.tinybtn:hover{box-shadow:var(--s1)}
.upcoming-special-card{background:#fff8e8;border-color:rgba(192,138,26,.34);color:var(--text)}

/* v64 holiday copy helper */
.holiday-copy-row{margin:8px 0 2px;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.holiday-copy-row .fsl{max-width:320px}

/* v65 shul-admin cleanup: keep daily workflow first, fold holiday tools */
.admin-fold{border:1px solid var(--bdr);border-radius:18px;background:var(--paper);box-shadow:var(--s1);overflow:hidden}
.admin-fold-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;font-weight:900;color:var(--navy);font-family:Georgia,'Times New Roman',serif;list-style:none}
.admin-fold-summary::-webkit-details-marker{display:none}
.admin-fold-summary::after{content:'▾';font-family:system-ui,sans-serif;font-size:.95rem;transition:transform .18s ease;color:var(--gold-text)}
.admin-fold[open] .admin-fold-summary::after{transform:rotate(180deg)}
.admin-fold-meta{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-size:.78rem;font-weight:800;color:var(--muted);background:var(--warm);border:1px solid var(--bdr);border-radius:999px;padding:5px 9px;white-space:nowrap}
.admin-fold-body{padding:0 16px 16px}
.holiday-fold{box-shadow:none}
.holiday-details{border:1px solid var(--bdr);border-radius:16px;background:var(--warm);overflow:hidden}
.holiday-details.has-rows{background:#fff8e8;border-color:rgba(192,138,26,.28)}
.holiday-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.holiday-summary::-webkit-details-marker{display:none}
.holiday-summary::after{content:'+';font-weight:900;color:var(--gold-text);margin-inline-start:6px}
.holiday-details[open] .holiday-summary::after{content:'−'}
.holiday-title{display:block;font-weight:900;color:var(--navy)}
.holiday-empty{font-size:.76rem;color:var(--muted);font-weight:800;border:1px solid var(--bdr);border-radius:999px;padding:4px 8px;background:var(--paper)}
.holiday-body{padding:0 14px 14px}

.whatsapp-ai-settings .checkline{display:flex;align-items:center;gap:8px;font-size:.86rem;margin:8px 0;color:var(--text)}
.whatsapp-ai-settings input[type="checkbox"]{width:18px;height:18px}
.whatsapp-ai-settings .ok{margin-top:8px}



/* ═══════════════════════════════════════════════════════════════════════
   ADMIN — Complete ground-up redesign.
   All rules use new class names (.admin-frame, .admin-sidebar, .sec-*)
   No conflicts with any existing CSS. No !important needed.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Outer wrapper ─────────────────────────────────────────────────────── */
.admin-wide { max-width:980px; margin:0 auto; }

.admin-frame {
  background:#F5F3EE;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(9,42,85,.12);
  box-shadow:0 8px 40px rgba(9,42,85,.12);
}

/* ── Shell: sidebar + content side by side ─────────────────────────────── */
.admin-shell { display:flex; }

/* ── Sidebar ───────────────────────────────────────────────────────────── */
.admin-sidebar {
  width:220px; flex-shrink:0;
  background:#0B1F40;
  display:flex; flex-direction:column;
  min-height:600px;
}
.sb-shul {
  display:flex; align-items:center; gap:10px;
  padding:18px 14px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.sb-dot { width:11px; height:11px; border-radius:50%; flex-shrink:0; }
.sb-shul-name { color:#fff; font-size:13px; font-weight:600; line-height:1.3; }
.sb-shul-rabbi { color:rgba(255,255,255,.38); font-size:11px; margin-top:2px; }
.sb-nav-group { padding:10px 8px; flex:1; display:flex; flex-direction:column; gap:1px; }
.sb-nav-label {
  font-size:9px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.28);
  padding:10px 10px 4px;
}
.snav-item {
  display:flex; align-items:center; gap:10px;
  padding:8px 10px; border-radius:9px;
  background:transparent; border:0; cursor:pointer;
  color:rgba(255,255,255,.52); font-size:13px; font-weight:500;
  font-family:inherit; width:100%; text-align:start;
}
.snav-item i { font-size:16px; width:18px; text-align:center; flex-shrink:0; }
.snav-item.on { background:rgba(255,255,255,.13); color:#fff; }
.snav-item:hover:not(.on) { background:rgba(255,255,255,.06); color:rgba(255,255,255,.8); }
.sb-footer {
  padding:10px 8px 14px;
  border-top:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.sb-logout-btn {
  display:flex; align-items:center; gap:9px;
  width:100%; padding:8px 10px; border-radius:9px;
  background:transparent; border:0; cursor:pointer;
  color:rgba(255,255,255,.38); font-size:13px; font-family:inherit;
}
.sb-logout-btn i { font-size:15px; }
.sb-logout-btn:hover { color:rgba(255,255,255,.65); background:rgba(255,255,255,.05); }

/* ── Content area ──────────────────────────────────────────────────────── */
.admin-content { flex:1; min-width:0; display:flex; flex-direction:column; background:#F5F3EE; }

/* Topbar */
.admin-topbar {
  height:52px; flex-shrink:0;
  background:#fff; border-bottom:1px solid rgba(9,42,85,.1);
  padding:0 22px;
  display:flex; align-items:center; justify-content:space-between;
}
.topbar-crumb {
  display:flex; align-items:center; gap:5px;
  font-size:12px; color:#7A7570;
}
.topbar-crumb i { font-size:14px; }
.topbar-crumb span { font-size:13px; font-weight:600; color:#0D1B2F; }
.topbar-actions { display:flex; align-items:center; gap:8px; }
.unsaved-pill {
  background:#fef3c7; color:#92400e;
  border-radius:20px; padding:3px 11px;
  font-size:11px; font-weight:600;
}
.topbar-save {
  display:flex; align-items:center; gap:6px;
  background:#0B1F40; color:#fff; border:0;
  border-radius:9px; padding:7px 18px;
  font-size:12.5px; font-weight:600; cursor:pointer; font-family:inherit;
}
.topbar-save i { font-size:14px; }
.topbar-save:hover { background:#14336A; }

/* Scroll area */
.admin-scroll { flex:1; overflow-y:auto; padding:18px 22px; }

/* ── Section block: label + card ───────────────────────────────────────── */
.sec-block { display:flex; flex-direction:column; gap:5px; }
.sec-lbl {
  font-size:10px; font-weight:800;
  letter-spacing:.09em; text-transform:uppercase;
  color:#7A7570; padding:0 2px 4px;
}
.sec-card {
  background:#fff; border-radius:13px;
  border:1px solid rgba(9,42,85,.1);
  overflow:hidden;
  box-shadow:0 1px 4px rgba(9,42,85,.05);
}
.sec-hint {
  font-size:12px; color:#7A7570; line-height:1.6;
  padding:10px 15px 6px; margin:0;
}
.sub-label {
  font-size:10px; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; color:#7A7570;
  padding:12px 15px 6px; display:block;
}

/* ── Times tab: 2-column layout ─────────────────────────────────────────── */
.times-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:14px; align-items:start;
}
.times-col-right { display:flex; flex-direction:column; gap:14px; }

/* ── Announcement card ──────────────────────────────────────────────────── */
.ann-top { background:#FFFBF0; border:1px solid #E4C06A; border-radius:13px; padding:14px 16px; }
.ann-header {
  display:flex; align-items:center; gap:8px; margin-bottom:10px;
}
.ann-header i { color:#C8973A; font-size:18px; }
.ann-title {
  font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; color:#92400e;
}
.ann-active {
  margin-left:auto; background:#fef3c7; color:#92400e;
  border-radius:20px; padding:2px 9px; font-size:10px; font-weight:700;
}
.ann-body { display:flex; gap:10px; align-items:flex-start; flex-wrap:wrap; }
.ann-body .fg { flex:1; min-width:200px; }
.ann-inp {
  width:100%; border:1px solid #E4C06A; border-radius:9px;
  padding:8px 12px; font-size:13px; background:#fff;
  color:#0D1B2F; font-family:inherit;
}
.ann-inp:focus { outline:none; border-color:#C8973A; box-shadow:0 0 0 3px rgba(200,151,58,.12); }
.ann-meta { display:flex; flex-direction:column; gap:4px; flex-shrink:0; }
.ann-exp-inp {
  border:1px solid #E4C06A; border-radius:9px;
  padding:7px 10px; font-size:12px; color:#92400e;
  background:#fff; font-family:inherit;
}
.ann-hint { font-size:11px; color:#92400e; font-weight:600; }

/* ── Time rows (weekday expand/collapse) ────────────────────────────────── */
.row-list { display:flex; flex-direction:column; }
.admin-edit-row { border-bottom:1px solid rgba(9,42,85,.07); }
.admin-edit-row:last-of-type { border-bottom:0; }
.admin-edit-row[open] { background:#fffdf8; }
.admin-edit-row.invalid .admin-row-title { color:#dc2626; }
.admin-edit-row summary::-webkit-details-marker { display:none; }
.admin-row-summary {
  list-style:none; display:flex; align-items:center; gap:11px;
  padding:11px 15px; cursor:pointer; min-height:52px;
}
.admin-row-icon {
  width:30px; height:30px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.admin-row-icon.sun  { background:#e6f1fb; }
.admin-row-icon.sun  i { color:#185FA5; font-size:15px; }
.admin-row-icon.sunset { background:#faeeda; }
.admin-row-icon.sunset i { color:#854F0B; font-size:15px; }
.admin-row-icon.moon { background:#e1f5ee; }
.admin-row-icon.moon i { color:#0F6E56; font-size:15px; }
.admin-row-main { flex:1; min-width:0; }
.admin-row-title {
  font-size:14px; font-weight:600; color:#0D1B2F;
  display:flex; align-items:center; gap:7px; flex-wrap:wrap;
}
.admin-row-sub { font-size:11px; color:#7A7570; margin-top:2px; }
.admin-row-actions { display:flex; align-items:center; gap:5px; flex-shrink:0; }
.admin-row-delete {
  width:26px; height:26px; border:0; border-radius:6px;
  background:rgba(9,42,85,.06); color:#7A7570; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.admin-row-delete:hover { background:rgba(185,28,28,.08); color:#dc2626; }
.admin-row-delete i { font-size:13px; }
.admin-chevron { color:#7A7570; font-size:15px; }
.admin-edit-row[open] .admin-chevron { transform:rotate(90deg); }
.admin-row-editor {
  border-top:1px solid rgba(9,42,85,.07);
  padding:13px 15px; background:#fafaf7;
  display:flex; flex-direction:column; gap:10px;
}
.admin-row-editor .relrow {
  display:grid; grid-template-columns:1fr 1fr; gap:10px; align-items:end;
}

/* ── Shabbat rows ────────────────────────────────────────────────────────── */
.sb-time-list { display:flex; flex-direction:column; }
.sb-row {
  display:flex; flex-direction:column;
  padding:12px 15px 10px;
  border-bottom:1px solid rgba(9,42,85,.07);
}
.sb-row:last-of-type { border-bottom:0; }
.sb-row-label {
  font-size:13px; font-weight:700; color:#0B1F40;
  padding-bottom:9px; margin-bottom:2px;
  border-bottom:0.5px solid rgba(9,42,85,.09);
}
.sb-row-editor { margin-top:10px; }
.sb-row-editor .relrow {
  display:grid; grid-template-columns:1fr 1fr; gap:10px; align-items:end;
}
.sb-prog {
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
  padding:2px 0 4px;
}
.time-note { font-size:12px; color:#8a6420; font-weight:600; margin-top:3px; }
.relbase { font-size:11px; color:#7A7570; margin-top:2px; }
.time-spec-exp {
  display:flex; align-items:center; gap:10px;
  margin-top:9px; padding-top:9px; border-top:0.5px solid rgba(9,42,85,.08);
}
.time-spec-exp .fl { font-size:10px; margin-bottom:0; white-space:nowrap; color:#7A7570; }
.time-spec-exp .fi, .time-spec-exp .fld { flex:1; padding:5px 9px; font-size:12px; }

/* ── Form fields ──────────────────────────────────────────────────────────── */
.fg { display:flex; flex-direction:column; gap:4px; }
.fld-lbl, .fl {
  display:block; font-size:10.5px; font-weight:700;
  letter-spacing:.04em; text-transform:lowercase; color:#7A7570;
}
.fld, .fi, .fsl {
  width:100%; border-radius:9px;
  border:1px solid rgba(9,42,85,.16);
  padding:8px 11px; font-size:13px;
  background:#fff; color:#0D1B2F; font-family:inherit;
}
.fld:focus, .fi:focus, .fsl:focus {
  outline:none; border-color:#C8973A;
  box-shadow:0 0 0 3px rgba(200,151,58,.12);
}
.fld.err, .fi.invalid { border-color:#dc2626; }
.fld.ta { resize:vertical; min-height:68px; }
.fr2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.fr3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
select.fld, select.fi, select.fsl { cursor:pointer; }
textarea.fld, textarea.fi { resize:vertical; min-height:68px; }

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.add-row-btn {
  display:flex; align-items:center; gap:8px;
  width:100%; padding:11px 15px;
  background:#fff; color:#0B1F40;
  border:0; border-top:1px solid rgba(9,42,85,.08);
  font-size:13px; font-weight:600; cursor:pointer; font-family:inherit;
  text-align:start;
}
.add-row-btn i { font-size:15px; }
.add-row-btn:hover { background:#fffdf8; }
.btn-p {
  width:100%; padding:11px; background:#0B1F40; color:#fff; border:0;
  border-radius:10px; font-size:13.5px; font-weight:600;
  cursor:pointer; font-family:inherit;
}
.btn-p:hover { background:#14336A; }
.btn-s {
  padding:7px 14px; background:transparent; color:#0B1F40;
  border:1px solid rgba(9,42,85,.2); border-radius:8px;
  font-size:12px; font-weight:600; cursor:pointer; font-family:inherit;
}
.btn-s:hover { background:rgba(9,42,85,.06); }
.btn-d {
  padding:6px 11px; background:transparent; color:#dc2626;
  border:1px solid rgba(220,38,38,.2); border-radius:7px;
  font-size:11.5px; font-weight:600; cursor:pointer; font-family:inherit;
}
.btn-d:hover { background:rgba(220,38,38,.06); }
.btn-g {
  padding:8px 14px; background:#C8973A; color:#fff; border:0;
  border-radius:8px; font-size:12px; font-weight:600;
  cursor:pointer; font-family:inherit;
}
.btn-g:hover { background:#D4A240; }
.addbtn { /* legacy alias */ }
.addbtn, .admin-modern .addbtn {
  display:flex; align-items:center; gap:8px;
  width:100%; padding:11px 15px;
  background:#fff; color:#0B1F40;
  border:0; border-top:1px solid rgba(9,42,85,.08);
  font-size:13px; font-weight:600; cursor:pointer; font-family:inherit;
  text-align:start; border-radius:0;
}
.addbtn:hover { background:#fffdf8; }
.tinybtn {
  border:1px solid rgba(9,42,85,.15); background:#fff; color:#0D1B2F;
  border-radius:20px; padding:5px 12px; font-size:11.5px; font-weight:600;
  cursor:pointer; font-family:inherit;
}
.tinybtn:hover { background:#F5F3EE; }
.row-actions { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.brow { display:flex; gap:8px; align-items:center; margin-top:4px; }

/* ── Misc components ─────────────────────────────────────────────────────── */
.err-bar {
  background:#fef2f2; border:1px solid #fca5a5; color:#dc2626;
  border-radius:9px; padding:10px 14px; font-size:13px; font-weight:600; margin-top:10px;
}
.err {
  background:#fef2f2; border:1px solid #fca5a5; color:#dc2626;
  border-radius:9px; padding:10px 14px; font-size:13px; font-weight:600;
}
.ok { background:#f0fdf4; color:#166534; border-radius:8px; padding:8px 12px; font-size:12px; }
.notice-text { font-size:12px; color:#7A7570; line-height:1.6; }
.time-spec-extra { margin-top:8px; }
.plan-card { background:#F5F3EE; }
.chg-list { display:flex; flex-direction:column; gap:4px; font-size:12px; color:#7A7570; }
.copybox { display:flex; flex-direction:column; gap:8px; padding:0 2px; }
.rel-badge {
  font-size:10px; background:#e1f5ee; color:#0F6E56;
  border-radius:5px; padding:2px 7px; font-weight:700;
}
.dpick { display:flex; flex-wrap:wrap; gap:5px; }
.dpick-btn {
  padding:4px 9px; border-radius:6px; font-size:11.5px; font-weight:600;
  border:1px solid rgba(9,42,85,.15); background:transparent; color:#7A7570;
  cursor:pointer; font-family:inherit;
}
.dpick-btn.on { background:#0B1F40; color:#fff; border-color:#0B1F40; }
.asec { margin-bottom:0; }
.asec h3 { font-size:13px; font-weight:700; margin-bottom:8px; }
.clsa { display:flex; flex-direction:column; }
.clar {
  padding:13px 15px; border-bottom:1px solid rgba(9,42,85,.07);
  display:flex; flex-direction:column; gap:10px;
}
.clar:last-of-type { border-bottom:0; }
.sb2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.subsec {
  font-size:10px; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; color:#7A7570;
  padding:12px 0 6px; display:block;
}

/* ── Holiday / Yom Tov accordion ─────────────────────────────────────────── */
.admin-fold { border:0; }
.admin-fold-summary {
  list-style:none; display:flex; align-items:center; justify-content:space-between;
  padding:11px 14px; cursor:pointer; border-radius:11px;
  background:#fff; border:1px solid rgba(9,42,85,.1);
}
.admin-fold-summary::-webkit-details-marker { display:none; }
.admin-fold-meta { font-size:11px; color:#7A7570; }
.admin-fold-body { padding:8px 0 0; display:flex; flex-direction:column; gap:4px; }
.holiday-fold > .admin-fold-summary { margin-bottom:2px; }
.holiday-details {
  border:1px solid rgba(9,42,85,.1); border-radius:11px;
  overflow:hidden; background:#fff;
}
.holiday-details.has-rows { border-color:rgba(200,151,58,.4); }
.holiday-details.has-rows .holiday-summary { background:#fffbf0; }
.holiday-summary {
  list-style:none; display:flex; align-items:center; justify-content:space-between;
  padding:10px 14px; cursor:pointer;
}
.holiday-summary::-webkit-details-marker { display:none; }
.holiday-title { font-size:13px; font-weight:600; color:#0D1B2F; }
.holiday-empty { font-size:11px; color:#7A7570; }
.holiday-body {
  border-top:1px solid rgba(9,42,85,.07);
  padding:10px 14px; display:flex; flex-direction:column; gap:8px;
}
.holiday-row { display:flex; flex-direction:column; gap:6px; }
.holiday-copy-row { display:flex; flex-direction:column; gap:5px; }
.preset-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
.special-badge {
  background:#C8973A; color:#fff; border-radius:10px;
  padding:2px 8px; font-size:10px; font-weight:700;
}
.holiday-empty-badge {
  font-size:10px; color:#7A7570; background:#F5F3EE;
  border-radius:10px; padding:2px 8px;
}

/* ── Audio recorder / WhatsApp ───────────────────────────────────────────── */
.audio-up, .audio-recorder { display:flex; flex-direction:column; gap:8px; }
.audio-recorder audio { border-radius:9px; width:100%; }
.checkline { display:flex; align-items:center; gap:8px; font-size:13px; cursor:pointer; }
.checkline input { width:16px; height:16px; cursor:pointer; flex-shrink:0; }
.whatsapp-ai-settings .notice-text { margin-bottom:8px; }

/* ── Super admin ─────────────────────────────────────────────────────────── */
.smrow { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:10px 0; }
.sminfo { display:flex; align-items:center; gap:9px; }
.smdot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.smlogo { width:28px; height:28px; border-radius:6px; object-fit:contain; }
.smnm { font-size:13px; font-weight:700; }
.smsub { font-size:11px; color:#7A7570; margin-top:2px; }
.smbtns { display:flex; gap:6px; flex-shrink:0; }
.sfw { border:1px solid rgba(9,42,85,.1); border-radius:11px; padding:14px; margin-top:8px; display:flex; flex-direction:column; gap:10px; }
.crow { display:flex; gap:7px; flex-wrap:wrap; }
.csw { width:26px; height:26px; border-radius:50%; cursor:pointer; border:2px solid transparent; flex-shrink:0; }
.csw.on { border-color:#0B1F40; }
.tpills { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.tpill { background:#F5F3EE; border-radius:20px; padding:4px 10px; font-size:12px; font-weight:600; display:flex; align-items:center; gap:5px; }
.tpdel { background:none; border:0; cursor:pointer; color:#7A7570; font-size:12px; line-height:1; }
.lupl { border:1.5px dashed rgba(9,42,85,.2); border-radius:11px; padding:16px; text-align:center; cursor:pointer; }
.lupl:hover { border-color:#C8973A; background:#fffbf0; }
.lprev { max-height:60px; border-radius:7px; }
.lhint { font-size:11px; color:#7A7570; margin-top:6px; }
.lacts { display:flex; gap:6px; margin-top:6px; }
.api-tog-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.api-tog-lbl { font-size:13px; font-weight:700; }
.api-tog-sub { font-size:11px; color:#7A7570; margin-top:2px; }
.tog { display:flex; cursor:pointer; align-items:center; }
.tog input { display:none; }
.tog-sl { width:38px; height:22px; background:rgba(9,42,85,.2); border-radius:11px; position:relative; transition:background .2s; }
.tog-sl::after { content:""; position:absolute; width:16px; height:16px; background:#fff; border-radius:50%; top:3px; left:3px; transition:transform .2s; box-shadow:0 1px 4px rgba(0,0,0,.2); }
.tog input:checked+.tog-sl { background:#C8973A; }
.tog input:checked+.tog-sl::after { transform:translateX(16px); }
.tog-wrap { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.tog-st { font-size:10px; font-weight:800; letter-spacing:.05em; color:#7A7570; }
.tog-st.live { color:#C8973A; }
.src-badge { font-size:10px; background:#F5F3EE; border-radius:4px; padding:2px 6px; display:inline-block; margin-top:3px; }
.ov-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; }

/* ── Login ───────────────────────────────────────────────────────────────── */
.admin-login-wrap { max-width:420px; margin:0 auto; padding:24px 16px; }
.modern-login {
  border-radius:20px; overflow:hidden;
  border:1px solid rgba(9,42,85,.12);
  box-shadow:0 10px 40px rgba(9,42,85,.14);
}
.login-hero {
  background:#0B1F40; padding:28px 22px 22px; text-align:center;
}
.login-icon {
  width:54px; height:54px; background:#C8973A; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:24px; margin:0 auto 12px;
}
.login-hero h2 { color:#fff; font-size:1.1rem; font-weight:700; }
.login-hero p { color:rgba(255,255,255,.5); font-size:12px; margin-top:4px; }
.login-body-modern {
  background:#fff; padding:20px 22px;
  display:flex; flex-direction:column; gap:13px;
}
.login-main-btn {
  width:100%; padding:11px; background:#0B1F40; color:#fff; border:0;
  border-radius:10px; font-size:13.5px; font-weight:600;
  cursor:pointer; font-family:inherit;
}
.login-main-btn:hover { background:#14336A; }
.super-access-btn {
  width:100%; padding:9px; background:transparent; border:1px solid rgba(9,42,85,.18);
  border-radius:10px; font-size:12px; color:#7A7570;
  cursor:pointer; font-family:inherit;
}
.super-access-btn:hover { background:rgba(9,42,85,.04); }
.super-inline { display:flex; flex-direction:column; gap:8px; }
.quick-ann-login {
  background:#FFFBF0; border-top:1px solid #E4C06A;
  padding:0;
}
.qa-label {
  font-size:10px; font-weight:800; letter-spacing:.06em;
  text-transform:uppercase; color:#92400e;
  padding:12px 16px 6px;
}
.qa-form { padding:0 16px 14px; display:flex; flex-direction:column; gap:8px; }
.qa-post {
  background:#C8973A; color:#fff; border:0;
  border-radius:9px; padding:9px 16px;
  font-size:13px; font-weight:600; cursor:pointer; font-family:inherit;
}
.qa-post:hover { background:#D4A240; }
.quick-ann-ok { color:#166534; font-size:12px; font-weight:600; }
.quick-ann-err { color:#dc2626; font-size:12px; }
.clean-login .hint { font-size:11.5px; color:#7A7570; padding:0 16px 8px; }
.pwa-note { font-size:11px; color:#7A7570; padding:6px 16px 10px; text-align:center; }
.dnote { font-size:11.5px; color:#7A7570; padding:4px 16px; }

/* ── Mobile breakpoints ──────────────────────────────────────────────────── */
@media(max-width:720px) {
  .aw.admin-wide { max-width:100%; margin:0; }
  .admin-frame { border-radius:0; border:0; box-shadow:none; }
  .admin-shell { flex-direction:column; }
  .admin-sidebar { width:100%; min-height:auto; flex-direction:column; }
  .sb-shul { padding:12px 14px; }
  .sb-nav-group { flex-direction:row; flex-wrap:wrap; padding:6px 10px; gap:3px; overflow-x:auto; }
  .sb-nav-label { display:none; }
  .snav-item { flex:0 0 auto; padding:7px 11px; font-size:12px; }
  .sb-footer { display:none; }
  .admin-content { flex:1; }
  .admin-topbar { padding:0 14px; }
  .admin-scroll { padding:14px; }
  .times-grid { display:flex; flex-direction:column; gap:12px; }
  .sb-prog, .fr2, .fr3, .sb2, .ov-grid { grid-template-columns:1fr; }
  .sb-row-editor .relrow,
  .admin-row-editor .relrow { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .ann-body { flex-direction:column; }
  .ann-meta { flex-direction:row; align-items:center; flex-wrap:wrap; gap:6px; }
}

/* ── Dark mode ──────────────────────────────────────────────────────────── */


/* v134 admin polish */
.saved-pill{background:#dcfce7;color:#166534;border-radius:20px;padding:3px 11px;font-size:11px;font-weight:700}
.admin-row-delete-inside{width:auto;margin-top:2px}

/* v136 admin modernization polish */
.expiry-box{border:1px solid rgba(9,42,85,.10);background:#fffdf8;border-radius:11px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;margin-top:8px}
.expiry-pills{display:flex;flex-wrap:wrap;gap:6px}
.expiry-custom{max-width:320px}
.class-edit-row .admin-row-icon{background:#eef6ff}.class-edit-row .admin-row-icon::before{content:'📖';font-size:14px}
.admin-row-icon.sun::before{content:'☀️';font-size:14px}.admin-row-icon.sunset::before{content:'🌅';font-size:14px}.admin-row-icon.moon::before{content:'🌙';font-size:14px}


/* v138 admin visual alignment: Yom Tov, Shabbat programs, recording expiry cleanup */
.holiday-card-modern{background:#fff;border-color:rgba(9,42,85,.10);border-radius:13px;box-shadow:0 1px 4px rgba(9,42,85,.05);}
.holiday-card-modern .holiday-summary{min-height:52px;padding:12px 15px;background:#fff;}
.holiday-card-modern.has-rows .holiday-summary{background:#fffdf8;}
.holiday-card-modern .holiday-body{padding:0;border-top:1px solid rgba(9,42,85,.07);background:#fafaf7;}
.holiday-row-list{padding:0;background:#fff;}
.holiday-edit-row .admin-row-title{font-size:14px;font-weight:650;}
.holiday-edit-row .admin-row-editor{background:#fafaf7;}
.holiday-card-modern .preset-row,.holiday-card-modern .holiday-copy-row,.holiday-card-modern > .holiday-body > .time-note{padding:10px 14px;margin:0;}
.program-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:12px 15px;background:#fff;}
.program-field{background:#fafaf7;border:1px solid rgba(9,42,85,.08);border-radius:11px;padding:10px 12px;}
.program-label{font-size:12px!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important;color:#0B1F40!important;margin-bottom:5px;}
.program-input{font-size:14px;min-height:38px;}
.expiry-box{background:#fafaf7;border:1px solid rgba(9,42,85,.08);border-radius:12px;padding:11px 12px;margin-top:8px;}
.expiry-pills{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 8px;}
.expiry-custom{margin-top:5px;}
.audio-recorder .row-actions + .row-actions{display:none;}



/* v139 Yom Tov + Shabbat Programs polish */
.yomtov-modern-section .sec-card{padding:0;overflow:hidden}
.holiday-top-list{padding:0;gap:0}
.holiday-card-modern{border:0;border-bottom:1px solid rgba(9,42,85,.07);border-radius:0;background:#fff}
.holiday-card-modern:last-child{border-bottom:0}
.holiday-card-modern>.holiday-summary{padding:12px 15px;min-height:52px;background:#fff}
.holiday-card-modern.has-rows>.holiday-summary{background:#fffdf8}
.holiday-card-modern .holiday-title{font-size:14px;font-weight:700;color:#0D1B2F}
.holiday-card-modern .holiday-body{padding:12px 15px;background:#fafaf7;border-top:1px solid rgba(9,42,85,.07)}
.holiday-row-list{gap:7px;margin-bottom:10px}
.shabbat-program-row .admin-row-title{font-size:14px}
.shabbat-note-field{padding:12px 15px;border-top:1px solid rgba(9,42,85,.07);background:#fafaf7}


/* v140 stability/usability polish */
.zb .zi.c .ziv{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.22)}
.holiday-empty,.holiday-empty-badge,.special-badge{min-width:72px;text-align:center;display:inline-flex;align-items:center;justify-content:center}
.holiday-details .admin-row-summary,.holiday-edit-row .admin-row-summary{min-height:54px}.holiday-title{min-width:0}
.theme-toggle{min-width:36px;text-align:center}
html[data-theme="dark"] .unsaved-pill{background:#1E3A8A!important;color:#FCD34D!important}
html[data-theme="dark"] .saved-pill{background:#0F2A1B!important;color:#86EFAC!important}


/* holiday-card-modern layout */
.holiday-card-modern>.holiday-summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 86px 18px!important;
  align-items:center!important;
  gap:10px!important;
}
.holiday-card-modern>.holiday-summary::after{
  content:'›'!important;
  grid-column:3!important;
  justify-self:center!important;
  color:#7A7570!important;
  font-size:18px!important;
  transition:transform .18s ease!important;
}
.holiday-card-modern[open]>.holiday-summary::after{transform:rotate(90deg)!important}
.holiday-card-modern>.holiday-summary>div:first-child{min-width:0!important;overflow:hidden!important}
.holiday-card-modern .holiday-empty,
.holiday-card-modern .special-badge{
  grid-column:2!important;
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
  justify-self:end!important;
  text-align:center!important;
}

@media(max-width:900px){
  .aw.admin-wide{max-width:100%!important;margin:0!important}
  .admin-frame{border-radius:14px!important;overflow:hidden!important}
  .admin-shell{display:block!important}
  .admin-sidebar{width:100%!important;min-height:0!important;background:#0B1F40!important}
  .sb-shul{padding:12px 14px!important}
  .sb-nav-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;padding:10px!important}
  .sb-nav-label{display:none!important}
  .snav-item{width:auto!important;justify-content:center!important;text-align:center!important;border-radius:999px!important;padding:9px 6px!important;font-size:12px!important;line-height:1.15!important;background:rgba(255,255,255,.06)!important;color:rgba(255,255,255,.88)!important}
  .snav-item i{display:none!important}
  .snav-item.on{background:rgba(255,255,255,.18)!important;color:#fff!important}
  .admin-topbar{height:auto!important;min-height:52px!important;padding:10px 12px!important;gap:8px!important;flex-wrap:wrap!important}
  .topbar-actions{width:100%!important;justify-content:space-between!important}
  .topbar-save{flex:1!important;justify-content:center!important;max-width:240px!important}
  .admin-scroll{padding:13px 11px!important}
  .times-grid{display:flex!important;flex-direction:column!important;gap:12px!important}
  .sec-card{border-radius:14px!important}
  .admin-row-summary{min-height:48px!important;padding:10px 12px!important}
  .admin-row-icon{width:34px!important;height:34px!important}
  .admin-row-title{font-size:15px!important}
  .admin-row-sub{font-size:12px!important}
  .admin-row-editor{padding:12px!important}
  .ann-top{padding:12px!important}
  .holiday-card-modern>.holiday-summary{padding:11px 12px!important;grid-template-columns:minmax(0,1fr) 82px 18px!important}
  .holiday-card-modern .holiday-empty,.holiday-card-modern .special-badge{width:82px!important;min-width:82px!important;max-width:82px!important}
}
@media(max-width:420px){
  .sb-nav-group{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .snav-item{font-size:11.5px!important}
}


.holiday-details:not(.holiday-card-modern) .holiday-summary::after{content:'+';}
.holiday-card-modern>.holiday-summary::after{content:'›'!important;}
.holiday-card-modern>.holiday-summary{display:grid!important;grid-template-columns:minmax(0,1fr) 92px 18px!important;align-items:center!important;gap:10px!important;}
.holiday-card-modern .holiday-empty,.holiday-card-modern .special-badge{grid-column:2!important;width:92px!important;min-width:92px!important;max-width:92px!important;justify-self:end!important;text-align:center!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.admin-sidebar{min-height:0!important;}
.admin-shell{align-items:stretch;}
@media(max-width:900px){
  .admin-shell{display:block!important;}
  .admin-sidebar{width:100%!important;min-height:0!important;}
  .sb-nav-group{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;padding:8px!important;}
  .snav-item{justify-content:center!important;text-align:center!important;border-radius:999px!important;padding:8px 4px!important;font-size:11.5px!important;line-height:1.1!important;min-width:0!important;}
  .snav-item i{display:none!important;}
  .times-grid{display:flex!important;flex-direction:column!important;gap:12px!important;}
  .admin-topbar{height:auto!important;min-height:52px!important;padding:10px 12px!important;gap:8px!important;flex-wrap:wrap!important;}
  .topbar-actions{width:100%!important;justify-content:space-between!important;}
  .topbar-save{flex:1!important;justify-content:center!important;max-width:240px!important;}
}
@media(max-width:420px){
  .sb-nav-group{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  .snav-item{font-size:10px!important;padding:8px 2px!important;}
}




.zb{background:linear-gradient(150deg,#061A33 0%,#082A4F 58%,#0D3A6D 100%)!important;color:#fff!important;}
.ziv,.zi.c .ziv{color:#fff!important;}.zil,.zbtl{color:#FFE6A6!important;}
.zg{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));}
@media(min-width:760px){.zg{grid-template-columns:repeat(6,1fr)!important;}}
@media(max-width:900px){.sb-nav-group{grid-template-columns:repeat(5,minmax(0,1fr))!important}.snav-item{background:rgba(255,255,255,.10)!important;color:#fff!important}.snav-item.on{background:rgba(246,217,138,.22)!important;color:#fff!important}}


/* ── dark mode theme tokens (defined in :root, overridden per theme below) ── */
html[data-theme="light"]{color-scheme:light;}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg-app:var(--dark-bg);--bg-surface:var(--dark-surface);--bg-warm:var(--dark-surface-2);
  --cream:var(--dark-bg);--paper:var(--dark-surface);--warm:var(--dark-surface-2);
  --text:var(--dark-text);--muted:var(--dark-muted);--color-text:var(--dark-text);--color-muted:var(--dark-muted);
  --navy:#1D4ED8;--nvm:#1E40AF;--nvl:#2563EB;--gold-text:#FDE68A;--gold-light:#FFE6A6;
}

html[data-theme="dark"] body,html[data-theme="dark"] #app,html[data-theme="dark"] .main{background:var(--dark-bg)!important;color:var(--dark-text)!important;}
html[data-theme="dark"] .home-panel,html[data-theme="dark"] .notice-card,html[data-theme="dark"] .nextbox,html[data-theme="dark"] .next-strip,html[data-theme="dark"] .upcoming-row,html[data-theme="dark"] .tr,html[data-theme="dark"] .sc,html[data-theme="dark"] .sbc,html[data-theme="dark"] .ccc,html[data-theme="dark"] .citem,html[data-theme="dark"] .chip,html[data-theme="dark"] .pt,html[data-theme="dark"] .admin-frame,html[data-theme="dark"] .admin-content,html[data-theme="dark"] .admin-scroll,html[data-theme="dark"] .sec-card,html[data-theme="dark"] .admin-edit-row,html[data-theme="dark"] .admin-topbar,html[data-theme="dark"] .holiday-card-modern,html[data-theme="dark"] .holiday-card-modern>.holiday-summary,html[data-theme="dark"] .holiday-details,html[data-theme="dark"] .smrow,html[data-theme="dark"] .sfw,html[data-theme="dark"] .api-tog-row,html[data-theme="dark"] .quick-ann,html[data-theme="dark"] .copybox,html[data-theme="dark"] .plan-card,html[data-theme="dark"] .mazal-card,html[data-theme="dark"] .ann-today,html[data-theme="dark"] .ann-card,html[data-theme="dark"] .ann-empty,html[data-theme="dark"] .special-card,html[data-theme="dark"] .lcard,html[data-theme="dark"] .login-box,html[data-theme="dark"] .login-body-modern{background:var(--dark-surface)!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important;box-shadow:0 5px 18px rgba(0,0,0,.35)!important;}
html[data-theme="dark"] .admin-sidebar,html[data-theme="dark"] .sbmini,html[data-theme="dark"] .admin-row-editor,html[data-theme="dark"] .holiday-card-modern .holiday-body,html[data-theme="dark"] .holiday-row-list,html[data-theme="dark"] .program-field,html[data-theme="dark"] .expiry-box,html[data-theme="dark"] .ann-top,html[data-theme="dark"] .shabbat-note-field{background:var(--dark-surface-2)!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important;}
html[data-theme="dark"] .home-title,html[data-theme="dark"] .panel-title,html[data-theme="dark"] .next-strip-main,html[data-theme="dark"] .upcoming-time,html[data-theme="dark"] .upcoming-title,html[data-theme="dark"] .sn,html[data-theme="dark"] .scn,html[data-theme="dark"] .cct,html[data-theme="dark"] .sbval,html[data-theme="dark"] .tbg,html[data-theme="dark"] .aht,html[data-theme="dark"] .asec h3,html[data-theme="dark"] .admin-row-title,html[data-theme="dark"] .holiday-title,html[data-theme="dark"] .topbar-crumb span,html[data-theme="dark"] .sb-shul-name,html[data-theme="dark"] .cit,html[data-theme="dark"] label,html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3{color:var(--dark-text)!important;opacity:1!important;}
html[data-theme="dark"] .home-date,html[data-theme="dark"] .next-strip-sub,html[data-theme="dark"] .nextsub,html[data-theme="dark"] .upcoming-shul,html[data-theme="dark"] .sa,html[data-theme="dark"] .scr,html[data-theme="dark"] .ccs,html[data-theme="dark"] .ccte,html[data-theme="dark"] .sblbl,html[data-theme="dark"] .cim,html[data-theme="dark"] .muted,html[data-theme="dark"] .admin-row-sub,html[data-theme="dark"] .time-note,html[data-theme="dark"] .notice-text,html[data-theme="dark"] .sec-lbl,html[data-theme="dark"] .fl,html[data-theme="dark"] .fld-lbl,html[data-theme="dark"] .sb-shul-rabbi,html[data-theme="dark"] .smsub,html[data-theme="dark"] .ann-exp{color:var(--dark-muted)!important;opacity:1!important;}
html[data-theme="dark"] .fi,html[data-theme="dark"] .fld,html[data-theme="dark"] .fsl,html[data-theme="dark"] .fsel,html[data-theme="dark"] .finp,html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select{background:var(--dark-input)!important;color:#fff!important;border-color:var(--dark-border)!important;}
html[data-theme="dark"] .btn-s,html[data-theme="dark"] .tinybtn,html[data-theme="dark"] .add-row-btn,html[data-theme="dark"] .share-btn,html[data-theme="dark"] .share-row.schedule-actions .share-btn{background:var(--dark-surface-2)!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important;}
html[data-theme="dark"] .btn-s:hover,html[data-theme="dark"] .tinybtn:hover,html[data-theme="dark"] .add-row-btn:hover,html[data-theme="dark"] .share-btn:hover,html[data-theme="dark"] .share-row.schedule-actions .share-btn:hover{background:#334155!important;color:#fff!important;border-color:var(--dark-soft)!important;}
html[data-theme="dark"] .holiday-empty,html[data-theme="dark"] .holiday-empty-badge,html[data-theme="dark"] .special-badge,html[data-theme="dark"] .rel-badge,html[data-theme="dark"] .panel-mode,html[data-theme="dark"] .upcoming-count{background:#334155!important;color:#fff!important;border-color:#64748B!important;}

@media(prefers-color-scheme:dark){
  html:not([data-theme]){color-scheme:dark;--bg-app:var(--dark-bg);--bg-surface:var(--dark-surface);--bg-warm:var(--dark-surface-2);--cream:var(--dark-bg);--paper:var(--dark-surface);--warm:var(--dark-surface-2);--text:var(--dark-text);--muted:var(--dark-muted);--color-text:var(--dark-text);--color-muted:var(--dark-muted);--navy:#1D4ED8;--nvm:#1E40AF;--nvl:#2563EB;--gold-text:#FDE68A;--gold-light:#FFE6A6;}
  html:not([data-theme]) body,html:not([data-theme]) #app,html:not([data-theme]) .main{background:var(--dark-bg)!important;color:var(--dark-text)!important;}
  html:not([data-theme]) .home-panel,html:not([data-theme]) .notice-card,html:not([data-theme]) .nextbox,html:not([data-theme]) .next-strip,html:not([data-theme]) .upcoming-row,html:not([data-theme]) .tr,html:not([data-theme]) .sc,html:not([data-theme]) .sbc,html:not([data-theme]) .ccc,html:not([data-theme]) .citem,html:not([data-theme]) .chip,html:not([data-theme]) .pt,html:not([data-theme]) .admin-frame,html:not([data-theme]) .admin-content,html:not([data-theme]) .admin-scroll,html:not([data-theme]) .sec-card,html:not([data-theme]) .admin-edit-row,html:not([data-theme]) .admin-topbar,html:not([data-theme]) .holiday-card-modern,html:not([data-theme]) .holiday-card-modern>.holiday-summary,html:not([data-theme]) .holiday-details,html:not([data-theme]) .smrow,html:not([data-theme]) .sfw,html:not([data-theme]) .api-tog-row,html:not([data-theme]) .quick-ann,html:not([data-theme]) .copybox,html:not([data-theme]) .plan-card,html:not([data-theme]) .mazal-card,html:not([data-theme]) .ann-today,html:not([data-theme]) .ann-card,html:not([data-theme]) .ann-empty,html:not([data-theme]) .special-card,html:not([data-theme]) .lcard,html:not([data-theme]) .login-box,html:not([data-theme]) .login-body-modern{background:var(--dark-surface)!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important;box-shadow:0 5px 18px rgba(0,0,0,.35)!important;}
  html:not([data-theme]) .admin-sidebar,html:not([data-theme]) .sbmini,html:not([data-theme]) .admin-row-editor,html:not([data-theme]) .holiday-card-modern .holiday-body,html:not([data-theme]) .holiday-row-list,html:not([data-theme]) .program-field,html:not([data-theme]) .expiry-box,html:not([data-theme]) .ann-top,html:not([data-theme]) .shabbat-note-field{background:var(--dark-surface-2)!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important;}
  html:not([data-theme]) .home-title,html:not([data-theme]) .panel-title,html:not([data-theme]) .next-strip-main,html:not([data-theme]) .upcoming-time,html:not([data-theme]) .upcoming-title,html:not([data-theme]) .sn,html:not([data-theme]) .scn,html:not([data-theme]) .cct,html:not([data-theme]) .sbval,html:not([data-theme]) .tbg,html:not([data-theme]) .aht,html:not([data-theme]) .asec h3,html:not([data-theme]) .admin-row-title,html:not([data-theme]) .holiday-title,html:not([data-theme]) .topbar-crumb span,html:not([data-theme]) .sb-shul-name,html:not([data-theme]) .cit,html:not([data-theme]) label,html:not([data-theme]) h1,html:not([data-theme]) h2,html:not([data-theme]) h3{color:var(--dark-text)!important;opacity:1!important;}
  html:not([data-theme]) .home-date,html:not([data-theme]) .next-strip-sub,html:not([data-theme]) .nextsub,html:not([data-theme]) .upcoming-shul,html:not([data-theme]) .sa,html:not([data-theme]) .scr,html:not([data-theme]) .ccs,html:not([data-theme]) .ccte,html:not([data-theme]) .sblbl,html:not([data-theme]) .cim,html:not([data-theme]) .muted,html:not([data-theme]) .admin-row-sub,html:not([data-theme]) .time-note,html:not([data-theme]) .notice-text,html:not([data-theme]) .sec-lbl,html:not([data-theme]) .fl,html:not([data-theme]) .fld-lbl,html:not([data-theme]) .sb-shul-rabbi,html:not([data-theme]) .smsub,html:not([data-theme]) .ann-exp{color:var(--dark-muted)!important;opacity:1!important;}
  html:not([data-theme]) .fi,html:not([data-theme]) .fld,html:not([data-theme]) .fsl,html:not([data-theme]) .fsel,html:not([data-theme]) .finp,html:not([data-theme]) input,html:not([data-theme]) textarea,html:not([data-theme]) select{background:var(--dark-input)!important;color:#fff!important;border-color:var(--dark-border)!important;}
  html:not([data-theme]) .btn-s,html:not([data-theme]) .tinybtn,html:not([data-theme]) .add-row-btn,html:not([data-theme]) .share-btn,html:not([data-theme]) .share-row.schedule-actions .share-btn{background:var(--dark-surface-2)!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important;}
  html:not([data-theme]) .btn-s:hover,html:not([data-theme]) .tinybtn:hover,html:not([data-theme]) .add-row-btn:hover,html:not([data-theme]) .share-btn:hover,html:not([data-theme]) .share-row.schedule-actions .share-btn:hover{background:#334155!important;color:#fff!important;border-color:var(--dark-soft)!important;}
  html:not([data-theme]) .holiday-empty,html:not([data-theme]) .holiday-empty-badge,html:not([data-theme]) .special-badge,html:not([data-theme]) .rel-badge,html:not([data-theme]) .panel-mode,html:not([data-theme]) .upcoming-count{background:#334155!important;color:#fff!important;border-color:#64748B!important;}
}

.admin-sidebar{min-height:0;}
.admin-shell{align-items:stretch;}
@media(max-width:900px){
  .admin-sidebar{width:100%!important;min-height:0!important;}
  .sb-nav-group{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;padding:10px!important;}
  .snav-item{justify-content:center!important;text-align:center!important;border-radius:999px!important;padding:9px 4px!important;font-size:11px!important;line-height:1.1!important;}
}
@media(max-width:420px){.snav-item{font-size:10px!important;padding:8px 2px!important;}}

.share-row.schedule-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin-top:10px!important;align-items:stretch!important;}
.share-row.schedule-actions .share-btn{width:100%!important;text-align:center!important;justify-content:center!important;font-weight:800!important;min-height:38px!important;display:flex!important;align-items:center!important;white-space:normal!important;line-height:1.15!important;}
@media(max-width:420px){.share-row.schedule-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

.zg{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
@media(max-width:640px){.zg{grid-template-columns:repeat(3,minmax(0,1fr))!important}.zi{min-height:70px!important}.ziv{font-size:1rem!important}.zil{font-size:.58rem!important}}

/* v155 PWA install guide */
.install-mini{font-weight:800;min-width:52px;}
.install-overlay{position:fixed;inset:0;z-index:9999;background:rgba(4,18,35,.48);display:flex;align-items:flex-end;justify-content:center;padding:16px;backdrop-filter:blur(2px);}
.install-card{width:min(520px,100%);background:var(--paper,#fff);color:var(--ink,#082A4F);border:1px solid rgba(201,164,90,.28);border-radius:24px;padding:18px;box-shadow:0 18px 55px rgba(0,0,0,.25);}
.install-head{display:flex;gap:12px;align-items:center;margin-bottom:14px;}
.install-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--warm,#FAF6EA);font-size:26px;}
.install-title-wrap{flex:1;min-width:0;}.install-title{font-weight:900;font-size:1.15rem;}.install-sub{color:var(--muted,#6f6b66);font-size:.9rem;margin-top:2px;}
.install-close{border:0;background:transparent;color:inherit;font-size:28px;line-height:1;width:38px;height:38px;border-radius:999px;cursor:pointer;}
.install-close:hover{background:rgba(9,42,85,.08);}.install-primary{width:100%;border:0;border-radius:16px;padding:14px 16px;font-weight:900;background:var(--blue,#082A4F);color:#fff;font-size:1rem;cursor:pointer;}
.install-steps{background:var(--warm,#FAF6EA);border:1px solid rgba(201,164,90,.22);border-radius:16px;padding:12px 16px;}.install-steps ol{margin:0;padding-inline-start:22px;}.install-steps li{margin:8px 0;font-weight:700;}
.install-done{padding:14px 16px;border-radius:16px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25);font-weight:800;}
.install-benefits{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px;}.install-benefit{font-size:.88rem;color:var(--muted,#6f6b66);font-weight:700;}
@media(min-width:560px){.install-overlay{align-items:center}.install-benefits{grid-template-columns:1fr 1fr 1fr}.install-card{padding:22px}}
html[data-theme="dark"] .install-card{background:var(--dark-surface)!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important;}
html[data-theme="dark"] .install-icon,html[data-theme="dark"] .install-steps{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;}
html[data-theme="dark"] .install-sub,html[data-theme="dark"] .install-benefit{color:var(--dark-muted)!important;}

/* ── v156 Chrome dark header/nav parity fix ────────────────────────────────
   The public header was redesigned in v45 as .institutional-hdr with hard-coded
   light backgrounds. Some mobile Chrome builds keep that light header even when
   the app is in dark mode. Force the entire public chrome layer to bind to the
   dark theme tokens. */
html[data-theme="dark"] .hdr.institutional-hdr,
html[data-theme="dark"] header.hdr.institutional-hdr{
  background:linear-gradient(180deg,#111827 0%,#0F172A 100%)!important;
  color:var(--dark-text,#F8FAFC)!important;
  border-bottom:1px solid var(--dark-border,rgba(148,163,184,.28))!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .hdr.institutional-hdr .brand-centered .ht h1,
html[data-theme="dark"] .hdr.institutional-hdr .brand-centered .ht p{
  color:var(--dark-text,#F8FAFC)!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-theme="dark"] .hdr.institutional-hdr .brand-line{
  background:linear-gradient(90deg,transparent,var(--dark-gold,#FDE68A))!important;
}
html[data-theme="dark"] .hdr.institutional-hdr .brand-line:last-child{
  background:linear-gradient(90deg,var(--dark-gold,#FDE68A),transparent)!important;
}
html[data-theme="dark"] .hdr.institutional-hdr .header-tools .lb,
html[data-theme="dark"] .hdr.institutional-hdr .header-tools .pb{
  background:var(--dark-surface-2,#1E293B)!important;
  color:var(--dark-text,#F8FAFC)!important;
  border-color:var(--dark-border,rgba(148,163,184,.34))!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .hdr.institutional-hdr .header-tools .lb.on,
html[data-theme="dark"] .hdr.institutional-hdr .header-tools .lb:hover,
html[data-theme="dark"] .hdr.institutional-hdr .header-tools .pb:hover{
  background:rgba(232,197,111,.16)!important;
  color:var(--dark-gold,#FDE68A)!important;
  border-color:rgba(232,197,111,.45)!important;
}
html[data-theme="dark"] .nav{
  background:#111827!important;
  border-top:1px solid var(--dark-border,rgba(148,163,184,.28))!important;
  border-bottom:1px solid var(--dark-border,rgba(148,163,184,.28))!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .nt{
  color:var(--dark-muted,#CBD5E1)!important;
  opacity:1!important;
}
html[data-theme="dark"] .nt:hover,
html[data-theme="dark"] .nt.on{
  color:var(--dark-gold,#FDE68A)!important;
  background:rgba(232,197,111,.10)!important;
  border-bottom-color:var(--dark-gold,#FDE68A)!important;
}

@media(prefers-color-scheme:dark){
  html:not([data-theme]) .hdr.institutional-hdr,
  html:not([data-theme]) header.hdr.institutional-hdr{
    background:linear-gradient(180deg,#111827 0%,#0F172A 100%)!important;
    color:var(--dark-text,#F8FAFC)!important;
    border-bottom:1px solid var(--dark-border,rgba(148,163,184,.28))!important;
    box-shadow:none!important;
  }
  html:not([data-theme]) .hdr.institutional-hdr .brand-centered .ht h1,
  html:not([data-theme]) .hdr.institutional-hdr .brand-centered .ht p{color:var(--dark-text,#F8FAFC)!important;opacity:1!important;}
  html:not([data-theme]) .hdr.institutional-hdr .brand-line{background:linear-gradient(90deg,transparent,var(--dark-gold,#FDE68A))!important;}
  html:not([data-theme]) .hdr.institutional-hdr .brand-line:last-child{background:linear-gradient(90deg,var(--dark-gold,#FDE68A),transparent)!important;}
  html:not([data-theme]) .hdr.institutional-hdr .header-tools .lb,
  html:not([data-theme]) .hdr.institutional-hdr .header-tools .pb{background:var(--dark-surface-2,#1E293B)!important;color:var(--dark-text,#F8FAFC)!important;border-color:var(--dark-border,rgba(148,163,184,.34))!important;box-shadow:none!important;}
  html:not([data-theme]) .hdr.institutional-hdr .header-tools .lb.on,
  html:not([data-theme]) .hdr.institutional-hdr .header-tools .lb:hover,
  html:not([data-theme]) .hdr.institutional-hdr .header-tools .pb:hover{background:rgba(232,197,111,.16)!important;color:var(--dark-gold,#FDE68A)!important;border-color:rgba(232,197,111,.45)!important;}
  html:not([data-theme]) .nav{background:#111827!important;border-top:1px solid var(--dark-border,rgba(148,163,184,.28))!important;border-bottom:1px solid var(--dark-border,rgba(148,163,184,.28))!important;box-shadow:none!important;}
  html:not([data-theme]) .nt{color:var(--dark-muted,#CBD5E1)!important;opacity:1!important;}
  html:not([data-theme]) .nt:hover,
  html:not([data-theme]) .nt.on{color:var(--dark-gold,#FDE68A)!important;background:rgba(232,197,111,.10)!important;border-bottom-color:var(--dark-gold,#FDE68A)!important;}
}

/* v158-v160: install card, favorite shuls, push */
.install-nudge,.favorite-card{border-color:rgba(214,174,93,.35)}
.nudge-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.favorite-list{display:grid;gap:8px;margin:12px 0}.favorite-row{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--card2);font-weight:850;color:var(--text);cursor:pointer}.favorite-row input{accent-color:var(--blue)}.favorite-dot{width:12px;height:12px;border-radius:999px;display:inline-block;box-shadow:0 0 0 3px rgba(255,255,255,.08)}.favorite-name{flex:1}.push-card .push-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:9px 0}.push-opt{font-size:.82rem;font-weight:800;color:var(--text);display:flex;align-items:center;gap:5px}.push-opt input{accent-color:var(--blue)}
@media(max-width:620px){.push-card .push-grid{grid-template-columns:1fr}.nudge-actions{flex-direction:column;align-items:stretch}.nudge-actions .btn-s,.nudge-actions .mini-link{width:100%}}

/* v162 Push Center / visible announcement controls */
.push-inline-box{margin-top:12px;padding:12px;border:1px solid rgba(245,158,11,.32);border-radius:16px;background:rgba(245,158,11,.08)}
.push-inline-head{font-weight:800;margin-bottom:8px;color:var(--ink,#0f2346)}
html[data-theme="dark"] .push-inline-head{color:#eaf6ff}
.push-inline-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.push-inline-controls .push-type{min-width:170px;max-width:240px}
.push-check{display:flex;align-items:center;gap:6px;font-weight:700}
.push-center{border:1px solid rgba(59,130,246,.25);background:rgba(59,130,246,.06)}
html[data-theme="dark"] .push-inline-box, html[data-theme="dark"] .push-center{background:rgba(59,130,246,.08);border-color:rgba(147,197,253,.28)}

/* v166-v168: sponsors, tefillah context, gabbai freshness */
.tefillah-context{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}.tefillah-chip{display:inline-flex;align-items:center;border:1px solid rgba(201,164,90,.55);background:rgba(255,248,225,.12);color:var(--gold);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850}.sponsor-card{border-color:rgba(201,164,90,.45);background:linear-gradient(135deg,rgba(255,248,230,.09),rgba(255,255,255,.035))}.sponsor-line{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid rgba(201,164,90,.15)}.sponsor-line:first-of-type{border-top:0}.sponsor-logo{width:38px;height:38px;object-fit:contain;border-radius:8px;background:#fff;padding:3px}.sponsor-type{font-size:11px;color:var(--gold);font-weight:850;text-transform:uppercase;letter-spacing:.04em}.sponsor-text{font-size:14px;font-weight:850;color:var(--text)}.sponsor-link{color:inherit;text-decoration:none;display:block}.sponsor-admin-row{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.04);display:flex;flex-direction:column;gap:10px}.sponsor-admin-list{gap:12px}.fr2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:720px){.fr2{grid-template-columns:1fr}.tefillah-chip{font-size:11px}}

/* v168.2: homepage polish, sponsor card, My Shuls placement, Shabbat actions */
.home-main-stack{display:flex;flex-direction:column;gap:16px;min-width:0;}
.home-main-stack>.favorite-card{order:3;}
.favorite-card{position:relative;overflow:hidden;border:1px solid rgba(201,164,90,.30);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(250,246,234,.86));}
.favorite-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--blue),var(--gold));opacity:.9;}
.favorite-card .notice-title{font-size:1rem;font-weight:950;display:flex;align-items:center;gap:6px;}
.favorite-card .notice-text{font-weight:800;color:var(--text);background:rgba(9,42,85,.045);border:1px solid rgba(9,42,85,.08);border-radius:14px;padding:10px 12px;margin-top:9px;}
.favorite-card .nudge-actions{gap:10px;margin-top:12px;}
.favorite-card .btn-s{border-radius:999px;padding:9px 14px;font-weight:950;}
.favorite-card .mini-link{border-radius:999px;padding:9px 14px;font-weight:900;background:#fff;border:1px solid rgba(201,164,90,.34);}
.sponsor-card{position:relative;overflow:hidden;border:1px solid rgba(201,164,90,.42)!important;background:linear-gradient(135deg,rgba(255,250,235,.98),rgba(255,255,255,.90))!important;}
.sponsor-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#d6ae5d,#f4d58d);}
.sponsor-head{display:flex;align-items:center;gap:11px;margin-bottom:8px;}
.sponsor-heart{width:36px;height:36px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(201,164,90,.15);box-shadow:inset 0 0 0 1px rgba(201,164,90,.22);}
.sponsor-title{padding:0!important;margin:0!important;line-height:1.1;}
.sponsor-subtitle{font-size:.76rem;font-weight:800;color:var(--muted);margin-top:2px;}
.sponsor-line{display:flex;gap:11px;align-items:center;padding:10px 0;border-top:1px solid rgba(201,164,90,.16);}
.sponsor-line:first-of-type{border-top:0;}
.sponsor-medal{width:38px;height:38px;min-width:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(201,164,90,.25);box-shadow:0 4px 14px rgba(9,42,85,.06);}
.sponsor-copy{min-width:0;}
.sponsor-type{text-transform:none!important;letter-spacing:0!important;font-size:.74rem!important;color:#9A6A13!important;font-weight:950!important;margin-bottom:2px;}
.sponsor-text{font-size:.95rem!important;line-height:1.35;font-weight:950!important;color:var(--text)!important;overflow-wrap:anywhere;}
.sbc .share-row.schedule-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
.sbc .share-row.schedule-actions .share-btn{font-size:.73rem!important;padding:8px 6px!important;min-height:40px!important;}
@media(max-width:520px){.sbc .share-row.schedule-actions{grid-template-columns:1fr 1fr!important}.sbc .share-row.schedule-actions .share-btn{font-size:.70rem!important}}
html[data-theme="dark"] .favorite-card,html[data-theme="dark"] .sponsor-card{background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;}
html[data-theme="dark"] .favorite-card .notice-text,html[data-theme="dark"] .sponsor-medal{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;}


/* v168.3: full sponsor/favorites/action polish */
.sponsor-card-v3{position:relative;overflow:hidden;border:1px solid rgba(201,164,90,.34)!important;border-radius:20px!important;background:linear-gradient(135deg,#fffaf0 0%,#ffffff 54%,#f8fbff 100%)!important;box-shadow:0 14px 32px rgba(9,42,85,.10)!important;padding:14px 15px!important;margin:0 0 12px!important;}
.sponsor-card-v3::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#c9a45a,#f4d58d,#c9a45a);}
.sponsor-card-v3 .sponsor-head{display:flex;align-items:center;gap:12px;margin:1px 0 11px;}
.sponsor-card-v3 .sponsor-heart{width:40px;height:40px;min-width:40px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff1c6,#ffffff);color:#9A6A13;font-size:22px;border:1px solid rgba(201,164,90,.35);box-shadow:0 7px 18px rgba(201,164,90,.16);}
.sponsor-head-copy{min-width:0;}
.sponsor-card-v3 .sponsor-title{font-size:1.02rem!important;font-weight:950!important;color:#0A2F5F!important;line-height:1.15!important;}
.sponsor-card-v3 .sponsor-subtitle{font-size:.78rem!important;font-weight:800!important;color:#6b5a3b!important;line-height:1.25!important;margin-top:3px!important;}
.sponsor-card-v3 .sponsor-line{display:flex;align-items:center;gap:12px;padding:12px 0 2px;border-top:1px solid rgba(201,164,90,.15)!important;}
.sponsor-card-v3 .sponsor-line:first-of-type{border-top:0!important;padding-top:2px;}
.sponsor-card-v3 .sponsor-medal,.sponsor-card-v3 .sponsor-logo{width:42px;height:42px;min-width:42px;border-radius:16px;background:#fff;border:1px solid rgba(201,164,90,.25);box-shadow:0 8px 20px rgba(9,42,85,.07);display:flex;align-items:center;justify-content:center;object-fit:contain;padding:4px;}
.sponsor-card-v3 .sponsor-copy{min-width:0;flex:1;}
.sponsor-card-v3 .sponsor-type{font-size:.72rem!important;font-weight:900!important;color:#9A6A13!important;line-height:1.1!important;margin:0 0 4px!important;text-transform:none!important;letter-spacing:0!important;}
.sponsor-card-v3 .sponsor-text{font-size:1rem!important;font-weight:950!important;line-height:1.35!important;color:#1b2733!important;overflow-wrap:anywhere;}
.scb>.sponsor-card-v3,.sbrows>.sponsor-card-v3{margin:12px 0!important;box-shadow:0 9px 22px rgba(9,42,85,.08)!important;}
.favorite-card{border-radius:20px!important;border:1px solid rgba(15,53,92,.14)!important;background:linear-gradient(135deg,#ffffff,#f6f9fc)!important;box-shadow:0 12px 28px rgba(9,42,85,.08)!important;margin:12px 0 0!important;padding:14px 15px!important;}
.favorite-card .notice-title{font-size:1rem!important;line-height:1.15!important;margin-bottom:5px!important;color:#0A2F5F!important;}
.favorite-card .notice-text{font-size:.88rem!important;line-height:1.35!important;color:#52606d!important;background:rgba(15,53,92,.045);border-radius:12px;padding:9px 10px;margin:8px 0!important;}
.favorite-card .nudge-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.favorite-card .btn-s,.favorite-card .mini-link{min-height:38px;border-radius:12px;font-size:.83rem;font-weight:900;}
.share-row.schedule-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:10px!important;align-items:stretch!important;}
.share-row.schedule-actions .share-btn{width:100%!important;text-align:center!important;justify-content:center!important;font-weight:850!important;min-height:40px!important;display:flex!important;align-items:center!important;white-space:normal!important;line-height:1.15!important;font-size:.76rem!important;padding:8px 7px!important;border-radius:10px!important;}
.sbc .share-row.schedule-actions,.sc .share-row.schedule-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
.sbc .share-row.schedule-actions .share-btn,.sc .share-row.schedule-actions .share-btn{font-size:.76rem!important;padding:8px 7px!important;min-height:40px!important;}
@media(min-width:760px){.share-row.schedule-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important}.sbc .share-row.schedule-actions,.sc .share-row.schedule-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:420px){.sponsor-card-v3 .sponsor-title{font-size:.98rem!important}.sponsor-card-v3 .sponsor-text{font-size:.94rem!important}.favorite-card .nudge-actions>*{flex:1 1 100%;}}
html[data-theme="dark"] .sponsor-card-v3,html[data-theme="dark"] .favorite-card{background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;border-color:var(--dark-border)!important;box-shadow:0 10px 28px rgba(0,0,0,.32)!important;}
html[data-theme="dark"] .sponsor-card-v3 .sponsor-title,html[data-theme="dark"] .favorite-card .notice-title,html[data-theme="dark"] .sponsor-card-v3 .sponsor-text{color:var(--dark-text)!important;}
html[data-theme="dark"] .sponsor-card-v3 .sponsor-subtitle,html[data-theme="dark"] .favorite-card .notice-text{color:var(--dark-muted)!important;}
html[data-theme="dark"] .sponsor-card-v3 .sponsor-medal,html[data-theme="dark"] .sponsor-card-v3 .sponsor-logo{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;}

/* v168.4: corrected sponsor cards, Shabbat card parity, and stable action buttons */
.sponsor-card-v4{position:relative;overflow:hidden;border-radius:22px!important;border:1px solid rgba(201,164,90,.30)!important;background:linear-gradient(135deg,#fffdf6 0%,#ffffff 58%,#f5f9ff 100%)!important;box-shadow:0 12px 28px rgba(9,42,85,.09)!important;padding:14px 15px!important;margin:0 0 12px!important;}
.sponsor-card-v4::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#c9a45a,#f7e3aa,#c9a45a);}
.sponsor-card-v4 .sponsor-ribbon{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(201,164,90,.30);background:rgba(201,164,90,.10);color:#8a6418;border-radius:999px;padding:5px 10px;margin:2px 0 8px;font-size:.72rem;font-weight:950;letter-spacing:.01em;}
.sponsor-card-v4 .sponsor-line{display:flex;align-items:center;gap:12px;padding:8px 0 2px;border-top:0!important;}
.sponsor-card-v4 .sponsor-medal,.sponsor-card-v4 .sponsor-logo{width:44px;height:44px;min-width:44px;border-radius:16px;background:#fff;border:1px solid rgba(201,164,90,.25);box-shadow:0 7px 18px rgba(9,42,85,.07);display:flex;align-items:center;justify-content:center;object-fit:contain;padding:4px;font-size:22px;}
.sponsor-card-v4 .sponsor-copy{min-width:0;flex:1;}
.sponsor-card-v4 .sponsor-type{font-size:.73rem!important;font-weight:900!important;color:#9A6A13!important;line-height:1.1!important;margin:0 0 4px!important;text-transform:none!important;letter-spacing:0!important;}
.sponsor-card-v4 .sponsor-text{font-size:1.04rem!important;font-weight:950!important;line-height:1.35!important;color:#172334!important;overflow-wrap:anywhere;}
html[data-theme="dark"] .sponsor-card-v4{background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;border-color:var(--dark-border)!important;box-shadow:0 10px 28px rgba(0,0,0,.32)!important;}
html[data-theme="dark"] .sponsor-card-v4 .sponsor-text{color:var(--dark-text)!important;}
html[data-theme="dark"] .sponsor-card-v4 .sponsor-ribbon{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;color:var(--gold)!important;}
html[data-theme="dark"] .sponsor-card-v4 .sponsor-medal,html[data-theme="dark"] .sponsor-card-v4 .sponsor-logo{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;}

/* Shabbat tab should use the same card width behavior as the Shuls tab */
.sbg{grid-template-columns:repeat(auto-fill,minmax(295px,1fr))!important;gap:16px!important;}
.sbc{display:flex!important;flex-direction:column!important;}
.sbc .sbrows{flex:1;display:flex;flex-direction:column;}
.sbc .share-row.schedule-actions,.sc .share-row.schedule-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:10px!important;align-items:stretch!important;}
.sbc .share-row.schedule-actions .share-btn,.sc .share-row.schedule-actions .share-btn{width:100%!important;text-align:center!important;justify-content:center!important;font-weight:850!important;min-height:40px!important;display:flex!important;align-items:center!important;white-space:normal!important;line-height:1.15!important;font-size:.76rem!important;padding:8px 7px!important;border-radius:10px!important;}
@media(min-width:760px){.sbc .share-row.schedule-actions,.sc .share-row.schedule-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media(max-width:720px){.sbg{grid-template-columns:1fr!important;}}


/* v168.5 sponsor card: show the real dedication text prominently, never just the type label */
.sponsor-card-v5{position:relative;overflow:hidden;border-radius:22px!important;border:1px solid rgba(201,164,90,.34)!important;background:linear-gradient(135deg,#fffdf7 0%,#ffffff 55%,#f5f9ff 100%)!important;box-shadow:0 12px 28px rgba(9,42,85,.09)!important;padding:15px 16px!important;margin:0 0 12px!important;}
.sponsor-card-v5::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#c9a45a,#f7e3aa,#c9a45a);}
.sponsor-card-v5 .sponsor-topline{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:950;color:#8a6418;margin:2px 0 10px;}
.sponsor-card-v5 .sponsor-candle{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(201,164,90,.13);border:1px solid rgba(201,164,90,.25);}
.sponsor-card-v5 .sponsor-line{display:flex;align-items:flex-start;gap:12px;padding:4px 0 2px;border-top:0!important;}
.sponsor-card-v5 .sponsor-medal,.sponsor-card-v5 .sponsor-logo{width:42px;height:42px;min-width:42px;border-radius:16px;background:#fff;border:1px solid rgba(201,164,90,.25);box-shadow:0 7px 18px rgba(9,42,85,.07);display:flex;align-items:center;justify-content:center;object-fit:contain;padding:4px;font-size:22px;}
.sponsor-card-v5 .sponsor-copy{min-width:0;flex:1;}
.sponsor-card-v5 .sponsor-type{font-size:.72rem!important;font-weight:850!important;color:#9A6A13!important;line-height:1.15!important;margin:0 0 5px!important;text-transform:none!important;letter-spacing:0!important;}
.sponsor-card-v5 .sponsor-text{font-size:1.08rem!important;font-weight:950!important;line-height:1.38!important;color:#172334!important;overflow-wrap:anywhere;}
html[data-theme="dark"] .sponsor-card-v5{background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;border-color:var(--dark-border)!important;box-shadow:0 10px 28px rgba(0,0,0,.32)!important;}
html[data-theme="dark"] .sponsor-card-v5 .sponsor-text{color:var(--dark-text)!important;}
html[data-theme="dark"] .sponsor-card-v5 .sponsor-topline{color:var(--gold)!important;}
html[data-theme="dark"] .sponsor-card-v5 .sponsor-medal,html[data-theme="dark"] .sponsor-card-v5 .sponsor-logo,html[data-theme="dark"] .sponsor-card-v5 .sponsor-candle{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;}


/* v168.6: final sponsor card text fix - body shows real dedication only */
.sponsor-card-v6{position:relative;overflow:hidden;border-radius:22px!important;border:1px solid rgba(201,164,90,.32)!important;background:linear-gradient(135deg,#fffaf1 0%,#ffffff 52%,#f7fbff 100%)!important;box-shadow:0 12px 28px rgba(9,42,85,.08)!important;padding:14px 16px!important;margin:0 0 14px!important;}
.sponsor-card-v6::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#c9a45a,#f7e3aa,#c9a45a);}
.sponsor-card-v6 .sponsor-line{display:flex;align-items:center;gap:14px;padding:7px 0 2px;border-top:0!important;}
.sponsor-card-v6 .sponsor-medal,.sponsor-card-v6 .sponsor-logo{width:46px;height:46px;min-width:46px;border-radius:16px;background:#fff;border:1px solid rgba(201,164,90,.28);box-shadow:0 8px 20px rgba(9,42,85,.07);display:flex;align-items:center;justify-content:center;object-fit:contain;padding:4px;font-size:22px;}
.sponsor-card-v6 .sponsor-copy{min-width:0;flex:1;}
.sponsor-card-v6 .sponsor-kicker{font-size:.76rem!important;font-weight:900!important;color:#9A6A13!important;line-height:1.15!important;margin:0 0 5px!important;letter-spacing:0!important;text-transform:none!important;}
.sponsor-card-v6 .sponsor-text{font-size:1.08rem!important;font-weight:950!important;line-height:1.42!important;color:#10233d!important;overflow-wrap:anywhere;}
html[dir="rtl"] .sponsor-card-v6 .sponsor-text{text-align:right;}
html[data-theme="dark"] .sponsor-card-v6{background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;border-color:var(--dark-border)!important;box-shadow:0 10px 28px rgba(0,0,0,.32)!important;}
html[data-theme="dark"] .sponsor-card-v6 .sponsor-text{color:var(--dark-text)!important;}
html[data-theme="dark"] .sponsor-card-v6 .sponsor-kicker{color:var(--gold)!important;}
html[data-theme="dark"] .sponsor-card-v6 .sponsor-medal,html[data-theme="dark"] .sponsor-card-v6 .sponsor-logo{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;}

/* v168.8 sponsor card: show real dedication text only, no empty label-only boxes */
.sponsor-card-v8{position:relative;overflow:hidden;border-radius:22px!important;border:1px solid rgba(201,164,90,.34)!important;background:linear-gradient(135deg,#fffaf0 0%,#ffffff 55%,#f7fbff 100%)!important;box-shadow:0 12px 28px rgba(9,42,85,.08)!important;padding:14px 16px!important;margin:0 0 14px!important;}
.sponsor-card-v8::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#c9a45a,#f7e3aa,#c9a45a);}
.sponsor-card-v8 .sponsor-line{display:flex;align-items:center;gap:14px;padding:8px 0 3px;border-top:0!important;}
.sponsor-card-v8 .sponsor-line+.sponsor-line{border-top:1px solid rgba(201,164,90,.16)!important;padding-top:13px;margin-top:8px;}
.sponsor-card-v8 .sponsor-medal,.sponsor-card-v8 .sponsor-logo{width:46px;height:46px;min-width:46px;border-radius:16px;background:#fff;border:1px solid rgba(201,164,90,.28);box-shadow:0 8px 20px rgba(9,42,85,.07);display:flex;align-items:center;justify-content:center;object-fit:contain;padding:4px;font-size:22px;}
.sponsor-card-v8 .sponsor-copy{min-width:0;flex:1;}
.sponsor-card-v8 .sponsor-kicker{font-size:.78rem!important;font-weight:900!important;color:#9A6A13!important;line-height:1.15!important;margin:0 0 6px!important;letter-spacing:0!important;text-transform:none!important;}
.sponsor-card-v8 .sponsor-text{font-size:1.08rem!important;font-weight:950!important;line-height:1.42!important;color:#10233d!important;overflow-wrap:anywhere;}
html[dir="rtl"] .sponsor-card-v8 .sponsor-text{text-align:right;}
.scb>.sponsor-card-v8{margin:12px 0!important;box-shadow:0 9px 22px rgba(9,42,85,.08)!important;}
html[data-theme="dark"] .sponsor-card-v8{background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;border-color:var(--dark-border)!important;box-shadow:0 10px 28px rgba(0,0,0,.32)!important;}
html[data-theme="dark"] .sponsor-card-v8 .sponsor-text{color:var(--dark-text)!important;}
html[data-theme="dark"] .sponsor-card-v8 .sponsor-kicker{color:var(--gold)!important;}
html[data-theme="dark"] .sponsor-card-v8 .sponsor-medal,html[data-theme="dark"] .sponsor-card-v8 .sponsor-logo{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;}

@media print {
  .p-sponsor {
    border-top: 1px solid #ccc;
    margin-top: 8pt;
    padding-top: 6pt;
    font-size: 10pt;
    color: #444;
    text-align: center;
    font-style: italic;
  }
}

/* v168.15 sponsor card final hardening: applies at every screen size and all historical sponsor-card versions */
.sponsor-card,
.sponsor-card-v3,
.sponsor-card-v4,
.sponsor-card-v5,
.sponsor-card-v6,
.sponsor-card-v8,
.sponsor-card-v13,
.sponsor-card-v15{
  position:relative!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#fffaf0 0%,#ffffff 55%,#f7fbff 100%)!important;
  border:1px solid rgba(201,164,90,.34)!important;
  box-shadow:0 12px 28px rgba(9,42,85,.08)!important;
  padding:14px 16px!important;
  color:#10233d!important;
}
.sponsor-card .sponsor-line,
.sponsor-card-v3 .sponsor-line,
.sponsor-card-v4 .sponsor-line,
.sponsor-card-v5 .sponsor-line,
.sponsor-card-v6 .sponsor-line,
.sponsor-card-v8 .sponsor-line,
.sponsor-card-v13 .sponsor-line,
.sponsor-card-v15 .sponsor-line{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding:8px 0 3px!important;
  border-top:0!important;
}
.sponsor-card .sponsor-text,
.sponsor-card-v3 .sponsor-text,
.sponsor-card-v4 .sponsor-text,
.sponsor-card-v5 .sponsor-text,
.sponsor-card-v6 .sponsor-text,
.sponsor-card-v8 .sponsor-text,
.sponsor-card-v13 .sponsor-text,
.sponsor-card-v15 .sponsor-text{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  font-size:1.08rem!important;
  line-height:1.42!important;
  font-weight:950!important;
  color:#10233d!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}
.sponsor-card .sponsor-kicker,
.sponsor-card-v3 .sponsor-kicker,
.sponsor-card-v4 .sponsor-kicker,
.sponsor-card-v5 .sponsor-kicker,
.sponsor-card-v6 .sponsor-kicker,
.sponsor-card-v8 .sponsor-kicker,
.sponsor-card-v13 .sponsor-kicker,
.sponsor-card-v15 .sponsor-kicker{
  display:block!important;
  font-size:.78rem!important;
  line-height:1.15!important;
  font-weight:900!important;
  color:#9A6A13!important;
  margin:0 0 6px!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.scb>.sponsor-card,.scb>.sponsor-card-v8,.scb>.sponsor-card-v13,.scb>.sponsor-card-v15{margin:12px 0!important;}
@media(prefers-color-scheme:dark){
  html:not([data-theme]) .sponsor-card,
  html:not([data-theme]) .sponsor-card-v3,
  html:not([data-theme]) .sponsor-card-v4,
  html:not([data-theme]) .sponsor-card-v5,
  html:not([data-theme]) .sponsor-card-v6,
  html:not([data-theme]) .sponsor-card-v8,
  html:not([data-theme]) .sponsor-card-v13,
  html:not([data-theme]) .sponsor-card-v15{
    background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;
    border-color:var(--dark-border)!important;
    color:var(--dark-text)!important;
  }
  html:not([data-theme]) .sponsor-card .sponsor-text,
  html:not([data-theme]) .sponsor-card-v3 .sponsor-text,
  html:not([data-theme]) .sponsor-card-v4 .sponsor-text,
  html:not([data-theme]) .sponsor-card-v5 .sponsor-text,
  html:not([data-theme]) .sponsor-card-v6 .sponsor-text,
  html:not([data-theme]) .sponsor-card-v8 .sponsor-text,
  html:not([data-theme]) .sponsor-card-v13 .sponsor-text,
  html:not([data-theme]) .sponsor-card-v15 .sponsor-text{color:var(--dark-text)!important;}
  html:not([data-theme]) .sponsor-card .sponsor-kicker,
  html:not([data-theme]) .sponsor-card-v8 .sponsor-kicker,
  html:not([data-theme]) .sponsor-card-v13 .sponsor-kicker,
  html:not([data-theme]) .sponsor-card-v15 .sponsor-kicker{color:var(--gold)!important;}
}


/* v168.17 sponsor layout: abandon nested legacy flex classes that measured 0x0 on live site */
.sponsor-card-v17{
  display:block!important;
  position:relative!important;
  overflow:visible!important;
  direction:inherit!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#fffaf0 0%,#ffffff 58%,#f7fbff 100%)!important;
  border:1px solid rgba(201,164,90,.42)!important;
  box-shadow:0 12px 28px rgba(9,42,85,.08)!important;
  padding:14px 16px!important;
  margin:0 0 14px!important;
  color:#10233d!important;
}
.sponsor-card-v17::before{
  content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;
  background:linear-gradient(180deg,#d6ae5d,#f4d58d)!important;
  border-radius:22px 0 0 22px;
}
.sponsor-line-v17{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  width:100%!important;
  min-height:50px!important;
  padding:7px 0!important;
  box-sizing:border-box!important;
}
.sponsor-line-v17 + .sponsor-line-v17{
  border-top:1px solid rgba(201,164,90,.18)!important;
  margin-top:8px!important;
  padding-top:13px!important;
}
.sponsor-medal-v17{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:46px!important;height:46px!important;min-width:46px!important;
  border-radius:16px!important;background:#fff!important;
  border:1px solid rgba(201,164,90,.28)!important;
  box-shadow:0 8px 20px rgba(9,42,85,.07)!important;
  font-size:22px!important;line-height:1!important;
}
.sponsor-copy-v17{
  display:block!important;min-width:0!important;width:100%!important;height:auto!important;
  overflow:visible!important;position:relative!important;z-index:2!important;
}
.sponsor-kicker-v17{
  display:block!important;visibility:visible!important;opacity:1!important;
  color:#9A6A13!important;font-size:.78rem!important;font-weight:900!important;
  line-height:1.15!important;margin:0 0 6px!important;text-align:inherit!important;
}
.sponsor-text-v17{
  display:block!important;visibility:visible!important;opacity:1!important;
  position:relative!important;z-index:3!important;
  color:#10233d!important;background:transparent!important;
  font-size:1.12rem!important;font-weight:950!important;line-height:1.45!important;
  width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;
  overflow:visible!important;white-space:normal!important;overflow-wrap:anywhere!important;
  text-align:inherit!important;transform:none!important;
}
.sponsor-link-v17{display:block!important;color:inherit!important;text-decoration:none!important;}
@media(prefers-color-scheme:dark){
  html:not([data-theme]) .sponsor-card-v17{background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;border-color:var(--dark-border)!important;color:var(--dark-text)!important;}
  html:not([data-theme]) .sponsor-text-v17{color:var(--dark-text)!important;}
  html:not([data-theme]) .sponsor-kicker-v17{color:var(--gold)!important;}
  html:not([data-theme]) .sponsor-medal-v17{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;}
}
html[data-theme="dark"] .sponsor-card-v17{background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;border-color:var(--dark-border)!important;color:var(--dark-text)!important;}
html[data-theme="dark"] .sponsor-text-v17{color:var(--dark-text)!important;}
html[data-theme="dark"] .sponsor-kicker-v17{color:var(--gold)!important;}
html[data-theme="dark"] .sponsor-medal-v17{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;}

/* v169 diagnostics + push UX */
.push-enable-btn.is-on{background:#0f7a3a!important;border-color:#0f7a3a!important;color:#fff!important;box-shadow:0 8px 20px rgba(15,122,58,.22)!important}
.push-enable-btn.is-off{box-shadow:0 8px 20px rgba(9,42,85,.18)!important}
.push-enable-btn:disabled{opacity:.65;cursor:wait;transform:none!important}
.super-push-dashboard .diag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
.diag-stat{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:12px;text-align:center}
.diag-num{font-size:1.65rem;font-weight:950;color:var(--accent)}
.diag-label{font-size:.78rem;color:var(--muted);font-weight:800}
.diagnostics-center .diag-results{display:grid;gap:8px;margin-top:12px}
.diag-section-title{font-weight:950;color:var(--accent);margin-top:10px}
.diag-check,.diag-error-row{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:start;border:1px solid var(--border);border-radius:14px;padding:10px;background:var(--card)}
.diag-check.ok{border-color:rgba(15,122,58,.35)}
.diag-check.bad{border-color:rgba(181,57,57,.45);background:rgba(181,57,57,.06)}
.diag-icon{width:24px;height:24px;border-radius:999px;display:inline-grid;place-items:center;font-weight:950;background:#0f7a3a;color:#fff}
.diag-check.bad .diag-icon{background:#b53939}
.diag-name{font-weight:900}
.diag-detail{font-size:.75rem;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.diag-error-row{grid-template-columns:1fr;border-color:rgba(181,57,57,.25)}

/* v169.1 Push Dashboard per-shul rows */
.push-shul-list{margin-top:12px;display:grid;gap:8px}
.push-shul-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(201,164,90,.35);border-radius:14px;background:rgba(255,250,240,.72)}
.push-shul-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.push-shul-main strong{font-weight:900;color:var(--navy)}
html[data-theme="dark"] .push-shul-row{background:rgba(255,255,255,.05);border-color:var(--dark-border)}
html[data-theme="dark"] .push-shul-main strong{color:var(--dark-text)}
@media(max-width:720px){.push-shul-row{align-items:stretch;flex-direction:column}.push-shul-row .btn-s{width:100%}}


/* v171 public polish: stable sponsor card, favorite notification card, print dedication */
.sponsor-card-v171{
  display:block!important;position:relative!important;overflow:visible!important;
  border-radius:24px!important;border:1px solid rgba(201,164,90,.44)!important;
  background:linear-gradient(135deg,#fff9ed 0%,#ffffff 54%,#f6fbff 100%)!important;
  box-shadow:0 13px 30px rgba(9,42,85,.09)!important;padding:15px 16px!important;margin:0 0 14px!important;
  color:#10233d!important;
}
.sponsor-card-v171::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#c9a45a,#f5d98f);border-radius:24px 0 0 24px;}
.sponsor-line-v171{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:13px!important;align-items:center!important;width:100%!important;min-height:52px!important;padding:7px 0!important;box-sizing:border-box!important;}
.sponsor-line-v171+.sponsor-line-v171{border-top:1px solid rgba(201,164,90,.18)!important;margin-top:8px!important;padding-top:13px!important;}
.sponsor-medal-v171,.sponsor-logo-v171{display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;min-width:48px!important;border-radius:17px!important;background:#fff!important;border:1px solid rgba(201,164,90,.28)!important;box-shadow:0 8px 20px rgba(9,42,85,.07)!important;font-size:23px!important;line-height:1!important;object-fit:contain!important;padding:4px!important;}
.sponsor-copy-v171{display:block!important;min-width:0!important;width:100%!important;height:auto!important;overflow:visible!important;position:relative!important;z-index:2!important;}
.sponsor-kicker-v171{display:block!important;visibility:visible!important;opacity:1!important;color:#8b6214!important;font-size:.78rem!important;font-weight:950!important;line-height:1.15!important;margin:0 0 6px!important;text-align:inherit!important;}
.sponsor-text-v171{display:block!important;visibility:visible!important;opacity:1!important;color:#10233d!important;background:transparent!important;font-size:1.13rem!important;font-weight:950!important;line-height:1.45!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;overflow:visible!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:inherit!important;transform:none!important;}
.sponsor-link-v171{display:block!important;color:inherit!important;text-decoration:none!important;}
.favorite-card-v171{border-radius:22px!important;border:1px solid rgba(15,53,92,.15)!important;background:linear-gradient(135deg,#ffffff,#f7fbff)!important;box-shadow:0 12px 28px rgba(9,42,85,.08)!important;margin:12px 0 0!important;padding:14px 15px!important;}
.favorite-card-v171 .notice-title{font-size:1rem!important;line-height:1.15!important;color:#0A2F5F!important;}
.favorite-card-v171 .notice-text{font-size:.92rem!important;font-weight:900!important;color:#22364d!important;background:rgba(15,53,92,.045)!important;border:1px solid rgba(15,53,92,.08)!important;border-radius:13px!important;padding:9px 10px!important;margin:9px 0 0!important;}
.favorite-hint-v171{font-size:.78rem;font-weight:800;color:#66778a;line-height:1.35;margin:8px 0 0;}
.favorite-card-v171 .nudge-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px;}
.favorite-card-v171 .btn-s,.favorite-card-v171 .mini-link{border-radius:13px!important;min-height:38px;font-weight:950!important;}
.p-sponsor-v171{font-style:normal!important;line-height:1.35!important}.p-sponsor-v171 strong{display:block;color:#9A6A13;margin-bottom:3px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.p-footer{letter-spacing:.01em}
@media(max-width:420px){.sponsor-line-v171{grid-template-columns:48px minmax(0,1fr)!important}.sponsor-medal-v171,.sponsor-logo-v171{width:44px!important;height:44px!important;min-width:44px!important}.sponsor-text-v171{font-size:1.02rem!important}.favorite-card-v171 .nudge-actions>*{flex:1 1 100%;}}
@media(prefers-color-scheme:dark){html:not([data-theme]) .sponsor-card-v171,html:not([data-theme]) .favorite-card-v171{background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;border-color:var(--dark-border)!important;color:var(--dark-text)!important}html:not([data-theme]) .sponsor-text-v171,html:not([data-theme]) .favorite-card-v171 .notice-title{color:var(--dark-text)!important}html:not([data-theme]) .sponsor-kicker-v171{color:var(--gold)!important}html:not([data-theme]) .favorite-hint-v171{color:var(--dark-muted)!important}}
html[data-theme="dark"] .sponsor-card-v171,html[data-theme="dark"] .favorite-card-v171{background:linear-gradient(135deg,var(--dark-surface),var(--dark-surface-2))!important;border-color:var(--dark-border)!important;color:var(--dark-text)!important}
html[data-theme="dark"] .sponsor-text-v171,html[data-theme="dark"] .favorite-card-v171 .notice-title{color:var(--dark-text)!important}
html[data-theme="dark"] .sponsor-kicker-v171{color:var(--gold)!important}
html[data-theme="dark"] .favorite-card-v171 .notice-text,html[data-theme="dark"] .sponsor-medal-v171,html[data-theme="dark"] .sponsor-logo-v171{background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;color:var(--dark-text)!important}
html[data-theme="dark"] .favorite-hint-v171{color:var(--dark-muted)!important}


/* v172 shul-card popup, super-admin polish, and Shabbat Plag option */
.public-card-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;}
.public-card-clickable:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(9,42,85,.12)!important;}
.public-card-clickable:focus-visible{outline:3px solid rgba(201,164,90,.48);outline-offset:3px;}
.public-popup-overlay{position:fixed;inset:0;z-index:9999;background:rgba(8,26,49,.54);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:18px;}
.public-popup-card{width:min(680px,96vw);max-height:88vh;overflow:auto;background:#fff;border:1px solid rgba(201,164,90,.32);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.28);direction:inherit;}
.public-popup-head{position:sticky;top:0;z-index:2;background:linear-gradient(135deg,#082A4F,#0A2F5F);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;}
.public-popup-titlewrap{display:flex;align-items:center;gap:12px;min-width:0;}
.popup-logo,.popup-logo-fallback{width:48px;height:48px;border-radius:16px;background:#fff;object-fit:contain;display:flex;align-items:center;justify-content:center;color:#082A4F;font-size:24px;flex:0 0 auto;padding:4px;}
.public-popup-title{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;font-weight:900;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.public-popup-sub{font-size:.86rem;color:rgba(255,255,255,.78);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.public-popup-close{border:0;background:rgba(255,255,255,.12);color:#fff;width:38px;height:38px;border-radius:14px;font-size:24px;line-height:1;cursor:pointer;}
.public-popup-body{display:flex;flex-direction:column;gap:13px;padding:16px;}
.popup-section{border:1px solid rgba(9,42,85,.10);border-radius:17px;background:#fffdf8;padding:12px;}
.popup-section-title{font-weight:950;color:#9A6A13;margin-bottom:7px;font-size:.9rem;}
.popup-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(9,42,85,.08);align-items:baseline;}
.popup-row:last-child{border-bottom:0;}
.popup-row span{color:var(--muted);font-weight:800;}
.popup-row strong{font-size:1.08rem;color:var(--navy);text-align:end;}
.popup-row.accent strong{color:#9A6A13;}
.popup-class{display:flex;flex-direction:column;gap:3px;padding:8px 0;border-bottom:1px solid rgba(9,42,85,.08);}.popup-class:last-child{border-bottom:0}.popup-class strong{color:var(--navy)}.popup-class span{color:var(--muted);font-size:.88rem;}
.popup-actions .schedule-actions{margin-top:0;}
.plag-toggle-line{font-size:.95rem;font-weight:900}.super-admin-modern .admin-sidebar{min-height:640px}.super-admin-modern .sb-shul-name{font-size:1.05rem}.super-visible-logout,.super-top-logout{background:#fff1f2!important;color:#991b1b!important;border:1px solid rgba(185,28,28,.24)!important;font-weight:950!important;box-shadow:0 8px 18px rgba(185,28,28,.08)!important}.super-visible-logout:hover,.super-top-logout:hover{background:#ffe4e6!important;color:#7f1d1d!important}.super-admin-panel{display:flex;flex-direction:column;gap:14px;padding:0 0 20px}.super-intro-card{background:linear-gradient(135deg,#fff,#fff8e8)!important}.upcoming-row.past .upcoming-title,.upcoming-row.past .upcoming-time{opacity:.78}.upcoming-row.past{grid-template-columns:76px 1fr;}
html[data-theme="dark"] .public-popup-card,html[data-theme="dark"] .popup-section{background:var(--dark-surface)!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important}html[data-theme="dark"] .popup-row strong,html[data-theme="dark"] .popup-class strong{color:var(--dark-text)!important}html[data-theme="dark"] .popup-row span,html[data-theme="dark"] .popup-class span{color:var(--dark-muted)!important}
@media(max-width:720px){.public-popup-overlay{align-items:flex-end;padding:8px}.public-popup-card{width:100%;max-height:88vh;border-radius:24px 24px 12px 12px}.public-popup-title{font-size:1.15rem}.super-admin-modern .admin-sidebar{min-height:auto}.super-top-logout{display:none}}

/* v187 UX polish ── intuitive, beautiful, easy */

/* Date bar: now the sole element in .home-heading — give it a bit more presence */
.home-heading{margin-bottom:10px;}
.home-date{font-size:1rem;font-weight:700;color:var(--navy);opacity:.68;margin-top:0;}

/* Empty-state: no more minyanim today */
.no-more-today{display:flex;flex-direction:column;align-items:center;gap:7px;padding:28px 16px;text-align:center;}
.no-more-title{font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;font-weight:700;color:var(--navy);}
.no-more-sub{font-size:.86rem;color:var(--muted);max-width:280px;line-height:1.5;}

/* Theme toggle and install button: icon-only, square */
.lb.theme-toggle,.lb.install-mini{min-width:34px;padding:5px 8px;text-align:center;}

/* Status card: de-emphasise title, match "last synced" role */
.status-card .notice-title{font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-family:inherit;color:var(--muted);}

/* Favorite card: remove now-deleted hint vertical gap */
.favorite-card-v171 .nudge-actions{margin-top:12px;}

/* Dark mode support for new elements */
html[data-theme="dark"] .home-date{color:var(--dark-text)!important;}
html[data-theme="dark"] .no-more-title{color:var(--dark-text)!important;}
html[data-theme="dark"] .no-more-sub{color:var(--dark-muted)!important;}
@media(prefers-color-scheme:dark){html:not([data-theme]) .home-date{color:var(--dark-text)!important;}html:not([data-theme]) .no-more-title{color:var(--dark-text)!important;}html:not([data-theme]) .no-more-sub{color:var(--dark-muted)!important;}}

/* v176 debug-date safety banner */

.debug-date-banner{margin:0 auto 10px;max-width:1100px;padding:10px 14px;border:1px solid rgba(180,83,9,.35);background:#fff7ed;color:#7c2d12;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:800;box-shadow:0 8px 24px rgba(124,45,18,.08);}
.debug-date-banner .debug-date-clear{border:0;border-radius:999px;background:#7c2d12;color:#fff;padding:6px 12px;font-weight:900;cursor:pointer;}
html[data-theme="dark"] .debug-date-banner{background:#3b250c;color:#fed7aa;border-color:rgba(251,146,60,.45);}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .debug-date-banner{background:#3b250c;color:#fed7aa;border-color:rgba(251,146,60,.45);}}


/* v179: AA-safe gold text for small labels. Decorative borders/gradients still use --gold-decor. */
.stl,.subsec,.nextlbl,.sb-date,.sponsor-type,.sponsor-kicker,.sponsor-kicker-v171,.tefillah-chip,.p-sponsor-v171 strong,.card-date,.date-line{
  color:var(--gold-text)!important;
}

/* v182.10 sponsor visibility hardening: older CSS/cache layers hid .sponsor-text. */
.sponsor-card .sponsor-text,
.sponsor-card .sponsor-text-v171,
.sponsor-card-v171 .sponsor-text,
.sponsor-card-v171 .sponsor-text-v171,
.sponsor-card-v1826 .sponsor-text,
.sponsor-card-v1826 .sponsor-text-v171,
.sponsor-card-v1829 .sponsor-text,
.sponsor-card-v1829 .sponsor-text-v171{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  min-height:1.2em!important;
  max-height:none!important;
  overflow:visible!important;
  color:#10233d!important;
  white-space:normal!important;
}
html[data-theme="dark"] .sponsor-card .sponsor-text,
html[data-theme="dark"] .sponsor-card .sponsor-text-v171,
html[data-theme="dark"] .sponsor-card-v171 .sponsor-text,
html[data-theme="dark"] .sponsor-card-v171 .sponsor-text-v171,
html[data-theme="dark"] .sponsor-card-v1826 .sponsor-text,
html[data-theme="dark"] .sponsor-card-v1826 .sponsor-text-v171,
html[data-theme="dark"] .sponsor-card-v1829 .sponsor-text,
html[data-theme="dark"] .sponsor-card-v1829 .sponsor-text-v171{
  color:var(--dark-text)!important;
}

/* v182.11 sponsor visible hard override
   The live DOM showed .sponsor-text-v171 computed display:none despite earlier rules.
   Force all sponsor text descendants visible at the end of the cascade. */
.sponsor-card,
.sponsor-card-v171,
.sponsor-card-v1826,
.sponsor-card-v1829{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}
.sponsor-card [class*="sponsor-text"],
.sponsor-card-v171 [class*="sponsor-text"],
.sponsor-card-v1826 [class*="sponsor-text"],
.sponsor-card-v1829 [class*="sponsor-text"],
.sponsor-text,
.sponsor-text-v171{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  min-height:1.25em!important;
  width:auto!important;
  color:#10233d!important;
  font-size:1.08rem!important;
  font-weight:950!important;
  line-height:1.45!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
}
html[data-theme="dark"] .sponsor-card [class*="sponsor-text"],
html[data-theme="dark"] .sponsor-text-v171{
  color:var(--dark-text)!important;
}

/* v184 UX polish: push button feedback */
.push-enable-btn{position:relative;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease,border-color .15s ease;}
.push-enable-btn:active{transform:translateY(1px) scale(.99);}
.push-enable-btn.is-loading{pointer-events:none;opacity:.88;cursor:wait!important;padding-inline-start:34px!important;}
.push-enable-btn.is-loading::before{content:"";position:absolute;inline-start:13px;top:50%;width:13px;height:13px;margin-top:-7px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:pushSpin .8s linear infinite;}
.push-enable-btn.is-on{background:#0f7a3a!important;border-color:#0f7a3a!important;color:#fff!important;box-shadow:0 8px 20px rgba(15,122,58,.22)!important;}
.push-enable-btn.is-off{box-shadow:0 8px 20px rgba(9,42,85,.18)!important;}
@keyframes pushSpin{to{transform:rotate(360deg)}}


/* v185 beta launch readiness */
.no-more-today{padding:18px 12px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:16px;background:rgba(255,255,255,.55)}
.no-more-title{font-weight:950;color:var(--text);font-size:1rem;margin-bottom:4px}.no-more-sub{font-size:.82rem;line-height:1.4}
.launch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;margin:10px 0}.launch-item{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--border);border-radius:14px;padding:10px;background:#fff}.launch-item.ok{background:#f0fdf4;border-color:rgba(15,122,58,.25)}.launch-item.todo{background:#fff7ed;border-color:rgba(192,138,26,.22)}.launch-checkmark{font-weight:950;color:#0f7a3a}.launch-label{font-weight:900;color:var(--text)}.share-package-grid{display:grid;grid-template-columns:240px 1fr;gap:14px;align-items:center}.qr-card{text-align:center;border:1px solid var(--border);border-radius:18px;padding:12px;background:#fff}.qr-img{width:210px;height:210px;max-width:100%;object-fit:contain}.share-copy{display:flex;flex-direction:column;gap:9px}.beta-stats .diag-stat{min-height:82px}.launch-check{border:1px solid var(--border);border-radius:12px;padding:9px 11px;margin:6px 0;background:#fff;font-weight:850;color:var(--text)}
@media(max-width:720px){.share-package-grid{grid-template-columns:1fr}.qr-card{max-width:260px;margin:auto}}
html[data-theme="dark"] .launch-item,html[data-theme="dark"] .qr-card,html[data-theme="dark"] .launch-check,html[data-theme="dark"] .no-more-today{background:var(--dark-surface)!important;border-color:var(--dark-border)!important;color:var(--dark-text)!important}
html[data-theme="dark"] .launch-label,html[data-theme="dark"] .no-more-title{color:var(--dark-text)!important}
