/* TLV TASE View — גיליון סגנון
 *
 * הקהל הוא מנהל השקעות שקורא שלוש פעמים ביום, לרוב בסריקה מהירה ולעיתים
 * בטלפון. ארבעת העקרונות שמנחים כאן:
 *
 *   1. מספרים הם התוכן. כל ערך מספרי בספרות טבלאיות ובפני מונחה־רוחב, כדי
 *      שעמודות יתיישרו ושאפשר יהיה להשוות בעין בלי לקרוא.
 *   2. טבלאות פיננסיות נקראות טוב יותר עם קווים אופקיים בלבד. מסגרת סביב
 *      כל תא מייצרת רעש שמתחרה בנתון.
 *   3. עברית עם bidi: בכל ערך חתום מוגדר כיוון מפורש, אחרת "-7.11%" נקרא
 *      על המסך "7.11%-".
 *   4. הרושם הוא של פתק מחקר מוסדי ולא של דשבורד: קווים דקים במקום צללים,
 *      פינות חדות, וכותרות בפרנק־ריהל — פני העיתונות העברית — מול גוף
 *      ב-Assistant. ההיררכיה נבנית מניגוד בין הפנים, לא מהמון צבע.
 */

:root {
  /* ניטרלים מוטים לכחול קר, לא לקרם. הבחירה מכוונת: קרם חם קורא כמו
     מגזין לייף־סטייל, והמוצר הזה הוא נייר עבודה. */
  --bg: #f4f6f7;
  --surface: #ffffff;
  --fg: #14181d;
  --muted: #5c6670;
  --faint: #66717b;   /* 4.6:1 על הרקע — הערך הקודם, #8b949d, נתן 2.84 */

  /* כחול פטרול עמוק. נבחר גם בשלילה: אדום ובורדו הם הצבע הטבעי לפיננסים
     מודפסים, אבל באתר שמציג עליות וירידות אדום כבר תפוס לסמנטיקה של הפסד,
     ומבטא אדום היה מתנגש בו בכל טבלה. */
  --accent: #0f4c63;
  --accent-2: #14688a;
  --accent-soft: #e6eef2;
  /* טקסט על גבי מילוי במבטא. בערכה הבהירה המבטא כהה ולכן לבן; בכהה הוא
     מתבהר לתכלת, ולבן עליו נותן יחס ניגודיות של כ-2:1 — מתחת לכל סף. */
  --on-accent: #ffffff;

  --border: #dde3e7;
  --border-strong: #c3ccd3;
  --table-head: #eef2f4;

  --up: #0b7a4b;
  --down: #c0392b;
  --warn: #8a6410;
  --warn-bg: #f5ebd5;

  --shadow: none;
  --radius: 5px;
  --measure: 42rem;   /* מידת קריאה לפרוזה */
  --wide: 70rem;      /* עמודי נתונים */

  --serif: "Frank Ruhl Libre", "David Libre", Georgia, serif;
  --sans: "Assistant", "Heebo", "Segoe UI", "Arial Hebrew", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", Consolas, monospace;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0e1216;
    --surface: #161b21;
    --fg: #e4e8ec;
    --muted: #99a4ae;
    --faint: #7d8891;   /* 5.2:1; הקודם נתן 4.23 */
    --accent: #6cb6d4;
    --accent-2: #8ecbe4;
    --accent-soft: #14262f;
    --on-accent: #0b0f13;
    --border: #232a31;
    --border-strong: #37414a;
    --table-head: #1a2027;
    --up: #3fbe84;
    --down: #e2705f;
    --warn: #d0a343;
    --warn-bg: #2e2614;
    --shadow: none;
  }
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: tabular-nums;
}

/* ---------- שלד ---------- */

header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 0.6rem 1.5rem;
  flex-wrap: wrap;
  padding: 0.6rem max(1rem, calc((100% - var(--wide)) / 2)) 0.5rem;
  background: color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter: saturate(1.3) blur(10px);
  /* קו כפול — thick/thin — הוא הסימן המובהק של נייר מחקר מודפס, ומבדיל
     את המאסטהד מכל שאר החוצצים בעמוד. */
  border-bottom: 1px solid var(--accent);
  box-shadow: 0 3px 0 -1px var(--border-strong);
}
.brand {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  text-decoration: none;
  font-family: var(--serif);
  font-weight: 900;
  font-size: 1.12rem;
  letter-spacing: -0.005em;
  color: var(--accent);
  white-space: nowrap;
}
.brand em {
  font-family: var(--sans);
  font-style: normal;
  font-weight: 500;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  color: var(--faint);
  margin-top: 0.15rem;
}
nav { display: flex; flex-wrap: wrap; gap: 0 0.15rem; }
nav a {
  color: var(--muted);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 500;
  padding: 0.2rem 0.6rem 0.3rem;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
}
nav a:hover { color: var(--accent); border-bottom-color: var(--accent); }
nav a.hi { color: var(--accent); font-weight: 700; }

main {
  max-width: var(--wide);
  margin: 0 auto;
  padding: 1.6rem max(1rem, 5vw) 4rem;
}
/* פרוזה נשארת במידת קריאה גם כשהעמוד רחב; טבלאות ורצועות פורצות אותה */
main > p, main > ul:not([class]), main > ol, main > blockquote { max-width: var(--measure); }

footer {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  max-width: var(--wide);
  margin: 0 auto;
  color: var(--faint);
  font-size: 0.76rem;
  line-height: 1.6;
  padding: 1.5rem max(1rem, 5vw) 3rem;
  border-top: 1px solid var(--border-strong);
}
footer b {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--muted);
}
footer span { max-width: 52rem; }

/* ---------- טיפוגרפיה ---------- */

h1 {
  font-family: var(--serif);
  font-size: clamp(1.5rem, 1.15rem + 1.5vw, 2.05rem);
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.01em;
  margin: 0 0 0.5rem;
  text-wrap: balance;
}
h2 {
  font-family: var(--serif);
  font-size: 1.24rem;
  font-weight: 700;
  color: var(--fg);
  margin: 2.8rem 0 0.8rem;
  padding-bottom: 0.3rem;
  /* הקו נושא את הצבע במקום הטקסט: כותרת צבעונית בכל סעיף מפזרת את
     תשומת הלב, קו דק מתחתיה מסמן את אותה היררכיה בשקט. */
  border-bottom: 2px solid var(--accent);
  letter-spacing: -0.005em;
}
h3 {
  font-family: var(--sans);
  font-size: 0.98rem;
  font-weight: 700;
  margin: 1.6rem 0 0.3rem;
  letter-spacing: 0.005em;
}
p { margin: 0.7rem 0; }
a { color: var(--accent); text-underline-offset: 0.18em; }
strong { font-weight: 700; }
code {
  font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
  font-size: 0.86em;
  background: var(--table-head);
  border-radius: 4px;
  padding: 0.05em 0.35em;
}
hr.sep { border: 0; border-top: 1px solid var(--border); margin: 2.6rem 0; }

blockquote {
  margin: 0.8rem 0;
  padding: 0.4rem 1rem;
  border-inline-start: 3px solid var(--accent);
  background: var(--accent-soft);
  border-radius: 0 6px 6px 0;
  color: var(--fg);
}

/* גוף הברייף: פסקה שנפתחת בהדגשה היא אייטם רמה 3, והיא נקודת העצירה
   של הסורק. סימון עדין בשוליים במקום כותרת נוספת. */
main > p > strong:first-child { color: var(--fg); }

/* ---------- טבלאות ---------- */

.tw { overflow-x: auto; margin: 0.9rem 0; -webkit-overflow-scrolling: touch; }
table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.9rem;
  line-height: 1.5;
}
/* כל ערך חתום כבר נעטף ב-span עם כיוון מפורש (ראה _SIGNED_NUM ב-build.py);
   כאן הוא מקבל גם את הפנים המונחות־רוחב, כדי שעמודות ישרו זו לזו. */
td span[dir="ltr"], th span[dir="ltr"] {
  font-family: var(--mono);
  font-size: 0.94em;
  font-weight: 500;
}
th, td {
  padding: 0.5rem 0.7rem;
  text-align: right;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}
th {
  background: transparent;
  font-weight: 700;
  font-size: 0.78rem;
  color: var(--muted);
  letter-spacing: 0.02em;
  border-bottom: 1px solid var(--border-strong);
  white-space: nowrap;
}
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: color-mix(in srgb, var(--table-head) 60%, transparent); }

/* ---------- דשבורד ---------- */

.dash-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
  margin-bottom: 0.9rem;
}
.dash-head h1 { margin: 0; }
.stamp { color: var(--faint); font-size: 0.79rem; }
.stamp .stale { color: var(--down); font-weight: 700; }

ul.sources {
  list-style: none; padding: 0; margin: 0 0 1.3rem;
  display: flex; flex-wrap: wrap; gap: 0.35rem;
}
ul.sources li {
  display: flex; align-items: center; gap: 0.3rem;
  font-size: 0.75rem; color: var(--muted);
  border: 1px solid var(--border); border-radius: 999px;
  padding: 0.12rem 0.65rem; background: var(--surface);
}
ul.sources li em { color: var(--faint); font-style: normal; }
ul.sources li.ok span { color: var(--up); font-weight: 700; }
ul.sources li.bad { opacity: 0.65; }
ul.sources li.bad span { color: var(--down); font-weight: 700; }

/* רצועת השווקים — הדבר הראשון שנקרא, ולכן המספר הוא הגיבור בתא */
/* סרט הנתונים. הכרטיסים המוצללים הוחלפו ברשת תאים עם קווי הפרדה דקים:
   שלושה־עשר מלבנים עם צל כל אחד מייצרים רעש, ובלוח מכשירים העין מחפשת
   השוואה בין מספרים — כלומר רשת, לא אוסף כרטיסים. */
.strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
  gap: 1px;
  margin: 0 0 1.9rem;
}
/* הקו מצויר על התא עצמו ולא כרקע של המיכל. ההבדל אינו סגנוני: מספר
   המכשירים אינו מתחלק ברוחב, ובשיטת "רקע המיכל = צבע הקו" התאים
   הריקים בשורה האחרונה נצבעים ומופיעים כמלבנים אפורים ריקים. כאן תא
   שאין בו נתון פשוט אינו קיים, והרצועה נגמרת היכן שהנתונים נגמרים. */
.tile {
  padding: 0.55rem 0.7rem 0.6rem;
  background: var(--surface);
  box-shadow: 0 0 0 1px var(--border);
  display: flex; flex-direction: column; gap: 0.12rem;
}
.tile .lbl { font-size: 0.71rem; color: var(--muted); line-height: 1.35; font-weight: 500; }
/* תווית "הנתון מתאריך אחר". isolate הוא העיקר כאן ולא הצבע: בלעדיו
   הספרות של שם המכשיר ושל התאריך מתמזגות לריצה דו-כיוונית אחת. */
.tile .lbl b.asof {
  unicode-bidi: isolate;
  direction: ltr;
  font-weight: 600;
  font-size: 0.92em;
  color: var(--warn);
  background: var(--warn-bg);
  border-radius: 4px;
  padding: 0.05em 0.32em;
  margin-inline-start: 0.32rem;
  white-space: nowrap;
}
.tile .val {
  white-space: nowrap;
  font-family: var(--mono);
  font-size: 1.06rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  font-feature-settings: "tnum" 1;
}
.tile .chg { font-family: var(--mono); font-size: 0.76rem; font-weight: 500; }
/* כיתוב מילולי ולא שינוי מספרי: לגופן המספרים אין עברית, והנפילה היא לגופן
   מונו של המערכת — "38 ניירות" נראה במכונת כתיבה. */
.tile .chg.txt { font-family: var(--sans); font-size: 0.78rem; color: var(--muted); line-height: 1.45; }
/* רצועה של שניים-שלושה סכומים עם כיתוב ארוך (מתואמות, הכל יחד) — אריחים רחבים. */
.strip.wide { grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); }
.tile.up .chg { color: var(--up); }
.tile.down .chg { color: var(--down); }
.tile.flat .chg { color: var(--faint); }

table.cal { font-size: 0.84rem; }
table.cal td.imp { letter-spacing: 0.1em; white-space: nowrap; text-align: center; }
table.cal .up { color: var(--up); }
table.cal .down { color: var(--down); }

ul.archive { list-style: none; padding: 0; }
ul.archive li { padding: 0.5rem 0; border-bottom: 1px solid var(--border); }
ul.archive li a { text-decoration: none; }
ul.archive li a:hover { text-decoration: underline; }

/* ---------- פיד דיווחי מאיה ---------- */

ul.reports { list-style: none; padding: 0; margin: 0.7rem 0; }
li.rep {
  border: 1px solid var(--border);
  border-inline-start: 3px solid var(--border-strong);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 0.7rem 0.9rem;
  margin-bottom: 0.5rem;
  background: var(--surface);
}
li.rep.m3 { border-inline-start-color: var(--accent); border-color: var(--border-strong); }
/* מהותיות 1 מונמכת בניגודיות ולא באטימות: opacity הבהיר גם את גוף הטקסט
   מתחת לסף הקריאה הנוח בטלפון. */
