/* לוח קהילה — מערכת מידע קהילתית: משטח לוח לבן על רקע בהיר, טיפוגרפיה עם קנה מידה ברור,
   כחול מודז'יצי כצבע ראשי וזהב-נרות כ-accent יחיד. בלי גרדיאנטים, בלי צללים, בלי צבע לכל סוג.
   Rubik לכותרות ולתאריכים, Heebo לטקסט. כל עמוד טוען את הגופנים ב-<link> מ-Google Fonts.
   קהילה מחליפה --primary (ו---accent אם רוצה). */
:root {
  --primary-strong: color-mix(in oklab, var(--primary) 82%, #000000);
  --primary-wash: color-mix(in oklab, var(--primary) 6%, #ffffff);
}
[data-theme="print"] { --primary-wash: #ffffff; --primary-strong: #000000; }

html, body { margin: 0; }
body { direction: rtl; background: var(--canvas); color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 24px; -webkit-font-smoothing: antialiased; }
.lk, .lk * { box-sizing: border-box; }
.lk-row { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; padding: var(--space-4); }
.lk-stack { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-4); }
.lk-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.lk-panel { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); }
.lk-panel-head { display: flex; align-items: center; gap: 8px; margin: 0; padding: 16px 22px 14px; border-bottom: 1px solid var(--line); font: 600 19px/24px var(--font-display); color: var(--ink); }
.lk-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid var(--hairline); }
.lk-section-head h2 { margin: 0; font: 500 17px/22px var(--font-display); }
.lk-section-head span { font: 400 14px/20px var(--font-sans); color: var(--ink-subtle); }
.lk-icon { display: inline-block; flex: none; vertical-align: middle; }

