/* ============================================================
   Lighthouse — מערכת העיצוב
   נגזרה מהמוקאפ שאושר: design/mockup-APPROVED-2026-08-17.html
   כיוון: בהיר, אוורירי, טיפוגרפיה גדולה, מפרידים דקים במקום צללים.
   ⛔ אין מצב כהה — החלטה של דרור.
   ============================================================ */

/* ---------- 1. אסימונים ---------- */
:root{
  color-scheme:light;

  /* דיו */
  --ink:#0f1626;      /* כותרות ומספרים ראשיים */
  --ink-2:#525d73;    /* טקסט גוף ותוויות */
  --ink-3:#8b95a9;    /* משני, כיתובי צירים */
  --ink-4:#aeb7c7;    /* הכי חלש */

  /* משטחים */
  --surface:#ffffff;
  --track:#eff2f8;    /* מסלול של פסי התקדמות */
  --line:#edf0f6;     /* מפרידים וגבולות כרטיס */
  --line-2:#e2e7f0;   /* גבול חזק יותר, שדות קלט */

  /* מותג */
  --brand:#4340e0;
  --brand-soft:#eceaff;

  /* מצבים */
  --pos:#0b8a5c; --pos-soft:#e6f7f0;
  --neg:#d5304f; --neg-soft:#fdedf0;
  --warn:#b4790a; --warn-soft:#fdf4e3;

  /* צבעי אתרים — עברו validate_palette (הפרדת CVD + ניגודיות).
     ⛔ הסדר הוא מנגנון הבטיחות, לא קישוט. לא לערבב ולא להוסיף גוון שביעי. */
  --s1:#4f46e5;  /* yrz      */
  --s2:#0d9488;  /* 3in100   */
  --s3:#e11d48;  /* kfitz    */
  --s4:#d97706;  /* playetz  */
  --s5:#7c3aed;  /* pehamil  */
  --s6:#0284c7;  /* bestpool */

  /* גובה */
  --sh:0 1px 2px rgba(15,22,38,.03), 0 12px 30px -22px rgba(15,22,38,.30);
  --sh-2:0 2px 6px rgba(15,22,38,.04), 0 28px 56px -30px rgba(15,22,38,.42);

  --r:26px;      /* רדיוס כרטיס */
  --r-sm:16px;   /* רדיוס פנימי */
}