li.rep.m1 { background: color-mix(in srgb, var(--surface) 70%, var(--bg)); }
li.rep.m1 .rep-sum, li.rep.m1 .rep-hl { color: var(--muted); }
.rep-head {
  display: flex; align-items: baseline; gap: 0.5rem;
  flex-wrap: wrap; font-size: 0.85rem;
}
.rep-head .t { color: var(--faint); }
.rep-head a { font-weight: 700; text-decoration: none; }
.rep-head a:hover { text-decoration: underline; }
.rep-head .mat { color: var(--accent); letter-spacing: 0.08em; margin-inline-start: auto; }
.rep-head .cov {
  font-size: 0.67rem; background: var(--accent); color: var(--on-accent);
  border-radius: 999px; padding: 0.05rem 0.5rem; font-weight: 600;
}
.rep-head .chg.up { color: var(--up); }
.rep-head .chg.down { color: var(--down); }
.rep-head .chg.flat { color: var(--faint); }
.rep-sum { font-size: 0.92rem; margin-top: 0.3rem; }
.rep-why { font-size: 0.82rem; color: var(--muted); margin-top: 0.25rem; }
.rep-hl { font-weight: 700; margin-top: 0.35rem; font-size: 0.95rem; }
.rep-ctx { font-size: 0.84rem; color: var(--muted); margin-top: 0.25rem; }
.rep-aff {
  font-size: 0.84rem; margin-top: 0.35rem;
  padding-inline-start: 0.65rem; border-inline-start: 2px solid var(--accent);
}
.rep-watch { font-size: 0.82rem; color: var(--muted); margin-top: 0.25rem; }
.figs { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.5rem; }
.figs .fig {
  font-size: 0.78rem; background: var(--bg);
  border: 1px solid var(--border); border-radius: 4px; padding: 0.14rem 0.55rem;
  font-family: var(--mono); font-weight: 500;
}
.figs .fig b { font-family: var(--sans); font-weight: 600; color: var(--muted); margin-inline-end: 0.4rem; }

/* הניתוח מסומן ויזואלית מהעובדות: העובדות הן מה שהדוח אומר, והניתוח
   הוא מה שאנחנו מוסיפים — הפרדה שהקורא צריך לראות ולא רק להסיק. */
.rep-analysis {
  margin-top: 0.6rem;
  padding: 0.55rem 0.75rem;
  background: var(--accent-soft);
  border-radius: var(--radius);
  font-size: 0.92rem;
  line-height: 1.65;
}
.rep-analysis b {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--accent);
  margin-bottom: 0.25rem;
}
.rep-balance { font-size: 0.86rem; color: var(--muted); margin-top: 0.4rem; }
.rep-balance b { color: var(--fg); font-weight: 600; }

/* דגלים: לא אזהרה ולא המלצה — סימנים שהדוח עצמו מעלה וראוי להביט בהם */
ul.rep-flags {
  list-style: none; padding: 0; margin: 0.5rem 0 0;
  display: flex; flex-direction: column; gap: 0.22rem;
}
ul.rep-flags li {
  font-size: 0.85rem; color: var(--fg);
  padding-inline-start: 1.1rem; position: relative;
}
ul.rep-flags li::before {
  content: "△"; position: absolute; inset-inline-start: 0;
  color: var(--warn); font-size: 0.8em; top: 0.15em;
}
.rep-omit {
  font-size: 0.85rem; color: var(--muted); margin-top: 0.4rem;
  padding-inline-start: 0.6rem; border-inline-start: 2px solid var(--border-strong);
}
.rep-omit b { color: var(--fg); font-weight: 600; }

/* ---------- ניווט נושאים ופיד חדשות ---------- */

nav.topics { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0 0 1.3rem; }
nav.topics a {
  font-size: 0.81rem; text-decoration: none;
  border: 1px solid var(--border); border-radius: 999px;
  padding: 0.2rem 0.7rem; color: var(--fg); background: var(--surface);
}
nav.topics a:hover { border-color: var(--accent); background: var(--accent-soft); }
nav.topics a.cur { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
nav.topics a em { font-style: normal; color: var(--faint); margin-inline-start: 0.3rem; font-size: 0.74rem; }
nav.topics a.cur em { color: var(--on-accent); opacity: 0.75; }

ul.news { list-style: none; padding: 0; margin: 0.6rem 0; }
ul.news li.daysep {
  font-size: 0.74rem; color: var(--accent); font-weight: 700;
  margin: 1.2rem 0 0.3rem; border-bottom: 1px solid var(--border); padding-bottom: 0.2rem;
}
ul.news li.nw {
  display: flex; align-items: baseline; gap: 0.55rem;
  padding: 0.38rem 0; font-size: 0.9rem; border-bottom: 1px solid var(--border);
}
ul.news li.nw .t { color: var(--faint); font-size: 0.77rem; }
ul.news li.nw a { text-decoration: none; flex: 1; }
ul.news li.nw a:hover { text-decoration: underline; }
ul.news li.nw .src { color: var(--faint); font-size: 0.72rem; white-space: nowrap; }

.topic-sum {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 0.85rem 1rem; margin: 0 0 1.4rem;
  box-shadow: var(--shadow);
}
.topic-sum-head {
  font-size: 0.77rem; color: var(--accent); font-weight: 700;
  display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.35rem;
}
.topic-sum p { margin: 0.3rem 0; font-size: 0.94rem; }
.topic-sum .takeaway {
  font-size: 0.87rem; color: var(--muted);
  border-top: 1px solid var(--border); padding-top: 0.45rem; margin-top: 0.55rem;
}
.topic-sum .takeaway b { color: var(--fg); }

/* ---------- עמודי חיפוש ---------- */

p.lead { color: var(--muted); font-size: 0.94rem; max-width: var(--measure); margin-top: -0.2rem; }
form.srch {
  border: 1px solid var(--border); border-radius: var(--radius);
  padding: 0.9rem 1rem; background: var(--surface);
  margin-bottom: 1.1rem; box-shadow: var(--shadow);
}
form.srch .row { display: flex; flex-wrap: wrap; gap: 0.65rem; align-items: flex-end; }
form.srch .row + .row {
  margin-top: 0.8rem; padding-top: 0.8rem; border-top: 1px solid var(--border);
}
form.srch label {
  display: flex; flex-direction: column; gap: 0.22rem;
  font-size: 0.74rem; color: var(--muted); position: relative;
}
form.srch label.grow { flex: 1 1 16rem; }
form.srch label.chk {
  flex-direction: row; align-items: center; gap: 0.35rem;
  font-size: 0.84rem; color: var(--fg); padding-bottom: 0.4rem;
}
form.srch label.chk input { width: auto; }
form.srch input, form.srch select {
  font: inherit; font-size: 0.92rem; padding: 0.36rem 0.55rem; color: var(--fg);
  background: var(--bg); border: 1px solid var(--border-strong); border-radius: 7px;
}
form.srch input:focus, form.srch select:focus {
  outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent);
}
form.srch .filters input { width: 5.4rem; }
form.srch button {
  font: inherit; font-size: 0.92rem; font-weight: 700; cursor: pointer;
  padding: 0.4rem 1.4rem; border-radius: 7px; border: 1px solid var(--accent);
  background: var(--accent); color: var(--on-accent);
}
form.srch button:hover { filter: brightness(1.08); }
form.srch button:disabled { opacity: 0.5; cursor: default; filter: none; }

ul.ac {
  list-style: none; margin: 0; padding: 0; position: absolute;
  top: 100%; inset-inline: 0; z-index: 40; max-height: 15rem; overflow-y: auto;
  background: var(--surface); border: 1px solid var(--border-strong);
  border-radius: 7px; box-shadow: var(--shadow);
}
ul.ac li { padding: 0.35rem 0.65rem; font-size: 0.9rem; color: var(--fg); cursor: pointer; }
ul.ac li:hover { background: var(--accent-soft); color: var(--accent); }

.msg { font-size: 0.85rem; min-height: 1.3rem; margin-bottom: 0.6rem; }
.msg.wait { color: var(--muted); }
.msg.ok   { color: var(--accent); }
.msg.warn { color: var(--warn); }
.msg.err  { color: var(--down); }

/* אישור קליטת בקשת גישה. שורת טקסט בגודל 0.85rem אינה נראית כמו
   אישור, ומי שאינו בטוח ששלח — שולח שוב, ונתקל בתקרת הבקשות. */
.reqdone {
  border: 1px solid var(--accent); border-radius: 8px;
  padding: 1rem 1.1rem; margin: 0.4rem 0 0; font-size: 0.9rem;
  line-height: 1.65;
}
.reqdone p { margin: 0 0 0.5rem; }
.reqdone p:last-child { margin-bottom: 0; }
.reqdone-h {
  font-size: 1.05rem; font-weight: 700; color: var(--accent);
}
.reqdone-h::before { content: "✓ "; }
.reqdone-n { color: var(--muted); font-size: 0.82rem; }

/* סקירת התקופה מעל כל טבלה. עובדות מחושבות מהטבלה שמתחת, לא הערכה. */
.otc-review {
  margin: 0.6rem 0 0.9rem; font-size: 0.9rem; line-height: 1.7;
  border-inline-start: 3px solid var(--accent); padding-inline-start: 0.8rem;
}
/* ייצוא לתמונה והעתקת התקציר. **צבעים מהטוקנים.** הכללים הקודמים השתמשו
   ב-var(--line), שאינו מוגדר באתר, ולכן המסגרת נפלה לצבע הטקסט. */
.otc-acts { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 0.5rem 0 0.9rem; }
.otc-png, .otc-copy {
  display: inline-flex; align-items: center; gap: 0.4rem;
  /* המשפחה במפורש: כותרת היום ברשימה היא בגופן המספרים, והכפתור ירש אותו —
     "ייצוא היום" יצא באותיות של מכונת כתיבה. */
  font: inherit; font-family: var(--sans); font-size: 0.8rem; font-weight: 600; line-height: 1.25;
  color: var(--accent); background: var(--surface);
  border: 1px solid var(--border-strong); border-radius: 6px;
  padding: 0.34rem 0.8rem; cursor: pointer; white-space: nowrap;
}
.otc-copy { color: var(--muted); }
.otc-png:hover, .otc-copy:hover { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.otc-png:disabled { cursor: progress; opacity: 0.8; }
.otc-png .ico { width: 0.95rem; height: 0.95rem; flex: none; }
.otc-png.sm { font-size: 0.72rem; padding: 0.14rem 0.55rem; gap: 0.3rem; }
.otc-png.sm .ico { width: 0.8rem; height: 0.8rem; }
.otc-acts-strip { margin: -1.1rem 0 1.9rem; }

/* לשוניות: מחוץ לבורסה / מתואמות / הכל יחד. קו תחתון במבטא ולא כפתור ממולא —
   אותה שפה של קווים דקים כמו בטבלאות, כדי שהלשונית לא תתחרה במספרים שמתחתיה. */
.otc-tabs {
  display: flex; gap: 0.2rem; margin: 0.4rem 0 1.6rem;
  border-bottom: 1px solid var(--border-strong);
  overflow-x: auto; scrollbar-width: none;
}
.otc-tabs::-webkit-scrollbar { display: none; }
.otc-tabs [role="tab"] {
  font: inherit; font-family: var(--sans); font-size: 0.97rem; font-weight: 600;
  background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px;
  padding: 0.5rem 0.95rem 0.45rem; color: var(--muted); cursor: pointer; white-space: nowrap;
}
.otc-tabs [role="tab"]:hover { color: var(--fg); }
.otc-tabs [role="tab"][aria-selected="true"] {
  color: var(--fg); font-weight: 700; border-bottom-color: var(--accent);
}
.otc-tabs [role="tab"]:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
@media (max-width: 480px) {
  .otc-tabs [role="tab"] { padding: 0.5rem 0.7rem 0.45rem; font-size: 0.92rem; }
}

/* התקציר לציוץ: נועד להעתקה, ולכן מוצג כפי שיודבק — שורות שמורות,
   בלי גלישה מחדש שתשנה את מה שהקורא רואה מול מה שיקבל. */
/* **צבעים מהטוקנים.** --card ו---line אינם מוגדרים באתר: הרקע נפל ל-#f6f4ef גם
   במצב כהה — תיבה בהירה עם טקסט בהיר — והמסגרת נעלמה. */
.otc-tweet {
  background: var(--table-head); border: 1px solid var(--border-strong);
  border-radius: 8px; padding: 0.7rem 0.9rem; margin: 0.2rem 0 0;
}

/* ייצוא בעמודי הסחורות והרכב (site/share.py): הכפתורים, ומתחתם התקציר לציוץ
   בתוך details סגור — בעמוד יש עשרה ייצואים ויותר, ותיבה פתוחה לכל אחד הייתה
   מכסה את התוכן. */
.sh-acts { margin: 0.4rem 0 0.5rem; }
.cbs-card .sh-acts { margin-top: 0.7rem; }
details.sh-tw { margin: 0 0 1rem; font-size: 0.8rem; }
details.sh-tw > summary { cursor: pointer; color: var(--muted); width: max-content; }
details.sh-tw > summary:hover { color: var(--accent); }
details.sh-tw[open] > summary { margin-bottom: 0.35rem; }
.otc-tweet pre {
  margin: 0; font-family: inherit; font-size: 0.86rem; line-height: 1.6;
  white-space: pre-wrap; word-break: break-word;
}

.stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: 0.5rem; margin-bottom: 1.2rem;
}
.tbl-head {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 0.6rem; flex-wrap: wrap;
  font-size: 0.81rem; color: var(--muted); margin-bottom: 0.35rem;
}
button.lnk {
  font: inherit; font-size: 0.81rem; background: none; border: 0;
  color: var(--accent); cursor: pointer; padding: 0; text-decoration: underline;
}
p.empty { color: var(--muted); font-size: 0.9rem; }
p.fineprint {
  color: var(--faint); font-size: 0.78rem; line-height: 1.6;
  max-width: var(--measure); margin-top: 2.4rem;
  border-top: 1px solid var(--border); padding-top: 0.7rem;
}