/* ---------- כפתור ---------- */
.lk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: var(--control-h); padding: 0 20px; font: 500 16px/20px var(--font-display); border-radius: var(--radius-sm); border: 1px solid transparent; cursor: pointer; text-decoration: none; white-space: nowrap; }
.lk-btn[disabled] { cursor: not-allowed; opacity: .45; }
.lk-btn-block { width: 100%; }
.lk-btn-sm { min-height: var(--control-h-admin); padding: 0 var(--space-3); font-size: 14px; }
.lk-btn-lg { min-height: 48px; padding: 0 var(--space-5); font-size: 16px; }
.lk-btn-icononly { padding: 0; width: var(--control-h); }
.lk-btn-sm.lk-btn-icononly { width: var(--control-h-admin); }
.lk-btn-primary { background: var(--primary); color: var(--on-primary); }
.lk-btn-primary:hover:not([disabled]) { background: var(--primary-strong); }
.lk-btn-secondary { background: var(--paper); color: var(--ink); border-color: var(--line-strong); }
.lk-btn-secondary:hover:not([disabled]) { border-color: var(--ink); }
.lk-btn-quiet { background: transparent; color: var(--ink); padding: 0 6px; text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
.lk-btn-quiet:hover:not([disabled]) { text-decoration-color: var(--ink); }
.lk-btn-icononly.lk-btn-quiet { text-decoration: none; color: var(--primary); background: var(--paper); border-color: var(--line-strong); }
.lk-btn-icononly.lk-btn-quiet:hover:not([disabled]) { background: var(--today-tint); border-color: var(--primary); }
.lk-btn-icononly.lk-btn-quiet:hover:not([disabled]) { color: var(--primary); background: var(--primary-wash); }
.lk-btn-danger { background: var(--danger); color: #ffffff; }
.lk-btn-danger:hover:not([disabled]) { background: color-mix(in oklab, var(--danger) 82%, #000000); }

/* ---------- שדות ---------- */
.lk-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.lk-field-label { font: 500 15px/20px var(--font-display); color: var(--ink); }
.lk-field-req { color: var(--danger); margin-inline-start: 3px; }
.lk-field-hint { font: 400 14px/20px var(--font-sans); color: var(--ink-subtle); }
.lk-field-error { font: 500 14px/20px var(--font-sans); color: var(--danger); }
.lk-input { width: 100%; min-height: var(--control-h); padding: 8px 12px; font: 400 16px/22px var(--font-sans); color: var(--ink); background: var(--paper); border: 1px solid var(--line-strong); border-radius: var(--radius-md); }
.lk-input::placeholder { color: var(--ink-subtle); }
.lk-input:hover { border-color: var(--ink-muted); }
.lk-input:focus-visible { outline: 2px solid var(--focus); outline-offset: 0; border-color: var(--primary); }
.lk-input[aria-invalid="true"] { border-color: var(--danger); box-shadow: inset 0 0 0 1px var(--danger); }
textarea.lk-input { min-height: 100px; resize: vertical; }
select.lk-input { appearance: none; padding-inline-start: 40px; }
.lk-select-wrap { position: relative; }
.lk-select-wrap .lk-icon { position: absolute; inset-inline-start: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--ink-muted); }
.lk-input-ltr { direction: ltr; text-align: right; }
.lk-admin .lk-input { min-height: var(--control-h-admin); padding: 4px 10px; font-size: 15px; }
.lk-admin .lk-btn { min-height: var(--control-h-admin); }

/* ---------- מסנן ---------- */
.lk-chip { --c: var(--primary); display: inline-flex; align-items: baseline; gap: 5px; min-height: 34px; padding: 0 1px; margin-inline-end: 22px; border: 0; border-bottom: 1px solid transparent; background: none; font: 400 16px/22px var(--font-display); color: var(--ink-muted); cursor: pointer; white-space: nowrap; }
.lk-chip:hover { color: var(--ink); }
.lk-chip[aria-pressed="true"] { color: var(--ink); font-weight: 500; border-bottom: 2px solid var(--primary); }
.lk-chip-check { display: none; }
.lk-chip-count { font: 400 13px/18px var(--font-sans); color: var(--ink-subtle); }
.lk-chip-static { cursor: default; }
.lk-chip-remove { display: inline-flex; align-self: center; border: 0; background: none; padding: 2px; color: var(--ink-subtle); cursor: pointer; }
.lk-tags { color: var(--ink-subtle); font: 400 13px/18px var(--font-sans); }
.lk-tags span:not(:last-child)::after { content: " · "; }

/* ---------- סוג אירוע: מילה קטנה ואפורה ---------- */
.lk-cat { font: 400 14px/19px var(--font-display); color: var(--ink-subtle); }

/* ---------- אירוע: סוג ← כותרת ← פרטים ← שעה. בלי רקע ובלי מסגרת ---------- */
.lk-event { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 0 var(--space-3); color: var(--ink); text-align: right; }
.lk-event-body { display: flex; flex-direction: column; min-width: 0; }
.lk-event-kicker { --c: var(--ink-subtle); font: 400 14px/19px var(--font-display); color: var(--c); }
.lk-event-kicker b { font-weight: 600; color: var(--accent); }
.lk-event-title { margin: 3px 0 4px; font: 600 21px/28px var(--font-display); color: var(--ink); }
.lk-event-simcha .lk-event-title { color: var(--primary); }
.lk-event-title a { color: inherit; text-decoration: none; }
.lk-event-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.lk-event-title a::after { content: ""; position: absolute; inset: -6px; }
.lk-event-title a:focus-visible { outline: none; }
.lk-event:has(.lk-event-title a:focus-visible) { outline: 2px solid var(--focus); outline-offset: 6px; }
.lk-event-names { margin: 0; font: 400 16px/23px var(--font-sans); color: var(--ink-muted); }
.lk-event-details { font: 400 16px/23px var(--font-sans); color: var(--ink-muted); }
.lk-event-details > span:not(:last-child)::after { content: " · "; color: var(--ink-subtle); }
.lk-event-time { margin-top: 6px; font: 600 18px/24px var(--font-display); color: var(--primary); font-variant-numeric: tabular-nums; }
.lk-event-timecol { font: 600 22px/28px var(--font-display); color: var(--ink); font-variant-numeric: tabular-nums; padding-inline-end: 12px; }
.lk-event-timecol.is-text { font-size: 17px; line-height: 22px; padding-top: 3px; }
.lk-event-timecol small { display: block; font: 400 14px/19px var(--font-sans); color: var(--ink-subtle); margin-top: 2px; }
.lk-event-row { display: grid; grid-template-columns: var(--time-col) minmax(0, 1fr); align-items: start; }
.lk-event-row .lk-event-time { display: none; }
.lk-event-dim { opacity: var(--dim); }
.lk-event-full { padding: 20px 0; border-top: 1px solid var(--hairline); }
.lk-event-full:first-child { border-top: 0; }

/* מודעה מוקטנת */
.lk-poster { position: relative; width: 60px; height: 80px; flex: none; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--paper-sunken); overflow: hidden; display: flex; flex-direction: column; align-items: center; padding: 9px 7px; gap: 4px; }
.lk-poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lk-poster-line { height: 3px; background: var(--line); width: 80%; border-radius: 2px; }
.lk-poster-line.s { width: 50%; }
.lk-poster-line.t { height: 6px; width: 70%; background: var(--ink-subtle); margin-bottom: 2px; }
.lk-poster-kind { position: absolute; bottom: 4px; inset-inline-end: 4px; font: 500 10px/14px var(--font-display); color: #fff; background: var(--primary); padding: 0 4px; border-radius: 2px; }
.lk-poster-lg { width: 100%; max-width: 440px; height: auto; aspect-ratio: 3 / 4; padding: 32px; gap: 14px; border-radius: var(--radius-md); }
.lk-poster-lg .lk-poster-line { height: 8px; }
.lk-poster-lg .lk-poster-line.t { height: 18px; }

/* ---------- יארצייט: משטח משלים ---------- */
.lk-yz { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); }
.lk-yz-head { display: flex; align-items: center; gap: 8px; margin: 0; padding: 18px 24px 16px; border-bottom: 1px solid var(--line); font: 600 21px/26px var(--font-display); color: var(--ink); }
.lk-yz-head svg { color: var(--accent); }
.lk-yz-date { color: var(--accent); }
.lk-yz-list { list-style: none; margin: 0; padding: 0 24px 8px; }
.lk-yz-item { padding: 16px 0; border-top: 1px solid var(--hairline); display: flex; flex-direction: column; gap: 1px; }
.lk-yz-item:first-child { border-top: 0; }
.lk-yz-date { order: -1; font: 500 14px/19px var(--font-display); color: var(--accent); }
.lk-yz-name { font: 500 18px/25px var(--font-display); color: var(--ink); }
.lk-yz-note { font: 400 15px/21px var(--font-sans); color: var(--ink-muted); }

/* ---------- רצועת שבת (בתוך המסטהד) ---------- */
.lk-shabbat { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px 0; padding: 0; color: var(--on-primary); }
.lk-shabbat-parasha { display: flex; flex-direction: column; justify-content: center; margin-inline-end: 0; padding: 10px 22px; background: var(--shabbat-tint); border-radius: var(--radius-sm); color: var(--ink); }
.lk-shabbat-kicker { font: 500 16px/22px var(--font-display); color: var(--accent); }
.lk-shabbat-name { font: 600 34px/40px var(--font-display); color: var(--primary); }
.lk-shabbat-special { font: 400 14px/20px var(--font-sans); color: var(--ink-muted); }
.lk-shabbat-times { display: flex; flex-wrap: wrap; margin: 0; }
.lk-shabbat-time { display: flex; flex-direction: column; justify-content: center; padding: 2px var(--space-5); border-inline-start: 1px solid color-mix(in oklab, var(--on-primary) 22%, transparent); }
.lk-shabbat-time:first-child { border-inline-start: 0; }
.lk-shabbat-time dt { font: 400 15px/20px var(--font-display); color: var(--on-primary-muted); }
.lk-shabbat-time dd { margin: 0; font: 600 26px/32px var(--font-display); color: var(--on-primary); font-variant-numeric: tabular-nums; }
[data-theme="print"] .lk-shabbat-parasha { background: #fff; border: 1px solid #000; }

/* ---------- מסטהד: רצועה בצבע הקהילה ---------- */
.lk-mast { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px 40px; padding: 22px 0 0; color: var(--on-primary); }
.lk-mast-logo { height: 60px; flex: none; }
.lk-mast-logo img { height: 100%; width: auto; display: block; }
.lk-mast-title { display: flex; flex-direction: column; margin-inline-end: auto; }
.lk-mast-name { margin: 0; font: 600 40px/46px var(--font-display); color: var(--on-primary); letter-spacing: -.005em; }
.lk-mast-sub { margin-top: 2px; font: 400 17px/24px var(--font-display); color: var(--on-primary-muted); }
.lk-mast-side { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.lk-band { background: var(--primary); color: var(--on-primary); }
.lk-band .lk-tabs button { color: var(--on-primary-muted); }
.lk-band .lk-tabs button:hover { color: var(--on-primary); }
.lk-band .lk-tabs button[aria-pressed="true"] { color: var(--on-primary); border-bottom-color: var(--accent-on-primary); }
.lk-band .lk-btn-primary { background: var(--on-primary); color: var(--primary); }
.lk-band .lk-btn-primary:hover:not([disabled]) { background: var(--today-tint); }
.lk-band :focus-visible { outline-color: var(--accent-on-primary); }
[data-theme="print"] .lk-band { background: #fff; color: #000; border-bottom: 2px solid #000; }
[data-theme="print"] .lk-band * { color: #000 !important; }

/* ---------- עמודת תאריך ---------- */
.lk-dayhead { display: flex; flex-direction: column; }
.lk-dayhead-heb { font: 600 52px/52px var(--font-display); color: var(--ink); letter-spacing: -.01em; }
.lk-dayhead-wd { margin-top: 8px; font: 600 17px/22px var(--font-display); color: var(--ink); }
.lk-dayhead-greg { margin-top: 2px; font: 400 15px/20px var(--font-display); color: var(--ink-subtle); font-variant-numeric: tabular-nums; }
.lk-dayhead-label { margin-top: 8px; font: 400 14px/19px var(--font-display); color: var(--ink-muted); }
.lk-dayhead-now { display: block; margin-top: 6px; font: 600 15px/20px var(--font-display); color: var(--primary); }
.lk-dayhead-today .lk-dayhead-heb { color: var(--primary); }
.lk-dayhead-shabbat .lk-dayhead-wd { color: var(--accent); }
/* סדר לימוד בתוך ראש יום */
.lk-dayhead-study { margin-top: 10px; padding-top: 8px; border-top: 1px dashed var(--line); display: flex; flex-direction: column; font: 500 15px/20px var(--font-display); color: var(--ink); }
.lk-dayhead-study b { font: 400 12px/16px var(--font-display); color: var(--ink-subtle); letter-spacing: .02em; }
.lk-dayhead-study.is-review { color: var(--accent); }

/* ---------- רשת 7 ימים ---------- */
.lk-grid7 { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--line); border-inline-start: 1px solid var(--line); background: var(--paper); }
.lk-grid7 > *, .lk-grid7 > .lk-daycell, .lk-grid7 > .lk-dp-day { border-inline-end: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lk-grid7-head { font: 500 14px/20px var(--font-display); color: var(--ink-subtle); padding: 6px 10px; text-align: right; background: var(--paper); }
.lk-grid7-head.is-shabbat { color: var(--accent); background: var(--shabbat-tint); }

/* ---------- תא חודש ---------- */
.lk-daycell { position: relative; display: flex; flex-direction: column; gap: 2px; text-align: right; min-height: 104px; padding: 8px 10px; width: 100%; background: var(--paper); border: 0; border-radius: 0; color: var(--ink); font: inherit; cursor: pointer; }
.lk-daycell:hover { background: var(--primary-wash); }
.lk-daycell-top { display: flex; align-items: baseline; justify-content: space-between; gap: 4px; }
.lk-daycell-heb { font: 500 20px/24px var(--font-display); }
.lk-daycell-greg { font: 400 13px/18px var(--font-display); color: var(--ink-subtle); font-variant-numeric: tabular-nums; }
.lk-daycell-labels { display: flex; flex-direction: column; }
.lk-daycell-label { font: 400 13px/18px var(--font-display); color: var(--ink-muted); }
.lk-daycell-label.k-holiday { color: var(--accent); font-weight: 500; }
.lk-daycell-dots { display: flex; flex-wrap: wrap; gap: 4px; margin-top: auto; align-items: center; }
.lk-daycell-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--c); }
.lk-daycell-more { font: 400 12px/12px var(--font-sans); color: var(--ink-subtle); }
.lk-daycell-out .lk-daycell-heb, .lk-daycell-out .lk-daycell-greg { color: var(--line-strong); }
.lk-daycell-shabbat { background: var(--shabbat-tint); }
.lk-daycell-today { background: var(--today-tint); box-shadow: inset 0 3px 0 var(--primary); }
.lk-daycell-today .lk-daycell-heb { color: var(--primary); }
.lk-daycell-selected { box-shadow: inset 0 0 0 2px var(--primary); }
.lk-daycell-match { background: var(--primary-wash); }
.lk-daycell-dim { opacity: var(--dim); }
.lk-daycell-mini { min-height: 0; padding: 3px 5px; gap: 1px; }
.lk-daycell-mini .lk-daycell-heb { font-size: 13px; line-height: 16px; font-weight: 400; }
.lk-daycell-mini .lk-daycell-dot { width: 4px; height: 4px; }
[data-theme="print"] .lk-daycell-dot { display: none; }

/* ---------- לשוניות ---------- */
.lk-tabs { display: inline-flex; gap: 34px; }
.lk-tabs button { min-height: 46px; padding: 0; margin-bottom: -1px; border: 0; border-bottom: 3px solid transparent; background: transparent; cursor: pointer; color: var(--ink-muted); font: 400 19px/24px var(--font-display); }
.lk-tabs button:hover { color: var(--ink); }
.lk-tabs button[aria-pressed="true"] { color: var(--primary); border-bottom-color: var(--primary); font-weight: 600; }
.lk-tabs button { font-size: 18px; }

/* ---------- בורר תאריך עברי ---------- */
.lk-dp { position: relative; display: flex; flex-direction: column; gap: 5px; min-width: 0; width: 100%; }
.lk-dp-trigger { display: flex; align-items: center; gap: 12px; width: 100%; min-height: var(--control-h); padding: 4px 12px; background: var(--paper); border: 1px solid var(--line-strong); border-radius: var(--radius-md); color: var(--ink); cursor: pointer; text-align: right; font: inherit; }
.lk-dp-trigger:hover { border-color: var(--ink-muted); }
.lk-dp-trigger .lk-icon { color: var(--ink-subtle); }
.lk-dp-value { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; flex: 1; min-width: 0; }
.lk-dp-heb { font: 500 17px/24px var(--font-display); white-space: nowrap; }
.lk-dp-greg { font: 400 14px/20px var(--font-display); color: var(--ink-subtle); font-variant-numeric: tabular-nums; white-space: nowrap; }
.lk-dp-placeholder { color: var(--ink-subtle); }
.lk-dp-pop { width: 380px; max-width: 100%; padding: 14px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-pop); }
.lk-dp-floating { position: absolute; top: calc(100% + 6px); inset-inline-start: 0; z-index: 20; }
.lk-dp-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 10px; }
.lk-dp-title { display: flex; flex-direction: column; align-items: center; }
.lk-dp-title strong { font: 500 18px/24px var(--font-display); }
.lk-dp-title span { font: 400 13px/18px var(--font-display); color: var(--ink-subtle); }
.lk-dp-day { display: flex; flex-direction: column; align-items: flex-start; min-height: 46px; border: 0; border-radius: 0; background: var(--paper); color: var(--ink); cursor: pointer; padding: 4px 7px; text-align: right; }
.lk-dp-day:hover { background: var(--primary-wash); }
.lk-dp-day b { font: 500 16px/20px var(--font-display); }
.lk-dp-day small { font: 400 11px/14px var(--font-display); color: var(--ink-subtle); font-variant-numeric: tabular-nums; }
.lk-dp-day.is-shabbat { background: var(--shabbat-tint); }
.lk-dp-day.is-today b { color: var(--primary); }
.lk-dp-day[aria-pressed="true"] { background: var(--primary); }
.lk-dp-day[aria-pressed="true"] b, .lk-dp-day[aria-pressed="true"] small { color: var(--on-primary); }
.lk-dp-blank { background: var(--paper); }
.lk-dp-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; font: 400 14px/20px var(--font-display); color: var(--ink-muted); }

/* ---------- מודאל ---------- */
.lk-modal-backdrop { position: fixed; inset: 0; background: rgba(27,34,64,.45); display: flex; align-items: center; justify-content: center; padding: 20px; z-index: 50; }
.lk-modal-inline { position: relative; inset: auto; min-height: 100%; }
.lk-modal { width: 100%; max-width: 460px; background: var(--paper); border-radius: var(--radius-md); box-shadow: var(--shadow-pop); padding: 24px 28px; display: flex; flex-direction: column; gap: 12px; text-align: right; }
.lk-modal-danger .lk-modal-title { color: var(--danger); }
.lk-modal-title { margin: 0; font: 500 20px/26px var(--font-display); }
.lk-modal-body { font: 400 15px/23px var(--font-sans); color: var(--ink-muted); }
.lk-modal-actions { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 6px; }

/* ---------- מצבים ---------- */
.lk-state { display: flex; flex-direction: column; align-items: flex-start; text-align: right; gap: 6px; padding: 24px 0; border-top: 1px solid var(--line); }
.lk-state-title { margin: 0; font: 500 18px/24px var(--font-display); }
.lk-state-body { margin: 0; max-width: 52ch; color: var(--ink-muted); font-size: 15px; line-height: 23px; }
.lk-state-action { margin-top: 8px; }
.lk-state-error { border-top-color: var(--danger); }
.lk-state-error .lk-state-title { color: var(--danger); }
.lk-state-details { width: 100%; max-width: 640px; margin-top: 4px; }
.lk-state-details summary { cursor: pointer; font: 500 14px/20px var(--font-display); color: var(--ink-muted); }
.lk-state-details pre { direction: ltr; text-align: left; white-space: pre-wrap; font: 400 13px/19px ui-monospace, Menlo, Consolas, monospace; background: var(--paper-sunken); color: var(--ink); padding: 10px 12px; border-radius: var(--radius-sm); margin: 6px 0 0; }
.lk-skel { display: flex; flex-direction: column; width: 100%; }
.lk-skel-row { padding: 14px 0; border-top: 1px solid var(--hairline); display: flex; flex-direction: column; gap: 8px; }
.lk-skel-row:first-child { border-top: 0; }
.lk-skel-bar { height: 10px; border-radius: 3px; background: var(--paper-sunken); animation: lk-pulse 1.2s ease-in-out infinite alternate; }
@keyframes lk-pulse { from { opacity: 1; } to { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { .lk-skel-bar { animation: none; } }

/* ---------- רשימת הודעות (טור צד) ---------- */
.lk-notices { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); }
.lk-notices-head { display: flex; align-items: center; gap: 8px; margin: 0; padding: 18px 24px 16px; border-bottom: 1px solid var(--line); font: 600 21px/26px var(--font-display); color: var(--ink); }
.lk-notices-head svg { color: var(--primary); }
.lk-notices-list { list-style: none; margin: 0; padding: 8px 12px 10px; display: flex; flex-direction: column; gap: 4px; }
.lk-notice { padding: 12px 12px; border-radius: var(--radius-sm); display: flex; flex-direction: column; gap: 2px; }
.lk-notice-urgent { background: var(--notice-tint); }
.lk-notice-kicker { font: 500 13px/18px var(--font-display); color: var(--accent); }
.lk-notice-title { font: 500 17px/24px var(--font-display); color: var(--ink); }
.lk-notice-body { font: 400 15px/21px var(--font-sans); color: var(--ink-muted); }

/* ---------- הודעה ---------- */
.lk-alert { --c: var(--primary); display: flex; flex-wrap: wrap; gap: 2px 12px; align-items: baseline; padding: 10px 0; border-top: 2px solid var(--c); border-bottom: 1px solid var(--line); color: var(--ink); font-size: 15px; }
.lk-alert strong { font: 500 15px/22px var(--font-display); color: var(--c); white-space: nowrap; }
.lk-alert-urgent { --c: var(--danger); }
.lk-alert-warning { --c: var(--warning); }
.lk-alert-success { --c: var(--success); }

@media (max-width: 720px) {
  .lk-mast-name { font-size: 28px; line-height: 34px; }
  .lk-dayhead-heb { font-size: 40px; line-height: 40px; }
  .lk-shabbat-parasha { width: 100%; padding: 0 0 6px; }
  .lk-shabbat-time { padding: 0 14px; }
  .lk-shabbat-time:first-child { padding-inline-start: 0; border: 0; }
  .lk-shabbat-time dd { font-size: 19px; }
  .lk-dp-pop { width: 100%; }
  .lk-event .lk-poster { display: none; }
}
/* ---------- עמוד ציבורי: מעטפת ---------- */
.lk-page { max-width: var(--content-max); margin: 0 auto; padding: 0 32px 48px; }
.lk-page-narrow { max-width: 880px; }
.lk-crumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 16px 0 6px; font: 400 15px/20px var(--font-display); color: var(--ink-subtle); }
.lk-crumb a { color: var(--ink-muted); text-decoration: none; }
.lk-crumb a:hover { color: var(--primary); text-decoration: underline; }
.lk-crumb-sep { color: var(--line-strong); }
.lk-article { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 40px; align-items: start; padding-top: 20px; }
.lk-article-kicker { font: 500 15px/20px var(--font-display); color: var(--ink-subtle); }
.lk-article-kicker b { color: var(--accent); font-weight: 600; }
.lk-article h1 { margin: 6px 0 8px; font: 600 36px/42px var(--font-display); color: var(--primary); }
.lk-article-names { margin: 0 0 20px; font: 400 20px/30px var(--font-sans); color: var(--ink); }
.lk-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px 28px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 20px; }
.lk-fact dt { font: 400 14px/19px var(--font-display); color: var(--ink-subtle); }
.lk-fact dd { margin: 2px 0 0; font: 600 19px/26px var(--font-display); color: var(--ink); }
.lk-fact dd small { display: block; font: 400 15px/20px var(--font-sans); color: var(--ink-muted); }
.lk-article-body { font: 400 17px/27px var(--font-sans); color: var(--ink); }
.lk-article-tags { margin: 18px 0 24px; font: 400 15px/20px var(--font-sans); color: var(--ink-subtle); }
.lk-article-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.lk-aside-poster { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.lk-aside-poster .lk-poster-lg { max-width: none; aspect-ratio: 1 / 1.3; }

/* ---------- טופס ציבורי ---------- */
.lk-form { display: flex; flex-direction: column; gap: 28px; padding-top: 12px; }
.lk-form-section { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 22px 26px 26px; }
.lk-form-section > h2 { margin: 0 0 4px; font: 600 20px/26px var(--font-display); color: var(--ink); }
.lk-form-section > p { margin: 0 0 18px; font: 400 15px/22px var(--font-sans); color: var(--ink-muted); }
.lk-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.lk-form-grid > * { min-width: 0; }
.lk-form-grid .span2 { grid-column: 1 / -1; }
.lk-cat-pick { display: flex; flex-wrap: wrap; gap: 10px; }
.lk-cat-pick .lk-chip { border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0 16px; min-height: 42px; margin: 0; }
.lk-cat-pick .lk-chip[aria-pressed="true"] { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.lk-upload { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 150px; padding: 22px; border: 1.5px dashed var(--line-strong); border-radius: var(--radius-md); background: var(--paper-sunken); color: var(--ink-muted); cursor: pointer; text-align: center; }
.lk-upload:hover { border-color: var(--primary); color: var(--primary); }
.lk-upload b { font: 500 16px/22px var(--font-display); color: var(--ink); }
.lk-upload span { font: 400 14px/20px var(--font-sans); }
.lk-upload.has-file { flex-direction: row; justify-content: flex-start; gap: 18px; border-style: solid; cursor: default; text-align: right; min-height: 0; }
.lk-upload-meta { display: flex; flex-direction: column; gap: 2px; }
.lk-upload-meta b { font: 500 16px/22px var(--font-display); color: var(--ink); }
.lk-upload-acts { display: flex; gap: 10px; margin-top: 6px; }
.lk-turnstile { display: flex; align-items: center; gap: 12px; width: 300px; height: 65px; padding: 0 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--paper-sunken); font: 400 14px/18px var(--font-sans); color: var(--ink-muted); }
.lk-turnstile i { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--success); display: grid; place-items: center; color: var(--success); font-style: normal; }
.lk-form-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.lk-done { max-width: 620px; margin: 40px auto; padding: 36px 40px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); text-align: right; }
.lk-done-mark { width: 52px; height: 52px; border-radius: 50%; background: var(--today-tint); color: var(--primary); display: grid; place-items: center; margin-bottom: 16px; }
.lk-done h1 { margin: 0 0 8px; font: 600 28px/34px var(--font-display); color: var(--primary); }
.lk-done p { margin: 0 0 18px; font: 400 17px/26px var(--font-sans); color: var(--ink-muted); }
.lk-done-sum { margin: 0 0 22px; padding: 14px 18px; border-inline-start: 3px solid var(--accent); background: var(--shabbat-tint); font: 400 15px/22px var(--font-sans); color: var(--ink); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }

/* ---------- ניהול ---------- */
.lk-adm { display: grid; grid-template-columns: 240px minmax(0, 1fr); min-height: 100vh; background: var(--canvas); }
.lk-adm-nav { background: var(--primary); color: var(--on-primary); display: flex; flex-direction: column; padding: 22px 16px; gap: 22px; position: sticky; top: 0; height: 100vh; }
.lk-adm-brand { display: flex; flex-direction: column; padding: 0 10px; }
.lk-adm-brand b { font: 600 20px/26px var(--font-display); }
.lk-adm-brand span { font: 400 14px/20px var(--font-display); color: var(--on-primary-muted); }
.lk-adm-nav nav { display: flex; flex-direction: column; gap: 2px; }
.lk-adm-link { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--radius-sm); color: var(--on-primary-muted); text-decoration: none; font: 500 16px/22px var(--font-display); }
.lk-adm-link:hover { color: var(--on-primary); background: color-mix(in oklab, var(--on-primary) 8%, transparent); }
.lk-adm-link.is-active { color: var(--on-primary); background: color-mix(in oklab, var(--on-primary) 14%, transparent); }
.lk-adm-badge { margin-inline-start: auto; min-width: 22px; padding: 0 7px; border-radius: 11px; background: var(--accent-on-primary); color: var(--primary); font: 600 13px/22px var(--font-display); text-align: center; }
.lk-adm-user { margin-top: auto; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-top: 1px solid color-mix(in oklab, var(--on-primary) 18%, transparent); font: 400 15px/20px var(--font-display); color: var(--on-primary-muted); }
.lk-adm-out { margin-inline-start: auto; color: var(--on-primary-muted); font-size: 14px; }
.lk-adm-main { min-width: 0; }
.lk-adm-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 26px 32px 18px; background: var(--paper); border-bottom: 1px solid var(--line); }
.lk-adm-head h1 { margin: 0; font: 600 26px/32px var(--font-display); color: var(--ink); }
.lk-adm-head p { margin: 4px 0 0; font: 400 15px/22px var(--font-sans); color: var(--ink-muted); }
.lk-adm-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.lk-adm-body { padding: 24px 32px 48px; display: flex; flex-direction: column; gap: 20px; }
.lk-adm-split { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 20px; align-items: start; }
.lk-adm-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); }
.lk-adm-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.lk-adm-card-head h2 { margin: 0; font: 600 18px/24px var(--font-display); color: var(--ink); }
.lk-adm-card-head span { font: 400 14px/20px var(--font-sans); color: var(--ink-subtle); }
.lk-adm-card-body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 16px; }
.lk-adm-card-foot { display: flex; gap: 10px; justify-content: space-between; align-items: center; flex-wrap: wrap; padding: 14px 20px; border-top: 1px solid var(--line); background: var(--paper-sunken); border-radius: 0 0 var(--radius-md) var(--radius-md); }
.lk-adm-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.lk-adm-toolbar .sp { flex: 1; }
.lk-adm-toolbar .lk-input { width: 260px; }
.lk-table-wrap { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: auto; }
.lk-table { width: 100%; border-collapse: collapse; font: 400 15px/21px var(--font-sans); color: var(--ink); }
.lk-table th { text-align: right; padding: 10px 16px; background: var(--paper-sunken); border-bottom: 1px solid var(--line); font: 500 13px/18px var(--font-display); color: var(--ink-subtle); white-space: nowrap; }
.lk-table td { padding: 12px 16px; border-bottom: 1px solid var(--hairline); vertical-align: top; }
.lk-table tr:last-child td { border-bottom: 0; }
.lk-table tr[onclick], .lk-table tbody tr { cursor: default; }
.lk-table tbody tr:hover { background: var(--paper-sunken); }
.lk-table tr.is-selected { background: var(--today-tint); box-shadow: inset 3px 0 0 var(--primary); }
.lk-table tr.is-muted { color: var(--ink-subtle); }
.lk-table b { font: 500 16px/22px var(--font-display); color: var(--ink); }
.lk-table small { display: block; font: 400 13px/18px var(--font-sans); color: var(--ink-subtle); }
.lk-status { display: inline-block; padding: 0 8px; border-radius: 3px; font: 500 13px/20px var(--font-display); color: var(--ink-muted); background: var(--paper-sunken); }
.lk-status-pending { color: var(--warning); background: var(--notice-tint); }
.lk-status-live { color: var(--success); background: #e9f3ec; }
.lk-status-off { color: var(--danger); background: #fbeceb; }
.lk-kv { display: grid; grid-template-columns: 120px 1fr; gap: 6px 14px; font: 400 15px/22px var(--font-sans); }
.lk-kv dt { color: var(--ink-subtle); }
.lk-kv dd { margin: 0; color: var(--ink); }
.lk-radio-row { display: flex; flex-wrap: wrap; gap: 8px; }
.lk-radio { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--paper); font: 500 15px/20px var(--font-display); color: var(--ink); cursor: pointer; }
.lk-radio input { accent-color: var(--primary); }
.lk-radio.is-on { border-color: var(--primary); background: var(--today-tint); color: var(--primary); }
.lk-switch { display: inline-flex; align-items: center; gap: 10px; font: 400 15px/20px var(--font-sans); color: var(--ink); cursor: pointer; }
.lk-switch i { width: 38px; height: 22px; border-radius: 11px; background: var(--line-strong); position: relative; flex: none; }
.lk-switch i::after { content: ""; position: absolute; top: 3px; inset-inline-start: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; }
.lk-switch.is-on i { background: var(--primary); }
.lk-switch.is-on i::after { inset-inline-start: 19px; }
.lk-swatch { display: inline-block; width: 18px; height: 18px; border-radius: 4px; vertical-align: -4px; margin-inline-end: 8px; border: 1px solid rgba(0,0,0,.08); }
.lk-subtabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); width: fit-content; }
.lk-subtabs button { border: 0; background: transparent; padding: 8px 14px; border-radius: 4px; font: 500 15px/20px var(--font-display); color: var(--ink-muted); cursor: pointer; }
.lk-subtabs button[aria-pressed="true"] { background: var(--primary); color: var(--on-primary); }
.lk-login { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; background: var(--canvas); }
.lk-login-side { background: var(--primary); color: var(--on-primary); display: flex; flex-direction: column; justify-content: space-between; padding: 40px 48px; }
.lk-login-side h1 { margin: 0; font: 600 34px/40px var(--font-display); }
.lk-login-side p { margin: 6px 0 0; font: 400 16px/24px var(--font-display); color: var(--on-primary-muted); }
.lk-login-side .foot { font: 400 14px/20px var(--font-sans); color: var(--on-primary-muted); }
.lk-login-form { display: flex; align-items: center; justify-content: center; padding: 40px 24px; }
.lk-login-card { width: 100%; max-width: 420px; display: flex; flex-direction: column; gap: 18px; }
.lk-login-card h2 { margin: 0; font: 600 26px/32px var(--font-display); color: var(--ink); }
.lk-login-card .sub { margin: -10px 0 0; font: 400 15px/22px var(--font-sans); color: var(--ink-muted); }
.lk-login-foot { display: flex; justify-content: space-between; align-items: center; font: 400 14px/20px var(--font-sans); color: var(--ink-muted); }
.lk-login-foot a { color: var(--primary); }