/* ---------- 2. בסיס ---------- */
*{box-sizing:border-box}
[hidden]{display:none !important}   /* display:flex/grid מנצח את [hidden] — חייבים לכפות */
html,body{margin:0;padding:0}
body{
  direction:rtl; text-align:right; color:var(--ink); min-height:100vh;
  background:
    radial-gradient(1000px 520px at 94% -10%, #e6e9ff 0%, rgba(230,233,255,0) 62%),
    radial-gradient(820px 460px at 2% 0%, #e4f4f1 0%, rgba(228,244,241,0) 58%),
    #f4f6fb;
  background-attachment:fixed;
  font-family:"Assistant",-apple-system,BlinkMacSystemFont,"SF Hebrew","Segoe UI","Noto Sans Hebrew",Arial,sans-serif;
  font-size:16.5px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1420px;margin:0 auto;padding:0 32px 90px}
.spacer{flex:1}

/* ---------- 3. מספרים וכסף ---------- */
/* כל רצף לטיני/מספרי חייב בידוד, אחרת הוא הופך את הכיוון של השורה בעברית */
.num{direction:ltr;unicode-bidi:isolate;display:inline-block;font-variant-numeric:tabular-nums}

/* סכום כסף: השקלים גדולים, סימן השקל והאגורות קטנים ואפורים.
   זה מה שהופך טבלת מספרים למשהו שהעין סורקת במקום מפענחת. */
.mny{direction:ltr;unicode-bidi:isolate;display:inline-block;font-variant-numeric:tabular-nums;white-space:nowrap}
.mny i{font-style:normal;font-size:.5em;font-weight:600;color:var(--ink-3);margin-inline-end:.14em;vertical-align:.1em}
.mny small{font-size:.5em;font-weight:600;color:var(--ink-3);letter-spacing:0}

/* ---------- 4. כותרת עליונה ---------- */
.topbar .wrap{display:flex;align-items:center;gap:18px;padding-top:26px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:14px;font-weight:750;font-size:21px;letter-spacing:-.035em}
.brand .mark{width:44px;height:44px;border-radius:15px;flex:none;display:grid;place-items:center;color:#fff;font-size:19px;
  background:linear-gradient(145deg,#6f6bf5,#3733c8);box-shadow:0 10px 24px -10px rgba(67,64,224,.8)}
.brand small{display:block;font-weight:600;font-size:11px;color:var(--ink-4);letter-spacing:.18em;line-height:1.4}

.navpill{display:flex;gap:4px;background:#111726;padding:6px;border-radius:999px;box-shadow:var(--sh)}
.navpill a,.navpill button{appearance:none;border:0;background:none;font:inherit;cursor:pointer;color:#9ba4bb;
  text-decoration:none;padding:11px 24px;border-radius:999px;font-size:15.5px;font-weight:600;white-space:nowrap;transition:.16s}
.navpill a:hover,.navpill button:hover{color:#eef0f7}
.navpill [aria-current="page"],.navpill [aria-selected="true"]{background:#fff;color:#111726;font-weight:700}
.navpill a:focus-visible,.navpill button:focus-visible{outline:2px solid #8b87ff;outline-offset:3px}

.iconbtn{width:46px;height:46px;border-radius:50%;border:0;background:var(--surface);display:grid;place-items:center;
  cursor:pointer;color:var(--ink-2);font-size:18px;box-shadow:var(--sh);flex:none;transition:.16s;text-decoration:none}
.iconbtn:hover{color:var(--brand);transform:translateY(-1px)}
.avatar{width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:750;font-size:17px;
  color:#fff;background:linear-gradient(145deg,#8e99b2,#59647c);box-shadow:var(--sh)}

/* ---------- 5. שורת פתיחה ---------- */
.hello{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-top:34px}
.hello h1{margin:0;font-size:38px;font-weight:780;letter-spacing:-.045em;line-height:1.1}
.hello p{margin:6px 0 0;font-size:17px;color:var(--ink-2);font-weight:500}
.sync{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;color:var(--ink-2);font-weight:600;
  background:var(--surface);padding:10px 18px;border-radius:999px;box-shadow:var(--sh)}
.dot{width:8px;height:8px;border-radius:50%;background:#12b981;flex:none;box-shadow:0 0 0 4px rgba(18,185,129,.16)}
.dot.stale{background:var(--warn);box-shadow:0 0 0 4px rgba(180,121,10,.16)}
.dot.dead{background:var(--neg);box-shadow:0 0 0 4px rgba(213,48,79,.16)}

/* ---------- 6. בקרה ---------- */
.controls{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:26px}
.seg{display:inline-flex;flex-wrap:wrap;gap:3px;background:var(--surface);padding:5px;border-radius:999px;box-shadow:var(--sh)}
.seg button,.seg a{appearance:none;border:0;background:none;font:inherit;cursor:pointer;padding:10px 19px;border-radius:999px;
  font-size:14.5px;font-weight:600;color:var(--ink-3);white-space:nowrap;transition:.15s;text-decoration:none}
.seg button:hover,.seg a:hover{color:var(--ink)}
.seg [aria-pressed="true"],.seg [aria-current="true"]{background:var(--brand);color:#fff;box-shadow:0 8px 18px -10px var(--brand)}

.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{appearance:none;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:10px 19px;
  border-radius:999px;font-size:14.5px;font-weight:650;transition:.15s;border:0;text-decoration:none;
  background:var(--surface);color:var(--ink-4);box-shadow:var(--sh)}
.chip .sw{width:9px;height:9px;border-radius:50%;background:currentColor;flex:none;opacity:.28;transition:.15s}
.chip[aria-pressed="true"]{color:var(--ink)}
.chip[aria-pressed="true"] .sw{opacity:1;box-shadow:0 0 0 4px var(--halo)}
.chip:hover{transform:translateY(-1px)}

.linky{appearance:none;border:0;background:none;font:inherit;cursor:pointer;color:var(--brand);font-size:14.5px;
  font-weight:650;text-decoration:none}
.linky:hover{text-decoration:underline}

.btn{appearance:none;border:0;font:inherit;cursor:pointer;background:var(--brand);color:#fff;font-size:15.5px;font-weight:650;
  padding:13px 26px;border-radius:999px;box-shadow:0 10px 22px -12px var(--brand);transition:.15s;text-decoration:none;
  display:inline-flex;align-items:center;gap:9px}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:var(--surface);color:var(--ink);box-shadow:var(--sh)}

/* ---------- 7. כרטיסים ---------- */
.row{display:grid;gap:18px;margin-top:22px}
.r-2{grid-template-columns:2.05fr 1fr}
.r-auto{grid-template-columns:repeat(auto-fit,minmax(238px,1fr))}
@media (max-width:1120px){.r-2{grid-template-columns:1fr}}

.card{background:var(--surface);border-radius:var(--r);box-shadow:var(--sh);border:1px solid var(--line);
  padding:34px 38px;display:flex;flex-direction:column;min-width:0;position:relative}
.card.flush{padding:34px 0 10px}         /* לטבלאות — הן מגיעות עד הקצה */
.card h2{margin:0;font-size:19px;font-weight:700;letter-spacing:-.02em}
.card .cap{margin:5px 0 0;font-size:15px;color:var(--ink-3);font-weight:400}
.card-top{display:flex;align-items:flex-start;gap:18px;margin-bottom:26px;flex-wrap:wrap}
.card-top.pad{padding:0 38px}

/* כרטיס מחולק — שני ויזואלים תחת גג אחד במקום שני כרטיסים */
.card.split{flex-direction:row;gap:0;padding:34px 0}
.card.split .half{flex:1.9;min-width:0;display:flex;flex-direction:column;padding:0 38px}
/* המפריד יושב על הצד הפונה פנימה — בעברית זה inline-start */
.card.split .half.narrow{flex:1;border-inline-start:1px solid var(--line)}
@media (max-width:1120px){
  .card.split{flex-direction:column;gap:34px}
  .card.split .half.narrow{border-inline-start:0;border-top:1px solid var(--line);padding-top:30px}
}

/* ---------- 8. רצועת מדדים ---------- */
/* מפרידים דקים במקום כרטיס לכל מדד — זה מה שמוריד את תחושת הצפיפות */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;padding:32px 12px}
.stat{padding:6px 26px;min-width:0}
.stat:not(:last-child){border-inline-end:1px solid var(--line)}
.stat .v{font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.15;display:block}
.stat .lbl{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:15px;color:var(--ink-2);font-weight:400}
.stat.hero .v{color:var(--brand)}

/* ---------- 9. תגיות מצב ---------- */
.pill{font-size:14px;font-weight:700;padding:6px 13px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;
  white-space:nowrap}
.pill.up{color:var(--pos);background:var(--pos-soft)}
.pill.down{color:var(--neg);background:var(--neg-soft)}
.pill.warn{color:var(--warn);background:var(--warn-soft)}
.pill.neutral{color:var(--ink-2);background:var(--track)}
.pill.sm{font-size:12.5px;padding:4px 10px}
.pill .arw{font-size:9.5px}

/* ---------- 10. טבעת ופסים ---------- */
.gauge-side{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.gstat{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 20px;
  border-radius:var(--r-sm);background:var(--track)}
.gstat b{font-size:21px;font-weight:700;letter-spacing:-.025em}
/* > בכוונה: סלקטור רחב תפס גם את ה-.mny שבתוך ה-b ודרס לו את הגודל */
.gstat>span{font-size:15px;color:var(--ink-2);font-weight:400}

.pbar{display:flex;align-items:center;gap:14px;margin-top:28px}
.pbar:first-child{margin-top:14px}
.pico{width:40px;height:40px;border-radius:13px;flex:none;display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff}
.ptrack{flex:1;min-width:0;height:40px;border-radius:999px;position:relative;background:var(--track)}
.pfill{height:100%;border-radius:999px;display:flex;align-items:center;padding:0 15px;position:relative;overflow:hidden}
.pchip{background:rgba(255,255,255,.94);color:var(--ink);font-size:13.5px;font-weight:700;padding:4px 12px;border-radius:999px;
  position:relative;z-index:1;margin-inline-start:auto;white-space:nowrap}
.pbub{position:absolute;top:-16px;background:var(--surface);border-radius:999px;padding:4px 12px;font-size:13.5px;
  font-weight:700;box-shadow:var(--sh);white-space:nowrap;transform:translateX(50%)}

.minibar{height:8px;border-radius:999px;overflow:hidden;margin-bottom:6px;min-width:104px;background:var(--track)}
.minibar span{display:block;height:100%;border-radius:999px}

/* ---------- 11. גרפים ---------- */
/* ⛔ בלי מרקם מקווקו במילוי — פסים אנכיים נקראים כעמודות נתונים ומטעים */
.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;font-size:14.5px;color:var(--ink-2);
  font-weight:500;margin-top:22px}
.legend span{display:inline-flex;align-items:center;gap:9px}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}

.floatpill{position:absolute;pointer-events:none;opacity:0;transition:opacity .1s;z-index:6;background:var(--surface);
  border-radius:999px;padding:9px 17px;font-size:14.5px;font-weight:700;box-shadow:var(--sh-2);white-space:nowrap;
  transform:translateX(50%)}
.tipcard{position:absolute;pointer-events:none;opacity:0;transition:opacity .1s;z-index:7;background:var(--surface);
  border-radius:18px;padding:16px 18px;min-width:214px;box-shadow:var(--sh-2);font-size:14.5px}
.tipcard b{display:block;font-size:13px;color:var(--ink-3);font-weight:650;margin-bottom:10px}
.tipcard .r{display:flex;align-items:center;gap:11px;justify-content:space-between;line-height:2}
.tipcard .r i{width:9px;height:9px;border-radius:3px;flex:none}
.tipcard .r em{font-style:normal;color:var(--ink-2);flex:1;font-weight:600}
.tipcard .tot{border-top:1px solid var(--line);margin-top:8px;padding-top:8px;font-weight:750;color:var(--ink)}

/* ---------- 12. טבלאות ---------- */
table{width:100%;border-collapse:collapse;direction:rtl;font-size:15.5px}
th,td{padding:16px 22px;text-align:right;white-space:nowrap}
th{font-size:13px;font-weight:650;color:var(--ink-3);border-bottom:1px solid var(--line);letter-spacing:.01em}
th.n,td.n{text-align:left}
tbody td{border-bottom:1px solid var(--line);font-weight:550}
tbody tr{transition:.1s}
tbody tr.clickable{cursor:pointer}
tbody tr:hover{background:#fafbfe}
tbody tr:last-child td{border-bottom:0}
tfoot td{font-weight:750;border-top:1px solid var(--line-2);background:#fafbfe}
.site-cell{display:inline-flex;align-items:center;gap:12px;font-weight:700}
.site-cell .sw{width:10px;height:10px;border-radius:3px;flex:none}
.pos{color:var(--pos);font-weight:750}
.neg{color:var(--neg);font-weight:750}
.hint{font-size:13px;color:var(--ink-3);font-weight:550}

/* ---------- 13. תובנות והערות ---------- */
.insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:22px}
.ins{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;
  box-shadow:var(--sh);position:relative;overflow:hidden}
.ins::before{content:"";position:absolute;top:0;bottom:0;right:0;width:4px;background:var(--brand)}
.ins.good::before{background:var(--pos)}
.ins.bad::before{background:var(--neg)}
.ins h4{margin:0 0 9px;font-size:17px;font-weight:750;letter-spacing:-.02em}
.ins p{margin:0;font-size:15px;color:var(--ink-2);line-height:1.65;font-weight:500}
.note{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px 28px;margin-top:22px;
  font-size:15px;line-height:1.75;color:var(--ink-2);font-weight:500;box-shadow:var(--sh)}
.note strong{color:var(--brand)}

/* ---------- 14. טפסים ---------- */
h1.page{font-size:34px;font-weight:780;letter-spacing:-.045em;margin:34px 0 0;line-height:1.15}
p.page-sub{margin:8px 0 0;font-size:17px;color:var(--ink-2);font-weight:500}
label{display:block;font-size:14.5px;font-weight:600;color:var(--ink-2);margin-bottom:8px}
input[type=text],input[type=email],input[type=password],input[type=number],select{
  font:inherit;font-size:16px;font-weight:500;padding:13px 16px;border:1px solid var(--line-2);border-radius:14px;
  background:var(--surface);color:var(--ink);width:100%}
input.mini{width:64px;text-align:center;padding:8px 12px;font-weight:700;direction:ltr}
input:focus,select:focus{outline:2px solid var(--brand);outline-offset:2px;border-color:transparent}
.err{background:var(--neg-soft);color:var(--neg);padding:13px 18px;border-radius:14px;font-size:15px;font-weight:600;
  margin-bottom:18px}
.ok{background:var(--pos-soft);color:var(--pos);padding:13px 18px;border-radius:14px;font-size:15px;font-weight:600;
  margin-bottom:18px}

/* ============================================================
   16. מסכי ניהול והזנה  (נוסף 17/08)
   ============================================================ */

/* תפריט גלגל השיניים — details/summary, בלי JS */
.menu{position:relative}
.menu>summary{list-style:none;cursor:pointer}
.menu>summary::-webkit-details-marker{display:none}
.menu[open]>summary{color:var(--brand)}
.menu-pop{position:absolute;top:56px;inset-inline-end:0;background:var(--surface);border:1px solid var(--line);
  border-radius:20px;box-shadow:var(--sh-2);padding:12px;min-width:216px;z-index:30}
.menu-h{margin:2px 0 8px;padding:0 12px;font-size:12px;font-weight:700;color:var(--ink-4);letter-spacing:.1em}
.menu-pop a{display:block;padding:11px 14px;border-radius:13px;text-decoration:none;color:var(--ink);
  font-size:15px;font-weight:600}
.menu-pop a:hover{background:var(--track)}

/* לשוניות פנימיות בתוך עמוד */
.tabs{display:flex;gap:4px;background:var(--surface);padding:5px;border-radius:999px;box-shadow:var(--sh);
  margin-top:24px;flex-wrap:wrap;width:fit-content;max-width:100%}
.tabs a{padding:10px 22px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:650;color:var(--ink-3)}
.tabs a:hover{color:var(--ink)}
.tabs a[aria-current="page"]{background:var(--brand);color:#fff}

/* רשת טופס. שדה תופס עמודה, שדה רחב תופס שתיים. */
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:16px 18px;align-items:end}
.fgrid .wide{grid-column:span 2}
.fgrid .actions{display:flex;gap:10px;align-items:center}
@media (max-width:760px){.fgrid .wide{grid-column:span 1}}

label small{display:block;font-weight:500;color:var(--ink-4);font-size:12.5px;margin-top:2px;line-height:1.4}
input[type=date]{font:inherit;font-size:16px;font-weight:500;padding:13px 16px;border:1px solid var(--line-2);
  border-radius:14px;background:var(--surface);color:var(--ink);width:100%}
textarea{font:inherit;font-size:16px;padding:13px 16px;border:1px solid var(--line-2);border-radius:14px;
  background:var(--surface);color:var(--ink);width:100%;resize:vertical}

/* תיבת סימון עם תווית לצידה — ברירת המחדל של הדפדפן לא קריאה ב-RTL */
.chk{display:flex;align-items:center;gap:11px;font-size:15px;font-weight:600;color:var(--ink-2);
  margin:0;cursor:pointer;padding-bottom:13px}
.chk input{width:20px;height:20px;accent-color:var(--brand);margin:0;flex:none;cursor:pointer}

/* קבוצת תיבות סימון לבחירת סטטוסים */
.chkgrid{display:flex;flex-wrap:wrap;gap:9px}
.chkgrid label{display:inline-flex;align-items:center;gap:9px;background:var(--track);padding:9px 16px;
  border-radius:999px;font-size:14.5px;font-weight:600;color:var(--ink-2);margin:0;cursor:pointer}
.chkgrid label:has(input:checked){background:var(--brand-soft);color:var(--brand)}
.chkgrid input{width:17px;height:17px;accent-color:var(--brand);margin:0;cursor:pointer}
.chkgrid .cnt{font-size:12.5px;color:var(--ink-4);font-weight:600}

/* שורת ישות שניתן לפתוח לעריכה */
.ent{border-bottom:1px solid var(--line)}
.ent:last-child{border-bottom:0}
.ent>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:18px 38px;
  transition:.12s;flex-wrap:wrap}
.ent>summary::-webkit-details-marker{display:none}
.ent>summary:hover{background:#fafbfe}
.ent[open]>summary{background:#fafbfe}
.ent .ttl{font-weight:700;font-size:16px}
.ent .sub{font-size:14px;color:var(--ink-3);font-weight:500}
.ent .body{padding:8px 38px 30px}
.ent .caret{color:var(--ink-4);font-size:13px;transition:.15s}
.ent[open] .caret{transform:rotate(180deg)}
@media (max-width:760px){.ent>summary{padding:16px 20px}.ent .body{padding:6px 20px 24px}}

/* מצבי רווחיות מוצר */
.lvl{font-size:13px;font-weight:700;padding:5px 12px;border-radius:999px;white-space:nowrap}
.lvl.ok{color:var(--pos);background:var(--pos-soft)}
.lvl.alert{color:var(--warn);background:var(--warn-soft)}
.lvl.critical{color:var(--neg);background:var(--neg-soft)}
.lvl.suspect{color:#6b21a8;background:#f5ecff}
.lvl.unknown{color:var(--ink-3);background:var(--track)}
tr.r-alert td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
tr.r-critical td:first-child{box-shadow:inset 3px 0 0 var(--neg)}
tr.r-suspect td:first-child{box-shadow:inset 3px 0 0 #9333ea}

/* שורות רווח והפסד */
.pnl{margin-top:6px}
.pnl .l{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}
.pnl .l:last-child{border-bottom:0}
.pnl .l em{font-style:normal;flex:1;font-size:16px;font-weight:600;color:var(--ink-2)}
.pnl .l b{font-size:19px;font-weight:700;letter-spacing:-.02em}
.pnl .l.sum{border-top:2px solid var(--line-2);border-bottom:0;margin-top:6px;padding-top:20px}
.pnl .l.sum em{color:var(--ink);font-weight:750;font-size:17px}
.pnl .l.sum b{font-size:26px}
.pnl .l .tag{font-size:13px;color:var(--ink-4);font-weight:600}
.pnl .l.neg b{color:var(--neg)}
.pnl .l.pos b{color:var(--pos)}

/* פס פירוק הוצאות */
.split-bar{display:flex;height:16px;border-radius:999px;overflow:hidden;background:var(--track);margin:20px 0 16px;gap:2px}
.split-bar span{display:block;height:100%}
.split-key{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:14.5px;color:var(--ink-2);font-weight:500}
.split-key span{display:inline-flex;align-items:center;gap:9px}
.split-key i{width:10px;height:10px;border-radius:3px;flex:none}

.empty{padding:52px 38px;text-align:center;color:var(--ink-3)}
.empty h3{margin:0 0 8px;font-size:19px;font-weight:700;color:var(--ink-2)}
.empty p{margin:0;font-size:15px}

/* אזור העלאת קובץ */
.drop{border:2px dashed var(--line-2);border-radius:var(--r-sm);padding:26px;text-align:center;background:#fafbfe}
.drop input[type=file]{font:inherit;font-size:15px;width:100%;cursor:pointer}

/* בועת מידע על תגיות שינוי — הכיתוב הנראה הוא רק אחוז,
   וההסבר מול מה נמדד חייב להיות נגיש בלי לפתוח תיעוד */
.pill.tip{cursor:help;border-bottom:1px dashed currentColor}
.cmpnote{margin:14px 4px 0;font-size:14.5px;color:var(--ink-3);font-weight:500;line-height:1.6}
.cmpnote strong{color:var(--ink-2);font-weight:700}

/* ---------- 17. בורר טווח חופשי ---------- */
.daterange{position:relative}
.daterange>summary{list-style:none;cursor:pointer;padding:10px 19px;border-radius:999px;font-size:14.5px;
  font-weight:600;color:var(--ink-3);white-space:nowrap;transition:.15s}
.daterange>summary::-webkit-details-marker{display:none}
.daterange>summary:hover{color:var(--ink)}
.daterange>summary[aria-current="true"]{background:var(--brand);color:#fff}
.daterange-pop{position:absolute;top:52px;inset-inline-end:0;z-index:40;background:var(--surface);
  border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh-2);padding:22px;width:290px}
.dr-row{margin-bottom:14px}
.dr-row label{margin-bottom:6px}
.dr-quick{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 18px}
.dr-quick a{font-size:13.5px;font-weight:600;color:var(--ink-2);background:var(--track);
  padding:7px 13px;border-radius:999px;text-decoration:none}
.dr-quick a:hover{background:var(--brand-soft);color:var(--brand)}
.daterange-pop .btn{width:100%;justify-content:center}

/* ---------- 18. גרף אינטראקטיבי ---------- */
.chartbox{position:relative}
.chartbub{position:absolute;z-index:8;pointer-events:none;background:var(--surface);border:1px solid var(--line);
  border-radius:17px;box-shadow:var(--sh-2);padding:14px 17px;min-width:186px;font-size:14.5px}
.chartbub .cb-date{display:block;font-size:16px;font-weight:750;letter-spacing:-.02em}
.chartbub .cb-day{display:block;font-size:13px;color:var(--ink-3);font-weight:600;margin-bottom:10px}
.chartbub .cb-rev,.chartbub .cb-ord{display:flex;align-items:baseline;justify-content:space-between;gap:16px;line-height:1.9}
.chartbub em{font-style:normal;color:var(--ink-2);font-weight:600}
.chartbub b{font-weight:750;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.chartbub .cb-rev b{color:var(--brand)}
.chartbox svg{cursor:crosshair}

/* ---------- 19. רובריקות התוכנית העסקית ---------- */
.rub{border-bottom:1px solid var(--line)}
.rub:last-child{border-bottom:0}
.rub-h{display:flex;align-items:center;gap:13px;padding:18px 38px 10px;font-size:16px;font-weight:750}
.rub-h i{width:10px;height:10px;border-radius:3px;flex:none}
.rub-h b{font-weight:750}
.rub-body{padding:0 38px 18px}
.rub-l{display:flex;align-items:baseline;gap:12px;padding:9px 0 9px 22px;border-bottom:1px solid var(--line);
  font-size:15px}
.rub-l:last-child{border-bottom:0}
.rub-l em{font-style:normal;font-weight:600;color:var(--ink-2)}
.rub-l b{font-weight:700}
.rub-l.off em{color:var(--ink-4)}
@media (max-width:760px){.rub-h{padding:16px 20px 8px}.rub-body{padding:0 20px 16px}}

/* ============================================================
   20. מובייל — חוויית אפליקציה
   🔑 העיקרון: במסך צר זו לא גרסה מוקטנת של הדסקטופ אלא מבנה אחר —
      ניווט תחתון קבוע, כרטיסים במקום טבלאות, ומטרות מגע של 44px+.
   ============================================================ */

/* אזורים בטוחים — האייפון גוזר את התחתית במחוות הבית */
:root{
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-t:env(safe-area-inset-top,0px);
  --tabbar-h:0px;
}

/* ---------- סרגל תחתון ---------- */
.tabbar{display:none}

@media (max-width:860px){
  :root{--tabbar-h:calc(62px + var(--safe-b))}

  .tabbar{
    display:flex;position:fixed;inset-inline:0;bottom:0;z-index:60;
    background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(18px);
    -webkit-backdrop-filter:saturate(180%) blur(18px);
    border-top:1px solid var(--line-2);
    padding:7px 6px calc(7px + var(--safe-b));
  }
  .tabbar a{
    flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;
    text-decoration:none;color:var(--ink-3);font-size:11.5px;font-weight:650;
    padding:5px 2px;border-radius:14px;-webkit-tap-highlight-color:transparent;
  }
  .tabbar a svg{width:23px;height:23px}
  .tabbar a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .tabbar [aria-current="page"]{color:var(--brand)}
  .tabbar a:active{background:var(--track)}

  /* מקום לסרגל, אחרת הוא מכסה את השורה האחרונה */
  .wrap{padding:0 15px calc(30px + var(--tabbar-h))}

  /* ---------- כותרת עליונה מצומצמת ---------- */
  .nm{display:none}                     /* הניווט העליון עובר לתחתון */
  .topbar .wrap{gap:10px;padding-top:calc(14px + var(--safe-t));padding-bottom:2px}
  .brand{font-size:18px;gap:10px}
  .brand .mark{width:38px;height:38px;border-radius:13px;font-size:16px}
  .brand small{font-size:9.5px;letter-spacing:.14em}
  .iconbtn,.avatar{width:40px;height:40px;font-size:16px}
  .topbar .spacer{flex:0}
  .topbar .wrap>.spacer:first-of-type{flex:1}

  /* ---------- כותרות ומדדים ---------- */
  .hello{margin-top:20px;gap:12px}
  .hello h1{font-size:26px}
  .hello p{font-size:15px}
  h1.page{font-size:25px;margin-top:22px}
  p.page-sub{font-size:15.5px}
  .sync{font-size:13px;padding:8px 14px}

  /* רצועת מדדים: שתי עמודות במקום עמודה אחת ארוכה */
  .strip{grid-template-columns:1fr 1fr;padding:10px 6px;gap:0}
  .stat{padding:16px 14px}
  .stat .v{font-size:24px}
  .stat .lbl{font-size:13.5px;gap:7px;flex-wrap:wrap;margin-top:5px}
  .stat:not(:last-child){border-inline-end:0}
  .stat{border-bottom:1px solid var(--line)}
  .stat:nth-child(odd){border-inline-end:1px solid var(--line)}
  .strip .stat:last-child:nth-child(odd){grid-column:1 / -1;border-inline-end:0;border-bottom:0}
  .strip .stat:nth-last-child(-n+2):not(:nth-child(odd)){border-bottom:0}

  .card{padding:20px 17px;border-radius:20px}
  .card.flush{padding:20px 0 4px}
  .card-top.pad{padding:0 17px}
  .card h2{font-size:17.5px}
  .card .cap{font-size:14px}
  .row{gap:14px}

  /* ---------- בקרים בגלילה אופקית ---------- */
  /* עדיף גלילה מאשר גלישה לשורות — שומר על הקשר של «אלה אפשרויות» */
  .controls{gap:10px;margin-top:18px}
  .controls>.seg,.controls>.chips{
    flex-wrap:nowrap;overflow-x:auto;max-width:100%;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .controls>.seg::-webkit-scrollbar,.controls>.chips::-webkit-scrollbar{display:none}
  .seg button,.seg a,.daterange>summary{padding:11px 17px;font-size:14px}
  .chip{padding:11px 16px;font-size:14px}
  .controls .spacer{display:none}
  .controls form{width:100%}
  .controls input[type=text]{width:100% !important}

  /* חלונית התאריכים ננעלת לרוחב המסך */
  .daterange-pop{position:fixed;inset-inline:14px;top:auto;width:auto;
    bottom:calc(var(--tabbar-h) + 14px);z-index:70}

  /* ---------- טבלה ⇒ כרטיסים ---------- */
  table.cardify thead{display:none}
  table.cardify,table.cardify tbody,table.cardify tr,table.cardify td{display:block;width:100%}
  table.cardify tr{
    padding:15px 17px;border-bottom:1px solid var(--line);
  }
  table.cardify tbody tr:last-child{border-bottom:0}
  table.cardify td{
    padding:5px 0;white-space:normal;text-align:right;border:0;
    display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  }
  /* התא הראשון הוא הכותרת של הכרטיס */
  table.cardify td:first-child{
    font-size:16px;font-weight:700;padding-bottom:9px;margin-bottom:6px;
    border-bottom:1px solid var(--line);display:block;
  }
  table.cardify td:first-child::before{content:none}
  table.cardify td::before{
    content:attr(data-label);color:var(--ink-3);font-size:13.5px;font-weight:600;flex:none;
  }
  table.cardify td:empty{display:none}
  table.cardify td.n{text-align:left}
  /* פס הצבע של רמת הרווחיות עובר לצד הכרטיס כולו */
  table.cardify tr.r-alert{box-shadow:inset 3px 0 0 var(--warn)}
  table.cardify tr.r-critical{box-shadow:inset 3px 0 0 var(--neg)}
  table.cardify tr.r-suspect{box-shadow:inset 3px 0 0 #9333ea}
  table.cardify tr.r-alert td:first-child,
  table.cardify tr.r-critical td:first-child,
  table.cardify tr.r-suspect td:first-child{box-shadow:none}
  table.cardify tfoot{display:block;background:#fafbfe}
  table.cardify tfoot tr{padding:15px 17px}
  table.cardify tfoot td{display:flex}
  table.cardify tfoot td:first-child{border-bottom:0;margin-bottom:2px}
  .minibar{min-width:74px}

  /* ---------- טפסים ---------- */
  .fgrid{grid-template-columns:1fr;gap:14px}
  .fgrid .wide{grid-column:span 1}
  .fgrid .actions{flex-wrap:wrap}
  .fgrid .actions .btn{flex:1;justify-content:center}
  /* ⚠️ מתחת ל-16px סאפארי מקרב את המסך אוטומטית בכל לחיצה על שדה */
  input[type=text],input[type=email],input[type=password],input[type=number],
  input[type=date],select,textarea{font-size:16px;padding:14px 15px}
  .btn{padding:14px 24px;min-height:48px}
  .chk{padding-bottom:0;min-height:44px}
  .chkgrid label{padding:11px 16px;min-height:44px}

  .ent>summary{padding:16px 17px;gap:11px}
  .ent .body{padding:6px 17px 24px}
  .ent .ttl{font-size:15.5px}
  .ent .sub{font-size:13.5px}
  .ent>summary .spacer{flex:1 0 100%;height:0}   /* מפרק לשתי שורות במקום לדחוס */

  .rub-h{padding:16px 17px 8px;font-size:15.5px}
  .rub-body{padding:0 17px 16px}
  .rub-l{padding-inline-start:0;font-size:14.5px;flex-wrap:wrap}

  .pnl .l{padding:13px 0;gap:11px;flex-wrap:wrap}
  .pnl .l b{font-size:17px}
  .pnl .l.sum b{font-size:22px}

  .insights{grid-template-columns:1fr}
  .note{padding:18px 20px;font-size:14.5px}
  .menu-pop{position:fixed;inset-inline:14px;top:auto;
    bottom:calc(var(--tabbar-h) + 14px);min-width:0;z-index:70}

  .chartbox svg{height:230px}
  .chartbub{min-width:0;padding:12px 14px;font-size:13.5px}
  .chartbub .cb-date{font-size:15px}

  .tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tabs a{padding:11px 18px;font-size:14px;white-space:nowrap}
}

/* 🔴 הסף היה 400px, ולכן אייפון של 375px קיבל עמודה אחת:
   חמישה מדדים בטור = 900px של גלילה לפני התוכן הראשון.
   שתי עמודות עובדות יפה עד 340px, ורק מתחת לזה כדאי לוותר. */
@media (max-width:339px){
  .strip{grid-template-columns:1fr}
  .stat:nth-child(odd){border-inline-end:0}
  .stat .v{font-size:25px}
  .tabbar a{font-size:10px}
}

/* ---------- פס ההתקנה ---------- */
.installbar{
  position:fixed;z-index:80;inset-inline:18px;bottom:calc(var(--tabbar-h) + 16px);
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--line-2);border-radius:22px;
  box-shadow:var(--sh-2);padding:15px 18px;max-width:520px;margin-inline:auto;
}
.installbar .ib-mark{
  width:42px;height:42px;border-radius:14px;flex:none;display:grid;place-items:center;
  color:#fff;font-size:18px;background:linear-gradient(145deg,#6f6bf5,#3733c8);
}
.installbar .ib-txt{flex:1;min-width:0;line-height:1.4}
.installbar .ib-txt b{display:block;font-size:15.5px;font-weight:750}
.installbar .ib-txt span{font-size:13.5px;color:var(--ink-3);font-weight:500}
.installbar .btn{padding:11px 21px;font-size:14.5px;min-height:0}
.installbar .ib-x{
  appearance:none;border:0;background:none;cursor:pointer;color:var(--ink-4);
  font-size:15px;padding:8px;line-height:1;
}
.installbar .install-ios{
  flex:1 0 100%;font-size:14px;line-height:1.7;color:var(--ink-2);
  border-top:1px solid var(--line);padding-top:13px;margin-top:2px;
}
.installbar .install-ios b{color:var(--ink);font-weight:700}
/* באנדרואיד הכפתור פותח דיאלוג מערכת; באייפון הוא חושף הסבר */
.installbar[data-kind="ios"] .btn::after{content:" — איך?"}

/* ---------- מצב אפליקציה מותקנת ---------- */
@media (display-mode:standalone){
  /* אין סרגל דפדפן ⇒ הכותרת צריכה לכבד בעצמה את מד הסוללה */
  .topbar .wrap{padding-top:calc(10px + var(--safe-t))}
  .installbar{display:none}
  /* גלילת «גומי» של iOS חושפת רקע לבן מאחורי הסרגל התחתון */
  body{overscroll-behavior-y:none}
}

/* ---------- 21. תיקוני צפיפות במסך צר ---------- */
/* נמצאו בבדיקה על 375px: כל אחד מהם גזל שליש מסך לפני התוכן. */

/* 🔴 «קפיץ קפוץ» ו«משחק העץ» נשברו לשתי שורות והפכו את השבב לעיגול ענק */
.chip{white-space:nowrap}
.chip .sw{margin:0}

@media (max-width:860px){
  /* ארבע שורות בקרה לפני הנתונים דחפו את המספרים מתחת לקיפול.
     הבקרים נדחסים ונשארים באותו גובה של שורה אחת כל אחד. */
  .controls{gap:8px;margin-top:16px}
  .controls>.seg{padding:4px}
  .seg button,.seg a,.daterange>summary{padding:10px 15px;font-size:13.5px}
  .chip{padding:10px 14px;font-size:13.5px}
  .chips{gap:7px}
  .cmpnote{font-size:13.5px;margin-top:12px}

  /* פס ההתקנה — הטקסט נמעך לחמש שורות בין הסמל לכפתור */
  .installbar{
    inset-inline:12px;padding:14px 16px;gap:12px;
    display:grid;grid-template-columns:auto 1fr;align-items:center;
  }
  .installbar .ib-mark{grid-row:span 2}
  .installbar .ib-txt{grid-column:2}
  .installbar .ib-txt span{display:block}
  .installbar .btn{grid-column:1 / -1;width:100%;justify-content:center;margin-top:2px}
  .installbar .ib-x{position:absolute;inset-inline-start:8px;top:8px}
  .installbar .install-ios{grid-column:1 / -1}
}

/* ---------- 22. מטרות מגע ---------- */
/* נמדד על מכשיר: שלושה פקדים ירדו מ-44px, ואחד מהם הוא «מחק». */
@media (max-width:860px){
  .iconbtn,.avatar{width:44px;height:44px}
  .linky{min-height:44px;display:inline-flex;align-items:center;padding:0 10px}
  .installbar .ib-x{min-width:44px;min-height:44px;display:grid;place-items:center;padding:0}
  /* «מחק» יושב ליד «שמור» — הפרדה כדי שלא ייגעו בו בטעות */
  .fgrid .actions .linky{margin-inline-start:auto;color:var(--neg)}
}

/* ---------- 23. כפתור סנכרון וחיווי טריות ---------- */
.syncbox{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.syncbox form{margin:0}
.sync-btn{padding:11px 20px;font-size:14.5px;gap:8px}
.sync-btn .ico{font-size:16px;line-height:1;display:inline-block}
/* משוב מיידי: הסנכרון לוקח ~15 שניות, ובלעדיו נראה שהלחיצה לא נקלטה */
.sync-btn:active .ico,.sync-btn[aria-busy="true"] .ico{animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sync-btn[aria-busy="true"]{opacity:.65;pointer-events:none}
@media (max-width:860px){
  .syncbox{width:100%;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .sync-btn{flex:1;justify-content:center;min-height:46px}
}

/* ---------- 24. תצוגה מקדימה של ההודעה ---------- */
.smsprev{margin-top:24px;background:var(--track);border-radius:var(--r-sm);padding:20px 22px}
.smsprev b{display:block;font-size:14.5px;font-weight:700;color:var(--ink-2);margin-bottom:12px}
/* pre שומר על שבירות השורה האמיתיות של ההודעה — ככה היא תיראה בטלפון */
.smsprev pre{margin:0 0 12px;font-family:inherit;font-size:16px;line-height:1.65;white-space:pre-wrap;
  background:var(--surface);border-radius:14px;padding:16px 18px;font-weight:600}

/* ‏«?» ‏עם הסבר.
   🔑 כפתור ולא span: ‏במובייל אין hover, ‏ולחיצה חייבת לפתוח את ההסבר.
      לכן גם :focus ולא רק :focus-visible.
   ⚠️ לא לשים בתוך מכולה עם overflow — ‏הבועה תיחתך. ‏בטבלאות
      שגוללות לרוחב משתמשים ב-title רגיל. */
.qm{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;margin-inline-start:6px;padding:0;border-radius:50%;
  border:1px solid var(--line-2);background:transparent;color:var(--ink-3);
  font:650 11.5px/1 inherit;cursor:help;vertical-align:middle;flex:none}
.qm:hover,.qm:focus{color:var(--ink);border-color:var(--ink-3);outline:none}
.qm > span{display:none}
/* ‏הבועה עצמה יושבת על <body> ‏(‏ראו app.js), ‏ולכן טבלה שגוללת לרוחב
   ‏לא יכולה לחתוך אותה. */
.qm-pop{position:fixed;z-index:60;width:min(320px,78vw);
  background:var(--surface);color:var(--ink-2);border:1px solid var(--line);
  border-radius:12px;padding:13px 15px;font:550 13.5px/1.7 var(--font,inherit);
  text-align:right;direction:rtl;box-shadow:0 14px 34px rgba(15,23,42,.18);
  /* ⚠️ הטקסט נכתב עם textContent, ולכן שורה חדשה נשמרת רק עם pre-line */
  white-space:pre-line;opacity:0;transition:opacity .1s;pointer-events:none}

/* ‏שתי עמודות בדוח הרווח של התוכנית העסקית: ‏ממוצע חודשי + סכום בפועל.
   🔴 גרסה ראשונה נשברה: ‏הוגדרו 3 עמודות, ‏אבל שורה עם תגית אחוז
      מכילה 4 ילדים — ‏והרביעי גלש לשורה חדשה. ‏לכן כל ילד מקובע
      לעמודה שלו במפורש, ‏ולא נסמך על סדר ההופעה. */
.pnl-2 .l{display:grid;grid-template-columns:1fr 52px 148px 158px;
  gap:0 14px;align-items:baseline}
.pnl-2 .l > em{grid-column:1;min-width:0}
.pnl-2 .l > .tag{grid-column:2;justify-self:end}
.pnl-2 .l > b{grid-column:3;justify-self:end;text-align:left;white-space:nowrap}
.pnl-2 .l > b.act{grid-column:4;color:var(--ink-2);font-weight:650}
.pnl-2 .l.head{border:0;padding-bottom:2px}
.pnl-2 .l.head b{font-size:12.5px;font-weight:700;color:var(--ink-3)}
@media (max-width:820px){
  .pnl-2 .l{grid-template-columns:1fr 46px auto;row-gap:2px}
  .pnl-2 .l > b{grid-column:3}
  .pnl-2 .l > b.act{grid-column:3;grid-row:2;font-size:13px}
  .pnl-2 .l.head b.act{grid-row:2}
}

/* ‏גיליון התחזית: ‏תא קלט + הבסיס ההיסטורי מתחתיו.
   🔑 הבסיס חייב להיות צמוד לתא ולא בטבלה נפרדת — ‏אחרת אי אפשר
      לדעת אם היעד שהוקלד הוא צמיחה או נסיגה בלי לדפדף. */
table.fc td{vertical-align:top}
table.fc .fc-in{width:98px;text-align:left;padding:7px 9px;font-size:14px}
table.fc .fc-base{display:block;margin-top:4px;font-size:11.5px;color:var(--ink-3);text-align:left;direction:ltr}
table.fc th{white-space:nowrap}
/* החודש הנוכחי — כדי שהעין תמצא אותו מיד בגיליון של 12 עמודות */
.fc-now{background:color-mix(in srgb,var(--brand) 6%,transparent)}
table.fc .fc-base strong{color:var(--ink);font-weight:700}
table.fc .fc-base .pos,table.fc .fc-base .neg{font-weight:700}
.btn.sm{padding:6px 12px;font-size:13px}

/* ============================================================
   19. דוחות פרסום (04/10)
   🔑 כל מספר מגיע עם ההסבר שלו צמוד אליו — לא ערימת תובנות בראש העמוד.
   ============================================================ */
.rp-lead{padding:32px 38px}
.rp-lead .lead{margin:0 0 26px;font-size:19.5px;line-height:1.75;font-weight:500;color:var(--ink-2);max-width:980px}
.rp-lead .lead b{color:var(--ink);font-weight:750}
.rp-lead .lead b.hl{color:var(--brand)}
.rp-lead .lead b.pos{color:var(--pos)}
.rp-lead .lead b.neg{color:var(--neg)}
.rp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);padding-top:24px}
.kpi{padding:0 24px;min-width:0;display:flex;flex-direction:column}
.kpi:first-child{padding-inline-start:0}
.kpi:not(:last-child){border-inline-end:1px solid var(--line)}
.kpi .k{font-size:14px;font-weight:650;color:var(--ink-3)}
.kpi .v{font-size:31px;font-weight:750;letter-spacing:-.03em;line-height:1.2;margin-top:4px}
.kpi .v.muted{color:var(--ink-3)}
.kpi.hero .v{color:var(--brand)}
.kpi .sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:14px;color:var(--ink-2);line-height:1.5}
.rp-why{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.rp-why li{position:relative;padding-inline-start:16px;font-size:13.5px;line-height:1.6;color:var(--ink-2);font-weight:500}
.rp-why li::before{content:"";position:absolute;inset-inline-start:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--ink-4)}
.rp-why li.bad::before{background:var(--neg)}
.rp-why li.good::before{background:var(--pos)}
.rp-why li.mid::before{background:var(--warn)}
@media (max-width:1120px){
  .rp-kpis{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:26px}
  .kpi:nth-child(2n){border-inline-end:0}
  .kpi:nth-child(2n+1){padding-inline-start:0}
}
@media (max-width:640px){
  .rp-lead{padding:24px 20px}
  .rp-lead .lead{font-size:17px}
  .rp-kpis{grid-template-columns:1fr}
  .kpi{padding:0 !important;border:0 !important}
}

.rp-how{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.rp-how>summary{cursor:pointer;font-size:14.5px;font-weight:650;color:var(--brand);list-style:none}
.rp-how>summary::-webkit-details-marker{display:none}
.rp-how>summary::before{content:"+ "}
.rp-how[open]>summary::before{content:"− "}
.rp-how dl{display:grid;grid-template-columns:max-content 1fr;gap:10px 20px;margin:16px 0 8px;font-size:14.5px;line-height:1.65}
.rp-how dt{font-weight:750;color:var(--ink)}
.rp-how dd{margin:0;color:var(--ink-2)}
@media (max-width:640px){.rp-how dl{grid-template-columns:1fr;gap:2px}.rp-how dd{margin-bottom:10px}}

/* סינון הטבלה */
.rp-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.seg.sm{padding:4px}
.seg.sm button{padding:7px 14px;font-size:13.5px}
.rp-check{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:600;color:var(--ink-2);cursor:pointer}

/* טבלת הקמפיינים */
.rp-table th button{appearance:none;border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}
.rp-table th button:hover{color:var(--ink)}
.rp-table th button[aria-sort="descending"]::after{content:" ↓"}
.rp-table th button[aria-sort="ascending"]::after{content:" ↑"}
.rp-table td{vertical-align:top}
.rp-name{display:block;font-weight:700;white-space:normal;max-width:340px}
.rp-meta{display:flex;align-items:center;gap:7px;margin-top:3px;font-size:12.5px;color:var(--ink-3);font-weight:550}
.rp-meta .sw,.rp-site-h .sw{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.rp-verdict{white-space:normal;min-width:240px;max-width:360px}
.rp-whytxt{display:block;margin-top:5px;font-size:13px;line-height:1.55;color:var(--ink-2);font-weight:500}
.rp-table tr.lv-up td:first-child{box-shadow:inset -3px 0 0 var(--pos)}
.rp-table tr.lv-warn td:first-child{box-shadow:inset -3px 0 0 var(--warn)}
.rp-table tr.lv-down td:first-child{box-shadow:inset -3px 0 0 var(--neg)}
.rp-table tr.lv-up .rp-roas{color:var(--pos);font-weight:750}
.rp-table tr.lv-warn .rp-roas{color:var(--warn);font-weight:750}
.rp-table tr.lv-down .rp-roas{color:var(--neg);font-weight:750}
@media (max-width:860px){
  .rp-table tr.lv-up{box-shadow:inset -3px 0 0 var(--pos)}
  .rp-table tr.lv-warn{box-shadow:inset -3px 0 0 var(--warn)}
  .rp-table tr.lv-down{box-shadow:inset -3px 0 0 var(--neg)}
  .rp-table tr td:first-child{box-shadow:none !important}
  .rp-table tr[hidden]{display:none !important}
  .rp-verdict{display:block !important;max-width:none}
  .rp-verdict::before{display:block;margin-bottom:4px}
  .rp-filters{width:100%}
}

/* ניתוח לפי אתר */
h2.rp-section{font-size:23px;font-weight:760;letter-spacing:-.03em;margin:40px 4px 0}
.rp-sites{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:18px;margin-top:16px}
.rp-site{padding:28px 32px}
.rp-site-h{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.rp-site-h h3{margin:0;font-size:20px;font-weight:750;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:10px}
.rp-site-h .sw{width:11px;height:11px}
.rp-site-lead{margin:12px 0 0;font-size:15.5px;line-height:1.7;color:var(--ink-2)}
.rp-site-lead b{color:var(--ink)}
table.rp-pf{margin-top:14px;font-size:14.5px}
table.rp-pf th,table.rp-pf td{padding:9px 10px}
table.rp-pf th:first-child,table.rp-pf td:first-child{padding-inline-start:0}
.rp-findings{list-style:none;counter-reset:f;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.rp-findings li{counter-increment:f;position:relative;padding-inline-start:40px}
.rp-findings li::before{content:counter(f);position:absolute;inset-inline-start:0;top:0;width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--track);color:var(--ink-2)}
.rp-findings li.bad::before{background:var(--neg-soft);color:var(--neg)}
.rp-findings li.good::before{background:var(--pos-soft);color:var(--pos)}
.rp-findings li.mid::before{background:var(--warn-soft);color:var(--warn)}
.rp-findings b{display:block;font-size:15.5px;font-weight:750;line-height:1.5;color:var(--ink)}
.rp-findings p{margin:3px 0 0;font-size:14.5px;line-height:1.65;color:var(--ink-2)}
@media (max-width:640px){.rp-site{padding:22px 18px}table.rp-pf th,table.rp-pf td{padding:8px 6px;font-size:13.5px}}
.rp-table .est{color:var(--ink-3);font-weight:700;cursor:help}
.rp-sub{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px}
@media (max-width:860px){.rp-table .rp-sub{display:inline;margin-inline-start:8px}}