/* ---------- תוצאות חיפוש דוחות ---------- */

ul.filings { list-style: none; padding: 0; margin: 0.6rem 0; }
li.fil {
  display: flex; align-items: baseline; gap: 0.6rem; flex-wrap: wrap;
  padding: 0.55rem 0; border-bottom: 1px solid var(--border); font-size: 0.9rem;
}
li.fil .d { color: var(--faint); font-size: 0.77rem; white-space: nowrap; }
li.fil .co { font-weight: 700; }
li.fil .ti { flex: 1 1 14rem; }
li.fil .ti a { text-decoration: none; color: var(--fg); }
li.fil .ti a:hover { color: var(--accent); text-decoration: underline; }
li.fil .form {
  font-size: 0.69rem; color: var(--muted); border: 1px solid var(--border);
  border-radius: 999px; padding: 0.05rem 0.5rem; white-space: nowrap;
}
li.fil .cov {
  font-size: 0.67rem; background: var(--accent); color: var(--on-accent);
  border-radius: 999px; padding: 0.05rem 0.5rem; font-weight: 600;
}
li.fil .dl {
  text-decoration: none; font-size: 0.8rem; font-weight: 600; white-space: nowrap;
  border: 1px solid var(--accent); color: var(--accent);
  border-radius: 7px; padding: 0.15rem 0.7rem;
}
li.fil .dl:hover { background: var(--accent); color: var(--on-accent); }
li.fil .ax {
  text-decoration: none; font-size: 0.74rem; max-width: 100%; overflow-wrap: anywhere;
  color: var(--muted); border: 1px dashed var(--border);
  border-radius: 7px; padding: 0.12rem 0.55rem;
}
li.fil .ax:hover { color: var(--accent); border-color: var(--accent); }

/* ---------- שיחות ועידה ---------- */

table.calls { font-size: 0.89rem; }
table.calls td.t { white-space: nowrap; color: var(--fg); font-weight: 600; }
table.calls td.q { color: var(--faint); font-size: 0.79rem; white-space: nowrap; }
table.calls tr.daysep td {
  background: var(--table-head); font-weight: 700;
  font-size: 0.79rem; color: var(--accent); border-bottom: 1px solid var(--border-strong);
}
table.calls a.join {
  text-decoration: none; font-weight: 700; white-space: nowrap;
  border-bottom: 1.5px solid var(--accent);
}
table.calls a.rep-lnk {
  font-size: 0.75rem; color: var(--faint); margin-inline-start: 0.45rem; text-decoration: none;
}
table.calls a.rep-lnk:hover { color: var(--accent); text-decoration: underline; }
table.calls .amb { color: var(--warn); font-size: 0.8rem; }
table.calls .none { color: var(--faint); font-size: 0.82rem; }

/* ---------- מובייל ---------- */

@media (max-width: 640px) {
  body { font-size: 0.97rem; }
  header { padding-inline: 0.9rem; }
  nav a { padding: 0.2rem 0.4rem; font-size: 0.8rem; }
  main { padding-inline: 0.9rem; }
  h2 { margin-top: 2rem; }
  .strip { grid-template-columns: repeat(auto-fill, minmax(7.2rem, 1fr)); }
  form.srch .filters input { width: 4.6rem; }
  li.fil { gap: 0.4rem 0.55rem; }
}

/* ---------- הדפסה ---------- */