/* ---------- רשימת תפוצה ---------- */
.lk-subscribe { max-width: 560px; margin: 36px auto; display: flex; flex-direction: column; gap: 18px; }
.lk-subscribe h1 { margin: 0; font: 600 30px/36px var(--font-display); color: var(--primary); }
.lk-subscribe > p { margin: -6px 0 0; font: 400 17px/26px var(--font-sans); color: var(--ink-muted); }
.lk-check { display: flex; gap: 10px; align-items: flex-start; font: 400 15px/22px var(--font-sans); color: var(--ink); }
.lk-check input { accent-color: var(--primary); margin-top: 4px; }

/* ---------- הדפסה (A4) ---------- */
.lk-print { width: 210mm; min-height: 297mm; margin: 0 auto; padding: 12mm 12mm 14mm; background: #fff; color: #000; font-family: var(--font-sans); box-sizing: border-box; }
.lk-print-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; padding-bottom: 6px; border-bottom: 2px solid #000; }
.lk-print-head h1 { margin: 0; font: 600 24px/28px var(--font-display); }
.lk-print-head .sub { font: 400 13px/18px var(--font-sans); color: #333; }
.lk-print-shabbat { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid #000; font: 400 13px/18px var(--font-sans); }
.lk-print-shabbat b { font: 600 15px/20px var(--font-display); }
.lk-print-day { display: grid; grid-template-columns: 34mm 1fr; border-bottom: 1px solid #999; padding: 5px 0 6px; break-inside: avoid; }
.lk-print-day.shabbat { background: #f2f2f2; }
.lk-print-day .d { display: flex; flex-direction: column; padding-inline-end: 6px; border-inline-end: 1px solid #999; }
.lk-print-day .d b { font: 600 24px/26px var(--font-display); }
.lk-print-day .d span { font: 500 12px/16px var(--font-display); }
.lk-print-day .d small { font: 400 11px/14px var(--font-sans); color: #333; }
.lk-print-ev { display: grid; grid-template-columns: 16mm 1fr; gap: 0 6px; padding: 3px 8px; }
.lk-print-ev + .lk-print-ev { border-top: 1px dotted #999; }
.lk-print-ev .t { font: 600 14px/18px var(--font-display); }
.lk-print-ev .k { font: 400 11px/14px var(--font-display); color: #333; }
.lk-print-ev .n { font: 600 14px/18px var(--font-display); }
.lk-print-ev .m { font: 400 12px/16px var(--font-sans); color: #222; }
.lk-print-foot { display: flex; justify-content: space-between; margin-top: 8px; padding-top: 4px; border-top: 1px solid #000; font: 400 11px/14px var(--font-sans); color: #333; }
.lk-print-yz { margin-top: 8px; padding-top: 6px; border-top: 1px solid #000; }
.lk-print-yz h2 { margin: 0 0 2px; font: 600 14px/18px var(--font-display); }
.lk-print-yz ul { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 8mm; font: 400 12px/17px var(--font-sans); }
.lk-print-grid { display: grid; grid-template-columns: repeat(7, 1fr); border: 1px solid #000; border-inline-start: 0; }
.lk-print-grid > * { border-inline-start: 1px solid #000; border-top: 1px solid #000; }
.lk-print-grid .h { padding: 3px 4px; font: 600 11px/14px var(--font-display); background: #eee; border-top: 0; }
.lk-print-cell { min-height: 38mm; padding: 3px 4px; display: flex; flex-direction: column; gap: 2px; }
.lk-print-cell.shabbat { background: #f2f2f2; }
.lk-print-cell .dh { display: flex; justify-content: space-between; align-items: baseline; }
.lk-print-cell .dh b { font: 600 15px/18px var(--font-display); }
.lk-print-cell .dh small { font: 400 10px/14px var(--font-sans); color: #333; }
.lk-print-cell .lbl { font: 500 10px/13px var(--font-display); }
.lk-print-cell .e { font: 400 10.5px/13px var(--font-sans); }
.lk-print-cell .e b { font-weight: 600; }
.lk-print-cell.out { color: #999; }

@media (max-width: 900px) {
  .lk-page { padding: 0 16px 40px; }
  .lk-article { grid-template-columns: 1fr; gap: 24px; }
  .lk-article h1 { font-size: 28px; line-height: 34px; }
  .lk-form-grid { grid-template-columns: 1fr; }
  .lk-adm { grid-template-columns: 1fr; }
  .lk-adm-nav { position: static; height: auto; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 12px 16px; gap: 10px; }
  .lk-adm-nav nav { flex-direction: row; flex-wrap: wrap; }
  .lk-adm-user { margin: 0; border: 0; padding: 0; width: 100%; }
  .lk-adm-head, .lk-adm-body { padding-inline: 16px; }
  .lk-adm-split { grid-template-columns: 1fr; }
  .lk-login { grid-template-columns: 1fr; }
  .lk-login-side { padding: 28px 20px; }
  .lk-login-side .foot { display: none; }
  .lk-kv { grid-template-columns: 1fr; gap: 2px; }
}
@media print { body { background: #fff; } .lk-btn, .lk-tabs { display: none; } .lk-print { width: auto; min-height: 0; margin: 0; padding: 0; } @page { size: A4; margin: 12mm; } }
