/* עיצוב מינימלי לדפי הפאנל. RTL, ללא תלויות. */
:root { color-scheme: light; --err: #b00020; --ok: #1b6e2a; --line: #cfd4dc; --accent: #1a4d8f; }
body { font-family: system-ui, "Segoe UI", Arial, sans-serif; max-width: 40rem; margin: 2rem auto; padding: 0 1rem; line-height: 1.55; color: #1c1c1c; background: #fff; }
header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; border-bottom: 1px solid var(--line); padding-bottom: .5rem; margin-bottom: 1.2rem; }
h1 { font-size: 1.4rem; margin: 0; }
h2 { font-size: 1.15rem; margin: 1.2rem 0 .5rem; }
form { display: grid; gap: .8rem; max-width: 26rem; }
label { display: grid; gap: .25rem; }
input, button, select { font: inherit; padding: .45rem .65rem; border: 1px solid var(--line); border-radius: .35rem; }
input:focus, select:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
button { cursor: pointer; background: #f4f6f9; }
button.primary { background: var(--accent); color: #fff; border-color: var(--accent); }
button:disabled { opacity: .6; cursor: progress; }
button.linky { background: none; border: none; padding: 0; color: var(--accent); text-decoration: underline; }
fieldset { border: 1px solid var(--line); border-radius: .4rem; padding: .9rem 1rem 1.1rem; display: grid; gap: .8rem; margin: 0; }
legend { font-weight: 600; padding: 0 .35rem; color: #444; }
.hint { font-size: .9rem; color: #555; margin: .4rem 0 0; }
.code-input { font-size: 1.6rem; letter-spacing: .5rem; text-align: center; font-family: "Courier New", monospace; }
small { color: #555; }
small.err, .err { color: var(--err); }
.ok { color: var(--ok); }
.msg { padding: .6rem .8rem; border: 1px solid; border-radius: .35rem; margin-top: .8rem; }
.msg.err { border-color: var(--err); background: #fff3f3; }
.msg.ok { border-color: var(--ok); background: #f1faf3; }
ul { padding-inline-start: 1.2rem; }
li { margin: .3rem 0; }
dl { display: grid; grid-template-columns: max-content 1fr; gap: .3rem 1rem; }
dt { font-weight: 600; color: #444; }
dd { margin: 0; }
footer { margin-top: 3rem; border-top: 1px solid var(--line); padding-top: .6rem; font-size: .9rem; color: #666; }
[hidden] { display: none !important; }

/* ═══ גל 4 · פרוסה 2 — פאנל הקהילה ═══
 *
 * הקובץ הזה משרת עכשיו שני דפים: `index.html` (כניסה והרשמה) ו-`panel.html`
 * (פאנל הקהילה). ‏`max-width: 40rem` על `body` נשאר — הפאנל אינו דשבורד
 * ואינו צריך רוחב מסך מלא.
 *
 * ⚠ `:root { color-scheme: light }` **נשאר קשיח בכוונה**: לפאנל אין ערכה
 * כהה, ומצב כהה חלקי גרוע ממצב בהיר שלם. באתר הציבורי (`themes/classic.css`)
 * יש שני מצבים, וזה הבדל מוצהר בין השניים.
 */

a.linky-a { color: var(--accent); }

/* ─── "האתר שלך" — אותו רכיב בכל מסכי הפאנל (PNL-008) ─── */
.site-link {
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem;
  margin: .5rem 0; padding: .55rem .7rem;
  border: 1px solid var(--line); border-radius: .4rem; background: #f7f9fc;
}
.site-link-caption { font-weight: 600; color: #444; }
.site-link-url { font-family: "Courier New", monospace; word-break: break-all; color: var(--accent); }
/* יעד נגיעה — אותם 44px של האתר הציבורי. */
.site-link-copy { min-height: 44px; }
.site-link-said { font-size: .9rem; color: var(--ok); }

form.wide { max-width: 34rem; }
.field-err { color: var(--err); font-size: .88rem; }

/* תצוגה מקדימה של הכותרת — **אותם טוקנים בדיוק** שהאתר כותב
   (`applyBranding` ב-site/tenant.js), ולכן מה שנראה כאן הוא מה שיהיה שם. */
.brand-preview { border: 1px solid var(--line); border-radius: .4rem; overflow: hidden; }
.brand-preview .bp-head {
  background: var(--mz-primary, #7b1e3a); color: var(--mz-on-primary, #fff);
  padding: 1rem; text-align: center;
}
.brand-preview .bp-name { font-size: 1.3rem; font-weight: 700; }
.brand-preview .bp-sub { font-size: .95rem; opacity: .9; }
.brand-preview .bp-body {
  background: var(--mz-bg, #fdfbf7); color: var(--mz-on-bg, #14110f);
  padding: .8rem 1rem; font-size: .95rem;
}
.brand-preview .bp-logo { max-block-size: 64px; max-inline-size: 100%; object-fit: contain; }

.save-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: .4rem; }

#provider-note { margin-top: .8rem; font-weight: 600; }
/* המקום נקבע — השורה שבאה **במקום** הטופס, לא לצדו. */
#place-locked { font-size: .95rem; }

/* ─── גל 4 · פרוסה 5: התוכן השוטף (PNL-013 הודעות · PNL-014 שיעורים · PNL-015 זמני תפילה) ─── */

textarea { font: inherit; padding: .45rem .65rem; border: 1px solid var(--line); border-radius: .35rem;
  resize: vertical; inline-size: 100%; box-sizing: border-box; line-height: 1.5; }
textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.char-count { font-size: .82rem; color: #666; font-variant-numeric: tabular-nums; justify-self: end; }

/* תיבת סימון עם התווית שלה — בשורה אחת, ויעד נגיעה מלא. */
.check-row { display: flex; align-items: center; gap: .5rem; min-height: 44px; }
.check-row input[type="checkbox"] { inline-size: 1.2rem; block-size: 1.2rem; margin: 0; }

/* הרשימה. כל שורה: כותרת + מצב, וכפתורים שיורדים לשורה משלהם בנייד. */
.item-list { list-style: none; padding: 0; margin: .4rem 0 .9rem; display: grid; gap: .5rem; }
.item-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem .8rem;
  margin: 0; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: .4rem;
  border-inline-start-width: 4px; background: #fff; }
.item-main { display: grid; gap: .1rem; min-inline-size: 0; flex: 1 1 14rem; }
.item-title { overflow-wrap: anywhere; }
.item-meta { font-size: .9rem; color: #444; }
.item-status { font-size: .85rem; color: #555; }
.item-actions { display: flex; gap: .4rem; }
.item-actions button { min-height: 44px; }
.item-row.tone-ok { border-inline-start-color: #2e7d32; }

/* ═══ גל 4 · פרוסה 6ב — סופר-אדמין (PNL-019 · PNL-020) ═══
 * הפס קטן ובולט בצבע אחר מכל שאר הפאנל, כדי שסופר-אדמין לא יחשוב שהוא בקהילה
 * שלו. הרשימה בדף הכניסה — שורה לכל קהילה, בלי טבלה רחבה (380px). */
.super-bar { margin: 0 0 .8rem; padding: .4rem .7rem; border-radius: .35rem;
  background: #4a1d6b; color: #fff; font-size: .9rem; font-weight: 600; }
.super-list { list-style: none; padding: 0; margin: .3rem 0 0; }
.super-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: .1rem .5rem;
  padding: .4rem 0; border-bottom: 1px solid var(--line); margin: 0; }
.super-list .sl-name { font-weight: 600; }
.super-list .sl-id { font-family: "Courier New", monospace; direction: ltr; color: #444; font-size: .9rem; }
.super-list .sl-status { font-size: .85rem; color: #555; }
.super-list .sl-status.st-blocked { color: var(--err); font-weight: 600; }
.super-list .sl-status.st-grace { color: #b7791f; font-weight: 600; }
.super-list a { margin-inline-start: auto; min-height: 44px; display: inline-flex; align-items: center; }

/* ═══ גל 4 · פרוסה 8ב-פאנל — עורך הזמנים (PNL-021..032) ═══
 * אותה שפה של שאר הפאנל: פס צבע בצד ההתחלה (כמו .item-row), כפתורים של 44px,
 * ו**הטקסט נושא את המשמעות** — הצבע מחזק, לא מחליף ("דורש תיקון", "עבר — יחזור בשנה הבאה").
 * גוונים: אדום · צהוב · מידע (אפור-כחלחל) · תקין (ירוק) · עבר (אפור). רוחב 380px — הכול נעטף. */
.zm-root { --zm-red: #a33; --zm-yellow: #b7791f; --zm-info: #5f6b7a; --zm-green: #2e7d32; --zm-passed: #9aa0a6; }
.zm-root button { min-height: 44px; }
.zm-status { min-height: 1.4em; margin: .3rem 0; font-size: .9rem; color: #444; }

/* ZMANIM-EDITOR-SAVE-LOSS — הודעת השמירה ליד המקום שבו נעשה השינוי, והשאלה "השורה עוד לא נשמרה" */
.msg.wait { border-color: var(--line); background: #f6f7f9; color: #444; }
.zm-note { margin: .4rem 0 0; font-size: .92rem; overflow-wrap: anywhere; }
.zm-note.err { font-weight: 600; }
.zm-leave { border: 2px solid var(--zm-red); border-radius: .4rem; background: #fff6f6; padding: .5rem .7rem; }
.zm-leave-text { margin: 0 0 .3rem; font-weight: 600; }

/* כרטיסיית הקבועים */
.zm-counts { font-weight: 600; margin: .2rem 0 .6rem; }
.zm-attention { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding: .5rem .6rem;
  border: 1px solid var(--line); border-radius: .4rem; background: #fafbfd; margin-bottom: .8rem; }
.zm-att { border-inline-start: 4px solid var(--zm-yellow); background: #fff; }
.zm-att.tone-red { border-inline-start-color: var(--zm-red); }
.zm-group { margin: 1.1rem 0 .4rem; font-size: 1.02rem; color: #333; }
.zm-cards { display: grid; gap: .55rem; }
.zm-card { border: 1px solid var(--line); border-inline-start: 5px solid var(--zm-green); border-radius: .4rem;
  padding: .55rem .75rem .65rem; background: #fff; min-inline-size: 0; }
.zm-card:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.zm-card.tone-red { border-inline-start-color: var(--zm-red); background: #fdf5f5; }
.zm-card.tone-yellow { border-inline-start-color: var(--zm-yellow); background: #fffbf0; }
.zm-card.tone-info { border-inline-start-color: var(--zm-info); }
.zm-card.tone-passed { border-inline-start-color: var(--zm-passed); background: #f4f4f5; color: #555; }
.zm-card-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .5rem; }
.zm-card-title { font-size: 1.02rem; }
.zm-card-state { font-size: .85rem; color: #555; margin-inline-start: auto; }
.zm-card.tone-red .zm-card-state { color: var(--zm-red); font-weight: 600; }
.zm-card.tone-yellow .zm-card-state { color: var(--zm-yellow); font-weight: 600; }
.zm-card-fill, .zm-card-next, .zm-card-hint { margin: .15rem 0; font-size: .9rem; }
.zm-card-hint { color: var(--accent); font-weight: 600; }
.zm-card-toggle { padding-block: .2rem; }
.zm-flags { list-style: none; padding: 0; margin: .3rem 0; display: grid; gap: .2rem; }
.zm-flag { margin: 0; font-size: .88rem; overflow-wrap: anywhere; }
.zm-flag.tone-red { color: var(--zm-red); }
.zm-flag.tone-yellow { color: #8a5a10; }
.zm-flag.tone-info { color: var(--zm-info); }
.zm-flag.tone-passed { color: var(--zm-passed); }
.zm-flag-last { white-space: nowrap; }
.zm-question { margin: .4rem 0; padding: .4rem .7rem .5rem; }

/* עורך הקטגוריה והשורה (113) */
.zm-cat-editor { display: grid; gap: .5rem; margin-top: .6rem; padding-top: .6rem; border-top: 1px dashed var(--line); }
.zm-rows { list-style: none; padding: 0; margin: 0; display: grid; gap: .4rem; }
.zm-row { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; margin: 0;
  padding: .4rem .55rem; border: 1px solid var(--line); border-radius: .35rem; background: #fff; }
.zm-row-text { flex: 1 1 14rem; min-inline-size: 0; overflow-wrap: anywhere; }
.zm-row-editor { display: grid; gap: .45rem; inline-size: 100%; }
.zm-sentence { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .45rem; }
.zm-sentence > span:first-child { font-weight: 600; }
.zm-sentence-part { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.zm-sentence input[type="text"] { flex: 1 1 12rem; min-inline-size: 0; }
.zm-sentence select { max-inline-size: 100%; min-height: 44px; }
.zm-num { inline-size: 5rem; }
.zm-advanced { border: 1px solid var(--line); border-radius: .35rem; padding: .3rem .6rem; }
.zm-advanced summary, .zm-cat-opts summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; }
.zm-advanced > label, .zm-cat-opts > label { margin: .3rem 0; }
.zm-surfaces { padding: .3rem .7rem; gap: 0; }
.zm-preview { border: 1px solid #d8e2f0; background: #f6f9fd; border-radius: .35rem; padding: .4rem .6rem; }
.zm-prev-title { margin: 0 0 .2rem; font-weight: 600; }
.zm-prev-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .15rem; }
.zm-prev-list li { display: flex; flex-wrap: wrap; gap: .1rem .6rem; margin: 0; align-items: baseline; }
.zm-prev-when { flex: 1 1 12rem; font-size: .9rem; color: #333; }
.zm-prev-time { font-variant-numeric: tabular-nums; direction: ltr; unicode-bidi: isolate; }
.zm-prev-note { font-size: .82rem; color: #666; }

/* "אשר ופרסם" — הסיכום לפי שבוע (116) */
.zm-publish { border: 2px solid var(--accent); border-radius: .5rem; padding: .6rem .8rem .8rem; margin: .6rem 0; background: #fbfcfe; }
.zm-publish h3 { margin: .1rem 0 .4rem; }
.zm-wait { font-weight: 600; }
.zm-sum-line { margin: .25rem 0; }
.zm-week-days { font-size: .9rem; color: #555; }
.zm-day-diff { border-top: 1px dashed var(--line); padding: .4rem 0; }
.zm-day-diff-date { margin: 0 0 .2rem; font-weight: 600; }
.zm-before-after { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: .5rem; }
.zm-ba { min-inline-size: 0; }
.zm-ba-label { margin: 0; font-size: .85rem; font-weight: 700; color: #444; }
/* המארח של הכרטיס הציבורי (Shadow DOM עם classic.css). הרקע — רקע הדף של הקהילה, כמו באתר. */
.zm-cardhost { display: block; padding: .1rem .5rem .5rem; border-radius: .4rem; overflow: hidden; }

/* עורך היום (114) */
.zm-cal { border: 1px solid var(--line); border-radius: .4rem; padding: .5rem; margin-bottom: .8rem; }
.zm-cal-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem; margin-bottom: .4rem; }
.zm-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .2rem; }
.zm-cal-wd { text-align: center; font-size: .8rem; color: #666; }
.zm-cal-day { min-height: 44px; padding: 0; font-variant-numeric: tabular-nums; position: relative; background: #fff; }
.zm-cal-day:disabled { background: #f3f3f3; color: #aaa; cursor: default; opacity: 1; }
.zm-cal-day.is-changed::after { content: "●"; position: absolute; inset-block-start: 1px; inset-inline-end: 4px; font-size: .6rem; color: var(--accent); }
.zm-cal-day.flag-red { border: 2px solid var(--zm-red); }
.zm-cal-day.flag-yellow { border: 2px solid var(--zm-yellow); }
.zm-cal-day.flag-info { border: 2px solid var(--zm-info); }
.zm-cal-day.is-selected { background: var(--accent); color: #fff; }
.zm-cal-legend { margin: .3rem 0 0; font-size: .8rem; color: #555; }
.zm-day h3 { margin: .2rem 0; }
.zm-day-sub, .zm-day-heading, .zm-day-note { margin: .1rem 0; font-size: .92rem; }
.zm-day-heading { font-weight: 600; }
.zm-dayrows { list-style: none; padding: 0; margin: .5rem 0; display: grid; gap: .4rem; }
.zm-dayrow { margin: 0; padding: .45rem .6rem; border: 1px solid var(--line); border-inline-start-width: 4px; border-radius: .35rem; background: #fff; display: grid; gap: .2rem; }
.zm-dayrow.src-override { border-inline-start-color: var(--accent); background: #f4f8fd; }
.zm-dayrow.src-added { border-inline-start-color: var(--zm-green); }
.zm-dayrow.is-hidden { background: #f4f4f5; color: #777; }
.zm-dayrow.is-hidden .zm-dayrow-label { text-decoration: line-through; }
.zm-dayrow-main { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .2rem .6rem; }
.zm-dayrow-time { font-variant-numeric: tabular-nums; }
.zm-dayrow-meta { margin: 0; font-size: .85rem; color: #555; }
.zm-dayrow-perm { margin: 0; font-size: .85rem; color: #8a5a10; font-weight: 600; }
.zm-onetime { display: grid; gap: .4rem; padding: .5rem .6rem; border: 1px dashed var(--accent); border-radius: .35rem; }
.zm-day-card { margin-top: .8rem; }

/* שחזור (95) */
.zm-confirm { border: 2px solid var(--zm-yellow); background: #fff8e6; border-radius: .4rem; padding: .5rem .8rem; margin: .5rem 0; }
.zm-confirm p { margin: 0 0 .3rem; font-weight: 600; }
.zm-versions .item-status { font-variant-numeric: tabular-nums; }
.zm-mode-hint { margin: .3rem 0; }
.zm-daynote { margin: .3rem 0; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.zm-daynote .zm-sentence, .zm-daynote .hint, .zm-daynote .save-bar { flex-basis: 100%; }

/* ═══ WAVE5-SLICE4A-PANEL · פרוסה 5.4א — מסך "מסכי תצוגה" ═══ */
#scr-pair-url { font-family: "Courier New", monospace; word-break: break-all; color: var(--accent); unicode-bidi: isolate; }
/*‏`?pair=1` בתוך משפט עברי: כיוון LTR מבודד ובלי שבירת שורה בתוכו (בלי זה מוצג "pair=1?") */
.scr-ltr { direction: ltr; unicode-bidi: isolate; white-space: nowrap; }

/* ═══ WAVE5-SLICE4A-PANEL — ברכות המועד ═══ */
#grt-reload { min-height: 44px; }
#grt-reload { margin-top: .4rem; }

/* WAVE5-SLICE4A-PANEL (5.4א) · כיתוב המשנה בעורך השורה — מחלקות zm-mishna-. */
.zm-mishna-row { margin: .3rem 0; }
.zm-mishna-row .hint, .zm-mishna-stale { margin: 0 0 .3rem; }
.zm-mishna-mark { font-size: .85rem; color: #555; border: 1px solid var(--line); border-radius: .35rem; padding: .05rem .45rem; white-space: nowrap; }

/* ═══ WAVE5-SLICE4B3A-ROTATION-PANEL · פרוסה 5.4ב3א — מסך "סבב המסך" · קידומת rot- ═══
 * אותה שפה של שאר הפאנל: פס צבע בצד ההתחלה — ירוק לפריט פעיל, אפור לכבוי, כתום לפריט שלא יישלח, אדום לשגיאה — וכפתורים של 44px.
 * ‏**הטקסט נושא את המשמעות, לא הצבע**: ההערות והשגיאות כתובות. רוחב 390px — הכול נעטף ואין גלילה אופקית; שמות ושדות כיתוב — dir="auto"; מספרים — dir="ltr". */
.rot-root { display: grid; gap: .9rem; }
.rot-root button { min-height: 44px; }
.rot-editor { display: grid; gap: .8rem; min-inline-size: 0; }
.rot-status { margin: 0; }
.rot-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.rot-row { display: grid; gap: .45rem; padding: .6rem .7rem; min-inline-size: 0;
  border: 1px solid var(--line); border-inline-start: 4px solid #2e7d32; border-radius: .4rem; background: #fff; }
.rot-row.is-off { border-inline-start-color: #9aa0a6; background: #fafafa; color: #555; }
.rot-row.is-unsent { border-inline-start-color: #b7791f; background: #fffbf0; }
.rot-row.is-invalid, .rot-row.is-error { border-inline-start-color: var(--err); background: #fffafa; }
.rot-row.is-dragging { opacity: .55; outline: 2px dashed var(--accent); }
.rot-row.rot-drop-before { box-shadow: 0 -4px 0 0 var(--accent); }
.rot-rows.rot-drop-end > .rot-row:last-child { box-shadow: 0 4px 0 0 var(--accent); }
.rot-handle { display: inline-flex; align-items: center; justify-content: center; min-inline-size: 44px; min-block-size: 44px;
  cursor: grab; touch-action: none; user-select: none; font-size: 1.3rem; color: #555; border: 1px dashed var(--line); border-radius: .35rem; }
.rot-num { font-variant-numeric: tabular-nums; font-weight: 700; min-inline-size: 1.6rem; text-align: center; }
.rot-name { flex: 1 1 8rem; overflow-wrap: anywhere; }
.rot-fields { display: grid; gap: .5rem; grid-template-columns: minmax(0, 9rem) minmax(0, 1fr); align-items: start; }
@media (max-width: 520px) { .rot-fields { grid-template-columns: minmax(0, 1fr); } }
.rot-field { display: grid; gap: .25rem; min-inline-size: 0; }
.rot-field input { inline-size: 100%; box-sizing: border-box; min-block-size: 44px; }
.rot-fixed { margin: 0; align-self: center; }
.rot-sub { border: 1px solid var(--line); border-radius: .35rem; padding: .4rem .6rem; display: grid; gap: .35rem; min-inline-size: 0; margin: 0; }
.rot-sub legend { font-weight: 600; padding-inline: .3rem; }
.rot-sub select, .rot-sub input[type="text"] { inline-size: 100%; box-sizing: border-box; min-block-size: 44px; }
.rot-sub-textwrap { display: grid; gap: .25rem; min-inline-size: 0; }
.rot-sub-default { margin: 0; overflow-wrap: anywhere; }
.rot-window { margin: 0; }
.rot-note, .rot-row-err { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.rot-row-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.rot-row-actions button { min-inline-size: 44px; }
.rot-count.is-over { color: var(--err); font-weight: 600; }
.rot-missing { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.rot-missing-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem .8rem; }
.rot-dirty { color: #8a5a10; font-weight: 600; margin: 0; }
.rot-confirm, .rot-stale { border: 2px solid var(--err); background: #fff6f6; border-radius: .4rem; padding: .5rem .7rem; }
.rot-stale { border-color: #b7791f; background: #fffbf0; }
.rot-confirm-q, .rot-stale-q { margin: 0 0 .3rem; }
.rot-live { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; margin: 0; }

/* ═══ WAVE5-SLICE4B3B-ROW-PREVIEW · פרוסה 5.4ב3ב — תצוגה מקדימה לכל שורה בעורך הסבב · קידומת rot-prev- ═══
 * פונקציונלי בלבד: במה 16:9 שחורה (רוחב מלא, עד 640px) ובתוכה ה-iframe בגודל לוגי 1280×720, מוקטן ב-transform מהפינה השמאלית העליונה ובלי מגע (זו מראה, לא ממשק);
 * בקרים בגובה 44px ובצבעי ה-tone של הפאנל. ‏**הטקסט נושא את המשמעות, לא הצבע.** רוחב 390px — עמודה אחת ואין גלישה אופקית. */
.rot-prev-hint, .rot-prev-clock { margin: 0; overflow-wrap: anywhere; }
.rot-prev-status { margin: 0; padding: .45rem .6rem; border: 1px solid var(--line); border-radius: .35rem; min-block-size: 44px; box-sizing: border-box; overflow-wrap: anywhere; }
.rot-prev-tone-ok { border-color: var(--ok); background: #f1faf3; }
.rot-prev-tone-err { border-color: var(--err); background: #fff3f3; }
.rot-prev-tone-warn { border-color: #b7791f; background: #fffbf0; }
.rot-prev-tone-wait { background: #f6f7f9; color: #444; }
.rot-prev-stage { position: relative; inline-size: 100%; max-inline-size: 640px; margin-inline: auto; aspect-ratio: 16 / 9; background: #000; overflow: hidden; direction: ltr; }
.rot-prev-frame { position: absolute; left: 0; top: 0; inline-size: 1280px; block-size: 720px; border: 0; display: block; transform-origin: 0 0; pointer-events: none; background: #000; }
.rot-prev-controls { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); align-items: end; min-inline-size: 0; }
@media (max-width: 520px) { .rot-prev-controls { grid-template-columns: minmax(0, 1fr); } }
.rot-prev-field { display: grid; gap: .25rem; min-inline-size: 0; }
.rot-prev-field input { inline-size: 100%; box-sizing: border-box; min-block-size: 44px; }
.rot-prev-controls button, .rot-prev-dismiss { min-block-size: 44px; min-inline-size: 44px; }

/* ═══ WAVE5-SLICE4B3C-LIVE-AND-PRODUCT · פרוסה 5.4ב3ג — "המסך החי" בעורך הסבב · קידומת rot-live- ═══
 * פונקציונלי בלבד, באותה שפה של התצוגה לכל שורה (rot-prev-): (אחרי לחיצה) במה 16:9 שחורה (רוחב מלא, עד 640px) עם ה-iframe בגודל לוגי 1280×720, מוקטן ב-transform מהפינה השמאלית העליונה ובלי מגע (זו מראה, לא ממשק);
 * בקרים בגובה 44px ובצבעי ה-tone של הפאנל. ‏**הטקסט נושא את המשמעות, לא הצבע.** רוחב 390px — עמודה אחת ואין גלישה אופקית. ‏(`.rot-live` ללא מקף — האזור החי הנסתר של העורך מ-5.4ב3א — לא נוגעים בו.) */
.rot-live-clock { margin: 0; overflow-wrap: anywhere; }
.rot-live-btn { min-block-size: 44px; justify-self: start; }
.rot-live-host { display: grid; gap: .5rem; min-inline-size: 0; padding: .5rem .6rem; border: 1px solid var(--line); border-radius: .4rem; background: #f8f9fb; }
.rot-live-host[hidden] { display: none; }
.rot-live-status { margin: 0; padding: .45rem .6rem; border: 1px solid var(--line); border-radius: .35rem; min-block-size: 44px; box-sizing: border-box; overflow-wrap: anywhere; }
.rot-live-tone-ok { border-color: var(--ok); background: #f1faf3; }
.rot-live-tone-err { border-color: var(--err); background: #fff3f3; }
.rot-live-tone-warn { border-color: #b7791f; background: #fffbf0; }
.rot-live-tone-wait { background: #f6f7f9; color: #444; }
.rot-live-stage { position: relative; inline-size: 100%; max-inline-size: 640px; margin-inline: auto; aspect-ratio: 16 / 9; background: #000; overflow: hidden; direction: ltr; }
.rot-live-frame { position: absolute; left: 0; top: 0; inline-size: 1280px; block-size: 720px; border: 0; display: block; transform-origin: 0 0; pointer-events: none; background: #000; }
.rot-live-controls { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); align-items: end; min-inline-size: 0; }
@media (max-width: 520px) { .rot-live-controls { grid-template-columns: minmax(0, 1fr); } }
.rot-live-field { display: grid; gap: .25rem; min-inline-size: 0; }
.rot-live-field input { inline-size: 100%; box-sizing: border-box; min-block-size: 44px; }
.rot-live-controls button, .rot-live-dismiss { min-block-size: 44px; min-inline-size: 44px; }

/* ═══ WAVE5-SLICE5B-SPECIALS-PANEL · פרוסה 5.5ב — שדה התמונה במסך מיוחד (spc-) · שורת מסך מיוחד בעורך הסבב (rot-special-) ═══
 * כפתורים ושדות של 44px לפחות. ‏**הטקסט נושא את המשמעות, לא הצבע.** רוחב 390px — שמות וכיתובים מתעטפים (overflow-wrap) ואין גלילה אופקית. */
.spc-image { display: grid; gap: .4rem; min-inline-size: 0; }
.spc-image-preview { display: block; inline-size: 100%; max-inline-size: 100%; block-size: auto; max-block-size: 16rem; object-fit: contain; border: 1px solid var(--line); border-radius: .35rem; background: #f4f4f5; }
.spc-file-label { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; min-block-size: 44px; max-inline-size: 100%; }
.spc-image input[type="file"] { max-inline-size: 100%; min-inline-size: 0; }
.rot-special-box { display: grid; gap: .5rem; }
.rot-special-pick { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; }
.rot-special-pick select { flex: 1 1 12rem; min-inline-size: 0; min-block-size: 44px; }
.rot-special-note, .rot-special-ms-note { margin: 0; overflow-wrap: anywhere; }
.rot-special-tag { display: inline-block; padding: .05rem .5rem; border: 1px solid var(--line); border-radius: 999px; font-size: .85rem; font-weight: 600; white-space: nowrap; }

/* ═══ WAVE5-PB-BUILD — תגית "יוסר בשמירה" בעורך הסבב (rot-special-removal; שער spg-13 נועל את קידומות הבלוק האחרון) ═══ */
.rot-special-removal { display: inline-block; max-inline-size: 100%; padding: .05rem .5rem; border: 1px solid #b7791f; border-radius: 999px; background: #fffbf0; color: #5a3d0a; font-size: .85rem; font-weight: 600; overflow-wrap: anywhere; }