@media print {
  /* הפוטר **אינו** מוסתר: הוא נושא את הסייג המשפטי, וברייף שמודפס
     ומועבר הלאה בלעדיו הוא בדיוק המקרה שבגללו הסייג קיים. */
  header, nav.topics, form.srch, .tbl-head button { display: none; }
  body { background: #fff; color: #000; font-size: 10.5pt; }
  main { max-width: none; padding: 0; }
  a { color: #000; text-decoration: none; }
  .strip { break-inside: avoid; }
  li.rep, .tile, .topic-sum { break-inside: avoid; box-shadow: none; border-color: #999; }
  li.rep.m1 { background: #fff; }
  h2 { break-after: avoid; border-bottom-color: #000; }
  footer { border-color: #999; color: #333; }
}

/* ---- עמוד נחיתה ---- */
.hero { padding: 2.5rem 0 1.5rem; max-width: 46rem; }
.hero .eyebrow { color: var(--accent); font-weight: 700; font-size: 0.78rem;
  letter-spacing: 0.06em; margin: 0 0 0.7rem; }
.hero h1 { font-family: var(--serif); font-weight: 900;
  font-size: clamp(1.75rem, 1.15rem + 2.6vw, 2.85rem); line-height: 1.14;
  letter-spacing: -0.015em; margin: 0 0 1rem; text-wrap: balance; }
.hero .sub { font-size: 1.06rem; color: var(--muted); line-height: 1.75;
  margin: 0 0 1.7rem; max-width: 40rem; }
a.cta { display: inline-block; background: var(--accent); color: var(--on-accent);
  text-decoration: none; font-weight: 700; font-size: 0.98rem;
  padding: 0.62rem 2rem; border-radius: var(--radius);
  border: 1px solid var(--accent); }
a.cta:hover { background: var(--accent-2); border-color: var(--accent-2); }
a.cta:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
/* שורת המספרים היא גוש נתונים והכפתור הוא הפעולה; בלי הרווח הזה הם
   נוגעים זה בזה והכפתור נראה כמו עוד תא בשורה. */
.hero a.cta { margin-top: 2rem; }
.hero .cta-note { font-size: 0.8rem; color: var(--faint); margin: 0.7rem 0 0; }

section.what, section.preview, section.request { margin-top: 3rem; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.9rem; margin-top: 1rem; }
/* הקו העליון הוא הסימון היחיד שהכרטיסים מקבלים — במקום צל, שהיה הופך
   שישה מלבנים לשישה עצמים צפים. */
.grid article { background: var(--surface); border: 1px solid var(--border);
  border-top: 2px solid var(--accent); border-radius: 0 0 var(--radius) var(--radius);
  padding: 1rem 1.15rem 1.15rem; }
.grid h3 { margin: 0 0 0.45rem; font-size: 1.02rem; color: var(--fg);
  font-family: var(--serif); font-weight: 700; }
.grid p { margin: 0; font-size: 0.9rem; color: var(--muted); line-height: 1.65; }
.grid em { font-style: normal; color: var(--fg); font-weight: 600; }

/* התצוגות המקדימות — רכיבי האתר האמיתיים, בקנה מידה מוקטן */
.shot { border: 1px solid var(--border-strong); border-radius: var(--radius);
  overflow: hidden; background: var(--surface); margin: 1rem 0 1.7rem; }
.shot-bar { display: flex; align-items: center; gap: 0.4rem; padding: 0.45rem 0.8rem;
  background: var(--table-head); border-bottom: 1px solid var(--border);
  font-size: 0.78rem; color: var(--muted); }
.shot-bar b { font-weight: 600; color: var(--fg); }
.shot-body { padding: 0.9rem 1rem; }
.shot-body .strip { margin-bottom: 0; }
.shot-body ul.reports, .shot-body table { margin: 0; }

form.srch textarea { font: inherit; font-size: 0.92rem; padding: 0.4rem 0.55rem;
  color: var(--fg); background: var(--bg); border: 1px solid var(--border-strong);
  border-radius: 7px; resize: vertical; }
form.srch textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; }

/* ---- עמוד נחיתה: שכבה שנייה ---- */
body.landing main { padding-top: 0; }

.hero {
  padding: 3.5rem 0 2rem;
  border-bottom: 1px solid var(--border);
  margin-bottom: 0;
}
.hero .eyebrow::before {
  content: ""; display: inline-block; width: 6px; height: 6px;
  border-radius: 50%; background: var(--accent);
  margin-inline-end: 0.5rem; vertical-align: 0.15em;
}

/* שורת מספרים שמוכיחה היקף במקום להצהיר עליו */
/* שורת מספרים שמוכיחה היקף במקום להצהיר עליו. הקו המפריד בין הפריטים
   הוא מה שהופך אותם לשורת נתונים אחת ולא לארבעה מספרים מפוזרים. */
.facts { display: flex; flex-wrap: wrap; gap: 0 1.9rem; margin: 2rem 0 0; }
.facts div {
  display: flex; flex-direction: column;
  padding-inline-start: 1.9rem;
  border-inline-start: 1px solid var(--border);
}
.facts div:first-child { padding-inline-start: 0; border-inline-start: 0; }
.facts b {
  font-family: var(--mono); font-size: 1.45rem; font-weight: 600;
  letter-spacing: -0.03em; line-height: 1.25; color: var(--accent);
}
.facts span { font-size: 0.76rem; color: var(--muted); }
@media (max-width: 32rem) {
  .facts { gap: 1rem 1.4rem; }
  .facts div { padding-inline-start: 1.4rem; }
}

section.what h2, section.preview h2, section.request h2 { margin-top: 0; }
section.what, section.preview, section.request { margin-top: 3.2rem; }

.grid article { transition: border-color 0.15s; }
.grid article:hover { border-color: var(--border-strong); }

/* טופס הבקשה — מודגש כיעד העמוד */
section.request {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 14px; padding: 1.6rem 1.8rem 1.8rem;
  box-shadow: var(--shadow); scroll-margin-top: 4rem;
}
section.request h2 { border-bottom: 0; padding-bottom: 0; }
section.request form.srch { border: 0; box-shadow: none; background: transparent; padding: 0; }
section.request .row + .row { border-top: 0; padding-top: 0; margin-top: 0.7rem; }
section.request button { padding-inline: 2rem; }

@media (max-width: 640px) {
  .hero { padding-top: 2rem; }
  .facts { gap: 1.2rem; }
  section.request { padding: 1.1rem 1rem 1.3rem; border-radius: 12px; }
}

/* ---- ניווט סעיפים בברייף ---- */
nav.toc {
  display: flex; flex-wrap: wrap; gap: 0.3rem;
  margin: 0 0 1.6rem; padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}
nav.toc a {
  font-size: 0.79rem; text-decoration: none; color: var(--muted);
  border: 1px solid var(--border); border-radius: 999px;
  padding: 0.15rem 0.65rem; background: var(--surface); white-space: nowrap;
}
nav.toc a:hover { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); }
main h2[id] { scroll-margin-top: 4rem; }

/* ---------- שוק הדיור ---------- */

table.nadlan { font-size: 0.88rem; }
table.nadlan td { white-space: nowrap; }
table.nadlan td.city { font-weight: 600; white-space: normal; }
/* עמודת המפתח היא חציון ה-₪/מ״ר; שאר המספרים משרתים אותה */
table.nadlan td.key { font-family: var(--mono); font-weight: 600; color: var(--accent); }
table.nadlan td[dir="ltr"] { font-family: var(--mono); }
/* **display:flex על <td> מוציא אותו מפריסת הטבלה.** התא מפסיק להיות
   table-cell, נושר מרשת העמודות, ומצטייר באותו x כמו התא שלפניו — שלושה
   תאי מגמה נערמו זה מתחת לזה תחת כותרת אחת, והטבלה נראתה שבורה ולא
   מיושרת. היישור הפנימי נעשה על העטיפה שבתוך התא, לא על התא עצמו. */
table.nadlan td.trend { font-family: var(--mono); white-space: nowrap; }
table.nadlan td.trend svg { vertical-align: middle; }
table.nadlan td.trend.up { color: var(--up); }
table.nadlan td.trend.down { color: var(--down); }
table.nadlan td.trend.flat { color: var(--faint); }
.spark { flex: none; opacity: 0.85; }

.thin {
  display: inline-block; margin-inline-start: 0.4rem;
  font-size: 0.66rem; font-weight: 600; color: var(--warn);
  background: var(--warn-bg); border-radius: 3px; padding: 0.02rem 0.4rem;
  cursor: help;
}

ul.projects { list-style: none; padding: 0; margin: 0.8rem 0 2rem;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 0.6rem; }
ul.projects li {
  border: 1px solid var(--border); border-top: 2px solid var(--warn);
  border-radius: 0 0 var(--radius) var(--radius);
  background: var(--surface); padding: 0.7rem 0.85rem;
}
ul.projects .ph { display: flex; align-items: baseline; gap: 0.5rem; flex-wrap: wrap; }
ul.projects .c { font-family: var(--serif); font-weight: 700; font-size: 1.02rem; }
ul.projects .h { font-size: 0.84rem; color: var(--muted); }
ul.projects .cnt { margin-inline-start: auto; font-family: var(--mono);
  font-size: 0.74rem; color: var(--faint); }
/* היזם בצבע האזהרה ולא בצבע המבטא: זה מועמד, לא עובדה מהעסקה. */
ul.projects .pd { margin-top: 0.35rem; font-size: 0.82rem; color: var(--warn); }
ul.projects .pn { display: flex; flex-wrap: wrap; gap: 0.3rem 1.1rem;
  margin-top: 0.55rem; padding-top: 0.45rem; border-top: 1px solid var(--border); }
ul.projects .pn span { display: flex; flex-direction: column; gap: 0.08rem; }
ul.projects .pn b { font-size: 0.66rem; font-weight: 600; color: var(--faint); }
ul.projects .pn i { font-style: normal; font-family: var(--mono); font-size: 0.86rem; }

ul.newbuild { list-style: none; padding: 0; margin: 0.8rem 0 0; }
ul.newbuild li {
  display: grid;
  grid-template-columns: 3.2rem minmax(5rem, 7rem) 1fr auto auto auto;
  align-items: baseline; gap: 0.2rem 0.9rem;
  padding: 0.5rem 0; border-bottom: 1px solid var(--border);
  font-size: 0.88rem;
}
ul.newbuild li:last-child { border-bottom: 0; }
ul.newbuild .d { font-family: var(--mono); font-size: 0.8rem; color: var(--faint); }
ul.newbuild .c { font-weight: 600; }
ul.newbuild .l { color: var(--muted); font-size: 0.84rem; }
ul.newbuild .n { font-family: var(--mono); font-size: 0.8rem; color: var(--muted); }
ul.newbuild .p { font-family: var(--mono); font-weight: 600; }
ul.newbuild .s { font-family: var(--mono); font-size: 0.82rem; color: var(--accent); }
/* היזם הוא מועמד ולא ייחוס, ולכן שורה משלו ובצבע מושתק — לא חלק
   משורת העובדות של העסקה. */
ul.newbuild .dev {
  grid-column: 1 / -1; font-size: 0.78rem; color: var(--warn);
  padding-inline-start: 4.1rem;
}

@media (max-width: 42rem) {
  ul.newbuild li { grid-template-columns: 3.2rem 1fr auto; }
  ul.newbuild .l { grid-column: 2 / -1; }
  ul.newbuild .n { grid-column: 2; }
  ul.newbuild .dev { padding-inline-start: 4.1rem; }
}

/* ---------- עסקאות מחוץ לבורסה ---------- */

/* עמודות שיעור מצטבר: השם, הפס, ואז שני מספרים מיושרים. הפס הוא
   ההשוואה — העין קולטת ממנו סדר גודל בלי לקרוא ספרה אחת. */
ul.offex-bars { list-style: none; padding: 0; margin: 0.8rem 0 2rem; }
ul.offex-bars li {
  display: grid;
  grid-template-columns: minmax(7rem, 12rem) 1fr auto auto;
  align-items: center;
  gap: 0 0.9rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--border);
  font-size: 0.88rem;
}
ul.offex-bars li:last-child { border-bottom: 0; }
ul.offex-bars .nm { font-weight: 600; }
ul.offex-bars .bar {
  height: 8px; background: var(--table-head); border-radius: 2px; overflow: hidden;
}
ul.offex-bars .bar i { display: block; height: 100%; background: var(--accent); }
ul.offex-bars .pv {
  font-family: var(--mono); font-weight: 600; color: var(--accent);
  min-width: 4.5rem; text-align: left;
}
ul.offex-bars .mv {
  font-family: var(--mono); font-size: 0.82rem; color: var(--muted);
  min-width: 6rem; text-align: left;
}

ul.offex { list-style: none; padding: 0; margin: 0.8rem 0 0; }
ul.offex li.daysep {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.3rem 0.6rem;
  font-family: var(--mono); font-size: 0.8rem; font-weight: 600;
  color: var(--muted); letter-spacing: 0.02em;
  margin: 1.4rem 0 0.5rem; padding-bottom: 0.3rem;
  border-bottom: 1px solid var(--border-strong);
}
ul.offex li.daysep:first-child { margin-top: 0.4rem; }
/* כותרת חודש: עוגן לגלילה ברשימה של שנה שלמה, ומקום לכפתור ייצוא החודש. */
ul.offex li.monthsep {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.3rem 0.7rem;
  margin: 2.4rem 0 0.2rem; padding: 0.35rem 0 0.45rem;
  border-bottom: 2px solid var(--accent);
}
ul.offex li.monthsep:first-child { margin-top: 0.5rem; }
ul.offex li.monthsep + li.daysep { margin-top: 0.9rem; }
ul.offex li.monthsep .mn {
  font-family: var(--serif); font-size: 1.2rem; font-weight: 700; color: var(--fg);
}
ul.offex li.monthsep .cnt, ul.offex li.daysep .cnt {
  font-family: var(--sans); font-size: 0.76rem; font-weight: 500; color: var(--faint); letter-spacing: 0;
}
ul.offex li.monthsep .otc-png, ul.offex li.daysep .otc-png { margin-inline-start: auto; }
p.offex-exp-lead { font-size: 0.86rem; color: var(--muted); }

li.tx {
  border: 1px solid var(--border);
  border-inline-start: 3px solid var(--border-strong);
  border-radius: 0 var(--radius) var(--radius) 0;
  background: var(--surface);
  padding: 0.7rem 0.9rem;
  margin-bottom: 0.5rem;
}
/* כיוון העסקה הוא הדבר הראשון שצריך להיקלט, ולכן הוא גם הצבע של הקו
   בשוליים וגם תגית בשורה הראשונה — לא רק מילה בתוך הטקסט. */
li.tx.buy { border-inline-start-color: var(--up); }
li.tx.sell { border-inline-start-color: var(--down); }

.tx-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.5rem; }
.tx-head .dir {
  font-size: 0.72rem; font-weight: 700; border-radius: 3px;
  padding: 0.08rem 0.5rem; white-space: nowrap;
}
li.tx.buy .dir { background: color-mix(in srgb, var(--up) 14%, transparent); color: var(--up); }
li.tx.sell .dir { background: color-mix(in srgb, var(--down) 14%, transparent); color: var(--down); }
.tx-head .co {
  font-family: var(--serif); font-weight: 700; font-size: 1.05rem;
  text-decoration: none; color: var(--fg);
}
.tx-head .co:hover { color: var(--accent); text-decoration: underline; }
.tx-head .sec { font-size: 0.78rem; color: var(--faint); }
.tx-head .kind {
  font-size: 0.66rem; font-family: var(--mono); color: var(--muted);
  background: var(--table-head); border-radius: 3px; padding: 0.05rem 0.4rem;
  white-space: nowrap; cursor: help;
}
.tx-head .kind + .dup { margin-inline-start: 0.3rem; }
.tx-head .dup {
  font-size: 0.68rem; color: var(--warn); background: var(--warn-bg);
  border-radius: 3px; padding: 0.05rem 0.45rem;
  white-space: nowrap; cursor: help;
}
.tx-head .kind:first-of-type { margin-inline-start: auto; }

/* הזהות היא הסיבה שהעמוד הזה קיים, ולכן היא שורה משלה ולא עוד שדה
   בטבלת המספרים. */
.tx-who {
  margin-top: 0.4rem; font-size: 0.92rem;
  padding-inline-start: 0.6rem; border-inline-start: 2px solid var(--accent-soft);
}
.tx-who b { color: var(--muted); font-weight: 600; font-size: 0.82rem; }
.tx-who em { font-style: normal; color: var(--faint); font-size: 0.82rem; }
.tx-who .ctrl {
  display: block; font-size: 0.8rem; color: var(--muted); margin-top: 0.12rem;
}

.tx-nums {
  display: flex; flex-wrap: wrap; gap: 0.35rem 1.5rem;
  margin-top: 0.6rem; padding-top: 0.5rem; border-top: 1px solid var(--border);
}
.tx-nums span { display: flex; flex-direction: column; gap: 0.1rem; }
.tx-nums b {
  font-size: 0.68rem; font-weight: 600; color: var(--faint);
  letter-spacing: 0.02em; text-transform: none;
}
.tx-nums i {
  font-style: normal; font-family: var(--mono);
  font-size: 0.92rem; font-weight: 500;
}
/* "כמה מההון" הוא המספר שהמשתמש בא בשבילו */
.tx-nums .hi i { color: var(--accent); font-weight: 600; font-size: 1.02rem; }

p.note {
  font-size: 0.8rem; color: var(--faint); max-width: var(--measure);
  margin-top: 1.4rem; padding-top: 0.8rem; border-top: 1px solid var(--border);
}

@media (max-width: 34rem) {
  ul.offex-bars li { grid-template-columns: 1fr auto; gap: 0.15rem 0.6rem; }
  ul.offex-bars .bar { grid-column: 1 / -1; }
  .tx-nums { gap: 0.35rem 1rem; }
}

/* ---------- דף הכניסה ---------- */

/* עמוד בעל מטרה אחת. אין ניווט, אין תוכן נלווה, והכרטיס ממורכז אנכית
   כדי שהטופס יהיה הדבר היחיד שהעין נופלת עליו. */
body.authpage main {
  min-height: calc(100vh - 12rem);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 2rem 4rem;
}
.auth {
  width: 100%;
  max-width: 24rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 3px solid var(--accent);
  border-radius: 0 0 var(--radius) var(--radius);
  padding: 1.6rem 1.6rem 1.4rem;
}
.auth h1 { font-size: 1.5rem; margin: 0 0 0.5rem; }
.auth-sub { font-size: 0.88rem; color: var(--muted); margin: 0 0 1.3rem; }
.auth form { display: flex; flex-direction: column; gap: 0.85rem; }
.auth label {
  display: flex; flex-direction: column; gap: 0.28rem;
  font-size: 0.78rem; color: var(--muted); font-weight: 600;
}
.auth input {
  font: inherit; font-size: 0.98rem; padding: 0.5rem 0.65rem;
  color: var(--fg); background: var(--bg);
  border: 1px solid var(--border-strong); border-radius: var(--radius);
}
.auth input:focus {
  outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent);
}
.auth button {
  font: inherit; font-size: 0.98rem; font-weight: 700; cursor: pointer;
  margin-top: 0.35rem; padding: 0.55rem 1.4rem;
  border-radius: var(--radius); border: 1px solid var(--accent);
  background: var(--accent); color: var(--on-accent);
}
.auth button:hover { background: var(--accent-2); border-color: var(--accent-2); }
.auth button:disabled { opacity: 0.55; cursor: default; }
.auth .msg { margin: 0.9rem 0 0; font-size: 0.86rem; }
.auth-note {
  margin: 1.2rem 0 0; padding-top: 0.9rem;
  border-top: 1px solid var(--border);
  font-size: 0.78rem; color: var(--faint);
}
.msg.err { color: var(--down); }
.msg.ok { color: var(--up); }

/* ---- שכבת גימור ---- */

/* מחרוזות ארוכות שאינן נשברות. תוכן הברייף מכיל קישורי הרשמה לשיחות
   ועידה — כתובות זום באורך 80+ תווים בלי רווח — וכל אחת מהן הרחיבה את
   המיכל שלה ודחפה את **כל העמוד** לגלילה אופקית בנייד. נמדד: פריט דיווח
   ברוחב 328 עם תוכן ברוחב 408.
   anywhere ולא break-word: רק הראשון משפיע על רוחב המינימום המהותי של
   האלמנט, וזה מה שמונע מהמיכל להתרחב מלכתחילה. */
li.rep > div,
.topic-sum p,
ul.news li a,
main > p,
main > ul:not([class]) li,
main > ol li {
  overflow-wrap: anywhere;
}


/* מיקוד נראה בכל אלמנט אינטראקטיבי, לא רק בשדות הטופס */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── עסקאות מחוץ לבורסה ─────────────────────────────────────────────
   העמוד בנוי סביב שני צירים לכל עסקה — מול שער הבסיס ומול הנעילה —
   ולכן הצבע כאן מסמן כיוון סטייה, לא רווח או הפסד של מישהו. */
ul.otc-buckets { list-style: none; padding: 0; margin: 0.8rem 0 2rem; }
ul.otc-buckets li {
  display: grid;
  grid-template-columns: minmax(7rem, 10rem) minmax(4rem, 1fr) auto;
  align-items: center;
  gap: 0.25rem 0.9rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--border);
  font-size: 0.88rem;
}
ul.otc-buckets li:last-child { border-bottom: 0; }
ul.otc-buckets .nm { font-weight: 600; }
ul.otc-buckets .bar {
  height: 8px; background: var(--table-head); border-radius: 2px; overflow: hidden;
}
ul.otc-buckets .bar i { display: block; height: 100%; background: var(--accent); }
ul.otc-buckets .b-premium .bar i { background: var(--up); }
ul.otc-buckets .b-discount .bar i { background: var(--down); }
ul.otc-buckets .b-unknown .bar i { background: var(--faint); }
ul.otc-buckets .pv {
  font-family: var(--mono); font-weight: 600; min-width: 3.2rem; text-align: left;
}
/* ההסבר יורד לשורה שלמה מתחת למדד — הוא הטקסט, לא הערת שוליים */
ul.otc-buckets .ex {
  grid-column: 1 / -1; font-size: 0.82rem; color: var(--muted); line-height: 1.5;
}

.otc-flow {
  display: flex; align-items: center; gap: 1.1rem; flex-wrap: wrap;
  margin: 0.8rem 0 2rem; padding: 0.9rem 1rem;
  border: 1px solid var(--border); border-radius: 6px;
}
.otc-flow .ln { flex: none; color: var(--accent); }
.otc-flow .ln.up { color: var(--up); }
.otc-flow .ln.down { color: var(--down); }
.otc-flow .rd { flex: 1 1 18rem; font-size: 0.88rem; line-height: 1.6; }

ul.otc-cards {
  list-style: none; padding: 0; margin: 0.8rem 0 2rem;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 0.7rem;
}
ul.otc-cards li {
  display: grid; grid-template-columns: 1fr auto; gap: 0.2rem 0.6rem;
  padding: 0.7rem 0.85rem; border: 1px solid var(--border); border-radius: 6px;
  border-inline-start: 3px solid var(--faint); font-size: 0.86rem;
}
ul.otc-cards li.premium { border-inline-start-color: var(--up); }
ul.otc-cards li.discount { border-inline-start-color: var(--down); }
ul.otc-cards li.at_close, ul.otc-cards li.at_base {
  border-inline-start-color: var(--accent);
}
ul.otc-cards .nm { font-weight: 700; }
ul.otc-cards .dt, ul.otc-cards .v { font-family: var(--mono); color: var(--muted); }
ul.otc-cards .dt { text-align: left; }
ul.otc-cards .p, ul.otc-cards .c { font-family: var(--mono); font-weight: 600; }
ul.otc-cards .p.up, ul.otc-cards .c.up { color: var(--up); }
ul.otc-cards .p.down, ul.otc-cards .c.down { color: var(--down); }
ul.otc-cards .p.flat, ul.otc-cards .c.flat { color: var(--faint); }
ul.otc-cards .c { text-align: left; }
ul.otc-cards .s {
  grid-column: 1 / -1; font-size: 0.79rem; color: var(--muted); line-height: 1.5;
  margin-top: 0.15rem;
}

/* תגית כיסוי בתוך טבלה — אותה שפה כמו בכרטיסי הדיווחים */
table.nadlan td .cov, ul.otc-cards .cov {
  display: inline-block; margin-inline-start: 0.4rem;
  font-size: 0.65rem; font-weight: 600;
  background: var(--accent); color: var(--on-accent);
  border-radius: 3px; padding: 0.03rem 0.34rem; vertical-align: 0.08em;
}

/* ── שוק הדיור: הקריאה, המצב, והפיזור ─────────────────────────────── */
p.reading {
  font-size: 0.97rem; line-height: 1.75; margin: 0.7rem 0;
  padding-inline-start: 0.9rem; border-inline-start: 3px solid var(--accent);
}
table.nadlan td.state { font-size: 0.82rem; color: var(--muted); white-space: nowrap; }
table.nadlan .q, .hood-city .q {
  font-family: var(--mono); font-size: 0.76rem; color: var(--faint);
  margin-inline-start: 0.35rem;
}
.mix {
  display: inline-block; margin-inline-start: 0.4rem;
  font-size: 0.66rem; font-weight: 600; color: var(--on-accent);
  background: var(--faint); border-radius: 3px; padding: 0.02rem 0.4rem;
  cursor: help;
}
/* פרמיית קבלן יכולה להיות שלילית, ואז הצבע הוא הכיוון ולא איכות */
ul.offex-bars .bar.up i { background: var(--up); }
ul.offex-bars .bar.down i { background: var(--down); }

.hoods {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 1rem; margin: 0.9rem 0 2rem;
}
.hood-city { border: 1px solid var(--border); border-radius: 6px; padding: 0.8rem 0.95rem; }
.hood-city h3 { margin: 0 0 0.5rem; font-size: 0.95rem; border: 0; padding: 0; }
.hood-city ul { list-style: none; padding: 0; margin: 0; }
.hood-city li {
  display: grid; grid-template-columns: 1fr auto; gap: 0 0.6rem;
  padding: 0.32rem 0; border-bottom: 1px solid var(--border); font-size: 0.85rem;
}
.hood-city li:last-child { border-bottom: 0; }
.hood-city .nm { font-weight: 600; }
.hood-city .pv { font-family: var(--mono); font-weight: 600; color: var(--accent); }
.hood-city .mv {
  grid-column: 1 / -1; font-family: var(--mono); font-size: 0.75rem;
  color: var(--muted);
}

/* ── סקירת דוח כספי ─────────────────────────────────────────────────
   נפתחת בתוך רשימת הדוחות ולא בעמוד נפרד, כדי שהחיפוש לא יאבד. */
ul.filings button.rev {
  font: inherit; font-size: 0.78rem; font-weight: 600;
  color: var(--accent); background: none;
  border: 1px solid var(--accent); border-radius: 4px;
  padding: 0.1rem 0.55rem; cursor: pointer; white-space: nowrap;
}
ul.filings button.rev:hover { background: var(--accent-soft); }
ul.filings button.rev.on { background: var(--accent); color: var(--on-accent); }

li.revbox {
  list-style: none; margin: 0.2rem 0 0.9rem;
  border: 1px solid var(--border-strong); border-radius: 6px;
  border-inline-start: 3px solid var(--accent);
  background: var(--card, transparent);
}
.rv-head {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.6rem 0.9rem; border-bottom: 1px solid var(--border);
  font-size: 0.85rem; color: var(--muted);
}
.rv-x {
  margin-inline-start: auto; font: inherit; font-size: 1.15rem; line-height: 1;
  background: none; border: 0; color: var(--faint); cursor: pointer;
  padding: 0 0.2rem;
}
.rv-x:hover { color: var(--down); }
.rv-body { padding: 0.3rem 0.9rem 0.2rem; font-size: 0.9rem; }
.rv-body h2 {
  font-size: 0.88rem; margin: 1.1rem 0 0.35rem; padding: 0;
  border: 0; border-bottom: 1px solid var(--border);
  color: var(--accent); letter-spacing: 0.01em;
}
.rv-body h2:first-child { margin-top: 0.5rem; }
.rv-body p { margin: 0.4rem 0; line-height: 1.75; }
.rv-body table { font-size: 0.83rem; }
.rv-load { padding: 0.9rem; color: var(--muted); font-size: 0.86rem; }
.rv-load.err { color: var(--down); }
.rv-note {
  margin: 0; padding: 0.55rem 0.9rem 0.7rem;
  border-top: 1px solid var(--border);
  font-size: 0.76rem; color: var(--faint); line-height: 1.5;
}

/* --- תמלולי שיחות משקיעים --------------------------------------------- */
.tr-filters {
  display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center;
  margin: 1rem 0 1.1rem;
}
.tr-filters input, .tr-filters select {
  font: inherit; font-size: 0.86rem; padding: 0.38rem 0.6rem;
  border: 1px solid var(--border); border-radius: 6px;
  background: var(--surface); color: var(--fg);
}
.tr-filters input { flex: 1 1 14rem; min-width: 0; }

/* כרטיס באינדקס — קישור, לא מקופל: התוכן יושב בעמוד נפרד. */
.tr-card {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem;
  padding: 0.65rem 0.8rem; margin-bottom: 0.5rem;
  border: 1px solid var(--border); border-radius: 8px;
  background: var(--surface); color: inherit; text-decoration: none;
}
.tr-card:hover { border-color: var(--accent); background: var(--table-head); }
.tr-day {
  font-family: var(--mono); font-size: 0.76rem; color: var(--faint);
  font-variant-numeric: tabular-nums;
}
.tr-firm { font-weight: 700; font-size: 0.97rem; }
.tr-approx {
  font-weight: 400; font-size: 0.72rem; color: var(--faint);
  border-bottom: 1px dotted var(--faint);
}
.tr-per {
  font-size: 0.71rem; color: var(--muted); letter-spacing: 0.04em;
  border: 1px solid var(--border); border-radius: 999px; padding: 0.05rem 0.45rem;
}
/* שורת הפתיחה נשברת לשורה משלה ברוחב מלא, כדי שלא תדחק את שם החברה
   במסך צר. */
.tr-one {
  flex: 1 0 100%; font-size: 0.86rem; color: var(--muted); line-height: 1.5;
}

/* --- עמוד שיחה --- */
.tr-back { font-size: 0.82rem; margin-bottom: 0.4rem; }
.tr-other {
  font-size: 0.82rem; color: var(--muted); margin: 0.5rem 0 0;
  line-height: 1.7;
}
.tr-full { font-size: 0.95rem; line-height: 1.75; }
.tr-full h2 {
  font-size: 0.88rem; letter-spacing: 0.05em; color: var(--accent);
  margin: 2rem 0 0.5rem; padding-bottom: 0.3rem;
  border-bottom: 1px solid var(--border); font-weight: 700;
}
.tr-full h2:first-child { margin-top: 1rem; }
.tr-full h3 {
  font-size: 0.95rem; margin: 1.2rem 0 0.3rem; font-weight: 700;
}
.tr-full ul { margin: 0.4rem 0; padding-inline-start: 1.2rem; }
.tr-full li { margin: 0.3rem 0; }
.tr-full table { font-size: 0.86rem; }
/* שאלה ותשובה: הבלוק שנפתח ב"שאלה —" מקבל פס צד, כדי שרצף של עשרים
   חילופי דברים יישאר קריא ולא ייראה כמו קיר טקסט. */
.tr-full p > strong:first-child { color: var(--fg); }

.tr-raw { margin-top: 2.2rem; }
.tr-raw > summary {
  cursor: pointer; font-size: 0.85rem; font-weight: 700; color: var(--accent);
  padding: 0.5rem 0; border-top: 1px solid var(--border);
}
.tr-text {
  margin-top: 0.8rem; font-size: 0.9rem; line-height: 1.85;
  max-height: 70vh; overflow-y: auto; padding-inline-end: 0.6rem;
  border-inline-start: 2px solid var(--border); padding-inline-start: 0.9rem;
}
.tr-text p { margin: 0 0 0.75rem; }
.tr-text p.sp b { color: var(--accent); font-weight: 700; }

.tr-note {
  margin-top: 1.8rem; font-size: 0.78rem; color: var(--faint); line-height: 1.6;
}

.tr-cov {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.83rem; color: var(--muted); cursor: pointer; user-select: none;
}
.tr-cov input { accent-color: var(--accent); }

/* דרישה שנאמרת מראש. הטופס אכף אורך סיסמה מינימלי דרך minlength בלבד,
   כלומר הדפדפן חסם שליחה עם בועית מערכת שקל לפספס — ונרשם שלא הבין
   פשוט עזב. הכלל נאמר עכשיו ליד השדה, לפני ההקלדה. */
label .hint {
  font-weight: 400; font-size: 0.74rem; color: var(--faint);
  margin-inline-start: 0.4rem;
}

/* --- בקשות גישה ממתינות (בעלים בלבד) ------------------------------- */
.pend-item {
  border: 1px solid var(--border); border-radius: 8px;
  background: var(--surface); padding: 0.7rem 0.85rem; margin-bottom: 0.6rem;
}
.pend-head {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem;
}
.pend-head b { font-size: 0.97rem; }
.pend-mail { font-family: var(--mono); font-size: 0.79rem; color: var(--muted); }
.pend-org {
  font-size: 0.71rem; color: var(--muted); border: 1px solid var(--border);
  border-radius: 999px; padding: 0.05rem 0.45rem;
}
.pend-test {
  font-size: 0.71rem; color: var(--warn); border: 1px solid var(--warn);
  border-radius: 999px; padding: 0.05rem 0.45rem;
}
.pend-why {
  font-size: 0.87rem; color: var(--muted); margin: 0.45rem 0 0; line-height: 1.6;
}
.pend-when { font-size: 0.76rem; color: var(--faint); margin: 0.4rem 0 0; }
.pend-go {
  display: inline-block; margin-top: 0.5rem; padding: 0.35rem 0.8rem;
  background: var(--accent); color: var(--on-accent); border-radius: 6px;
  text-decoration: none; font-size: 0.85rem; font-weight: 600;
}
.pend-go:hover:not(:disabled) { background: var(--accent-2); }
/* הכפתור החליף קישור: האישור נעשה במקום ולא בניווט לדף תוצאה, ולכן
   צריך לאפס את ברירות המחדל של הדפדפן ולשמור על אותו מראה בדיוק. */
button.pend-go {
  border: 0; cursor: pointer; font-family: inherit; line-height: 1.5;
}
button.pend-go:disabled { opacity: 0.55; cursor: default; }
button.pend-go:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 2px;
}


/* מקרא מונחים מתחת לטבלת הערים. מונח שדורש הסבר מקבל אותו במקום
   שבו הוא נקרא, ולא בפסקת פתיחה שנקראת פעם אחת ואז מדולגת. */
.legend {
  margin: 0.4rem 0 1.8rem; font-size: 0.82rem; line-height: 1.6;
  display: grid; grid-template-columns: max-content 1fr; gap: 0.3rem 0.9rem;
}
.legend dt { font-weight: 600; color: var(--accent); white-space: nowrap; }
.legend dd { margin: 0; color: var(--muted); }
@media (max-width: 34rem) {
  .legend { grid-template-columns: 1fr; gap: 0.1rem; }
  .legend dd { margin-bottom: 0.5rem; }
}


/* ---------- עמוד סקטור: אייטמים, לא פסקה ---------- */
/* העמוד הציג פסקת סיכום אחת ומשפט "משמעות", וזה כל מה שהיה בו.
   עכשיו הוא מציג אייטם לכל ידיעה, עם החברות הנוגעות וכיוון ההשפעה. */
/* **מסולסל תחת .topic-sum בכוונה.** `.topic-sum p` שלמעלה קובע
   margin ו-font-size לכל פסקה בקופסה, וסלקטור של מחלקה בלבד (0,1,0)
   מפסיד לו (0,1,1). בלי ההידוק הזה הליד קיבל את המרווח הכללי במקום
   את שלו, והרווח בינו לאייטם הראשון נעלם. */
.topic-sum .topic-lead { font-size: 0.95rem; line-height: 1.75; margin: 0 0 1.1rem; }
.topic-item {
  border-inline-start: 3px solid var(--border);
  padding: 0 0 0.1rem 0; padding-inline-start: 0.9rem;
  margin: 0 0 1.15rem;
}
.topic-item:hover { border-inline-start-color: var(--accent); }
.topic-item h3 {
  font-size: 1rem; margin: 0 0 0.35rem; line-height: 1.45;
}
.topic-item p { margin: 0 0 0.4rem; font-size: 0.92rem; line-height: 1.75; }
.topic-sum .topic-meta {
  display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap;
  font-size: 0.78rem; margin: 0;
}
.topic-meta .co { color: var(--muted); }
.topic-meta .dir {
  border-radius: 999px; padding: 0.05rem 0.5rem; border: 1px solid var(--border);
}
.topic-meta .dir.up { color: var(--up); border-color: var(--up); }
.topic-meta .dir.down { color: var(--down); border-color: var(--down); }
.topic-meta .dir.mixed { color: var(--warn); border-color: var(--warn); }
.topic-meta .dir.flat { color: var(--faint); }

/* ---------- רשימת הכיסוי ---------- */

.cov-tag {
  display: inline-block; margin-inline-start: 0.45rem; padding: 0 0.42rem;
  font-size: 0.7rem; font-weight: 500; line-height: 1.5; color: var(--muted);
  border: 1px solid var(--border); border-radius: 999px; vertical-align: 0.1em;
}
.cov-tag.warn { color: var(--warn); border-color: var(--warn); background: var(--warn-bg); }
.cov-owner { margin: 0.2rem 0 0.5rem; }
.cov-legend { color: var(--muted); font-size: 0.85rem; max-width: var(--measure); margin: 0 0 0.35rem; }
.cov-sum { font-size: 0.86rem; font-variant-numeric: tabular-nums; margin: 0 0 0.2rem; }
.cov-owner .msg { margin-bottom: 0.3rem; }
.cov-owner button.cov-retry {
  font: inherit; font-size: 0.8rem; padding: 0.2rem 0.7rem; cursor: pointer;
  color: var(--on-accent); background: var(--accent); border: 0; border-radius: var(--radius);
}
.lv-set { display: inline-flex; gap: 0.22rem; }
.lv-set button.lv {
  font: inherit; font-size: 0.78rem; font-weight: 600; font-variant-numeric: tabular-nums;
  min-width: 1.8rem; height: 1.8rem; padding: 0; cursor: pointer;
  color: var(--muted); background: var(--surface);
  border: 1px solid var(--border-strong); border-radius: var(--radius);
}
.lv-set button.lv:hover { border-color: var(--accent); color: var(--accent); }
.lv-set button.lv:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.lv-set button.lv[aria-pressed="true"] {
  background: var(--accent); border-color: var(--accent); color: var(--on-accent);
}
@media (max-width: 640px) {
  .lv-set button.lv { min-width: 2.2rem; height: 2.2rem; }
}

/* ---------- נתוני הלמ"ס ---------- */

/* צבע לכל נושא — נקודה ותווית, לא משטח. ההיררכיה נשארת של הפנים והקווים;
   הצבע רק מאפשר לזהות נושא במבט אחד בין הכרטיסים, הלוח וההודעות. כל
   הגוונים עוברים 4.5:1 כטקסט על הרקע הבהיר, ומתבהרים בכהה. */
:root {
  --t-prices: #9a5b00;
  --t-housing: #87407a;
  --t-accounts: #0f4c63;
  --t-labor: #16775b;
  --t-trade: #4852a0;
  --t-business: #6a6414;
  --t-industry: #4a5d69;
  --t-tourism: #a8445a;
  --t-surveys: #5d4aad;
  --t-other: #66717b;
}
@media (prefers-color-scheme: dark) {
  :root {
    --t-prices: #e0a650;
    --t-housing: #d88bc8;
    --t-accounts: #6cb6d4;
    --t-labor: #5cc6a2;
    --t-trade: #9ea8ee;
    --t-business: #c7c05e;
    --t-industry: #a3b5c0;
    --t-tourism: #ec8fa2;
    --t-surveys: #b4a6f2;
    --t-other: #7d8891;
  }
}
.t-prices { --tc: var(--t-prices); }
.t-housing { --tc: var(--t-housing); }
.t-accounts { --tc: var(--t-accounts); }
.t-labor { --tc: var(--t-labor); }
.t-trade { --tc: var(--t-trade); }
.t-business { --tc: var(--t-business); }
.t-industry { --tc: var(--t-industry); }
.t-tourism { --tc: var(--t-tourism); }
.t-surveys { --tc: var(--t-surveys); }
.t-other { --tc: var(--t-other); }

.tdot {
  display: inline-block; flex: none; width: 0.5rem; height: 0.5rem; border-radius: 50%;
  background: var(--tc, var(--t-other));
}

.cbs-toc {
  display: flex; flex-wrap: wrap; gap: 0.25rem 1.2rem;
  margin: 0.6rem 0 0; padding: 0.5rem 0;
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  font-size: 0.84rem;
}
.cbs-toc a { color: var(--muted); font-weight: 600; text-decoration: none; }
.cbs-toc a:hover { color: var(--accent); }
p.cbs-sub {
  font-size: 0.85rem; line-height: 1.6; color: var(--muted);
  max-width: var(--measure); margin: -0.2rem 0 1rem;
}

.cbs-topic {
  display: inline-flex; align-items: center; gap: 0.35rem; white-space: nowrap;
  font-size: 0.72rem; font-weight: 600; line-height: 1.5; color: var(--tc);
  background: color-mix(in srgb, var(--tc) 10%, transparent);
  border-radius: 999px; padding: 0.02rem 0.55rem 0.04rem;
}

/* --- בקצרה --- */
.cbs-brief {
  display: grid; gap: 0.75rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
}
a.cbs-bc {
  display: flex; flex-direction: column; gap: 0.45rem;
  padding: 0.8rem 0.9rem 0.9rem; color: var(--fg); text-decoration: none;
  background: var(--surface); border: 1px solid var(--border); border-radius: 6px;
}
a.cbs-bc:hover { border-color: var(--border-strong); }
a.cbs-bc:hover .bc-title { color: var(--accent); }
.bc-top { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.bc-date { font-family: var(--mono); font-size: 0.74rem; color: var(--faint); }
.bc-title {
  font-family: var(--serif); font-size: 1rem; font-weight: 700; line-height: 1.35;
  text-wrap: balance;
}
.bc-kv { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.15rem 0.55rem; }
.bc-kv .v { display: inline-flex; align-items: baseline; gap: 0.3rem; }
.bc-kv b {
  font-family: var(--mono); font-size: 1.45rem; font-weight: 600; line-height: 1.2;
  font-variant-numeric: tabular-nums; letter-spacing: -0.02em;
}
.bc-kv b.txt, .cbs-kf .val b.txt { font-family: var(--sans); font-size: 1rem; letter-spacing: 0; }
.bc-kv small { font-size: 0.78rem; color: var(--muted); }
.bc-kv .v small { font-size: 0.9rem; font-weight: 600; color: var(--fg); }
.bc-hl {
  font-size: 0.86rem; line-height: 1.6; color: var(--muted);
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}

/* --- מדדים עיקריים --- */
.cbs-groups { display: flex; flex-direction: column; gap: 1.5rem; }
h3.cbs-gh {
  display: flex; align-items: center; gap: 0.45rem;
  font-size: 0.8rem; font-weight: 700; letter-spacing: 0.03em; color: var(--muted);
  margin: 0 0 0.6rem; padding-bottom: 0.35rem; border-bottom: 1px solid var(--border);
}
.cbs-tiles {
  display: grid; gap: 0.6rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 15.5rem), 1fr));
}
.cbs-tile {
  display: flex; flex-direction: column; gap: 0.3rem;
  background: var(--surface); border: 1px solid var(--border); border-radius: 6px;
  padding: 0.7rem 0.8rem 0.6rem;
}
.tl-head { display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; }
.tl-name { font-size: 0.86rem; font-weight: 700; line-height: 1.3; }
.tl-per { font-family: var(--mono); font-size: 0.72rem; color: var(--faint); white-space: nowrap; }
.tl-sub { font-size: 0.74rem; line-height: 1.35; color: var(--muted); margin-top: -0.2rem; }
.tl-val { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.1rem; }
.tl-val b {
  font-family: var(--mono); font-size: 1.55rem; font-weight: 600; line-height: 1.15;
  font-variant-numeric: tabular-nums; letter-spacing: -0.02em;
}
.tl-val .u { font-size: 0.8rem; color: var(--muted); }
ul.tl-deltas {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 0.05rem; font-size: 0.78rem; color: var(--muted);
}
ul.tl-deltas b { font-family: var(--mono); font-weight: 600; color: var(--fg); font-variant-numeric: tabular-nums; }
ul.tl-deltas .u { color: var(--fg); font-weight: 600; margin-inline-start: 0.15rem; }
ul.tl-deltas b.txt { font-family: var(--sans); }
.tl-spark { color: var(--tc, var(--accent)); margin-top: 0.2rem; }
.tl-axis {
  display: flex; justify-content: space-between; margin-top: 0.1rem;
  font-family: var(--mono); font-size: 0.64rem; color: var(--faint);
}
.tl-sec, .tl-range { font-size: 0.74rem; line-height: 1.5; color: var(--muted); }
.tl-sec b, .tl-range b { font-family: var(--mono); font-weight: 600; color: var(--fg); }
.tl-tag { font-size: 0.68rem; color: var(--faint); margin-top: auto; padding-top: 0.2rem; }

svg.cbs-spark { display: block; width: 100%; height: auto; overflow: visible; }
svg.cbs-spark .ln {
  fill: none; stroke: currentColor; stroke-width: 1.6;
  stroke-linejoin: round; stroke-linecap: round;
}
svg.cbs-spark .area { fill: currentColor; opacity: 0.09; }
svg.cbs-spark .end { fill: currentColor; }
svg.cbs-spark .zero { stroke: var(--border-strong); stroke-width: 1; stroke-dasharray: 2 2; }
svg.cbs-spark .band { fill: currentColor; opacity: 0.07; }
svg.cbs-spark .bar { fill: currentColor; opacity: 0.4; }
svg.cbs-spark .bar.neg { opacity: 0.22; }
svg.cbs-spark .bar.last { opacity: 1; }

/* --- מדדי מחירים --- */
.cbs-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 1.1rem; }
.cbs-legend span { display: inline-flex; align-items: center; gap: 0.35rem; }
.sw { display: inline-block; width: 0.85rem; height: 0.6rem; border-radius: 1px; }
.sw-bar { background: color-mix(in srgb, var(--accent) 38%, transparent); }
.sw-line { height: 2px; background: var(--accent); }
.sw-band { background: color-mix(in srgb, var(--up) 18%, transparent); }
.cbs-prices {
  display: grid; gap: 0.8rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 25rem), 1fr));
}
.cbs-pc {
  background: var(--surface); border: 1px solid var(--border); border-radius: 6px;
  padding: 0.8rem 0.9rem 0.7rem;
}
.pc-head { display: flex; justify-content: space-between; align-items: baseline; gap: 0.6rem; }
.pc-head h3 { margin: 0; font-size: 0.95rem; line-height: 1.35; }
.pc-per { font-family: var(--mono); font-size: 0.74rem; color: var(--faint); white-space: nowrap; }
.pc-nums { display: flex; flex-wrap: wrap; gap: 0.3rem 1.4rem; margin: 0.45rem 0 0.35rem; }
.pc-nums span { display: flex; flex-direction: column; }
.pc-nums small { font-size: 0.7rem; color: var(--faint); }
.pc-nums b {
  font-family: var(--mono); font-size: 1.15rem; font-weight: 600; font-variant-numeric: tabular-nums;
}
.pc-chart { color: var(--accent); }
svg.cbs-ch { display: block; width: 100%; height: auto; direction: ltr; }
svg.cbs-ch .grid { stroke: var(--border); stroke-width: 1; }
svg.cbs-ch .zero { stroke: var(--border-strong); stroke-width: 1.3; }
svg.cbs-ch .yr { stroke: var(--border); stroke-dasharray: 3 3; }
svg.cbs-ch .ax { fill: var(--faint); font-family: var(--mono); font-size: 10.5px; }
svg.cbs-ch .band { fill: var(--up); opacity: 0.1; }
svg.cbs-ch .bar { fill: var(--accent); opacity: 0.3; }
svg.cbs-ch .bar.neg { fill: var(--muted); opacity: 0.4; }
svg.cbs-ch .bar.last { opacity: 0.65; }
svg.cbs-ch .yoy {
  fill: none; stroke: var(--accent); stroke-width: 2.2;
  stroke-linejoin: round; stroke-linecap: round;
}
svg.cbs-ch .yoy-end { fill: var(--accent); stroke: var(--surface); stroke-width: 1.5; }
svg.cbs-ch .hit { fill: transparent; }
svg.cbs-ch .hit:hover { fill: var(--accent); fill-opacity: 0.07; }
.pc-foot { font-size: 0.72rem; line-height: 1.5; color: var(--faint); margin-top: 0.3rem; }

/* --- לוח פרסומים --- */
.cbs-cal { display: flex; flex-direction: column; border-top: 1px solid var(--border); }
.cbs-day {
  display: grid; grid-template-columns: 7rem 1fr; gap: 0.3rem 1rem;
  padding: 0.65rem 0.5rem; border-bottom: 1px solid var(--border);
}
.cbs-day.today { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.cd-date { display: flex; flex-direction: column; align-items: flex-start; gap: 0.1rem; font-size: 0.84rem; }
.cd-date span[dir] { font-family: var(--mono); font-size: 0.78rem; color: var(--faint); }
.cbs-today {
  font-size: 0.68rem; font-weight: 600; color: var(--on-accent); background: var(--accent);
  border-radius: 999px; padding: 0 0.45rem;
}
ul.cd-items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
ul.cd-items li { display: flex; align-items: baseline; gap: 0.55rem; }
ul.cd-items li:not(.rel) .tdot { opacity: 0.45; }
ul.cd-items .ci { display: flex; flex-direction: column; gap: 0.05rem; min-width: 0; }
.ci-title { font-size: 0.88rem; line-height: 1.45; color: var(--muted); }
ul.cd-items li.rel .ci-title { color: var(--fg); font-weight: 600; }
.ci-meta { font-size: 0.74rem; line-height: 1.5; color: var(--faint); }
.ci-meta b { font-family: var(--mono); font-weight: 600; color: var(--fg); }
.ci-go, .ci-prev { font-size: 0.74rem; font-weight: 600; }
.ci-go.wait { color: var(--warn); }

/* --- הודעות וניתוחים --- */
.cbs-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.4rem 0 0.4rem; }
.cbs-chips button {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font: inherit; font-size: 0.8rem; padding: 0.2rem 0.7rem; cursor: pointer;
  color: var(--muted); background: var(--surface);
  border: 1px solid var(--border-strong); border-radius: 999px;
}
.cbs-chips button[aria-pressed="true"] { color: var(--on-accent); background: var(--accent); border-color: var(--accent); }
.cbs-chips button[aria-pressed="true"] .tdot { box-shadow: 0 0 0 1.5px var(--on-accent); }
.cbs-chips button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }

article.cbs-rel { padding: 1.4rem 0 1.2rem; border-top: 1px solid var(--border-strong); scroll-margin-top: 4.5rem; }
.rl-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.7rem; font-size: 0.78rem; }
.rl-date { font-family: var(--mono); font-size: 0.78rem; color: var(--faint); }
.st {
  font-size: 0.7rem; font-weight: 600; line-height: 1.5; color: var(--muted);
  border: 1px solid var(--border-strong); border-radius: 999px; padding: 0 0.5rem;
}
.st.done { color: var(--up); border-color: color-mix(in srgb, var(--up) 45%, transparent); }
.st.wait { color: var(--warn); border-color: color-mix(in srgb, var(--warn) 45%, transparent); }
.rl-links { display: inline-flex; gap: 0.8rem; margin-inline-start: auto; }
h3.rl-title {
  font-family: var(--serif); font-size: 1.3rem; font-weight: 700; line-height: 1.3;
  margin: 0.5rem 0 0.35rem; text-wrap: balance;
}
article.cbs-rel.pending h3.rl-title { font-size: 1.12rem; }
p.rl-headline { font-size: 1.02rem; font-weight: 500; line-height: 1.7; max-width: 48rem; margin: 0.2rem 0 0.8rem; }

.cbs-kf {
  display: grid; gap: 0.5rem; margin: 0.5rem 0 1rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 12.5rem), 1fr));
}
.cbs-kf .kf {
  display: flex; flex-direction: column; gap: 0.12rem;
  background: var(--surface); border: 1px solid var(--border); border-radius: 6px;
  padding: 0.55rem 0.7rem;
}
.cbs-kf .val { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.1rem 0.35rem; }
.cbs-kf .val b {
  font-family: var(--mono); font-size: 1.25rem; font-weight: 600; line-height: 1.2;
  font-variant-numeric: tabular-nums; letter-spacing: -0.01em;
}
.cbs-kf .val small { font-size: 0.85rem; font-weight: 600; }
.cbs-kf .lbl { font-size: 0.8rem; font-weight: 700; line-height: 1.35; }
.cbs-kf .chg { font-size: 0.76rem; line-height: 1.45; color: var(--muted); }
.cbs-kf .per { font-size: 0.7rem; line-height: 1.4; color: var(--faint); }

.cbs-sec { margin: 1.2rem 0; }
.cbs-sec > h4, .cbs-caveat > h4 {
  font-size: 0.8rem; font-weight: 700; letter-spacing: 0.03em; color: var(--muted);
  margin: 0 0 0.55rem;
}
.cbs-prose p { max-width: var(--measure); font-size: 0.93rem; line-height: 1.8; margin: 0 0 0.6rem; }
.cbs-cards {
  display: grid; gap: 0.65rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
}
.cbs-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: 6px;
  padding: 0.7rem 0.85rem 0.45rem;
}
.cc-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.6rem; }
.cc-head h5 { margin: 0; font-size: 0.92rem; font-weight: 700; line-height: 1.4; }
.cc-head .cbs-dir { flex: none; margin-top: 0.1rem; }
.cc-meta { font-size: 0.74rem; color: var(--faint); margin-top: 0.2rem; }
.cc-cos { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-top: 0.4rem; }
.cc-cos .co {
  font-size: 0.72rem; font-weight: 600; color: var(--accent); background: var(--accent-soft);
  border-radius: 3px; padding: 0.02rem 0.4rem;
}
.cbs-card p { font-size: 0.86rem; line-height: 1.7; margin: 0.45rem 0; }
.cbs-dir {
  font-size: 0.72rem; font-weight: 600; line-height: 1.5; color: var(--muted); white-space: nowrap;
  border: 1px solid var(--border); border-radius: 999px; padding: 0 0.45rem;
}
.cbs-dir.up { color: var(--up); border-color: var(--up); }
.cbs-dir.down { color: var(--down); border-color: var(--down); }
.cbs-dir.mixed { color: var(--warn); border-color: var(--warn); }
.cbs-caveat {
  margin: 1.2rem 0; padding: 0.7rem 0.9rem 0.5rem; max-width: 52rem;
  background: var(--warn-bg); border-radius: 6px;
}
.cbs-caveat > h4 { color: var(--warn); }
.cbs-caveat p { font-size: 0.86rem; line-height: 1.7; margin: 0 0 0.35rem; }
ul.cbs-watch { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
ul.cbs-watch li { display: grid; grid-template-columns: 8rem 1fr; gap: 0.8rem; font-size: 0.86rem; line-height: 1.55; }
ul.cbs-watch .wn { font-size: 0.78rem; font-weight: 600; color: var(--accent); }
.cbs-terms { margin: 1rem 0 0.2rem; }
.cbs-terms > summary, .cbs-more > summary, .cbs-others > summary {
  cursor: pointer; font-size: 0.86rem; font-weight: 600; color: var(--accent);
}
.cbs-terms dl {
  display: grid; grid-template-columns: max-content 1fr; gap: 0.3rem 0.9rem;
  margin: 0.6rem 0 0; font-size: 0.84rem;
}
.cbs-terms dt { font-weight: 700; }
.cbs-terms dd { margin: 0; line-height: 1.55; color: var(--muted); }
.cbs-more { margin-top: 0.3rem; }
.cbs-more[open] > summary { margin-bottom: 0.3rem; }
p.rl-foot { font-size: 0.72rem; color: var(--faint); margin: 0.9rem 0 0; }
p.cbs-note { font-size: 0.86rem; color: var(--muted); margin: 0.4rem 0; }
ul.cbs-sum {
  columns: 2 22rem; column-gap: 2rem; margin: 0.3rem 0 0; padding-inline-start: 1.1rem;
  font-size: 0.85rem; line-height: 1.6; color: var(--muted);
}
ul.cbs-sum li { break-inside: avoid; margin: 0 0 0.15rem; }
.cbs-others { margin: 1.4rem 0 0; padding-top: 0.9rem; border-top: 1px solid var(--border-strong); }
.cbs-others ul {
  list-style: none; margin: 0.6rem 0 0; padding: 0;
  display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.85rem; color: var(--muted);
}
.cbs-others .rl-date { margin-inline-end: 0.6rem; }

@media (max-width: 34rem) {
  .cbs-day { grid-template-columns: 1fr; padding-inline: 0; }
  .cd-date { flex-direction: row; align-items: baseline; gap: 0.5rem; }
  ul.cbs-watch li { grid-template-columns: 1fr; gap: 0; }
  .cbs-terms dl { grid-template-columns: 1fr; gap: 0.05rem; }
  .cbs-terms dd { margin-bottom: 0.45rem; }
  .rl-links { margin-inline-start: 0; }
}

/* ---------- גיליון ענף הרכב ---------- */
/* נשען על רכיבי עמוד הלמ"ס — כרטיסים (.cbs-card), תגיות כיוון, צ'יפים, תוכן
   עניינים וצבעי הנושאים — כדי שלשני העמודים תהיה אותה שפה. כאן רק מה
   שייחודי לגיליון. */
.au-now {
  background: var(--surface); border: 1px solid var(--border); border-radius: 6px;
  padding: 1rem 1.1rem 0.8rem;
}
p.au-headline {
  font-family: var(--serif); font-size: 1.25rem; font-weight: 700; line-height: 1.45;
  max-width: 50rem; margin: 0 0 0.6rem; text-wrap: balance;
}
.au-overview p { font-size: 0.95rem; line-height: 1.8; max-width: var(--measure); margin: 0 0 0.5rem; }
p.au-meta { font-size: 0.74rem; color: var(--faint); margin: 0.6rem 0 0; }
.au-watch { margin-top: 0.9rem; padding-top: 0.7rem; border-top: 1px solid var(--border); }
.au-watch h3 {
  font-size: 0.8rem; font-weight: 700; letter-spacing: 0.03em; color: var(--muted); margin: 0 0 0.45rem;
}
.au-trend .cc-head h3 { margin: 0; font-size: 0.95rem; font-weight: 700; line-height: 1.4; }
p.au-channel {
  font-size: 0.84rem; line-height: 1.6; margin: 0.45rem 0; padding: 0.4rem 0.6rem;
  background: var(--accent-soft); border-radius: 4px;
}
p.au-src { font-size: 0.74rem; line-height: 1.6; color: var(--faint); margin: 0.5rem 0 0.25rem; }
p.au-src a { color: var(--muted); }

.au-chain {
  display: grid; gap: 0.7rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
}
.au-role {
  background: var(--surface); border: 1px solid var(--border); border-radius: 6px;
  padding: 0.75rem 0.85rem 0.4rem;
}
.au-role h3 { margin: 0; font-size: 0.95rem; }
.au-role p.why { font-size: 0.8rem; line-height: 1.55; color: var(--muted); margin: 0.25rem 0 0.5rem; }
.au-role ul { list-style: none; margin: 0; padding: 0; }
.au-role li { padding: 0.45rem 0; border-top: 1px solid var(--border); }
.au-co { display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; }
.au-co b { font-size: 0.88rem; }
.au-cnt { font-size: 0.72rem; font-weight: 600; color: var(--accent); white-space: nowrap; }
.au-cnt.none { font-weight: 400; color: var(--faint); }
a.au-latest { display: block; font-size: 0.8rem; line-height: 1.5; color: var(--muted); margin-top: 0.15rem; }
.au-note { font-size: 0.8rem; line-height: 1.55; margin-top: 0.3rem; }
p.au-quiet {
  font-size: 0.8rem; line-height: 1.6; color: var(--muted); margin: 0; padding: 0.45rem 0 0.2rem;
  border-top: 1px solid var(--border);
}
p.au-quiet span { color: var(--faint); }

.au-cols {
  display: grid; gap: 1.2rem 2.2rem; margin-top: 0.8rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
}
.au-col > h3 {
  display: flex; align-items: baseline; gap: 0.45rem; margin: 0 0 0.2rem;
  padding-bottom: 0.35rem; border-bottom: 2px solid var(--border-strong); font-size: 0.95rem;
}
.au-n { font-family: var(--mono); font-size: 0.72rem; font-weight: 500; color: var(--faint); }
.cbs-chips button[aria-pressed="true"] .au-n { color: var(--on-accent); }
ul.au-list { list-style: none; margin: 0; padding: 0; }
li.au-day { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.03em; color: var(--muted); padding: 0.8rem 0 0.25rem; }
li.au-item {
  display: grid; grid-template-columns: 2.7rem 1fr; gap: 0.5rem;
  padding: 0.45rem 0; border-top: 1px solid var(--border);
}
.au-time { font-family: var(--mono); font-size: 0.72rem; color: var(--faint); padding-top: 0.15rem; }
a.au-title {
  font-size: 0.9rem; font-weight: 500; line-height: 1.45; color: var(--fg); text-decoration: none;
  overflow-wrap: anywhere;
}
a.au-title:hover { color: var(--accent); text-decoration: underline; }
.au-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 0.15rem 0.55rem; margin-top: 0.2rem; font-size: 0.7rem; }
.au-srcname { color: var(--faint); }
.au-tag { display: inline-flex; align-items: center; gap: 0.25rem; color: var(--tc); }
.au-tag .tdot { width: 0.4rem; height: 0.4rem; }
.au-tags .co, .au-role .co {
  font-weight: 600; color: var(--accent); background: var(--accent-soft); border-radius: 3px; padding: 0 0.35rem;
}
.au-more > summary { cursor: pointer; font-size: 0.84rem; font-weight: 600; color: var(--accent); padding: 0.6rem 0; }
.au-prev ul li { display: flex; align-items: baseline; gap: 0.6rem; }
.au-prev details > summary { cursor: pointer; color: var(--fg); }
.au-prev details p { font-size: 0.85rem; line-height: 1.7; margin: 0.35rem 0; }

/* ---------- גיליון הרכב: ליסינג והשכרה (נתוני רשם כלי הרכב) ---------- */
.au-lease-sum { max-width: var(--measure); margin: 0.2rem 0 1rem; }
.au-lease-sum p { font-size: 0.95rem; line-height: 1.8; margin: 0 0 0.5rem; }
.au-kpi { margin-top: 1.1rem; grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); }
.au-charts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
  gap: 1rem 1.6rem; margin: 0.4rem 0 1.4rem;
}
.au-charts figure { margin: 0; }
.au-charts figcaption { font-size: 0.82rem; font-weight: 700; color: var(--fg); margin-bottom: 0.3rem; }
svg.au-ch .bar { fill: var(--accent); opacity: 0.35; }
svg.au-ch .bar.last { opacity: 0.8; }
svg.au-ch .bar.partial { opacity: 0.14; }
svg.au-ch .l-china, svg.au-ch .l-ev {
  fill: none; stroke-width: 2.2; stroke-linejoin: round; stroke-linecap: round;
}
svg.au-ch .l-china { stroke: var(--accent); }
svg.au-ch .l-ev { stroke: var(--warn); }
svg.au-ch .l-china-end { fill: var(--accent); stroke: var(--surface); stroke-width: 1.5; }
svg.au-ch .l-ev-end { fill: var(--warn); stroke: var(--surface); stroke-width: 1.5; }
.au-legend {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.9rem;
  font-size: 0.74rem; color: var(--muted); margin: 0.25rem 0 0;
}
.au-legend .sw { display: inline-block; width: 0.8rem; height: 0.55rem; margin-inline-end: 0.3rem; vertical-align: middle; }
.au-legend .sw.bar { background: var(--accent); opacity: 0.8; }
.au-legend .sw.partial { background: var(--accent); opacity: 0.18; }
.au-legend .sw.l-china { height: 3px; background: var(--accent); }
.au-legend .sw.l-ev { height: 3px; background: var(--warn); }
.au-h3 { font-size: 0.98rem; margin: 1.5rem 0 0.4rem; }
table.au-tbl td .co {
  font-size: 0.66rem; font-weight: 600; color: var(--accent); border: 1px solid var(--accent);
  border-radius: 999px; padding: 0 0.4rem; margin-inline-start: 0.35rem; white-space: nowrap;
}
table.au-tbl tr.listed td { background: var(--accent-soft); }
.au-foot { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.6rem; margin-top: 0.35rem; }
.au-foot .au-src { margin: 0; }
.au-data {
  font-size: 0.66rem; font-weight: 700; color: var(--accent); background: var(--accent-soft);
  border-radius: 3px; padding: 0.05rem 0.4rem; white-space: nowrap;
}

/* ---------- עמוד הסחורות ---------- */
.cm-kicker { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.02em; color: var(--accent); margin-bottom: 0.15rem; }
.cm-regions {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: 1rem 1.8rem; margin: 0.5rem 0 1.2rem;
}
.cm-region h3 { font-size: 0.9rem; margin: 0 0 0.4rem; }
.cm-rbar {
  display: grid; grid-template-columns: minmax(7rem, 1.4fr) auto minmax(5rem, 1fr) 3.2rem;
  align-items: center; gap: 0.5rem; padding: 0.28rem 0; border-top: 1px solid var(--border);
  font-size: 0.8rem;
}
.cm-rbar .nm { font-weight: 600; }
.cm-rbar .val { font-family: var(--mono); font-size: 0.72rem; color: var(--faint); white-space: nowrap; }
.cm-rbar .track { position: relative; height: 0.55rem; background: var(--table-head); border-radius: 2px; }
.cm-rbar .track::after {
  content: ""; position: absolute; left: 50%; top: -2px; bottom: -2px; width: 1px; background: var(--border-strong);
}
.cm-rbar .track i { position: absolute; top: 0; bottom: 0; border-radius: 2px; }
.cm-rbar .track i.pos { left: 50%; background: var(--accent); opacity: 0.75; }
.cm-rbar .track i.neg { right: 50%; background: var(--muted); opacity: 0.55; }
.cm-rbar .chg { font-family: var(--mono); font-size: 0.76rem; font-weight: 600; text-align: left; }
.cm-rbar .chg.up { color: var(--up); }
.cm-rbar .chg.down { color: var(--down); }
table.cm-curves td { white-space: nowrap; }
table.cm-curves td .trend { font-size: 0.72rem; }
table.cm-curves td.shape { font-size: 0.8rem; font-weight: 600; }
table.au-tbl td.u { font-size: 0.72rem; color: var(--faint); }
svg.cm-curve { display: block; width: 110px; height: 30px; }
svg.cm-curve polyline { fill: none; stroke-width: 1.8; stroke-linejoin: round; }
svg.cm-curve.up polyline, svg.cm-curve.up circle { stroke: var(--up); fill: none; }
svg.cm-curve.down polyline, svg.cm-curve.down circle { stroke: var(--down); fill: none; }
svg.cm-curve circle { stroke-width: 1.3; fill: var(--surface) !important; }
svg.au-ch.cm-fert .l1, svg.au-ch.cm-fert .l2, svg.au-ch.cm-fert .l3, svg.au-ch.cm-fert .l4 {
  fill: none; stroke-width: 2.1; stroke-linejoin: round; stroke-linecap: round;
}
svg.au-ch.cm-fert .l1 { stroke: var(--accent); }
svg.au-ch.cm-fert .l2 { stroke: var(--warn); }
svg.au-ch.cm-fert .l3 { stroke: var(--up); }
svg.au-ch.cm-fert .l4 { stroke: var(--muted); }
svg.au-ch.cm-fert .l1-end { fill: var(--accent); }
svg.au-ch.cm-fert .l2-end { fill: var(--warn); }
svg.au-ch.cm-fert .l3-end { fill: var(--up); }
svg.au-ch.cm-fert .l4-end { fill: var(--muted); }
.au-legend .sw.l1, .au-legend .sw.l2, .au-legend .sw.l3, .au-legend .sw.l4 { height: 3px; }
.au-legend .sw.l1 { background: var(--accent); }
.au-legend .sw.l2 { background: var(--warn); }
.au-legend .sw.l3 { background: var(--up); }
.au-legend .sw.l4 { background: var(--muted); }
table.cm-wb td.desc { font-size: 0.7rem; color: var(--faint); white-space: normal; min-width: 14rem; line-height: 1.45; }
.cm-sigs { display: flex; flex-wrap: wrap; gap: 0.25rem 0.9rem; margin: 0.15rem 0 0.45rem; }
.cm-sig { font-size: 0.74rem; color: var(--muted); }
.cm-sig b { color: var(--fg); font-weight: 600; }
.cm-sig bdi { font-family: var(--mono); }
.cm-side { padding: 0.4rem 0; border-top: 1px solid var(--border); }
.cm-side .why { display: block; font-size: 0.78rem; line-height: 1.55; color: var(--muted); margin: 0.15rem 0 0.3rem; }
.cm-sidelbl {
  display: inline-block; font-size: 0.66rem; font-weight: 700; border-radius: 3px; padding: 0.02rem 0.4rem;
  background: var(--table-head); color: var(--fg);
}
.cm-sidelbl.producer { background: color-mix(in srgb, var(--up) 14%, transparent); color: var(--up); }
.cm-sidelbl.consumer { background: color-mix(in srgb, var(--down) 12%, transparent); color: var(--down); }
.cm-sidelbl.margin { background: color-mix(in srgb, var(--warn) 16%, transparent); color: var(--warn); }
.cm-notes { margin-bottom: 1rem; }
.cm-notes li .au-co { justify-content: flex-start; gap: 0.5rem; }
details.cm-board { margin: 0.2rem 0 0.8rem; }
details.cm-board summary { cursor: pointer; font-weight: 700; font-size: 0.92rem; padding: 0.35rem 0; }
svg.cm-spark { width: 70px; height: 18px; color: var(--accent); }
.au-charts.cm-one { grid-template-columns: minmax(0, 40rem); }

/* הפקת ברייף בלחיצה (site/functions/api/brief.js) — מוצג לבעלים בלבד. */
.runbrief {
  display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
  margin: 0 0 1rem; padding: 0.55rem 0.8rem;
  background: var(--table-head); border: 1px solid var(--border); border-radius: 8px;
  font-size: 0.85rem;
}
.runbrief label { font-weight: 600; color: var(--muted); }
.runbrief select {
  font: inherit; font-family: var(--sans); padding: 0.2rem 0.4rem;
  color: var(--fg); background: var(--surface);
  border: 1px solid var(--border-strong); border-radius: 6px;
}
.runbrief button {
  font: inherit; font-family: var(--sans); font-weight: 600; cursor: pointer;
  color: var(--accent); background: var(--surface);
  border: 1px solid var(--border-strong); border-radius: 6px; padding: 0.24rem 0.8rem;
}
.runbrief button:hover:not(:disabled) { border-color: var(--accent); background: var(--accent-soft); }
.runbrief button:disabled { opacity: 0.6; cursor: default; }
.runbrief .msg { color: var(--muted); }
.runbrief .msg.ok { color: var(--up); }
.runbrief .msg.warn { color: var(--warn); }

/* --- עמוד הרכב: השפעה על החברות הנסחרות, וקישורי מקור הנתונים ----------- */
/* הכרטיס מציג מנגנון ולא אזכור, ולכן שלוש שורות לו: הערוץ, סדר הגודל, ומה
   יאשר. הבסיס — "מוזכרת בפריט" מול "דרך המנגנון" — הוא תג ולא טקסט, כי
   הקורא צריך לראות ממבט אחד על מה הקריאה נשענת. */
.au-impact .cc-head { flex-wrap: wrap; gap: 0.4rem; }
.au-basis {
  font-size: 0.68rem; font-weight: 600; color: var(--muted);
  border: 1px solid var(--line); border-radius: 999px; padding: 0.1rem 0.5rem;
  white-space: nowrap;
}
p.au-mag, p.au-conf { font-size: 0.82rem; line-height: 1.6; margin: 0.35rem 0; }
p.au-conf { color: var(--muted); }
p.au-mag b, p.au-conf b { color: var(--fg); font-weight: 600; }
p.au-srclinks {
  font-size: 0.76rem; line-height: 1.7; color: var(--faint);
  margin: 0.8rem 0 0; padding-top: 0.6rem; border-top: 1px solid var(--line);
}
p.au-srclinks span { margin-inline-end: 0.3rem; }
p.au-srclinks a { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; }
